@cursor/july 0.1.114 → 0.2.1

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 (206) hide show
  1. package/dist/channels/slack/channel-watch.d.ts +19 -3
  2. package/dist/channels/slack/channel-watch.d.ts.map +1 -1
  3. package/dist/channels/slack/channel-watch.js +48 -9
  4. package/dist/channels/slack/inbound.d.ts +7 -0
  5. package/dist/channels/slack/inbound.d.ts.map +1 -1
  6. package/dist/channels/slack/inbound.js +23 -0
  7. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  8. package/dist/channels/slack/slack-channel.js +87 -8
  9. package/dist/channels/slack/types.d.ts +11 -12
  10. package/dist/channels/slack/types.d.ts.map +1 -1
  11. package/dist/docs/404.html +2 -2
  12. package/dist/docs/assets/{app.BqkJwOZ-.js → app.D23Y-7Tp.js} +4 -4
  13. package/dist/docs/assets/chunks/@localSearchIndexroot.CzCCM7N8.js +1 -0
  14. package/dist/docs/assets/chunks/{VPLocalSearchBox.BJAi2KiV.js → VPLocalSearchBox.CWBeTFRZ.js} +1 -1
  15. package/dist/docs/assets/chunks/{arc.BZpXTgvV.js → arc.DSF2O3pm.js} +1 -1
  16. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.WYI-7F-Y.js → architectureDiagram-Q4EWVU46.J52Wzbkg.js} +1 -1
  17. package/dist/docs/assets/chunks/{baseUniq.CZaUPpg0.js → baseUniq.CQS3LPCt.js} +1 -1
  18. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.D6UES2pD.js → blockDiagram-DXYQGD6D.Dw339Gr5.js} +1 -1
  19. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.cwebIe4i.js → c4Diagram-AHTNJAMY.BUdtOaRZ.js} +1 -1
  20. package/dist/docs/assets/chunks/channel.Bfu4df88.js +1 -0
  21. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.fVyFnjxg.js → chunk-4BX2VUAB.CuOrkEqk.js} +1 -1
  22. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.BanufG1c.js → chunk-4TB4RGXK.BJNBcY7U.js} +1 -1
  23. package/dist/docs/assets/chunks/{chunk-55IACEB6.VaSMz5-2.js → chunk-55IACEB6.VJK5LAm_.js} +1 -1
  24. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.CN2diZOM.js → chunk-EDXVE4YY.BYYLihvj.js} +1 -1
  25. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.g4ivypu3.js → chunk-FMBD7UC4.CmoW8BXP.js} +1 -1
  26. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.GZXKn9JJ.js → chunk-OYMX7WX6.DTGY4C-M.js} +1 -1
  27. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.itXxJZCd.js → chunk-QZHKN3VN.Cg5n67vl.js} +1 -1
  28. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.-rw2GfvX.js → chunk-YZCP3GAM.C3GR_ia5.js} +1 -1
  29. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DdfgtaWs.js +1 -0
  30. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DdfgtaWs.js +1 -0
  31. package/dist/docs/assets/chunks/clone.rkmfti6d.js +1 -0
  32. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.CmaI5br0.js → cose-bilkent-S5V4N54A.BTRG8N3b.js} +1 -1
  33. package/dist/docs/assets/chunks/{dagre-KV5264BT.4wY9S4Kt.js → dagre-KV5264BT.Bob_bp_p.js} +1 -1
  34. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.Pc3c0u9W.js → diagram-5BDNPKRD.ggPcs9uO.js} +1 -1
  35. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.CYrWz-nj.js → diagram-G4DWMVQ6.BP0qyJkp.js} +1 -1
  36. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.Bgj5hukb.js → diagram-MMDJMWI5.B0X24UKr.js} +1 -1
  37. package/dist/docs/assets/chunks/{diagram-TYMM5635.DGMEXalS.js → diagram-TYMM5635.B4rXHFVt.js} +1 -1
  38. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.GepTV9Im.js → erDiagram-SMLLAGMA._55Rt9oX.js} +1 -1
  39. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.DVKywg3j.js → flowDiagram-DWJPFMVM.DGP4XvR5.js} +1 -1
  40. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.C7qt9Mlo.js → ganttDiagram-T4ZO3ILL.BtXtkL4E.js} +1 -1
  41. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.U30_r82P.js → gitGraphDiagram-UUTBAWPF.B9cPWblK.js} +1 -1
  42. package/dist/docs/assets/chunks/{graph.CyyMyAWv.js → graph.D8HzNexS.js} +1 -1
  43. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.Dn9ACW3y.js → infoDiagram-42DDH7IO.Bw7CQUpi.js} +1 -1
  44. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DlIdIGOA.js → ishikawaDiagram-UXIWVN3A.MwkzF6nQ.js} +1 -1
  45. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.DZj4vy4E.js → journeyDiagram-VCZTEJTY.DIGFF-3C.js} +1 -1
  46. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.Dl63eMUV.js → kanban-definition-6JOO6SKY.DhYef2BN.js} +1 -1
  47. package/dist/docs/assets/chunks/{layout.BLHZLWPH.js → layout.C0XUxuPi.js} +1 -1
  48. package/dist/docs/assets/chunks/{linear.aXKGKaNw.js → linear.BwNPpZex.js} +1 -1
  49. package/dist/docs/assets/chunks/{min.zWnFcpcc.js → min.CwAQdL7z.js} +1 -1
  50. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.Qs4MQBea.js → mindmap-definition-QFDTVHPH.pWsSVLsP.js} +1 -1
  51. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BmPHgsk7.js → pieDiagram-DEJITSTG.BDJ3FbBy.js} +1 -1
  52. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.D5MQ3gwA.js → quadrantDiagram-34T5L4WZ.Co80izyB.js} +1 -1
  53. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.CkdUFrO7.js → requirementDiagram-MS252O5E.JveKw4yx.js} +1 -1
  54. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.KZrljrAV.js → sankeyDiagram-XADWPNL6.B0A7adPi.js} +1 -1
  55. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.XMoEW-Lx.js → sequenceDiagram-FGHM5R23.d6JZ5Hre.js} +1 -1
  56. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.BmTzePLj.js → stateDiagram-FHFEXIEX.DWnL0NQl.js} +1 -1
  57. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.ZEetPk0E.js +1 -0
  58. package/dist/docs/assets/chunks/{theme.BfQzpxsg.js → theme.MJTLx0hh.js} +2 -2
  59. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.Dug0oamp.js → timeline-definition-GMOUNBTQ.CFS7Ai4c.js} +1 -1
  60. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BOTHrEFu.js → vennDiagram-DHZGUBPP.CwSlnjCf.js} +1 -1
  61. package/dist/docs/assets/chunks/wardley-RL74JXVD.3gurI8YA.js +162 -0
  62. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.CoXKdfi6.js → wardleyDiagram-NUSXRM2D.B_8mvtjh.js} +1 -1
  63. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.DXoSCjAW.js → xychartDiagram-5P7HB3ND.DtjU5H85.js} +1 -1
  64. package/dist/docs/assets/{guides_slack.md.Bo96y42E.js → guides_slack.md.Bjw2r2gL.js} +5 -5
  65. package/dist/docs/assets/{guides_slack.md.Bo96y42E.lean.js → guides_slack.md.Bjw2r2gL.lean.js} +1 -1
  66. package/dist/docs/assets/reference_cli.md.BvnQM8wd.js +97 -0
  67. package/dist/docs/assets/reference_cli.md.BvnQM8wd.lean.js +1 -0
  68. package/dist/docs/building-with-agents.html +35 -35
  69. package/dist/docs/deployment.html +35 -35
  70. package/dist/docs/evals.html +35 -35
  71. package/dist/docs/guides/agent-to-agent.html +35 -35
  72. package/dist/docs/guides/bitbucket.html +35 -35
  73. package/dist/docs/guides/cloud-agents.html +35 -35
  74. package/dist/docs/guides/convert-automation.html +35 -35
  75. package/dist/docs/guides/github.html +35 -35
  76. package/dist/docs/guides/gitlab.html +35 -35
  77. package/dist/docs/guides/grokbot-agents.html +35 -35
  78. package/dist/docs/guides/hooks.html +35 -35
  79. package/dist/docs/guides/improve.html +35 -35
  80. package/dist/docs/guides/jev.html +35 -35
  81. package/dist/docs/guides/mcp-oauth.html +35 -35
  82. package/dist/docs/guides/opentelemetry.html +35 -35
  83. package/dist/docs/guides/slack.html +39 -39
  84. package/dist/docs/guides/slack.md +16 -1
  85. package/dist/docs/guides/webhooks.html +35 -35
  86. package/dist/docs/hashmap.json +1 -1
  87. package/dist/docs/hillclimbing.html +35 -35
  88. package/dist/docs/index.html +35 -35
  89. package/dist/docs/llms-full.txt +699 -752
  90. package/dist/docs/llms.txt +1 -1
  91. package/dist/docs/quickstart.html +35 -35
  92. package/dist/docs/reference/agent-config.html +35 -35
  93. package/dist/docs/reference/artifacts.html +35 -35
  94. package/dist/docs/reference/channels.html +35 -35
  95. package/dist/docs/reference/cli.html +127 -125
  96. package/dist/docs/reference/cli.md +685 -753
  97. package/dist/docs/reference/connections.html +35 -35
  98. package/dist/docs/reference/evals.html +35 -35
  99. package/dist/docs/reference/extensions.html +35 -35
  100. package/dist/docs/reference/hooks.html +35 -35
  101. package/dist/docs/reference/http-api.html +35 -35
  102. package/dist/docs/reference/instructions.html +35 -35
  103. package/dist/docs/reference/playground.html +35 -35
  104. package/dist/docs/reference/project-layout.html +35 -35
  105. package/dist/docs/reference/prompt.html +35 -35
  106. package/dist/docs/reference/schedules.html +35 -35
  107. package/dist/docs/reference/sessions.html +35 -35
  108. package/dist/docs/reference/skills.html +35 -35
  109. package/dist/docs/reference/subagents.html +35 -35
  110. package/dist/docs/reference/tools.html +35 -35
  111. package/dist/docs/templates/agentic-owners.html +35 -35
  112. package/dist/docs/templates/pr-autofixer.html +35 -35
  113. package/dist/docs/templates/security-reviewer.html +35 -35
  114. package/dist/docs/templates/thermo-quality-review.html +35 -35
  115. package/dist/docs/templates/thermo-review.html +35 -35
  116. package/dist/docs/templates/triage.html +35 -35
  117. package/dist/docs/troubleshooting.html +35 -35
  118. package/dist/files-backends/cursor-hosted.d.ts +11 -17
  119. package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
  120. package/dist/files-backends/cursor-hosted.js +13 -41
  121. package/dist/index.d.ts +1 -1
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/internal/artifacts-store.d.ts +11 -0
  124. package/dist/internal/artifacts-store.d.ts.map +1 -1
  125. package/dist/internal/artifacts-store.js +113 -18
  126. package/dist/internal/cli-deploy.d.ts.map +1 -1
  127. package/dist/internal/cli-deploy.js +9 -1
  128. package/dist/internal/cursor/cursor-api-transport.d.ts +37 -0
  129. package/dist/internal/cursor/cursor-api-transport.d.ts.map +1 -0
  130. package/dist/internal/cursor/cursor-api-transport.js +44 -0
  131. package/dist/internal/cursor/hosted-store-secrets.d.ts +21 -0
  132. package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -1
  133. package/dist/internal/cursor/hosted-store-secrets.js +26 -0
  134. package/dist/internal/cursor/store-api-client.d.ts +82 -0
  135. package/dist/internal/cursor/store-api-client.d.ts.map +1 -0
  136. package/dist/internal/cursor/store-api-client.js +227 -0
  137. package/dist/internal/deploy-client.d.ts +6 -0
  138. package/dist/internal/deploy-client.d.ts.map +1 -1
  139. package/dist/internal/deploy-client.js +3 -0
  140. package/dist/internal/deploy-manifest.d.ts +8 -0
  141. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  142. package/dist/internal/deploy-manifest.js +7 -1
  143. package/dist/internal/discovery/agent-config.d.ts +3 -1
  144. package/dist/internal/discovery/agent-config.d.ts.map +1 -1
  145. package/dist/internal/discovery/agent-config.js +7 -4
  146. package/dist/internal/framework-storage-selection.d.ts +1 -1
  147. package/dist/internal/framework-storage-selection.d.ts.map +1 -1
  148. package/dist/internal/platform-timers.d.ts.map +1 -1
  149. package/dist/internal/platform-timers.js +20 -2
  150. package/dist/internal/reminder-runner.d.ts +79 -1
  151. package/dist/internal/reminder-runner.d.ts.map +1 -1
  152. package/dist/internal/reminder-runner.js +287 -46
  153. package/dist/internal/server.d.ts.map +1 -1
  154. package/dist/internal/server.js +7 -0
  155. package/dist/internal/session-engine.d.ts.map +1 -1
  156. package/dist/internal/session-engine.js +13 -15
  157. package/dist/internal/store-api-protocol.d.ts +134 -0
  158. package/dist/internal/store-api-protocol.d.ts.map +1 -0
  159. package/dist/internal/store-api-protocol.js +126 -0
  160. package/dist/memory.d.ts +49 -10
  161. package/dist/memory.d.ts.map +1 -1
  162. package/dist/memory.js +193 -50
  163. package/dist/playground/assets/{index-CrMWlgUU.js → index-Cs0MKsv4.js} +30 -30
  164. package/dist/playground/assets/index-DLwnR9ys.css +1 -0
  165. package/dist/playground/index.html +2 -2
  166. package/dist/reminders.d.ts +1 -1
  167. package/dist/reminders.d.ts.map +1 -1
  168. package/dist/types.d.ts +44 -10
  169. package/dist/types.d.ts.map +1 -1
  170. package/docs/guides/slack.md +16 -1
  171. package/docs/reference/cli.md +686 -754
  172. package/package.json +1 -1
  173. package/skills/setup-slack/SKILL.md +1 -1
  174. package/src/channels/slack/channel-watch.ts +57 -8
  175. package/src/channels/slack/inbound.ts +24 -0
  176. package/src/channels/slack/slack-channel.ts +127 -4
  177. package/src/channels/slack/types.ts +11 -12
  178. package/src/files-backends/cursor-hosted.ts +31 -68
  179. package/src/index.ts +1 -0
  180. package/src/internal/artifacts-store.ts +131 -25
  181. package/src/internal/cli-deploy.ts +12 -1
  182. package/src/internal/cursor/cursor-api-transport.ts +73 -0
  183. package/src/internal/cursor/hosted-store-secrets.ts +35 -0
  184. package/src/internal/cursor/store-api-client.ts +360 -0
  185. package/src/internal/deploy-client.ts +9 -0
  186. package/src/internal/deploy-manifest.ts +15 -0
  187. package/src/internal/discovery/agent-config.ts +8 -6
  188. package/src/internal/framework-storage-selection.ts +1 -1
  189. package/src/internal/platform-timers.ts +24 -2
  190. package/src/internal/reminder-runner.ts +454 -66
  191. package/src/internal/server.ts +8 -0
  192. package/src/internal/session-engine.ts +17 -22
  193. package/src/internal/store-api-protocol.ts +222 -0
  194. package/src/memory.ts +240 -59
  195. package/src/reminders.ts +1 -0
  196. package/src/types.ts +47 -10
  197. package/dist/docs/assets/chunks/@localSearchIndexroot.BnSgidYE.js +0 -1
  198. package/dist/docs/assets/chunks/channel.DdM5EfNW.js +0 -1
  199. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CjfGHeg2.js +0 -1
  200. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CjfGHeg2.js +0 -1
  201. package/dist/docs/assets/chunks/clone.wSOICb_f.js +0 -1
  202. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.Cu5X28zZ.js +0 -1
  203. package/dist/docs/assets/chunks/wardley-RL74JXVD.DXy2i1LS.js +0 -162
  204. package/dist/docs/assets/reference_cli.md.DLWDz9ij.js +0 -95
  205. package/dist/docs/assets/reference_cli.md.DLWDz9ij.lean.js +0 -1
  206. package/dist/playground/assets/index-C61EWMBK.css +0 -1
@@ -20,7 +20,7 @@ import { parseDuration } from "./duration.js";
20
20
  import { REMINDER_CP_PROTOCOL_VERSION, scheduleSpecFromCreateInput, toWireReschedule, } from "./reminder-control-plane-protocol.js";
21
21
  import { defaultBusyPolicy, MAX_TIMER_MS, nextCronFireMs, ReminderValidationError, resolveSchedule, } from "./reminder-schedule.js";
22
22
  import { APP_AUTH } from "./schedule-runner.js";
23
- import { HTTP_CHANNEL_ID, SessionBusyError, } from "./session-engine.js";
23
+ import { HTTP_CHANNEL_ID, SessionAuthError, SessionBusyError, } from "./session-engine.js";
24
24
  export { ReminderValidationError } from "./reminder-schedule.js";
25
25
  /** Max UTF-8 byte length of `JSON.stringify(args)` on named-handler create. */
26
26
  export const REMINDER_ARGS_MAX_BYTES = 32 * 1024;
@@ -31,6 +31,13 @@ export class UnknownReminderError extends Error {
31
31
  this.name = "UnknownReminderError";
32
32
  }
33
33
  }
34
+ /**
35
+ * Reschedule applied when a hosted fire cannot open a session (no
36
+ * principal). A one-shot `skipped` outcome without a reschedule completes
37
+ * the reminder, which would lose the check-in for good.
38
+ */
39
+ export const REMINDER_SESSION_OPEN_RETRY_DELAY = "5m";
40
+ export const REMINDER_FIRE_OUTCOME_METRIC = "agent_sdk.reminder.fire_outcome";
34
41
  /**
35
42
  * Server wiring for {@link ReminderRunnerOptions.rejectAnonymousHandlers}:
36
43
  * architecture v2 always rejects anonymous run/until (local or hosted).
@@ -95,6 +102,19 @@ function toInfo(record) {
95
102
  hasUntilFn: record.hasUntilFn === true,
96
103
  };
97
104
  }
105
+ function stopFire(reason) {
106
+ return { outcome: { kind: "stop", reason }, reason };
107
+ }
108
+ function runReason(result) {
109
+ switch (result.action) {
110
+ case "stop":
111
+ return "run_stop";
112
+ case "skip":
113
+ return "run_skip";
114
+ case "delivered":
115
+ return "run_delivered";
116
+ }
117
+ }
98
118
  function buildFirePrompt(record) {
99
119
  var _a;
100
120
  const recurring = record.scheduleKind === "every" || record.scheduleKind === "cron";
@@ -128,9 +148,15 @@ export class ReminderRunner {
128
148
  /** Single-flight idle gates keyed by `channelId:continuationToken`. */
129
149
  this.idleGates = new Map();
130
150
  this.started = false;
151
+ /**
152
+ * A control-plane read failure is logged once per outage, not per call.
153
+ * The next successful read re-arms the log.
154
+ */
155
+ this.controlPlaneReadFailureLogged = false;
131
156
  this.rejectAnonymousHandlers = options.rejectAnonymousHandlers === true;
132
157
  this.controlPlane = options.controlPlane;
133
158
  this.architecture = options.architecture;
159
+ this.hostedGuest = options.hostedGuest;
134
160
  for (const reminder of (_a = options.namedHandlers) !== null && _a !== void 0 ? _a : []) {
135
161
  this.namedHandlers.set(reminder.name, reminder.definition);
136
162
  this.namedHandlerNames.set(reminder.definition, reminder.name);
@@ -140,27 +166,56 @@ export class ReminderRunner {
140
166
  get usesControlPlaneProtocol() {
141
167
  return this.controlPlane !== undefined && this.architecture === "v2";
142
168
  }
169
+ /**
170
+ * Where reminder documents are read from. Under the CP protocol that is
171
+ * the v2 control-plane client; the v1 timed-work route answers 405 for a
172
+ * v2 deployment, which used to leave `list()` with only this process's
173
+ * in-memory map (breaking arm idempotence and `cancelForContinuation`).
174
+ */
175
+ get reminderReader() {
176
+ if (this.usesControlPlaneProtocol) {
177
+ return this.controlPlane;
178
+ }
179
+ return this.platformTimers;
180
+ }
181
+ logControlPlaneReadFailure(what, error) {
182
+ if (this.usesControlPlaneProtocol && this.controlPlaneReadFailureLogged) {
183
+ return;
184
+ }
185
+ this.controlPlaneReadFailureLogged = true;
186
+ this.logger(`[agent-sdk] reminders: control-plane ${what} failed: ${error instanceof Error ? error.message : String(error)}`);
187
+ }
143
188
  /**
144
189
  * Load reminder documents from the control plane into memory. Does not
145
190
  * arm in-process timers — the CP owns clocks.
146
191
  */
147
192
  hydrate() {
148
193
  return __awaiter(this, void 0, void 0, function* () {
149
- if (this.platformTimers === undefined) {
194
+ const reader = this.reminderReader;
195
+ if (reader === undefined) {
150
196
  return;
151
197
  }
152
198
  let remote = [];
153
199
  try {
154
- remote = yield this.platformTimers.listReminders();
200
+ remote = yield reader.listReminders();
155
201
  }
156
202
  catch (error) {
157
- this.logger(`[agent-sdk] reminders: control-plane list failed: ${error instanceof Error ? error.message : String(error)}`);
203
+ this.logControlPlaneReadFailure("list", error);
158
204
  return;
159
205
  }
206
+ this.controlPlaneReadFailureLogged = false;
160
207
  this.records.clear();
161
208
  for (const record of remote) {
162
209
  this.records.set(record.id, record);
163
210
  }
211
+ if (this.usesControlPlaneProtocol) {
212
+ // The CP owns status; a fire whose handler is missing reports `stop`
213
+ // from executeFire instead of the guest writing a disarm.
214
+ if (remote.length > 0) {
215
+ this.logger(`[agent-sdk] reminders: hydrated ${remote.length} reminder(s) from control plane`);
216
+ }
217
+ return;
218
+ }
164
219
  let disarmedOrphan = 0;
165
220
  for (const record of [...this.records.values()]) {
166
221
  if (record.status !== "armed") {
@@ -238,9 +293,11 @@ export class ReminderRunner {
238
293
  }
239
294
  getRecord(id) {
240
295
  return __awaiter(this, void 0, void 0, function* () {
241
- if (this.platformTimers !== undefined) {
296
+ const reader = this.reminderReader;
297
+ if (reader !== undefined) {
242
298
  try {
243
- const remote = yield this.platformTimers.getReminder(id);
299
+ const remote = yield reader.getReminder(id);
300
+ this.controlPlaneReadFailureLogged = false;
244
301
  if (remote === undefined) {
245
302
  this.records.delete(id);
246
303
  return undefined;
@@ -249,25 +306,35 @@ export class ReminderRunner {
249
306
  return remote;
250
307
  }
251
308
  catch (error) {
252
- this.logger(`[agent-sdk] reminders: control-plane get failed for ${id}: ${error instanceof Error ? error.message : String(error)}`);
309
+ this.logControlPlaneReadFailure(`get for ${id}`, error);
253
310
  return this.records.get(id);
254
311
  }
255
312
  }
256
313
  return this.records.get(id);
257
314
  });
258
315
  }
316
+ /**
317
+ * Under the CP protocol a list failure propagates: the in-memory map is
318
+ * only what this process created, and returning it would let a caller
319
+ * arm duplicates or miss rows to cancel. v1 keeps the best-effort form.
320
+ */
259
321
  allRecords() {
260
322
  return __awaiter(this, void 0, void 0, function* () {
261
- if (this.platformTimers !== undefined) {
323
+ const reader = this.reminderReader;
324
+ if (reader !== undefined) {
262
325
  try {
263
- const remote = yield this.platformTimers.listReminders();
326
+ const remote = yield reader.listReminders();
327
+ this.controlPlaneReadFailureLogged = false;
264
328
  this.records.clear();
265
329
  for (const record of remote) {
266
330
  this.records.set(record.id, record);
267
331
  }
268
332
  }
269
333
  catch (error) {
270
- this.logger(`[agent-sdk] reminders: control-plane list failed: ${error instanceof Error ? error.message : String(error)}`);
334
+ this.logControlPlaneReadFailure("list", error);
335
+ if (this.usesControlPlaneProtocol) {
336
+ throw error;
337
+ }
271
338
  }
272
339
  }
273
340
  return [...this.records.values()];
@@ -533,25 +600,49 @@ export class ReminderRunner {
533
600
  */
534
601
  executeFire(descriptor) {
535
602
  return __awaiter(this, void 0, void 0, function* () {
536
- var _a;
537
603
  const record = this.recordFromDescriptor(descriptor);
538
604
  this.records.set(record.id, record);
605
+ let fire;
606
+ try {
607
+ fire = yield this.runFire(record);
608
+ }
609
+ catch (error) {
610
+ // The hosted admission maps the throw to a retryable failure; count
611
+ // it so the retry loop is visible beside the settled outcomes.
612
+ this.recordFireOutcome(record, {
613
+ kind: "error",
614
+ reason: "fire_threw",
615
+ detail: error instanceof Error ? error.message : String(error),
616
+ });
617
+ throw error;
618
+ }
619
+ this.recordFireOutcome(record, {
620
+ kind: fire.outcome.kind,
621
+ reason: fire.reason,
622
+ turnStatus: fire.turnStatus,
623
+ });
624
+ return fire.outcome;
625
+ });
626
+ }
627
+ runFire(record) {
628
+ return __awaiter(this, void 0, void 0, function* () {
629
+ var _a;
539
630
  const live = (_a = this.handlers.get(record.id)) !== null && _a !== void 0 ? _a : {};
540
631
  if (record.handler !== undefined) {
541
632
  if (this.resolveNamedHandler(record.handler) === undefined) {
542
- return { kind: "stop", reason: "handler_missing" };
633
+ return stopFire("handler_missing");
543
634
  }
544
635
  }
545
636
  else if ((record.hasRunHandler === true || record.hasUntilFn === true) &&
546
637
  live.run === undefined &&
547
638
  live.untilFn === undefined) {
548
- return { kind: "stop", reason: "handler_lost_on_restart" };
639
+ return stopFire("handler_lost_on_restart");
549
640
  }
550
641
  if (live.untilFn !== undefined) {
551
642
  try {
552
643
  const done = yield live.untilFn(this.buildUntilContext(record));
553
644
  if (done) {
554
- return { kind: "stop", reason: "until_fn" };
645
+ return stopFire("until_fn");
555
646
  }
556
647
  }
557
648
  catch (error) {
@@ -560,47 +651,80 @@ export class ReminderRunner {
560
651
  }
561
652
  if (yield this.isSessionBusy(record.channelId, record.continuationToken)) {
562
653
  if (record.busyPolicy === "skipIfBusy") {
563
- this.logger(`[agent-sdk] reminder "${record.id}" (${record.purpose}) skipped: session busy`);
564
- return { kind: "skipped" };
654
+ return { outcome: { kind: "skipped" }, reason: "busy" };
565
655
  }
566
656
  yield this.whenSessionIdle(record.channelId, record.continuationToken);
567
657
  }
568
658
  let result;
659
+ let reason;
660
+ let turnStatus;
569
661
  if (record.handler !== undefined) {
570
662
  const named = this.resolveNamedHandler(record.handler);
571
663
  if (named === undefined) {
572
- return { kind: "stop", reason: "handler_missing" };
664
+ return stopFire("handler_missing");
573
665
  }
574
666
  result = yield named.run(this.buildFireContext(record));
667
+ reason = runReason(result);
575
668
  }
576
669
  else if (live.run !== undefined) {
577
670
  result = yield live.run(this.buildFireContext(record));
671
+ reason = runReason(result);
578
672
  }
579
673
  else if (record.prompt !== undefined) {
580
- result = yield this.deliverPrompt(record);
674
+ const delivery = yield this.deliverPromptFire(record);
675
+ result = delivery.result;
676
+ reason = delivery.reason;
677
+ turnStatus = delivery.turnStatus;
581
678
  }
582
679
  else {
583
- return { kind: "stop", reason: "missing_handler" };
680
+ return stopFire("missing_handler");
584
681
  }
585
682
  if (result.action === "stop") {
586
- return { kind: "stop", reason: "run_stop" };
587
- }
588
- if (result.action === "skip") {
589
- return {
590
- kind: "skipped",
591
- reschedule: result.reschedule !== undefined
592
- ? toWireReschedule(result.reschedule)
593
- : undefined,
594
- };
683
+ return { outcome: { kind: "stop", reason }, reason };
595
684
  }
685
+ const reschedule = result.reschedule !== undefined
686
+ ? toWireReschedule(result.reschedule)
687
+ : undefined;
596
688
  return {
597
- kind: "delivered",
598
- reschedule: result.reschedule !== undefined
599
- ? toWireReschedule(result.reschedule)
600
- : undefined,
689
+ outcome: {
690
+ kind: result.action === "skip" ? "skipped" : "delivered",
691
+ reschedule,
692
+ },
693
+ reason,
694
+ turnStatus,
601
695
  };
602
696
  });
603
697
  }
698
+ /**
699
+ * One structured line and one `agent_sdk.reminder.fire_outcome` count per
700
+ * fire. Emitted through the host OTel meter, the same path hosted v2
701
+ * exports turn/tool metrics on, so a fire that ends in `stop` is visible
702
+ * beside the control plane's `timed_work.fire` count.
703
+ */
704
+ recordFireOutcome(record, fire) {
705
+ this.logger(`[agent-sdk] reminder fire_outcome kind=${fire.kind} reason=${fire.reason}` +
706
+ ` reminderId=${record.id} purpose=${record.purpose}` +
707
+ ` channelId=${record.channelId} fireCount=${record.fireCount}` +
708
+ (fire.turnStatus === undefined ? "" : ` turn=${fire.turnStatus}`) +
709
+ (fire.detail === undefined
710
+ ? ""
711
+ : ` detail=${JSON.stringify(fire.detail)}`));
712
+ // Test doubles may omit `host.otel`; the metric is best-effort.
713
+ const otel = this.engine.host.otel;
714
+ if (otel === undefined) {
715
+ return;
716
+ }
717
+ try {
718
+ otel.increment(REMINDER_FIRE_OUTCOME_METRIC, {
719
+ kind: fire.kind,
720
+ reason: fire.reason,
721
+ purpose: record.purpose,
722
+ });
723
+ }
724
+ catch (error) {
725
+ this.logger(`[agent-sdk] reminder fire_outcome metric failed: ${error instanceof Error ? error.message : String(error)}`);
726
+ }
727
+ }
604
728
  recordFromDescriptor(descriptor) {
605
729
  const now = new Date().toISOString();
606
730
  return {
@@ -817,16 +941,94 @@ export class ReminderRunner {
817
941
  }
818
942
  deliverPrompt(record) {
819
943
  return __awaiter(this, void 0, void 0, function* () {
944
+ return (yield this.deliverPromptFire(record)).result;
945
+ });
946
+ }
947
+ /**
948
+ * Where a prompt fire joins. The pod's own store first; on a hosted guest
949
+ * the durable mirror next, because the pod that armed the reminder is
950
+ * usually gone and the session lives only in storage. A restored session
951
+ * keeps its own principal (channel admissions may carry a sender), so the
952
+ * fire joins under that, never under {@link ReminderHostedGuestOptions.fireAuth}.
953
+ */
954
+ resolveFollowupTarget(record) {
955
+ return __awaiter(this, void 0, void 0, function* () {
956
+ const local = yield this.resolveFollowupAuth(record.channelId, record.continuationToken);
957
+ if (local !== undefined) {
958
+ return { auth: local, reached: "session_joined" };
959
+ }
960
+ if (this.hostedGuest === undefined) {
961
+ return { auth: undefined, reached: "session_gone" };
962
+ }
963
+ // Materializes the durable record locally; a storage error propagates
964
+ // and the hosted admission retries the fire.
965
+ const restored = yield this.engine.hasContinuationSession(record.channelId, record.continuationToken);
966
+ if (!restored) {
967
+ return { auth: undefined, reached: "session_gone" };
968
+ }
820
969
  const auth = yield this.resolveFollowupAuth(record.channelId, record.continuationToken);
821
- if (auth === undefined) {
822
- // Under CP protocol, return stop and let the CP apply/CAS; do not
823
- // mutate authoritative status from the guest mid-fire.
824
- if (!this.usesControlPlaneProtocol) {
825
- yield this.disarm(record, "session_gone");
970
+ return auth === undefined
971
+ ? { auth: undefined, reached: "session_unreadable" }
972
+ : { auth, reached: "session_restored" };
973
+ });
974
+ }
975
+ deliverPromptFire(record) {
976
+ return __awaiter(this, void 0, void 0, function* () {
977
+ const target = yield this.resolveFollowupTarget(record);
978
+ if (target.auth !== undefined) {
979
+ return this.promptDelivery(record, target.auth, target.reached);
980
+ }
981
+ if (target.reached === "session_unreadable") {
982
+ this.logger(`[agent-sdk] reminder "${record.id}" (${record.purpose}) durable session did not materialize locally; not opening a new one`);
983
+ return { result: { action: "stop" }, reason: "session_gone" };
984
+ }
985
+ if (this.hostedGuest !== undefined &&
986
+ this.channelUsesControlPlaneContinuation(record.channelId)) {
987
+ // No session on this pod and none in durable storage. Open one on the
988
+ // stored key the way an inbound event on a fresh key does, instead of
989
+ // consuming the fire with no turn.
990
+ const fireAuth = this.hostedGuest.fireAuth();
991
+ if (fireAuth === undefined) {
992
+ return {
993
+ result: {
994
+ action: "skip",
995
+ reschedule: { delay: REMINDER_SESSION_OPEN_RETRY_DELAY },
996
+ },
997
+ reason: "session_gone",
998
+ };
999
+ }
1000
+ try {
1001
+ return yield this.promptDelivery(record, fireAuth, "session_opened");
1002
+ }
1003
+ catch (error) {
1004
+ if (!(error instanceof SessionAuthError)) {
1005
+ throw error;
1006
+ }
1007
+ // A session landed on this key under another principal between the
1008
+ // lookup and the send. That does not change on retry, so stop
1009
+ // rather than let the control plane re-admit until its attempt cap.
1010
+ this.logger(`[agent-sdk] reminder "${record.id}" (${record.purpose}) cannot join session on its continuation: ${error.message}`);
1011
+ return { result: { action: "stop" }, reason: "session_gone" };
826
1012
  }
827
- return { action: "stop" };
828
1013
  }
829
- return this.sendFollowup(record, buildFirePrompt(record), auth);
1014
+ // Under CP protocol, return stop and let the CP apply/CAS; do not
1015
+ // mutate authoritative status from the guest mid-fire.
1016
+ if (!this.usesControlPlaneProtocol) {
1017
+ yield this.disarm(record, "session_gone");
1018
+ }
1019
+ return { result: { action: "stop" }, reason: "session_gone" };
1020
+ });
1021
+ }
1022
+ promptDelivery(record, auth, delivered) {
1023
+ return __awaiter(this, void 0, void 0, function* () {
1024
+ var _a;
1025
+ const settle = {};
1026
+ const result = yield this.sendFollowup(record, buildFirePrompt(record), auth, settle);
1027
+ return {
1028
+ result,
1029
+ reason: result.action === "skip" ? ((_a = settle.skipReason) !== null && _a !== void 0 ? _a : "busy") : delivered,
1030
+ turnStatus: settle.turnStatus,
1031
+ };
830
1032
  });
831
1033
  }
832
1034
  /**
@@ -859,29 +1061,55 @@ export class ReminderRunner {
859
1061
  : channelContinuationIdentity((_a = project.channels.find(channel => channel.id === channelId)) === null || _a === void 0 ? void 0 : _a.definition);
860
1062
  return continuationSource(identity) === "control-plane";
861
1063
  }
862
- sendFollowup(record, message, auth) {
1064
+ /**
1065
+ * Local and v1 track the turn in the background: the process outlives the
1066
+ * fire. A hosted v2 guest waits for the turn and its durable writes first,
1067
+ * because the control plane may stop the pod as soon as the fire's
1068
+ * outcome is applied, and `delivered` must mean the turn ran.
1069
+ */
1070
+ settleFollowup(session, settle) {
863
1071
  return __awaiter(this, void 0, void 0, function* () {
864
- const sendOptions = this.followupSendOptions(record, auth);
1072
+ const completion = this.engine.waitForCompletion(session.id);
1073
+ if (this.hostedGuest === undefined) {
1074
+ this.engine.trackBackground(completion);
1075
+ return;
1076
+ }
1077
+ const outcome = yield completion;
1078
+ yield this.engine.drainSessionDurability(session.id);
1079
+ if (settle !== undefined) {
1080
+ settle.turnStatus = outcome.status;
1081
+ }
1082
+ });
1083
+ }
1084
+ sendFollowup(record, message, auth, settle, extra) {
1085
+ return __awaiter(this, void 0, void 0, function* () {
1086
+ const sendOptions = Object.assign(Object.assign({}, this.followupSendOptions(record, auth)), { state: extra === null || extra === void 0 ? void 0 : extra.state, refreshState: extra === null || extra === void 0 ? void 0 : extra.refreshState, title: extra === null || extra === void 0 ? void 0 : extra.title, clearCloudOverride: extra === null || extra === void 0 ? void 0 : extra.clearCloudOverride });
865
1087
  try {
866
1088
  const session = yield this.engine.send(record.channelId, message, sendOptions);
867
- this.engine.trackBackground(this.engine.waitForCompletion(session.id));
1089
+ yield this.settleFollowup(session, settle);
868
1090
  return { action: "delivered" };
869
1091
  }
870
1092
  catch (error) {
871
1093
  if (error instanceof SessionBusyError) {
872
1094
  if (record.busyPolicy === "skipIfBusy") {
1095
+ if (settle !== undefined) {
1096
+ settle.skipReason = "busy";
1097
+ }
873
1098
  return { action: "skip" };
874
1099
  }
875
1100
  yield this.whenSessionIdle(record.channelId, record.continuationToken);
876
1101
  try {
877
1102
  const session = yield this.engine.send(record.channelId, message, sendOptions);
878
- this.engine.trackBackground(this.engine.waitForCompletion(session.id));
1103
+ yield this.settleFollowup(session, settle);
879
1104
  return { action: "delivered" };
880
1105
  }
881
1106
  catch (retryError) {
882
1107
  this.logger(`[agent-sdk] reminder "${record.id}" followup failed after wait: ${retryError instanceof Error
883
1108
  ? retryError.message
884
1109
  : String(retryError)}`);
1110
+ if (settle !== undefined) {
1111
+ settle.skipReason = "followup_failed";
1112
+ }
885
1113
  return { action: "skip" };
886
1114
  }
887
1115
  }
@@ -904,12 +1132,25 @@ export class ReminderRunner {
904
1132
  artifacts: this.engine.artifacts,
905
1133
  followup(args) {
906
1134
  return __awaiter(this, void 0, void 0, function* () {
907
- const auth = yield self.resolveFollowupAuth(record.channelId, record.continuationToken);
1135
+ const target = yield self.resolveFollowupTarget(record);
1136
+ let auth = target.auth;
1137
+ // `openAuth` opens only when nothing exists anywhere: an unreadable
1138
+ // durable session must not be shadowed by a second one on the same
1139
+ // key (prompt-fire parity).
1140
+ if (auth === undefined &&
1141
+ target.reached === "session_gone" &&
1142
+ args.openAuth !== undefined) {
1143
+ auth = args.openAuth;
1144
+ }
908
1145
  if (auth === undefined) {
909
- yield self.disarm(record, "session_gone");
1146
+ // Under the CP protocol the guest never writes reminder status;
1147
+ // the fire's `stop` outcome carries the reason instead.
1148
+ if (!self.usesControlPlaneProtocol) {
1149
+ yield self.disarm(record, "session_gone");
1150
+ }
910
1151
  throw new Error(`Reminder "${record.id}" followup: session gone for continuation`);
911
1152
  }
912
- const result = yield self.sendFollowup(record, args.message, auth);
1153
+ const result = yield self.sendFollowup(record, args.message, auth, undefined, args);
913
1154
  if (result.action === "skip") {
914
1155
  throw new Error(`Reminder "${record.id}" followup skipped: session busy`);
915
1156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAOhB,YAAY,EACb,MAAM,aAAa,CAAC;AAwGrB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAuDpE,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAUpE,OAAO,EAEL,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAsB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAgB/E,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;CACvB;AAwCD,6EAA6E;AAC7E,MAAM,WAAW,0BAA0B;IACzC,oEAAoE;IACpE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,yEAAyE;IACzE,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAC5D,wEAAwE;IACxE,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE,YAAY,GAAG,0BAA+B,GACtD,OAAO,CAAC,gBAAgB,CAAC,CA6oC3B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAOhB,YAAY,EACb,MAAM,aAAa,CAAC;AAwGrB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAuDpE,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAUpE,OAAO,EAEL,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAsB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAgB/E,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;CACvB;AAwCD,6EAA6E;AAC7E,MAAM,WAAW,0BAA0B;IACzC,oEAAoE;IACpE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,yEAAyE;IACzE,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAC5D,wEAAwE;IACxE,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE,YAAY,GAAG,0BAA+B,GACtD,OAAO,CAAC,gBAAgB,CAAC,CAqpC3B"}
@@ -598,6 +598,13 @@ export function startServer(mounts_1) {
598
598
  }),
599
599
  architecture,
600
600
  controlPlane: reminderControlPlane,
601
+ // Hosted admissions build their channel args with no request
602
+ // principal (`buildChannelHandlerArgs` → `auth: null`), so a fire that
603
+ // opens a session on a fresh pod uses the same one and a session
604
+ // restored from durable storage still matches.
605
+ hostedGuest: hostedReminderControlPlane === undefined
606
+ ? undefined
607
+ : { fireAuth: () => null },
601
608
  });
602
609
  const evalRuns = new EvalRunStore(project.rootDir, logger,
603
610
  // Playground eval history mirrors onto the defineStorage evals table.
@@ -1 +1 @@
1
- {"version":3,"file":"session-engine.d.ts","sourceRoot":"","sources":["../../src/internal/session-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-engine.d.ts","sourceRoot":"","sources":["../../src/internal/session-engine.ts"],"names":[],"mappings":"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"}
@@ -667,15 +667,19 @@ export class SessionEngine {
667
667
  // fell outside the startup restore window, or restore is lazy-only).
668
668
  existing = yield this.restoreSessionByContinuation(channelId, sendOptions.continuationToken);
669
669
  }
670
- if (existing === undefined &&
671
- sendOptions.hostedSessionId !== undefined &&
672
- ((_a = sendOptions.mailboxContinuation) === null || _a === void 0 ? void 0 : _a.key) ===
673
- hostedSessionResumeKey(sendOptions.hostedSessionId)) {
674
- // Explicit control-plane resume of an existing session: the CP named
675
- // the session by its own id and stamped the matching resume key. The
676
- // session keeps its original continuation key (a PR lane must stay
677
- // addressable by its webhooks); this is a follow-up turn by id.
678
- existing = yield this.getOrRestoreSession(sendOptions.hostedSessionId);
670
+ if (existing === undefined && sendOptions.hostedSessionId !== undefined) {
671
+ const byId = yield this.getOrRestoreSession(sendOptions.hostedSessionId);
672
+ if (byId !== undefined) {
673
+ // evt: skips the mailbox index; same hostedSessionId is a Temporal
674
+ // retry. cont:session:<id> is the explicit CP resume (keep the
675
+ // original key so a PR lane stays addressable by its webhooks).
676
+ if (byId.continuationKey !== sendOptions.continuationToken &&
677
+ ((_a = sendOptions.mailboxContinuation) === null || _a === void 0 ? void 0 : _a.key) !==
678
+ hostedSessionResumeKey(sendOptions.hostedSessionId)) {
679
+ throw new V2EngineError(`v2: hosted session id ${sendOptions.hostedSessionId} already belongs to another mailbox`);
680
+ }
681
+ existing = byId;
682
+ }
679
683
  }
680
684
  if (existing !== undefined) {
681
685
  if (sendOptions.hostedSessionId !== undefined &&
@@ -734,12 +738,6 @@ export class SessionEngine {
734
738
  if (sendOptions.hostedEnqueueOnly === true) {
735
739
  throw new HostedEnqueueNotActiveError(sendOptions.hostedSessionId);
736
740
  }
737
- if (sendOptions.hostedSessionId !== undefined) {
738
- const collision = yield this.getOrRestoreSession(sendOptions.hostedSessionId);
739
- if (collision !== undefined) {
740
- throw new V2EngineError(`v2: hosted session id ${sendOptions.hostedSessionId} already belongs to another mailbox`);
741
- }
742
- }
743
741
  const now = new Date().toISOString();
744
742
  const channelState = this.initialChannelState(channelId, sendOptions.state);
745
743
  const purpose = sendOptions.purpose === "eval" ? "eval" : "live";