pilotswarm-sdk 0.4.0 → 0.5.0

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 (164) hide show
  1. package/api/src/http-api-transport.js +4 -4
  2. package/api/src/protocol.js +10 -3
  3. package/dist/agent-loader.d.ts +2 -0
  4. package/dist/agent-loader.d.ts.map +1 -1
  5. package/dist/agent-loader.js +7 -1
  6. package/dist/agent-loader.js.map +1 -1
  7. package/dist/blob-store.d.ts +10 -1
  8. package/dist/blob-store.d.ts.map +1 -1
  9. package/dist/blob-store.js +275 -13
  10. package/dist/blob-store.js.map +1 -1
  11. package/dist/client.d.ts +1 -0
  12. package/dist/client.d.ts.map +1 -1
  13. package/dist/client.js +5 -1
  14. package/dist/client.js.map +1 -1
  15. package/dist/cms-migrations.d.ts.map +1 -1
  16. package/dist/cms-migrations.js +544 -1
  17. package/dist/cms-migrations.js.map +1 -1
  18. package/dist/cms.d.ts +18 -4
  19. package/dist/cms.d.ts.map +1 -1
  20. package/dist/cms.js +62 -3
  21. package/dist/cms.js.map +1 -1
  22. package/dist/fault-injection.d.ts +2 -0
  23. package/dist/fault-injection.d.ts.map +1 -0
  24. package/dist/fault-injection.js +45 -0
  25. package/dist/fault-injection.js.map +1 -0
  26. package/dist/management-client.d.ts +6 -2
  27. package/dist/management-client.d.ts.map +1 -1
  28. package/dist/management-client.js +8 -4
  29. package/dist/management-client.js.map +1 -1
  30. package/dist/orchestration/index.d.ts +3 -3
  31. package/dist/orchestration/index.js +1 -1
  32. package/dist/orchestration/lifecycle.d.ts +9 -2
  33. package/dist/orchestration/lifecycle.d.ts.map +1 -1
  34. package/dist/orchestration/lifecycle.js +21 -55
  35. package/dist/orchestration/lifecycle.js.map +1 -1
  36. package/dist/orchestration/runtime.d.ts +1 -1
  37. package/dist/orchestration/state.d.ts +7 -3
  38. package/dist/orchestration/state.d.ts.map +1 -1
  39. package/dist/orchestration/state.js +13 -4
  40. package/dist/orchestration/state.js.map +1 -1
  41. package/dist/orchestration/turn.d.ts.map +1 -1
  42. package/dist/orchestration/turn.js +98 -66
  43. package/dist/orchestration/turn.js.map +1 -1
  44. package/dist/orchestration-registry.d.ts.map +1 -1
  45. package/dist/orchestration-registry.js +6 -2
  46. package/dist/orchestration-registry.js.map +1 -1
  47. package/dist/orchestration-version.d.ts +1 -1
  48. package/dist/orchestration-version.js +1 -1
  49. package/dist/orchestration.d.ts +2 -2
  50. package/dist/orchestration.js +4 -4
  51. package/dist/orchestration_1_0_46.d.ts +1 -1
  52. package/dist/orchestration_1_0_47.d.ts +1 -1
  53. package/dist/orchestration_1_0_48.d.ts +1 -1
  54. package/dist/orchestration_1_0_49.d.ts +1 -1
  55. package/dist/orchestration_1_0_50.d.ts +1 -1
  56. package/dist/orchestration_1_0_56/agents.d.ts +41 -0
  57. package/dist/orchestration_1_0_56/agents.d.ts.map +1 -0
  58. package/dist/orchestration_1_0_56/agents.js +758 -0
  59. package/dist/orchestration_1_0_56/agents.js.map +1 -0
  60. package/dist/orchestration_1_0_56/index.d.ts +24 -0
  61. package/dist/orchestration_1_0_56/index.d.ts.map +1 -0
  62. package/dist/orchestration_1_0_56/index.js +13 -0
  63. package/dist/orchestration_1_0_56/index.js.map +1 -0
  64. package/dist/orchestration_1_0_56/lifecycle.d.ts +41 -0
  65. package/dist/orchestration_1_0_56/lifecycle.d.ts.map +1 -0
  66. package/dist/orchestration_1_0_56/lifecycle.js +580 -0
  67. package/dist/orchestration_1_0_56/lifecycle.js.map +1 -0
  68. package/dist/orchestration_1_0_56/queue.d.ts +7 -0
  69. package/dist/orchestration_1_0_56/queue.d.ts.map +1 -0
  70. package/dist/orchestration_1_0_56/queue.js +644 -0
  71. package/dist/orchestration_1_0_56/queue.js.map +1 -0
  72. package/dist/orchestration_1_0_56/runtime.d.ts +29 -0
  73. package/dist/orchestration_1_0_56/runtime.d.ts.map +1 -0
  74. package/dist/orchestration_1_0_56/runtime.js +194 -0
  75. package/dist/orchestration_1_0_56/runtime.js.map +1 -0
  76. package/dist/orchestration_1_0_56/state.d.ts +126 -0
  77. package/dist/orchestration_1_0_56/state.d.ts.map +1 -0
  78. package/dist/orchestration_1_0_56/state.js +106 -0
  79. package/dist/orchestration_1_0_56/state.js.map +1 -0
  80. package/dist/orchestration_1_0_56/turn.d.ts +30 -0
  81. package/dist/orchestration_1_0_56/turn.d.ts.map +1 -0
  82. package/dist/orchestration_1_0_56/turn.js +1075 -0
  83. package/dist/orchestration_1_0_56/turn.js.map +1 -0
  84. package/dist/orchestration_1_0_56/utils.d.ts +22 -0
  85. package/dist/orchestration_1_0_56/utils.d.ts.map +1 -0
  86. package/dist/orchestration_1_0_56/utils.js +226 -0
  87. package/dist/orchestration_1_0_56/utils.js.map +1 -0
  88. package/dist/orchestration_1_0_57/agents.d.ts +41 -0
  89. package/dist/orchestration_1_0_57/agents.d.ts.map +1 -0
  90. package/dist/orchestration_1_0_57/agents.js +758 -0
  91. package/dist/orchestration_1_0_57/agents.js.map +1 -0
  92. package/dist/orchestration_1_0_57/index.d.ts +24 -0
  93. package/dist/orchestration_1_0_57/index.d.ts.map +1 -0
  94. package/dist/orchestration_1_0_57/index.js +13 -0
  95. package/dist/orchestration_1_0_57/index.js.map +1 -0
  96. package/dist/orchestration_1_0_57/lifecycle.d.ts +49 -0
  97. package/dist/orchestration_1_0_57/lifecycle.d.ts.map +1 -0
  98. package/dist/orchestration_1_0_57/lifecycle.js +583 -0
  99. package/dist/orchestration_1_0_57/lifecycle.js.map +1 -0
  100. package/dist/orchestration_1_0_57/queue.d.ts +7 -0
  101. package/dist/orchestration_1_0_57/queue.d.ts.map +1 -0
  102. package/dist/orchestration_1_0_57/queue.js +644 -0
  103. package/dist/orchestration_1_0_57/queue.js.map +1 -0
  104. package/dist/orchestration_1_0_57/runtime.d.ts +29 -0
  105. package/dist/orchestration_1_0_57/runtime.d.ts.map +1 -0
  106. package/dist/orchestration_1_0_57/runtime.js +198 -0
  107. package/dist/orchestration_1_0_57/runtime.js.map +1 -0
  108. package/dist/orchestration_1_0_57/state.d.ts +133 -0
  109. package/dist/orchestration_1_0_57/state.d.ts.map +1 -0
  110. package/dist/orchestration_1_0_57/state.js +115 -0
  111. package/dist/orchestration_1_0_57/state.js.map +1 -0
  112. package/dist/orchestration_1_0_57/turn.d.ts +30 -0
  113. package/dist/orchestration_1_0_57/turn.d.ts.map +1 -0
  114. package/dist/orchestration_1_0_57/turn.js +1110 -0
  115. package/dist/orchestration_1_0_57/turn.js.map +1 -0
  116. package/dist/orchestration_1_0_57/utils.d.ts +22 -0
  117. package/dist/orchestration_1_0_57/utils.d.ts.map +1 -0
  118. package/dist/orchestration_1_0_57/utils.js +226 -0
  119. package/dist/orchestration_1_0_57/utils.js.map +1 -0
  120. package/dist/session-lifecycle.d.ts +80 -0
  121. package/dist/session-lifecycle.d.ts.map +1 -0
  122. package/dist/session-lifecycle.js +257 -0
  123. package/dist/session-lifecycle.js.map +1 -0
  124. package/dist/session-manager.d.ts +21 -0
  125. package/dist/session-manager.d.ts.map +1 -1
  126. package/dist/session-manager.js +137 -1
  127. package/dist/session-manager.js.map +1 -1
  128. package/dist/session-proxy.d.ts +6 -1
  129. package/dist/session-proxy.d.ts.map +1 -1
  130. package/dist/session-proxy.js +1123 -953
  131. package/dist/session-proxy.js.map +1 -1
  132. package/dist/session-store.d.ts +48 -3
  133. package/dist/session-store.d.ts.map +1 -1
  134. package/dist/session-store.js +394 -28
  135. package/dist/session-store.js.map +1 -1
  136. package/dist/snapshot-protocol.d.ts +101 -0
  137. package/dist/snapshot-protocol.d.ts.map +1 -0
  138. package/dist/snapshot-protocol.js +120 -0
  139. package/dist/snapshot-protocol.js.map +1 -0
  140. package/dist/types.d.ts +26 -1
  141. package/dist/types.d.ts.map +1 -1
  142. package/dist/types.js.map +1 -1
  143. package/dist/wait-affinity.d.ts +11 -0
  144. package/dist/wait-affinity.d.ts.map +1 -1
  145. package/dist/wait-affinity.js +6 -0
  146. package/dist/wait-affinity.js.map +1 -1
  147. package/dist/web/web-client.d.ts +1 -0
  148. package/dist/web/web-client.d.ts.map +1 -1
  149. package/dist/web/web-client.js +1 -0
  150. package/dist/web/web-client.js.map +1 -1
  151. package/dist/web/web-management-client.d.ts +30 -11
  152. package/dist/web/web-management-client.d.ts.map +1 -1
  153. package/dist/web/web-management-client.js +34 -19
  154. package/dist/web/web-management-client.js.map +1 -1
  155. package/dist/worker.d.ts +16 -1
  156. package/dist/worker.d.ts.map +1 -1
  157. package/dist/worker.js +92 -13
  158. package/dist/worker.js.map +1 -1
  159. package/package.json +7 -4
  160. package/plugins/mgmt/agents/agent-tuner.agent.md +6 -0
  161. package/plugins/mgmt/agents/facts-manager.agent.md +6 -0
  162. package/plugins/mgmt/agents/pilotswarm.agent.md +6 -0
  163. package/plugins/mgmt/agents/resourcemgr.agent.md +6 -0
  164. package/plugins/mgmt/agents/sweeper.agent.md +6 -0
@@ -0,0 +1,583 @@
1
+ import { describeCronAt } from "../cron-at.js";
2
+ import { COMMAND_VERSION_KEY, RESPONSE_LATEST_KEY, RESPONSE_VERSION_KEY, commandResponseKey, } from "../types.js";
3
+ import { createSessionProxy } from "../session-proxy.js";
4
+ import { beginGracefulShutdown, } from "./agents.js";
5
+ import { FIRST_SUMMARIZE_DELAY, INTERNAL_SYSTEM_TURN_PROMPT, REPEAT_SUMMARIZE_DELAY, } from "./state.js";
6
+ import { appendSystemContext, extractPromptSystemContext, mergePrompt, } from "./utils.js";
7
+ // ─── Custom status / KV helpers ─────────────────────────────
8
+ export function publishStatus(runtime, status, extra = {}) {
9
+ const { state } = runtime;
10
+ const signal = {
11
+ status,
12
+ iteration: state.iteration,
13
+ ...(state.lastResponseVersion > 0 ? { responseVersion: state.lastResponseVersion } : {}),
14
+ ...(state.lastCommandVersion > 0 ? { commandVersion: state.lastCommandVersion } : {}),
15
+ ...(state.lastCommandId ? { commandId: state.lastCommandId } : {}),
16
+ ...(state.cronAtSchedule
17
+ ? {
18
+ cronActive: true,
19
+ cronKind: "wall-clock",
20
+ cronReason: state.cronAtSchedule.reason,
21
+ cronNextFireAt: state.cronAtSchedule.nextFireAtMs,
22
+ cronTimezone: state.cronAtSchedule.tz,
23
+ cronMaxFires: state.cronAtSchedule.maxFires,
24
+ cronFiresCompleted: state.cronAtSchedule.firesCompleted,
25
+ }
26
+ : state.cronSchedule
27
+ ? {
28
+ cronActive: true,
29
+ cronKind: "interval",
30
+ cronInterval: state.cronSchedule.intervalSeconds,
31
+ cronReason: state.cronSchedule.reason,
32
+ }
33
+ : { cronActive: false }),
34
+ ...(state.contextUsage ? { contextUsage: state.contextUsage } : {}),
35
+ ...extra,
36
+ };
37
+ runtime.ctx.setCustomStatus(JSON.stringify(signal));
38
+ }
39
+ function writeJsonValue(ctx, key, value) {
40
+ ctx.setValue(key, JSON.stringify(value));
41
+ }
42
+ export function readCounter(ctx, key) {
43
+ const raw = ctx.getValue(key);
44
+ if (raw == null)
45
+ return 0;
46
+ const parsed = Number(raw);
47
+ return Number.isFinite(parsed) ? parsed : 0;
48
+ }
49
+ function bumpCounter(ctx, key) {
50
+ const next = readCounter(ctx, key) + 1;
51
+ ctx.setValue(key, String(next));
52
+ return next;
53
+ }
54
+ export function* writeLatestResponse(runtime, payload) {
55
+ const version = bumpCounter(runtime.ctx, RESPONSE_VERSION_KEY);
56
+ const emittedAt = yield runtime.ctx.utcNow();
57
+ const responsePayload = {
58
+ schemaVersion: 1,
59
+ version,
60
+ emittedAt,
61
+ ...payload,
62
+ };
63
+ writeJsonValue(runtime.ctx, RESPONSE_LATEST_KEY, responsePayload);
64
+ runtime.state.lastResponseVersion = version;
65
+ return responsePayload;
66
+ }
67
+ export function* writeCommandResponse(runtime, response) {
68
+ const version = bumpCounter(runtime.ctx, COMMAND_VERSION_KEY);
69
+ const emittedAt = yield runtime.ctx.utcNow();
70
+ const payload = {
71
+ ...response,
72
+ schemaVersion: 1,
73
+ version,
74
+ emittedAt,
75
+ };
76
+ writeJsonValue(runtime.ctx, commandResponseKey(response.id), payload);
77
+ runtime.state.lastCommandVersion = version;
78
+ runtime.state.lastCommandId = response.id;
79
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
80
+ eventType: "session.command_completed",
81
+ data: { cmd: response.cmd, id: response.id },
82
+ }]);
83
+ return payload;
84
+ }
85
+ // ─── Hydration / dehydration / checkpointing ────────────────
86
+ export function wrapWithResumeContext(runtime, userPrompt, extra) {
87
+ const base = runtime.state.pendingRehydrationMessage ??
88
+ `The session was dehydrated and has been rehydrated on a new worker. ` +
89
+ `The LLM conversation history is preserved.`;
90
+ runtime.state.pendingRehydrationMessage = undefined;
91
+ const parts = [userPrompt, ``, `[SYSTEM: ${base}`];
92
+ if (extra)
93
+ parts.push(extra);
94
+ parts.push(`]`);
95
+ return parts.join("\n");
96
+ }
97
+ export function* dehydrateForNextTurn(runtime, reason, resetAffinity = true, eventData) {
98
+ const { ctx, state } = runtime;
99
+ if (state.needsHydration) {
100
+ ctx.traceInfo(`[orch] skipping dehydrate (reason=${reason}) because the session is already marked dehydrated`);
101
+ state.activeTimer = null;
102
+ return;
103
+ }
104
+ if (state.lastLiveSessionAction === "dehydrate") {
105
+ ctx.traceInfo(`[orch] skipping redundant dehydrate (reason=${reason}) because the last live-session action was already dehydrate`);
106
+ state.activeTimer = null;
107
+ return;
108
+ }
109
+ ctx.traceInfo(`[orch] dehydrating session (reason=${reason}, resetAffinity=${resetAffinity})`);
110
+ state.activeTimer = null;
111
+ state.lastLiveSessionAction = "dehydrate";
112
+ const dehydrateResult = yield runtime.session.dehydrate(reason, eventData);
113
+ const lossyHandoff = dehydrateResult?.lossyHandoff;
114
+ if (lossyHandoff && typeof lossyHandoff === "object") {
115
+ const lossyMessage = String(lossyHandoff.message || "dehydrate lost the live Copilot session state");
116
+ ctx.traceInfo(`[orch] ${lossyMessage}`);
117
+ state.needsHydration = false;
118
+ state.preserveAffinityOnHydrate = false;
119
+ if (resetAffinity) {
120
+ state.affinityKey = yield ctx.newGuid();
121
+ runtime.session = createSessionProxy(ctx, runtime.input.sessionId, state.affinityKey, state.config);
122
+ }
123
+ return;
124
+ }
125
+ state.needsHydration = true;
126
+ state.preserveAffinityOnHydrate = !resetAffinity;
127
+ if (resetAffinity) {
128
+ state.affinityKey = yield ctx.newGuid();
129
+ runtime.session = createSessionProxy(ctx, runtime.input.sessionId, state.affinityKey, state.config);
130
+ }
131
+ }
132
+ /**
133
+ * Session lifecycle protocol (§3.4 tier 3): release the worker affinity by
134
+ * rotating the GUID — a pure orchestration-state change, no activity at all.
135
+ * Nothing needs uploading (every completed turn committed its snapshot
136
+ * inside the runTurn activity) and nothing needs telling the old worker:
137
+ * its local copy is a cache reclaimed by its own eviction clock. The next
138
+ * event hydrates wherever duroxide places the new key.
139
+ */
140
+ export function* releaseAffinity(runtime, reason, eventData) {
141
+ const { ctx, state } = runtime;
142
+ ctx.traceInfo(`[orch] releasing worker affinity (reason=${reason})`);
143
+ state.activeTimer = null;
144
+ state.affinityKey = yield ctx.newGuid();
145
+ runtime.session = createSessionProxy(ctx, runtime.input.sessionId, state.affinityKey, state.config);
146
+ try {
147
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
148
+ eventType: "session.affinity_released",
149
+ data: { reason, snapshotVersion: state.snapshotVersion, ...(eventData ?? {}) },
150
+ }]);
151
+ }
152
+ catch (err) {
153
+ ctx.traceInfo(`[orch] affinity_released event failed (non-fatal): ${err.message ?? err}`);
154
+ }
155
+ }
156
+ export function* maybeSummarize(runtime) {
157
+ if (runtime.options.isSystem)
158
+ return;
159
+ const now = yield runtime.ctx.utcNow();
160
+ if (runtime.state.nextSummarizeAt === 0) {
161
+ runtime.state.nextSummarizeAt = now + FIRST_SUMMARIZE_DELAY;
162
+ return;
163
+ }
164
+ if (now < runtime.state.nextSummarizeAt)
165
+ return;
166
+ try {
167
+ runtime.ctx.traceInfo(`[orch] summarizing session title`);
168
+ yield runtime.manager.summarizeSession(runtime.input.sessionId);
169
+ }
170
+ catch (err) {
171
+ runtime.ctx.traceInfo(`[orch] summarize failed: ${err.message}`);
172
+ }
173
+ runtime.state.nextSummarizeAt = now + REPEAT_SUMMARIZE_DELAY;
174
+ }
175
+ // ─── Task context / cron action helpers ─────────────────────
176
+ export function ensureTaskContext(runtime, sourcePrompt) {
177
+ if (runtime.state.taskContext || !sourcePrompt)
178
+ return;
179
+ runtime.state.taskContext = sourcePrompt.slice(0, 2000);
180
+ const base = typeof runtime.options.baseSystemMessage === "string"
181
+ ? runtime.options.baseSystemMessage ?? ""
182
+ : runtime.options.baseSystemMessage?.content ?? "";
183
+ runtime.state.config.systemMessage = base + (base ? "\n\n" : "") +
184
+ "[RECURRING TASK]\n" +
185
+ "Original user request (always remember, even if conversation history is truncated):\n\"" +
186
+ runtime.state.taskContext + "\"";
187
+ }
188
+ export function applyCronAction(runtime, action, sourcePrompt) {
189
+ runtime.state.interruptedCronTimer = null;
190
+ if (action.action === "cancel") {
191
+ runtime.ctx.traceInfo("[orch] cron cancelled");
192
+ runtime.state.cronSchedule = undefined;
193
+ runtime.state.cronAtSchedule = undefined;
194
+ return;
195
+ }
196
+ ensureTaskContext(runtime, sourcePrompt);
197
+ runtime.state.cronAtSchedule = undefined;
198
+ runtime.state.cronSchedule = {
199
+ intervalSeconds: action.intervalSeconds,
200
+ reason: action.reason,
201
+ };
202
+ runtime.ctx.traceInfo(`[orch] cron scheduled: every ${action.intervalSeconds}s (${action.reason})`);
203
+ }
204
+ export function* applyCronAtAction(runtime, action, sourcePrompt) {
205
+ runtime.state.interruptedCronTimer = null;
206
+ if (action.action === "cancel") {
207
+ runtime.ctx.traceInfo("[orch] cron_at cancelled");
208
+ runtime.state.cronAtSchedule = undefined;
209
+ runtime.state.cronSchedule = undefined;
210
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
211
+ eventType: "session.cron_at_cancelled",
212
+ data: {},
213
+ }]);
214
+ return;
215
+ }
216
+ ensureTaskContext(runtime, sourcePrompt);
217
+ const afterUtcMs = yield runtime.ctx.utcNow();
218
+ const nextFire = yield runtime.manager.computeCronAtNextFire(action.schedule, afterUtcMs, action.schedule.lastOccurrenceKey);
219
+ runtime.state.cronSchedule = undefined;
220
+ runtime.state.cronAtSchedule = {
221
+ ...action.schedule,
222
+ firesCompleted: action.schedule.firesCompleted ?? 0,
223
+ nextFireAtMs: nextFire.nextFireAtMs,
224
+ nextOccurrenceKey: nextFire.occurrenceKey,
225
+ };
226
+ runtime.ctx.traceInfo(`[orch] cron_at scheduled: ${describeCronAt(runtime.state.cronAtSchedule)} (${runtime.state.cronAtSchedule.reason})`);
227
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
228
+ eventType: "session.cron_at_scheduled",
229
+ data: {
230
+ ...runtime.state.cronAtSchedule,
231
+ nextFireAt: new Date(nextFire.nextFireAtMs).toISOString(),
232
+ localTime: nextFire.localTime,
233
+ skippedOccurrences: nextFire.skippedOccurrences,
234
+ },
235
+ }]);
236
+ }
237
+ export function* drainLeadingQueuedScheduleActions(runtime, sourcePrompt) {
238
+ while (runtime.state.pendingToolActions[0]?.type === "cron" || runtime.state.pendingToolActions[0]?.type === "cron_at") {
239
+ const action = runtime.state.pendingToolActions.shift();
240
+ if (action.type === "cron") {
241
+ applyCronAction(runtime, action, sourcePrompt);
242
+ }
243
+ else {
244
+ yield* applyCronAtAction(runtime, action, sourcePrompt);
245
+ }
246
+ }
247
+ }
248
+ export const drainLeadingQueuedCronActions = drainLeadingQueuedScheduleActions;
249
+ // ─── Cancellation tombstone helpers ─────────────────────────
250
+ export function promptIdsIntersectCancellation(runtime, ids) {
251
+ return ids.length > 0 && ids.some((id) => runtime.state.cancelledMessageIds.has(id));
252
+ }
253
+ export function* recordCancelledMessageIds(runtime, ids, reason) {
254
+ const nextIds = ids.filter((id) => id && !runtime.state.emittedCancelledMessageIds.has(id));
255
+ if (nextIds.length === 0)
256
+ return;
257
+ for (const id of nextIds)
258
+ runtime.state.emittedCancelledMessageIds.add(id);
259
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
260
+ eventType: "pending_messages.cancelled",
261
+ data: {
262
+ clientMessageIds: nextIds,
263
+ reason,
264
+ },
265
+ }]);
266
+ }
267
+ // ─── Pending child-digest accumulation ──────────────────────
268
+ export function bufferChildUpdate(runtime, update, observedAtMs) {
269
+ if (!runtime.state.pendingChildDigest) {
270
+ runtime.state.pendingChildDigest = {
271
+ startedAtMs: observedAtMs,
272
+ updates: [],
273
+ };
274
+ }
275
+ const nextEntry = {
276
+ sessionId: update.sessionId,
277
+ updateType: update.updateType,
278
+ ...(update.content ? { content: update.content.slice(0, 2000) } : {}),
279
+ ...(update.cycleOrigin ? { cycleOrigin: update.cycleOrigin } : {}),
280
+ ...(update.cycleStatus ? { cycleStatus: update.cycleStatus } : {}),
281
+ ...(update.verdict ? { verdict: update.verdict } : {}),
282
+ observedAtMs,
283
+ };
284
+ const existingIndex = runtime.state.pendingChildDigest.updates.findIndex((entry) => entry.sessionId === update.sessionId);
285
+ if (existingIndex >= 0) {
286
+ runtime.state.pendingChildDigest.updates[existingIndex] = nextEntry;
287
+ }
288
+ else {
289
+ runtime.state.pendingChildDigest.updates.push(nextEntry);
290
+ }
291
+ }
292
+ export function clearPendingChildDigest(runtime) {
293
+ runtime.state.pendingChildDigest = null;
294
+ }
295
+ export function buildPendingChildDigestSystemPrompt(runtime) {
296
+ const digest = runtime.state.pendingChildDigest;
297
+ if (!digest || digest.updates.length === 0)
298
+ return undefined;
299
+ const lines = digest.updates.map((update) => {
300
+ const agent = runtime.state.subAgents.find((entry) => entry.sessionId === update.sessionId);
301
+ const label = agent?.orchId ?? update.sessionId;
302
+ const task = agent?.task ? `Task: "${agent.task.slice(0, 120)}"\n` : "";
303
+ const status = agent?.status ?? update.updateType;
304
+ const resultText = String(update.content || agent?.result || "").trim();
305
+ const result = resultText ? resultText.slice(0, 240) : "(no summary)";
306
+ return ` - Agent ${label}\n` +
307
+ ` ${task}` +
308
+ ` Update: ${update.updateType}\n` +
309
+ ` Status: ${status}\n` +
310
+ ` Result: ${result}`;
311
+ });
312
+ return `Buffered child updates arrived during the last 30 seconds:\n${lines.join("\n")}\nReview the updates and continue your task.`;
313
+ }
314
+ export function flushPendingChildDigestIntoPrompt(runtime, rawPrompt) {
315
+ const childDigestPrompt = buildPendingChildDigestSystemPrompt(runtime);
316
+ if (!childDigestPrompt)
317
+ return rawPrompt;
318
+ clearPendingChildDigest(runtime);
319
+ return appendSystemContext(rawPrompt, childDigestPrompt);
320
+ }
321
+ // ─── Followup queueing ──────────────────────────────────────
322
+ export function queueFollowup(runtime, nextPrompt) {
323
+ let text = nextPrompt;
324
+ const trimmed = text.trim();
325
+ if (trimmed.startsWith("[SYSTEM:") && trimmed.endsWith("]")) {
326
+ text = trimmed.slice("[SYSTEM:".length, -1).trim();
327
+ }
328
+ runtime.state.pendingPrompt = mergePrompt(runtime.state.pendingPrompt, text);
329
+ }
330
+ // ─── Continue-as-new construction ───────────────────────────
331
+ export function buildContinueInput(runtime, overrides = {}) {
332
+ const { state, options, input } = runtime;
333
+ const { prompt: overridePrompt, requiredTool: overrideRequiredTool, systemPrompt: overrideSystemPrompt, cycleOrigin: overrideCycleOrigin, bootstrapPrompt: overrideBootstrapPrompt, rehydrationMessage: overrideRehydrationMessage, ...restOverrides } = overrides;
334
+ const carriedPrompt = overridePrompt ?? state.pendingPrompt;
335
+ const carriedRequiredTool = overrideRequiredTool ?? state.pendingRequiredTool;
336
+ const carriedSystemPrompt = overrideSystemPrompt ?? state.pendingSystemPrompt;
337
+ const carriedCycleOrigin = overrideCycleOrigin ?? state.pendingCycleOrigin;
338
+ const carriedRehydrationMessage = overrideRehydrationMessage ?? state.pendingRehydrationMessage;
339
+ const promptForInput = carriedPrompt
340
+ ?? (carriedSystemPrompt ? INTERNAL_SYSTEM_TURN_PROMPT : undefined);
341
+ const bootstrapForInput = overrideBootstrapPrompt
342
+ ?? (carriedPrompt ? state.bootstrapPrompt : carriedSystemPrompt ? true : undefined);
343
+ return {
344
+ sessionId: input.sessionId,
345
+ config: state.config,
346
+ iteration: state.iteration,
347
+ affinityKey: state.affinityKey,
348
+ preserveAffinityOnHydrate: state.preserveAffinityOnHydrate,
349
+ needsHydration: state.needsHydration,
350
+ snapshotVersion: state.snapshotVersion,
351
+ blobEnabled: state.blobEnabled,
352
+ dehydrateThreshold: options.dehydrateThreshold,
353
+ idleTimeout: options.idleTimeout,
354
+ inputGracePeriod: options.inputGracePeriod,
355
+ checkpointInterval: options.checkpointInterval,
356
+ ...(carriedRehydrationMessage ? { rehydrationMessage: carriedRehydrationMessage } : {}),
357
+ nextSummarizeAt: state.nextSummarizeAt,
358
+ taskContext: state.taskContext,
359
+ baseSystemMessage: options.baseSystemMessage,
360
+ ...(state.cronSchedule ? { cronSchedule: state.cronSchedule } : {}),
361
+ ...(state.cronAtSchedule ? { cronAtSchedule: state.cronAtSchedule } : {}),
362
+ ...(state.contextUsage ? { contextUsage: state.contextUsage } : {}),
363
+ ...(carriedSystemPrompt ? { systemPrompt: carriedSystemPrompt } : {}),
364
+ ...(state.runtimeModelNotice ? { runtimeModelNotice: state.runtimeModelNotice } : {}),
365
+ ...(promptForInput ? { prompt: promptForInput } : {}),
366
+ ...(carriedRequiredTool ? { requiredTool: carriedRequiredTool } : {}),
367
+ ...(carriedCycleOrigin ? { cycleOrigin: carriedCycleOrigin } : {}),
368
+ ...(promptForInput && bootstrapForInput !== undefined ? { bootstrapPrompt: bootstrapForInput } : {}),
369
+ subAgents: state.subAgents,
370
+ ...(state.pendingToolActions.length > 0 ? { pendingToolActions: state.pendingToolActions } : {}),
371
+ parentSessionId: options.parentSessionId,
372
+ nestingLevel: options.nestingLevel,
373
+ ...(options.isSystem ? { isSystem: true } : {}),
374
+ ...(input.agentId ? { agentId: input.agentId } : {}),
375
+ retryCount: 0,
376
+ ...(state.pendingInputQuestion ? { pendingInputQuestion: state.pendingInputQuestion } : {}),
377
+ ...(state.waitingForAgentIds ? { waitingForAgentIds: state.waitingForAgentIds } : {}),
378
+ ...(state.interruptedWaitTimer ? { interruptedWaitTimer: state.interruptedWaitTimer } : {}),
379
+ ...(state.interruptedCronTimer ? { interruptedCronTimer: state.interruptedCronTimer } : {}),
380
+ ...(state.pendingChildDigest ? { pendingChildDigest: state.pendingChildDigest } : {}),
381
+ ...(state.pendingShutdown ? { pendingShutdown: state.pendingShutdown } : {}),
382
+ ...restOverrides,
383
+ };
384
+ }
385
+ export function buildContinueInputWithPrompt(runtime, nextPrompt, overrides = {}) {
386
+ const extracted = extractPromptSystemContext(nextPrompt);
387
+ const mergedPrompt = mergePrompt(runtime.state.pendingPrompt, extracted.prompt);
388
+ const mergedSystemPrompt = mergePrompt(runtime.state.pendingSystemPrompt, extracted.systemPrompt);
389
+ return buildContinueInput(runtime, {
390
+ ...(mergedPrompt ? { prompt: mergedPrompt } : {}),
391
+ ...(mergedSystemPrompt ? { systemPrompt: mergedSystemPrompt } : {}),
392
+ ...overrides,
393
+ });
394
+ }
395
+ /** Capture the active timer state into a continueAsNew input and yield the version-bumped CAN. */
396
+ export function* versionedContinueAsNew(runtime, canInput) {
397
+ const { state } = runtime;
398
+ if (state.activeTimer) {
399
+ const now = yield runtime.ctx.utcNow();
400
+ const remainingMs = Math.max(0, state.activeTimer.deadlineMs - now);
401
+ canInput.activeTimerState = {
402
+ remainingMs,
403
+ reason: state.activeTimer.reason,
404
+ type: state.activeTimer.type,
405
+ originalDurationMs: state.activeTimer.originalDurationMs,
406
+ ...(state.activeTimer.shouldRehydrate ? { shouldRehydrate: true } : {}),
407
+ ...(state.activeTimer.waitPlan ? { waitPlan: state.activeTimer.waitPlan } : {}),
408
+ ...(state.activeTimer.content ? { content: state.activeTimer.content } : {}),
409
+ ...(state.activeTimer.question ? { question: state.activeTimer.question } : {}),
410
+ ...(state.activeTimer.choices ? { choices: state.activeTimer.choices } : {}),
411
+ ...(state.activeTimer.allowFreeform !== undefined ? { allowFreeform: state.activeTimer.allowFreeform } : {}),
412
+ ...(state.activeTimer.agentIds ? { agentIds: state.activeTimer.agentIds } : {}),
413
+ };
414
+ }
415
+ // Lifecycle protocol: no checkpoint before a warm CAN — every turn
416
+ // already committed its snapshot inside the runTurn activity, so a CAN
417
+ // carries no undurable state.
418
+ canInput.sourceOrchestrationVersion = runtime.versions.currentVersion;
419
+ yield runtime.ctx.continueAsNewVersioned(canInput, runtime.versions.latestVersion);
420
+ }
421
+ export function continueInput(runtime, overrides = {}) {
422
+ return buildContinueInput(runtime, overrides);
423
+ }
424
+ export function continueInputWithPrompt(runtime, nextPrompt, overrides = {}) {
425
+ return buildContinueInputWithPrompt(runtime, nextPrompt, overrides);
426
+ }
427
+ // ─── Command handling ───────────────────────────────────────
428
+ export function* handleCommand(runtime, cmdMsg) {
429
+ runtime.ctx.traceInfo(`[orch-cmd] ${cmdMsg.cmd} id=${cmdMsg.id}`);
430
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
431
+ eventType: "session.command_received",
432
+ data: { cmd: cmdMsg.cmd, id: cmdMsg.id },
433
+ }]);
434
+ switch (cmdMsg.cmd) {
435
+ case "set_model": {
436
+ const newModel = String(cmdMsg.args?.model || "").trim();
437
+ if (!newModel) {
438
+ const resp = {
439
+ id: cmdMsg.id,
440
+ cmd: cmdMsg.cmd,
441
+ error: "set_model requires a non-empty model",
442
+ };
443
+ yield* writeCommandResponse(runtime, resp);
444
+ publishStatus(runtime, "idle");
445
+ return;
446
+ }
447
+ const oldModel = runtime.state.config.model || "(default)";
448
+ const hasEffort = cmdMsg.args?.reasoningEffort !== undefined;
449
+ const oldEffort = runtime.state.config.reasoningEffort ?? null;
450
+ const newEffort = hasEffort
451
+ ? (cmdMsg.args?.reasoningEffort ? String(cmdMsg.args.reasoningEffort) : null)
452
+ : oldEffort;
453
+ runtime.state.config = {
454
+ ...runtime.state.config,
455
+ model: newModel,
456
+ ...(hasEffort ? { reasoningEffort: (newEffort ?? undefined) } : {}),
457
+ };
458
+ const newModelLabel = newEffort ? `${newModel}:${newEffort}` : newModel;
459
+ runtime.state.runtimeModelNotice = `Runtime model for this turn is ${newModelLabel}. If asked what model you are using, answer this value.`;
460
+ yield* captureModelSwitchInterruptedTimer(runtime, newModelLabel);
461
+ yield runtime.manager.updateSessionModel(runtime.input.sessionId, newModel, newEffort);
462
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
463
+ eventType: "session.model_changed",
464
+ data: { oldModel, newModel, oldReasoningEffort: oldEffort, newReasoningEffort: newEffort, source: cmdMsg.args?.source ?? "user" },
465
+ }]);
466
+ const resp = {
467
+ id: cmdMsg.id,
468
+ cmd: cmdMsg.cmd,
469
+ result: { ok: true, oldModel, newModel, oldReasoningEffort: oldEffort, newReasoningEffort: newEffort, appliesOn: "next_turn" },
470
+ };
471
+ yield* writeCommandResponse(runtime, resp);
472
+ publishStatus(runtime, "idle");
473
+ yield* versionedContinueAsNew(runtime, continueInputWithPrompt(runtime, `Continue on ${newModelLabel}.`, {
474
+ bootstrapPrompt: true,
475
+ }));
476
+ return;
477
+ }
478
+ case "list_models": {
479
+ publishStatus(runtime, "idle", { cmdProcessing: cmdMsg.id });
480
+ let models;
481
+ try {
482
+ const raw = yield runtime.manager.listModels();
483
+ models = typeof raw === "string" ? JSON.parse(raw) : raw;
484
+ }
485
+ catch (err) {
486
+ const resp = {
487
+ id: cmdMsg.id,
488
+ cmd: cmdMsg.cmd,
489
+ error: err.message || String(err),
490
+ };
491
+ yield* writeCommandResponse(runtime, resp);
492
+ publishStatus(runtime, "idle");
493
+ return;
494
+ }
495
+ const resp = {
496
+ id: cmdMsg.id,
497
+ cmd: cmdMsg.cmd,
498
+ result: { models, currentModel: runtime.state.config.model },
499
+ };
500
+ yield* writeCommandResponse(runtime, resp);
501
+ publishStatus(runtime, "idle");
502
+ return;
503
+ }
504
+ case "get_info": {
505
+ const resp = {
506
+ id: cmdMsg.id,
507
+ cmd: cmdMsg.cmd,
508
+ result: {
509
+ model: runtime.state.config.model || "(default)",
510
+ iteration: runtime.state.iteration,
511
+ sessionId: runtime.input.sessionId,
512
+ affinityKey: runtime.state.affinityKey,
513
+ affinityKeyShort: runtime.state.affinityKey?.slice(0, 8),
514
+ preserveAffinityOnHydrate: runtime.state.preserveAffinityOnHydrate,
515
+ needsHydration: runtime.state.needsHydration,
516
+ blobEnabled: runtime.state.blobEnabled,
517
+ contextUsage: runtime.state.contextUsage,
518
+ },
519
+ };
520
+ yield* writeCommandResponse(runtime, resp);
521
+ publishStatus(runtime, "idle");
522
+ return;
523
+ }
524
+ case "done":
525
+ case "cancel":
526
+ case "delete": {
527
+ runtime.ctx.traceInfo(`[orch] ${cmdMsg.cmd} command received — beginning graceful ${cmdMsg.cmd}`);
528
+ yield* beginGracefulShutdown(runtime, cmdMsg.cmd, cmdMsg);
529
+ return;
530
+ }
531
+ default: {
532
+ const resp = {
533
+ id: cmdMsg.id,
534
+ cmd: cmdMsg.cmd,
535
+ error: `Unknown command: ${cmdMsg.cmd}`,
536
+ };
537
+ yield* writeCommandResponse(runtime, resp);
538
+ publishStatus(runtime, "idle");
539
+ return;
540
+ }
541
+ }
542
+ }
543
+ function* captureModelSwitchInterruptedTimer(runtime, newModelLabel) {
544
+ const timer = runtime.state.activeTimer;
545
+ if (!timer)
546
+ return;
547
+ const now = yield runtime.ctx.utcNow();
548
+ const notePrefix = `Model switch accepted; continuing immediately on ${newModelLabel}`;
549
+ switch (timer.type) {
550
+ case "wait": {
551
+ const remainingMs = Math.max(0, timer.deadlineMs - now);
552
+ runtime.state.interruptedWaitTimer = {
553
+ remainingSec: Math.max(1, Math.round(remainingMs / 1000)),
554
+ reason: timer.reason,
555
+ shouldRehydrate: timer.shouldRehydrate ?? false,
556
+ ...(timer.waitPlan ? { waitPlan: timer.waitPlan } : {}),
557
+ };
558
+ runtime.ctx.traceInfo(`[orch-cmd] ${notePrefix}; will auto-resume interrupted wait (${runtime.state.interruptedWaitTimer.remainingSec}s remain)`);
559
+ runtime.state.activeTimer = null;
560
+ return;
561
+ }
562
+ case "cron": {
563
+ const remainingMs = Math.max(0, timer.deadlineMs - now);
564
+ runtime.state.interruptedCronTimer = {
565
+ remainingMs,
566
+ reason: timer.reason,
567
+ originalDurationMs: timer.originalDurationMs,
568
+ ...(timer.shouldRehydrate ? { shouldRehydrate: true } : {}),
569
+ };
570
+ runtime.ctx.traceInfo(`[orch-cmd] ${notePrefix}; will auto-resume interrupted cron (${Math.round(remainingMs / 1000)}s remain)`);
571
+ runtime.state.activeTimer = null;
572
+ return;
573
+ }
574
+ case "cron_at":
575
+ case "idle":
576
+ case "agent-poll":
577
+ case "input-grace":
578
+ runtime.ctx.traceInfo(`[orch-cmd] ${notePrefix}; clearing active ${timer.type} timer`);
579
+ runtime.state.activeTimer = null;
580
+ return;
581
+ }
582
+ }
583
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/orchestration_1_0_57/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { OrchestrationInput } from "../types.js";
2
+ import { type DurableSessionRuntime } from "./state.js";
3
+ export declare function appendToFifo(runtime: DurableSessionRuntime, newItems: any[]): void;
4
+ export declare function drain(runtime: DurableSessionRuntime): Generator<any, void, any>;
5
+ export declare function decide(runtime: DurableSessionRuntime): Generator<any, boolean, any>;
6
+ export { OrchestrationInput };
7
+ //# sourceMappingURL=queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/orchestration_1_0_57/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,kBAAkB,EAAc,MAAM,aAAa,CAAC;AAkBlF,OAAO,EASH,KAAK,qBAAqB,EAE7B,MAAM,YAAY,CAAC;AAwBpB,wBAAgB,YAAY,CAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAuBlF;AA8FD,wBAAiB,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAqOhF;AAkGD,wBAAiB,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAkGpF;AAqID,OAAO,EAAE,kBAAkB,EAAE,CAAC"}