@rubytech/create-realagent-code 0.1.547 → 0.1.549

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 (104) hide show
  1. package/dist/index.js +14 -0
  2. package/package.json +2 -2
  3. package/payload/platform/lib/routine-templates/dist/index.d.ts +22 -16
  4. package/payload/platform/lib/routine-templates/dist/index.d.ts.map +1 -1
  5. package/payload/platform/lib/routine-templates/dist/index.js +15 -10
  6. package/payload/platform/lib/routine-templates/dist/index.js.map +1 -1
  7. package/payload/platform/lib/routine-templates/dist/roster.d.ts +3 -3
  8. package/payload/platform/lib/routine-templates/dist/roster.d.ts.map +1 -1
  9. package/payload/platform/lib/routine-templates/src/__tests__/seed.test.ts +15 -11
  10. package/payload/platform/lib/routine-templates/src/index.ts +23 -17
  11. package/payload/platform/lib/routine-templates/src/roster.ts +3 -3
  12. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +48 -14
  13. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +11 -0
  14. package/payload/platform/plugins/docs/references/admin-ui.md +47 -13
  15. package/payload/platform/plugins/scheduling/PLUGIN.md +12 -0
  16. package/payload/platform/plugins/scheduling/mcp/dist/index.js +6 -2
  17. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  18. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/update-summary.test.d.ts +2 -0
  19. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/update-summary.test.d.ts.map +1 -0
  20. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/update-summary.test.js +54 -0
  21. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/update-summary.test.js.map +1 -0
  22. package/payload/platform/plugins/scheduling/mcp/dist/lib/update-summary.d.ts +17 -0
  23. package/payload/platform/plugins/scheduling/mcp/dist/lib/update-summary.d.ts.map +1 -0
  24. package/payload/platform/plugins/scheduling/mcp/dist/lib/update-summary.js +43 -0
  25. package/payload/platform/plugins/scheduling/mcp/dist/lib/update-summary.js.map +1 -0
  26. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-routine-description.test.d.ts +2 -0
  27. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-routine-description.test.d.ts.map +1 -0
  28. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-routine-description.test.js +87 -0
  29. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-routine-description.test.js.map +1 -0
  30. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/description-coverage.test.d.ts +2 -0
  31. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/description-coverage.test.d.ts.map +1 -0
  32. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/description-coverage.test.js +123 -0
  33. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/description-coverage.test.js.map +1 -0
  34. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +36 -0
  35. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  36. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +89 -0
  37. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  38. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +13 -1
  39. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  40. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-routine-description.d.ts +35 -0
  41. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-routine-description.d.ts.map +1 -0
  42. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-routine-description.js +56 -0
  43. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-routine-description.js.map +1 -0
  44. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-embedding.test.d.ts +2 -0
  45. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-embedding.test.d.ts.map +1 -0
  46. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-embedding.test.js +142 -0
  47. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-embedding.test.js.map +1 -0
  48. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-summary.test.d.ts +2 -0
  49. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-summary.test.d.ts.map +1 -0
  50. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-summary.test.js +80 -0
  51. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-summary.test.js.map +1 -0
  52. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts +2 -1
  53. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
  54. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +60 -6
  55. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
  56. package/payload/platform/scripts/check-routine-roster-doc.mjs +127 -0
  57. package/payload/platform/services/telegram-channel/dist/notification.d.ts +8 -3
  58. package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
  59. package/payload/platform/services/telegram-channel/dist/notification.js +10 -3
  60. package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
  61. package/payload/platform/services/telegram-channel/dist/server.js +1 -1
  62. package/payload/platform/services/telegram-channel/dist/server.js.map +1 -1
  63. package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts +28 -0
  64. package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts.map +1 -1
  65. package/payload/platform/services/telegram-channel/dist/turn-follow.js +33 -1
  66. package/payload/platform/services/telegram-channel/dist/turn-follow.js.map +1 -1
  67. package/payload/platform/services/webchat-channel/dist/notification.d.ts +8 -3
  68. package/payload/platform/services/webchat-channel/dist/notification.d.ts.map +1 -1
  69. package/payload/platform/services/webchat-channel/dist/notification.js +10 -3
  70. package/payload/platform/services/webchat-channel/dist/notification.js.map +1 -1
  71. package/payload/platform/services/webchat-channel/dist/server.js +1 -1
  72. package/payload/platform/services/webchat-channel/dist/server.js.map +1 -1
  73. package/payload/platform/services/webchat-channel/dist/turn-follow.d.ts +28 -0
  74. package/payload/platform/services/webchat-channel/dist/turn-follow.d.ts.map +1 -1
  75. package/payload/platform/services/webchat-channel/dist/turn-follow.js +33 -1
  76. package/payload/platform/services/webchat-channel/dist/turn-follow.js.map +1 -1
  77. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +28 -4
  78. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
  79. package/payload/platform/services/whatsapp-channel/dist/notification.js +30 -7
  80. package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
  81. package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
  82. package/payload/platform/services/whatsapp-channel/dist/server.js +13 -5
  83. package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
  84. package/payload/platform/services/whatsapp-channel/dist/targets.d.ts +2 -0
  85. package/payload/platform/services/whatsapp-channel/dist/targets.d.ts.map +1 -1
  86. package/payload/platform/services/whatsapp-channel/dist/targets.js +14 -1
  87. package/payload/platform/services/whatsapp-channel/dist/targets.js.map +1 -1
  88. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts +28 -0
  89. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts.map +1 -1
  90. package/payload/platform/services/whatsapp-channel/dist/turn-follow.js +34 -1
  91. package/payload/platform/services/whatsapp-channel/dist/turn-follow.js.map +1 -1
  92. package/payload/server/{chunk-MHNHG3GL.js → chunk-G6ULACHG.js} +1 -1
  93. package/payload/server/{chunk-Q33KT7YJ.js → chunk-JOVREC6E.js} +117 -1
  94. package/payload/server/{chunk-WGMIUXXG.js → chunk-SKYZG6OT.js} +11 -0
  95. package/payload/server/{manager-W32LVPCT.js → manager-2VEJKVEO.js} +2 -2
  96. package/payload/server/maxy-edge.js +2 -2
  97. package/payload/server/public/assets/routines-OGFXwTFO.js +2 -0
  98. package/payload/server/public/assets/routines-OGFXwTFO.js.br +0 -0
  99. package/payload/server/public/assets/routines-OGFXwTFO.js.gz +0 -0
  100. package/payload/server/public/routines.html +1 -1
  101. package/payload/server/server.js +285 -170
  102. package/payload/server/public/assets/routines-Ds0yz7_C.js +0 -2
  103. package/payload/server/public/assets/routines-Ds0yz7_C.js.br +0 -0
  104. package/payload/server/public/assets/routines-Ds0yz7_C.js.gz +0 -0
@@ -0,0 +1,80 @@
1
+ // Task 2362 — the tool returned `Event updated: <id>` whatever it wrote, so an agent could not
2
+ // tell a description edit from a dispatch-prompt rewrite. scheduleUpdate now reports what it
3
+ // wrote and the wrapper turns that into the confirmation.
4
+ import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
5
+ import { mkdtempSync, rmSync, mkdirSync, writeFileSync } from "node:fs";
6
+ import { tmpdir } from "node:os";
7
+ import { join } from "node:path";
8
+ let matchesEvent = true;
9
+ vi.mock("../../lib/embedding.js", () => ({
10
+ computeEmbedding: vi.fn(async () => [0.1]),
11
+ }));
12
+ vi.mock("../../lib/neo4j.js", () => ({
13
+ getSession: () => ({
14
+ run: vi.fn(async (cypher) => {
15
+ // A :Meeting always resolves; whether the :Event does is what the flag controls.
16
+ if (cypher.includes("MATCH (m:Meeting"))
17
+ return { records: [{ get: () => "sched-abc" }] };
18
+ return { records: matchesEvent ? [{ get: () => null }] : [] };
19
+ }),
20
+ close: vi.fn(async () => { }),
21
+ }),
22
+ }));
23
+ import { scheduleUpdate } from "../schedule-update.js";
24
+ import { describeUpdate } from "../../lib/update-summary.js";
25
+ const ACCOUNT_ID = "11111111-1111-4111-8111-111111111111";
26
+ let platformRoot;
27
+ beforeEach(() => {
28
+ matchesEvent = true;
29
+ const root = mkdtempSync(join(tmpdir(), "sched-sum-"));
30
+ platformRoot = join(root, "platform");
31
+ mkdirSync(platformRoot, { recursive: true });
32
+ process.env.PLATFORM_ROOT = platformRoot;
33
+ const accountDir = join(platformRoot, "..", "data", "accounts", ACCOUNT_ID);
34
+ mkdirSync(accountDir, { recursive: true });
35
+ writeFileSync(join(accountDir, "account.json"), JSON.stringify({ role: "house", whatsapp: { adminPhones: ["+447700900000"] } }), "utf-8");
36
+ });
37
+ afterEach(() => {
38
+ rmSync(join(platformRoot, ".."), { recursive: true, force: true });
39
+ vi.clearAllMocks();
40
+ });
41
+ describe("scheduleUpdate reports what it wrote (Task 2362)", () => {
42
+ it("names description and says the instruction did not change", async () => {
43
+ const result = await scheduleUpdate({ accountId: ACCOUNT_ID, eventId: "e1", description: "new" });
44
+ expect(result.fields).toContain("description");
45
+ expect(describeUpdate("e1", result)).toContain("(the instruction sent to the agent was not changed)");
46
+ });
47
+ it("names agentPrompt without the not-changed clause", async () => {
48
+ const result = await scheduleUpdate({
49
+ accountId: ACCOUNT_ID,
50
+ eventId: "e1",
51
+ agentDispatch: { channel: "whatsapp", destination: "+447700900000", prompt: "do the thing" },
52
+ });
53
+ expect(result.fields).toContain("agentPrompt");
54
+ expect(describeUpdate("e1", result)).not.toContain("was not changed");
55
+ });
56
+ it("names none of the four bookkeeping properties", async () => {
57
+ const result = await scheduleUpdate({ accountId: ACCOUNT_ID, eventId: "e1", description: "new", note: "n" });
58
+ for (const excluded of ["updatedAt", "operatorEdited", "notes", "embedding"]) {
59
+ expect(result.fields).not.toContain(excluded);
60
+ }
61
+ });
62
+ it("reports a caller-supplied note as an append", async () => {
63
+ const result = await scheduleUpdate({ accountId: ACCOUNT_ID, eventId: "e1", note: "ran late" });
64
+ expect(result.noteAppended).toBe(true);
65
+ expect(result.fields).toEqual([]);
66
+ });
67
+ it("does not claim a note was appended when the note is empty", async () => {
68
+ // `if (note)` is the guard that actually pushes the clause, so an empty string writes
69
+ // nothing. Reporting an append here would put a false statement in the confirmation.
70
+ const result = await scheduleUpdate({ accountId: ACCOUNT_ID, eventId: "e1", note: "" });
71
+ expect(result.noteAppended).toBe(false);
72
+ });
73
+ it("reports a meeting edit as a meeting, naming the caller's field names", async () => {
74
+ matchesEvent = false;
75
+ const result = await scheduleUpdate({ accountId: ACCOUNT_ID, eventId: "sched-abc", name: "Standup" });
76
+ expect(result.kind).toBe("meeting");
77
+ expect(result.fields).toEqual(["name"]);
78
+ });
79
+ });
80
+ //# sourceMappingURL=schedule-update-summary.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-update-summary.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/schedule-update-summary.test.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,6FAA6F;AAC7F,0DAA0D;AAC1D,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,IAAI,YAAY,GAAG,IAAI,CAAC;AAExB,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAa,CAAC;CACvD,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACjB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;YAClC,iFAAiF;YACjF,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC1F,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChE,CAAC,CAAC;QACF,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;KAC7B,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAC1D,IAAI,YAAoB,CAAC;AAEzB,UAAU,CAAC,GAAG,EAAE;IACd,YAAY,GAAG,IAAI,CAAC;IACpB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;IACvD,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5E,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,aAAa,CACX,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAChC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EAC/E,OAAO,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,EAAE,CAAC,aAAa,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAChE,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAClG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,qDAAqD,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE;SAC7F,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7G,KAAK,MAAM,QAAQ,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAChG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,sFAAsF;QACtF,qFAAqF;QACrF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACxF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,YAAY,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACtG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type ScheduleUpdateResult } from "../lib/update-summary.js";
1
2
  import type { EventAction, AgentDispatch } from "./schedule-event.js";
2
3
  /**
3
4
  * Task 2134 — the status vocabulary, in one place.
@@ -60,5 +61,5 @@ export declare function planResume(row: {
60
61
  timezone: string | null;
61
62
  startDate: string | null;
62
63
  }, now: Date): ResumePlan;
63
- export declare function scheduleUpdate(params: ScheduleUpdateParams): Promise<void>;
64
+ export declare function scheduleUpdate(params: ScheduleUpdateParams): Promise<ScheduleUpdateResult>;
64
65
  //# sourceMappingURL=schedule-update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-update.d.ts","sourceRoot":"","sources":["../../src/tools/schedule-update.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGtE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,sEAAuE,CAAC;AAEnG,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,wBAAgB,UAAU,CACxB,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACrF,GAAG,EAAE,IAAI,GACR,UAAU,CAmCZ;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsahF"}
1
+ {"version":3,"file":"schedule-update.d.ts","sourceRoot":"","sources":["../../src/tools/schedule-update.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAMpF,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGtE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,sEAAuE,CAAC;AAEnG,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,wBAAgB,UAAU,CACxB,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACrF,GAAG,EAAE,IAAI,GACR,UAAU,CAmCZ;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkehG"}
@@ -2,6 +2,7 @@ import { existsSync } from "node:fs";
2
2
  import { resolve } from "node:path";
3
3
  import { getSession } from "../lib/neo4j.js";
4
4
  import { appendNotesCapped } from "../lib/notes-cap.js";
5
+ import { writtenFields } from "../lib/update-summary.js";
5
6
  import { computeEmbedding } from "../lib/embedding.js";
6
7
  import { normaliseStartDate } from "../lib/time-format.js";
7
8
  import cronParser from "cron-parser";
@@ -108,7 +109,10 @@ export async function scheduleUpdate(params) {
108
109
  finally {
109
110
  await skipSession.close();
110
111
  }
111
- return;
112
+ // Task 2362 — what this branch actually wrote. The tool wrapper renders its own
113
+ // "Skipped next occurrence" line for a skipNext call and never reads this, but the
114
+ // return must still be true for any other caller.
115
+ return { kind: "event", fields: ["nextRun", "skipNext"], noteAppended: false };
112
116
  }
113
117
  finally {
114
118
  await checkSession.close();
@@ -120,17 +124,24 @@ export async function scheduleUpdate(params) {
120
124
  // two cases pay for the read; every other update keeps its single round trip.
121
125
  const ids = { eventId: eventId.slice(0, 8), acct: accountId.slice(0, 8) };
122
126
  let stored = null;
127
+ // Task 2366 — the embedding text is built from the ROW, so a call supplying exactly one
128
+ // of name/description needs the other read. Supplying both needs no read at all, and
129
+ // supplying neither triggers no recompute. This rides the existing pre-read rather than
130
+ // adding a second round trip, the same way the status and cron branches share it.
131
+ const embedNeedsStored = (updates.name !== undefined) !== (updates.description !== undefined);
123
132
  // Task 2213 added `startDate` to this gate. A plain date change previously
124
133
  // skipped the pre-read entirely, so `stored.timezone` was null and a zoneless
125
134
  // value had no zone to be read in — the same query already returns it.
126
135
  if (updates.eventStatus !== undefined ||
127
136
  updates.recurrence !== undefined ||
128
- updates.startDate !== undefined) {
137
+ updates.startDate !== undefined ||
138
+ embedNeedsStored) {
129
139
  const readSession = getSession();
130
140
  try {
131
141
  const read = await readSession.run(`MATCH (e:Event {eventId: $eventId, accountId: $accountId})
132
142
  RETURN e.eventStatus AS eventStatus, e.recurrence AS recurrence,
133
- e.timezone AS timezone, e.startDate AS startDate`, { eventId, accountId });
143
+ e.timezone AS timezone, e.startDate AS startDate,
144
+ e.name AS name, e.description AS description`, { eventId, accountId });
134
145
  if (read.records.length > 0) {
135
146
  const r = read.records[0];
136
147
  stored = {
@@ -138,6 +149,8 @@ export async function scheduleUpdate(params) {
138
149
  recurrence: (r.get("recurrence") ?? null),
139
150
  timezone: (r.get("timezone") ?? null),
140
151
  startDate: (r.get("startDate") ?? null),
152
+ name: (r.get("name") ?? null),
153
+ description: (r.get("description") ?? null),
141
154
  };
142
155
  }
143
156
  }
@@ -349,14 +362,36 @@ export async function scheduleUpdate(params) {
349
362
  setClauses.push(appendNotesCapped("e", "noteEntry"));
350
363
  queryParams.noteEntry = noteLines.map((line) => `\n[${queryParams.now}] ${line}`).join("");
351
364
  }
352
- // Recompute embedding if name or description changed
365
+ // Recompute embedding if name or description changed. Task 2366 — each side comes from
366
+ // the CALL when the call carries it, otherwise from the ROW. Building it from the call
367
+ // alone re-embedded a description-only edit as `Event: — <description>`, with no title
368
+ // in the routine's own vector, and a name-only edit with no caption in it. Twin of
369
+ // routines.ts:638-648, which reads the stored name for the same reason.
370
+ let embedLog = null;
353
371
  if (updates.name !== undefined || updates.description !== undefined) {
354
- const parts = [`Event: ${updates.name ?? ""}`, updates.description ?? ""].filter(Boolean);
355
- const embedding = await computeEmbedding(parts.join(" "));
372
+ const name = updates.name !== undefined ? updates.name : stored?.name ?? null;
373
+ const description = updates.description !== undefined ? updates.description : stored?.description ?? null;
374
+ // filter(Boolean) stays: on a row with neither, `Event: ` is the honest best text.
375
+ const parts = [`Event: ${name ?? ""}`, description ?? ""].filter(Boolean);
376
+ const text = parts.join(" — ");
377
+ const embedding = await computeEmbedding(text);
356
378
  if (embedding.length > 0) {
357
379
  setClauses.push("e.embedding = $embedding");
358
380
  queryParams.embedding = embedding;
359
381
  }
382
+ // Task 2366 — the fault this replaces emitted nothing at all: the embedder was called,
383
+ // returned a vector, the write succeeded, and no line said whether the title was in it.
384
+ // The vector cannot be read back to tell. `titled` is the assertion; `nameSource`
385
+ // separates a row with no name from a fallback that broke; `chars` is the input length,
386
+ // the only figure that shows the text shrinking across edits. `wrote` is what keeps
387
+ // `titled` honest: computeEmbedding returns [] on any embedder failure and the clause
388
+ // above is then skipped, so without it a titled=yes line would read as "the title is in
389
+ // the vector" on a run where the row kept whatever vector it already had.
390
+ const nameSource = updates.name !== undefined ? "param" : stored?.name ? "stored" : "absent";
391
+ embedLog =
392
+ `[schedule-update] op=embed-recomputed eventId=${ids.eventId} ` +
393
+ `titled=${name ? "yes" : "no"} nameSource=${nameSource} chars=${text.length} ` +
394
+ `wrote=${embedding.length > 0 ? "yes" : "no"}`;
360
395
  }
361
396
  const neo4jSession = getSession();
362
397
  try {
@@ -380,6 +415,11 @@ export async function scheduleUpdate(params) {
380
415
  `tz=${effectiveTimezone ?? "null"} nextRun=${statusPlan.nextRun ?? "unchanged"} aheadMin=${aheadMin}`);
381
416
  }
382
417
  }
418
+ // Task 2366 — held until the write lands, for the reason the status line above states:
419
+ // an id that turns out to be a :Meeting reaches the recompute and gets no :Event
420
+ // vector, so emitting at the recompute would report a rebuild that never happened.
421
+ if (result.records.length > 0 && embedLog)
422
+ console.error(embedLog);
383
423
  if (result.records.length === 0) {
384
424
  // Task 2100 — the id may be a meeting uid. This branch edits
385
425
  // title/startsAt/endsAt/location, and the uid is the (accountId, uid)
@@ -392,21 +432,28 @@ export async function scheduleUpdate(params) {
392
432
  // 2296. eventStatus, recurrence, note, action and agentDispatch genuinely
393
433
  // have no meeting equivalent and do not cross over.
394
434
  const meetingSets = [];
435
+ // Task 2362 — the names the caller passed, not the stored property names: a caller who sent
436
+ // `name` is told `name`, not `title`. Four sites, so these are collected rather than derived.
437
+ const meetingFields = [];
395
438
  const meetingParams = { id: eventId, accountId };
396
439
  if (updates.name !== undefined) {
397
440
  meetingSets.push("m.title = $title");
441
+ meetingFields.push("name");
398
442
  meetingParams.title = updates.name;
399
443
  }
400
444
  if (updates.startDate !== undefined) {
401
445
  meetingSets.push("m.startsAt = datetime($startsAt)");
446
+ meetingFields.push("startDate");
402
447
  meetingParams.startsAt = updates.startDate;
403
448
  }
404
449
  if (updates.endDate !== undefined) {
405
450
  meetingSets.push("m.endsAt = datetime($endsAt)");
451
+ meetingFields.push("endDate");
406
452
  meetingParams.endsAt = updates.endDate;
407
453
  }
408
454
  if (updates.location !== undefined) {
409
455
  meetingSets.push("m.location = $location");
456
+ meetingFields.push("location");
410
457
  meetingParams.location = updates.location;
411
458
  }
412
459
  if (meetingSets.length === 0) {
@@ -428,7 +475,14 @@ export async function scheduleUpdate(params) {
428
475
  throw new Error(`Event not found: ${eventId}`);
429
476
  }
430
477
  console.error(`[schedule-update] op=meeting-edit uid=${eventId} fields=${meetingSets.length - 1}`);
478
+ return { kind: "meeting", fields: meetingFields, noteAppended: false };
431
479
  }
480
+ // Task 2362 — what the caller is told it wrote. `note` is reported separately from the
481
+ // property list: the notes append is one clause however many lines it carries, and the
482
+ // suspend/resume line the status branch adds on its own is not a caller change.
483
+ // `Boolean(note)`, not `note !== undefined`: the push above is guarded by `if (note)`, so an
484
+ // empty-string note writes nothing and must not be confirmed as appended.
485
+ return { kind: "event", fields: writtenFields(setClauses), noteAppended: Boolean(note) };
432
486
  }
433
487
  finally {
434
488
  await neo4jSession.close();
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-update.js","sourceRoot":"","sources":["../../src/tools/schedule-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-update.js","sourceRoot":"","sources":["../../src/tools/schedule-update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ #!/usr/bin/env node
2
+ // check-routine-roster-doc.mjs — pre-commit gate (Task 2367).
3
+ //
4
+ // `platform/plugins/docs/references/admin-ui.md` carries one paragraph naming
5
+ // the routines every account is seeded with. That paragraph is mirrored into
6
+ // the generated platform-architecture SKILL.md and ships to every account, so
7
+ // a routine added to ROUTINE_ROSTER and not to the paragraph is not an internal
8
+ // docs nit: an agent asked what routines ship answers the stale number and
9
+ // cannot name the ones it omits. That is exactly what happened between Task
10
+ // 2214 (which took the roster from eleven to thirteen) and Task 2367.
11
+ //
12
+ // Three assertions, all against the same paragraph:
13
+ //
14
+ // 1. Every roster key appears in it as a backticked token. Checked by exact
15
+ // substring per key, so it holds whatever a future key looks like. This is
16
+ // the drift that actually happened.
17
+ // 2. Every backticked key-SHAPED token in it is a roster key. A routine
18
+ // deleted from roster.ts leaves a key in the prose that names nothing, and
19
+ // assertion 1 cannot see that. Key-shaped means lowercase words joined by
20
+ // at least one hyphen, which is what every roster key has looked like
21
+ // since Task 2130. The cost of this rule is that an unrelated hyphenated
22
+ // term added to this paragraph fails the gate; the failure names the rule,
23
+ // so the fix is to move the term or correct the key. A hyphenless key
24
+ // would fall outside this scan but is still fully covered by assertion 1.
25
+ // 3. The number-word for the roster length appears immediately before
26
+ // "routines". The count and the list state one fact twice, and gating
27
+ // only the list leaves half the defect free to recur. This is not an
28
+ // English parser: it maps the length through a fixed table and asserts a
29
+ // literal. A length with no word in the table is a hard failure naming
30
+ // the missing word, so the gate is fail-closed on its own blind spot.
31
+ //
32
+ // The roster is read as SOURCE TEXT, so this runs in a fresh worktree with no
33
+ // install and no build. Precedent: readRiskClasses() in
34
+ // platform/scripts/lib/canonical-tool-names.mjs parses tool-surface.ts the
35
+ // same way.
36
+ //
37
+ // Ordering note: this gate runs BEFORE check-architecture-skill-no-drift.mjs in
38
+ // .husky/pre-commit. A wrong edit to the paragraph fails both, and the drift
39
+ // gate's message ("SKILL.md was out of sync") names the symptom rather than the
40
+ // cause. Under `set -e` the first failure is the one the author reads.
41
+
42
+ import { readFileSync, existsSync } from 'node:fs';
43
+ import { resolve, dirname, relative } from 'node:path';
44
+ import { fileURLToPath } from 'node:url';
45
+
46
+ const SELF = fileURLToPath(import.meta.url);
47
+ const MAXY_CODE_ROOT = resolve(dirname(SELF), '..', '..');
48
+
49
+ const ROSTER_TS = resolve(MAXY_CODE_ROOT, 'platform/lib/routine-templates/src/roster.ts');
50
+ const DOC = resolve(MAXY_CODE_ROOT, 'platform/plugins/docs/references/admin-ui.md');
51
+
52
+ const PARAGRAPH_MARKER = '**The shipped roster.**';
53
+
54
+ // Indexed by count. Extend when the roster outgrows it; a length past the end
55
+ // is a hard failure below rather than a silent pass.
56
+ const NUMBER_WORDS = [
57
+ 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight',
58
+ 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen',
59
+ 'sixteen', 'seventeen', 'eighteen', 'nineteen', 'twenty',
60
+ ];
61
+
62
+ // Assertion 2's scan only. Anchored inside backticks and requiring a hyphen, so
63
+ // `nextRun` (uppercase), `/routines` (slash) and `check-due-events.ts` (dot)
64
+ // are all excluded.
65
+ const KEY_SHAPE = /`([a-z0-9]+(?:-[a-z0-9]+)+)`/g;
66
+
67
+ const rel = (p) => relative(MAXY_CODE_ROOT, p);
68
+
69
+ for (const p of [ROSTER_TS, DOC]) {
70
+ if (!existsSync(p)) {
71
+ console.error(`[roster-doc] FAIL missing file: ${rel(p)}`);
72
+ process.exit(1);
73
+ }
74
+ }
75
+
76
+ // The roster's key list, in roster order. The interface declaration
77
+ // (`readonly key: string;`) carries no quotes and does not match.
78
+ const rosterKeys = [...readFileSync(ROSTER_TS, 'utf8').matchAll(/^\s*key:\s*"([^"]+)",/gm)]
79
+ .map((m) => m[1]);
80
+
81
+ if (rosterKeys.length === 0) {
82
+ console.error(`[roster-doc] FAIL parsed zero keys from ${rel(ROSTER_TS)} — the entry shape changed`);
83
+ process.exit(1);
84
+ }
85
+
86
+ const doc = readFileSync(DOC, 'utf8');
87
+ const start = doc.indexOf(PARAGRAPH_MARKER);
88
+ if (start === -1) {
89
+ console.error(`[roster-doc] FAIL ${rel(DOC)} has no paragraph starting "${PARAGRAPH_MARKER}"`);
90
+ process.exit(1);
91
+ }
92
+ const end = doc.indexOf('\n\n', start);
93
+ const paragraph = end === -1 ? doc.slice(start) : doc.slice(start, end);
94
+
95
+ // 1 — every roster key present, by exact backticked substring.
96
+ const present = rosterKeys.filter((k) => paragraph.includes(`\`${k}\``));
97
+ const missing = rosterKeys.filter((k) => !paragraph.includes(`\`${k}\``));
98
+
99
+ // 2 — every key-shaped token present is a roster key.
100
+ const rosterKeySet = new Set(rosterKeys);
101
+ const shaped = new Set([...paragraph.matchAll(KEY_SHAPE)].map((m) => m[1]));
102
+ const stale = [...shaped].filter((k) => !rosterKeySet.has(k));
103
+
104
+ const problems = [];
105
+ if (missing.length) problems.push(` MISSING from the paragraph: ${missing.join(', ')}`);
106
+ if (stale.length) problems.push(` STALE in the paragraph (no such roster key): ${stale.join(', ')}`);
107
+
108
+ // 3 — the count word.
109
+ const expectedWord = NUMBER_WORDS[rosterKeys.length];
110
+ if (expectedWord === undefined) {
111
+ problems.push(
112
+ ` no number word for ${rosterKeys.length} — add it to NUMBER_WORDS in ${rel(SELF)}`,
113
+ );
114
+ } else if (!paragraph.includes(`${expectedWord} routines`)) {
115
+ const found = NUMBER_WORDS.find((w) => paragraph.includes(`${w} routines`));
116
+ problems.push(
117
+ ` count word: expected "${expectedWord} routines", found ${found ? `"${found} routines"` : 'no number word'}`,
118
+ );
119
+ }
120
+
121
+ if (problems.length) {
122
+ console.error(`[roster-doc] FAIL prose=${present.length} roster=${rosterKeys.length}`);
123
+ for (const l of problems) console.error(l);
124
+ process.exit(1);
125
+ }
126
+
127
+ console.log(`[roster-doc] ok prose=${present.length} roster=${rosterKeys.length}`);
@@ -1,3 +1,4 @@
1
+ import type { TurnContextCounts } from './turn-follow.js';
1
2
  import { type TelegramChannelRole } from './instructions.js';
2
3
  /** Task 1516 — the dispatcher's operator-provenance marker, present only on a
3
4
  * scheduled inject. A local copy of the shape (this package never cross-imports
@@ -89,14 +90,18 @@ export declare function buildReceivedPostBody(myKey: string, messageId: string):
89
90
  * restored in Task 1539: for an interactive turn the gateway force-sends it when
90
91
  * non-empty (delivered=fallback), covering a turn that never called reply AND the
91
92
  * ack-then-plain-text shape. A scheduled turn ships an empty `finalText` and
92
- * stays silent, mirroring the WhatsApp twin. */
93
- export declare function buildTurnEndPostBody(myKey: string, sessionId: string, replied: boolean, interactive: boolean, finalText: string): {
93
+ * stays silent, mirroring the WhatsApp twin.
94
+ *
95
+ * Task 2364 — `context` is that turn's own token and thinking counts, measured
96
+ * over the same segment this body reports on and spread flat onto it, so the
97
+ * gateway reads them with one `num()` helper. */
98
+ export declare function buildTurnEndPostBody(myKey: string, sessionId: string, replied: boolean, interactive: boolean, finalText: string, context: TurnContextCounts): {
94
99
  key: string;
95
100
  sessionId: string;
96
101
  replied: boolean;
97
102
  interactive: boolean;
98
103
  finalText: string;
99
- };
104
+ } & TurnContextCounts;
100
105
  /** Retry an idempotent POST until it is accepted or the attempt cap is
101
106
  * reached. `attempt` returns whether the POST was accepted; the helper
102
107
  * returns on the first acceptance, otherwise sleeps `delayMs` and retries,
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"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"}
@@ -92,9 +92,16 @@ export function buildReceivedPostBody(myKey, messageId) {
92
92
  * restored in Task 1539: for an interactive turn the gateway force-sends it when
93
93
  * non-empty (delivered=fallback), covering a turn that never called reply AND the
94
94
  * ack-then-plain-text shape. A scheduled turn ships an empty `finalText` and
95
- * stays silent, mirroring the WhatsApp twin. */
96
- export function buildTurnEndPostBody(myKey, sessionId, replied, interactive, finalText) {
97
- return { key: myKey, sessionId, replied, interactive, finalText };
95
+ * stays silent, mirroring the WhatsApp twin.
96
+ *
97
+ * Task 2364 `context` is that turn's own token and thinking counts, measured
98
+ * over the same segment this body reports on and spread flat onto it, so the
99
+ * gateway reads them with one `num()` helper. */
100
+ export function buildTurnEndPostBody(myKey, sessionId, replied, interactive, finalText,
101
+ // Task 2364 — the turn's own token and thinking counts, spread flat so the
102
+ // gateway reads them with one `num()` helper.
103
+ context) {
104
+ return { key: myKey, sessionId, replied, interactive, finalText, ...context };
98
105
  }
99
106
  /** Retry an idempotent POST until it is accepted or the attempt cap is
100
107
  * reached. `attempt` returns whether the POST was accepted; the helper
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"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"}
@@ -257,7 +257,7 @@ export async function subscribeInbound() {
257
257
  void fetch(`${GATEWAY_URL}/tg-channel/turn-end`, {
258
258
  method: 'POST',
259
259
  headers: { 'content-type': 'application/json' },
260
- body: JSON.stringify(buildTurnEndPostBody(KEY, SESSION_ID, outcome.replied, interactive, finalText)),
260
+ body: JSON.stringify(buildTurnEndPostBody(KEY, SESSION_ID, outcome.replied, interactive, finalText, outcome.context)),
261
261
  }).catch(() => { });
262
262
  }).finally(() => {
263
263
  // The follower settles only on a stat failure (file unreadable —
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}