pilotswarm-sdk 0.2.0 → 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 (173) hide show
  1. package/dist/agent-loader.d.ts +9 -0
  2. package/dist/agent-loader.d.ts.map +1 -1
  3. package/dist/agent-loader.js +3 -0
  4. package/dist/agent-loader.js.map +1 -1
  5. package/dist/child-notifications.d.ts +10 -0
  6. package/dist/child-notifications.d.ts.map +1 -1
  7. package/dist/child-notifications.js +15 -1
  8. package/dist/child-notifications.js.map +1 -1
  9. package/dist/client.d.ts +2 -2
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +14 -20
  12. package/dist/client.js.map +1 -1
  13. package/dist/cms-migrations.d.ts.map +1 -1
  14. package/dist/cms-migrations.js +321 -0
  15. package/dist/cms-migrations.js.map +1 -1
  16. package/dist/cms.d.ts +132 -8
  17. package/dist/cms.d.ts.map +1 -1
  18. package/dist/cms.js +142 -6
  19. package/dist/cms.js.map +1 -1
  20. package/dist/duroxide-schema-migration.d.ts +19 -0
  21. package/dist/duroxide-schema-migration.d.ts.map +1 -0
  22. package/dist/duroxide-schema-migration.js +122 -0
  23. package/dist/duroxide-schema-migration.js.map +1 -0
  24. package/dist/facts-migrations.d.ts.map +1 -1
  25. package/dist/facts-migrations.js +923 -0
  26. package/dist/facts-migrations.js.map +1 -1
  27. package/dist/facts-store.d.ts +278 -28
  28. package/dist/facts-store.d.ts.map +1 -1
  29. package/dist/facts-store.js +262 -32
  30. package/dist/facts-store.js.map +1 -1
  31. package/dist/facts-tools.d.ts +8 -1
  32. package/dist/facts-tools.d.ts.map +1 -1
  33. package/dist/facts-tools.js +458 -25
  34. package/dist/facts-tools.js.map +1 -1
  35. package/dist/graph-store.d.ts +243 -0
  36. package/dist/graph-store.d.ts.map +1 -0
  37. package/dist/graph-store.js +63 -0
  38. package/dist/graph-store.js.map +1 -0
  39. package/dist/graph-tools.d.ts +47 -0
  40. package/dist/graph-tools.d.ts.map +1 -0
  41. package/dist/graph-tools.js +554 -0
  42. package/dist/graph-tools.js.map +1 -0
  43. package/dist/horizon-env.d.ts +61 -0
  44. package/dist/horizon-env.d.ts.map +1 -0
  45. package/dist/horizon-env.js +120 -0
  46. package/dist/horizon-env.js.map +1 -0
  47. package/dist/index.d.ts +15 -4
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +10 -2
  50. package/dist/index.js.map +1 -1
  51. package/dist/inspect-tools.d.ts +2 -2
  52. package/dist/inspect-tools.d.ts.map +1 -1
  53. package/dist/inspect-tools.js +303 -6
  54. package/dist/inspect-tools.js.map +1 -1
  55. package/dist/knowledge-index.d.ts +33 -2
  56. package/dist/knowledge-index.d.ts.map +1 -1
  57. package/dist/knowledge-index.js +90 -19
  58. package/dist/knowledge-index.js.map +1 -1
  59. package/dist/managed-session.d.ts.map +1 -1
  60. package/dist/managed-session.js +61 -2
  61. package/dist/managed-session.js.map +1 -1
  62. package/dist/management-client.d.ts +81 -3
  63. package/dist/management-client.d.ts.map +1 -1
  64. package/dist/management-client.js +97 -20
  65. package/dist/management-client.js.map +1 -1
  66. package/dist/orchestration/agents.d.ts +4 -1
  67. package/dist/orchestration/agents.d.ts.map +1 -1
  68. package/dist/orchestration/agents.js +27 -4
  69. package/dist/orchestration/agents.js.map +1 -1
  70. package/dist/orchestration/index.d.ts +2 -2
  71. package/dist/orchestration/index.js +1 -1
  72. package/dist/orchestration/lifecycle.d.ts +3 -0
  73. package/dist/orchestration/lifecycle.d.ts.map +1 -1
  74. package/dist/orchestration/lifecycle.js +6 -1
  75. package/dist/orchestration/lifecycle.js.map +1 -1
  76. package/dist/orchestration/queue.d.ts.map +1 -1
  77. package/dist/orchestration/queue.js +10 -1
  78. package/dist/orchestration/queue.js.map +1 -1
  79. package/dist/orchestration/runtime.d.ts +1 -1
  80. package/dist/orchestration/state.d.ts +1 -0
  81. package/dist/orchestration/state.d.ts.map +1 -1
  82. package/dist/orchestration/state.js +1 -0
  83. package/dist/orchestration/state.js.map +1 -1
  84. package/dist/orchestration/turn.d.ts +2 -2
  85. package/dist/orchestration/turn.d.ts.map +1 -1
  86. package/dist/orchestration/turn.js +42 -12
  87. package/dist/orchestration/turn.js.map +1 -1
  88. package/dist/orchestration-registry.d.ts.map +1 -1
  89. package/dist/orchestration-registry.js +4 -2
  90. package/dist/orchestration-registry.js.map +1 -1
  91. package/dist/orchestration-version.d.ts +1 -1
  92. package/dist/orchestration-version.js +1 -1
  93. package/dist/orchestration.d.ts +2 -2
  94. package/dist/orchestration.js +1 -1
  95. package/dist/orchestration_1_0_46.d.ts +1 -1
  96. package/dist/orchestration_1_0_47.d.ts +1 -1
  97. package/dist/orchestration_1_0_48.d.ts +1 -1
  98. package/dist/orchestration_1_0_49.d.ts +1 -1
  99. package/dist/orchestration_1_0_50.d.ts +1 -1
  100. package/dist/orchestration_1_0_52/agents.d.ts +38 -0
  101. package/dist/orchestration_1_0_52/agents.d.ts.map +1 -0
  102. package/dist/orchestration_1_0_52/agents.js +735 -0
  103. package/dist/orchestration_1_0_52/agents.js.map +1 -0
  104. package/dist/orchestration_1_0_52/index.d.ts +24 -0
  105. package/dist/orchestration_1_0_52/index.d.ts.map +1 -0
  106. package/dist/orchestration_1_0_52/index.js +13 -0
  107. package/dist/orchestration_1_0_52/index.js.map +1 -0
  108. package/dist/orchestration_1_0_52/lifecycle.d.ts +38 -0
  109. package/dist/orchestration_1_0_52/lifecycle.d.ts.map +1 -0
  110. package/dist/orchestration_1_0_52/lifecycle.js +504 -0
  111. package/dist/orchestration_1_0_52/lifecycle.js.map +1 -0
  112. package/dist/orchestration_1_0_52/queue.d.ts +7 -0
  113. package/dist/orchestration_1_0_52/queue.d.ts.map +1 -0
  114. package/dist/orchestration_1_0_52/queue.js +635 -0
  115. package/dist/orchestration_1_0_52/queue.js.map +1 -0
  116. package/dist/orchestration_1_0_52/runtime.d.ts +29 -0
  117. package/dist/orchestration_1_0_52/runtime.d.ts.map +1 -0
  118. package/dist/orchestration_1_0_52/runtime.js +190 -0
  119. package/dist/orchestration_1_0_52/runtime.js.map +1 -0
  120. package/dist/orchestration_1_0_52/state.d.ts +124 -0
  121. package/dist/orchestration_1_0_52/state.d.ts.map +1 -0
  122. package/dist/orchestration_1_0_52/state.js +104 -0
  123. package/dist/orchestration_1_0_52/state.js.map +1 -0
  124. package/dist/orchestration_1_0_52/turn.d.ts +6 -0
  125. package/dist/orchestration_1_0_52/turn.d.ts.map +1 -0
  126. package/dist/orchestration_1_0_52/turn.js +834 -0
  127. package/dist/orchestration_1_0_52/turn.js.map +1 -0
  128. package/dist/orchestration_1_0_52/utils.d.ts +22 -0
  129. package/dist/orchestration_1_0_52/utils.d.ts.map +1 -0
  130. package/dist/orchestration_1_0_52/utils.js +226 -0
  131. package/dist/orchestration_1_0_52/utils.js.map +1 -0
  132. package/dist/resourcemgr-tools.d.ts +2 -2
  133. package/dist/resourcemgr-tools.d.ts.map +1 -1
  134. package/dist/resourcemgr-tools.js +1 -1
  135. package/dist/resourcemgr-tools.js.map +1 -1
  136. package/dist/session-dumper.d.ts +2 -2
  137. package/dist/session-dumper.d.ts.map +1 -1
  138. package/dist/session-dumper.js.map +1 -1
  139. package/dist/session-manager.d.ts +8 -2
  140. package/dist/session-manager.d.ts.map +1 -1
  141. package/dist/session-manager.js +86 -4
  142. package/dist/session-manager.js.map +1 -1
  143. package/dist/session-messages.d.ts +2 -2
  144. package/dist/session-messages.d.ts.map +1 -1
  145. package/dist/session-messages.js +0 -6
  146. package/dist/session-messages.js.map +1 -1
  147. package/dist/session-proxy.d.ts +47 -2
  148. package/dist/session-proxy.d.ts.map +1 -1
  149. package/dist/session-proxy.js +79 -59
  150. package/dist/session-proxy.js.map +1 -1
  151. package/dist/storage-config.d.ts +62 -0
  152. package/dist/storage-config.d.ts.map +1 -0
  153. package/dist/storage-config.js +138 -0
  154. package/dist/storage-config.js.map +1 -0
  155. package/dist/storage-providers.d.ts +25 -0
  156. package/dist/storage-providers.d.ts.map +1 -0
  157. package/dist/storage-providers.js +150 -0
  158. package/dist/storage-providers.js.map +1 -0
  159. package/dist/sweeper-tools.d.ts +2 -2
  160. package/dist/sweeper-tools.d.ts.map +1 -1
  161. package/dist/system-agents.d.ts +2 -2
  162. package/dist/system-agents.d.ts.map +1 -1
  163. package/dist/types.d.ts +103 -2
  164. package/dist/types.d.ts.map +1 -1
  165. package/dist/types.js.map +1 -1
  166. package/dist/worker.d.ts +5 -4
  167. package/dist/worker.d.ts.map +1 -1
  168. package/dist/worker.js +108 -33
  169. package/dist/worker.js.map +1 -1
  170. package/package.json +3 -1
  171. package/plugins/mgmt/agents/agent-tuner.agent.md +56 -4
  172. package/plugins/mgmt/agents/facts-manager.agent.md +81 -3
  173. package/plugins/mgmt/skills/graph-debug/SKILL.md +133 -0
@@ -0,0 +1,504 @@
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
+ export function* maybeCheckpoint(runtime) {
133
+ if (!runtime.state.blobEnabled || runtime.options.checkpointInterval < 0)
134
+ return;
135
+ try {
136
+ runtime.ctx.traceInfo(`[orch] checkpoint (iteration=${runtime.state.iteration})`);
137
+ yield runtime.session.checkpoint();
138
+ }
139
+ catch (err) {
140
+ runtime.ctx.traceInfo(`[orch] checkpoint failed: ${err.message ?? err}`);
141
+ }
142
+ }
143
+ export function* maybeSummarize(runtime) {
144
+ if (runtime.options.isSystem)
145
+ return;
146
+ const now = yield runtime.ctx.utcNow();
147
+ if (runtime.state.nextSummarizeAt === 0) {
148
+ runtime.state.nextSummarizeAt = now + FIRST_SUMMARIZE_DELAY;
149
+ return;
150
+ }
151
+ if (now < runtime.state.nextSummarizeAt)
152
+ return;
153
+ try {
154
+ runtime.ctx.traceInfo(`[orch] summarizing session title`);
155
+ yield runtime.manager.summarizeSession(runtime.input.sessionId);
156
+ }
157
+ catch (err) {
158
+ runtime.ctx.traceInfo(`[orch] summarize failed: ${err.message}`);
159
+ }
160
+ runtime.state.nextSummarizeAt = now + REPEAT_SUMMARIZE_DELAY;
161
+ }
162
+ // ─── Task context / cron action helpers ─────────────────────
163
+ export function ensureTaskContext(runtime, sourcePrompt) {
164
+ if (runtime.state.taskContext || !sourcePrompt)
165
+ return;
166
+ runtime.state.taskContext = sourcePrompt.slice(0, 2000);
167
+ const base = typeof runtime.options.baseSystemMessage === "string"
168
+ ? runtime.options.baseSystemMessage ?? ""
169
+ : runtime.options.baseSystemMessage?.content ?? "";
170
+ runtime.state.config.systemMessage = base + (base ? "\n\n" : "") +
171
+ "[RECURRING TASK]\n" +
172
+ "Original user request (always remember, even if conversation history is truncated):\n\"" +
173
+ runtime.state.taskContext + "\"";
174
+ }
175
+ export function applyCronAction(runtime, action, sourcePrompt) {
176
+ runtime.state.interruptedCronTimer = null;
177
+ if (action.action === "cancel") {
178
+ runtime.ctx.traceInfo("[orch] cron cancelled");
179
+ runtime.state.cronSchedule = undefined;
180
+ runtime.state.cronAtSchedule = undefined;
181
+ return;
182
+ }
183
+ ensureTaskContext(runtime, sourcePrompt);
184
+ runtime.state.cronAtSchedule = undefined;
185
+ runtime.state.cronSchedule = {
186
+ intervalSeconds: action.intervalSeconds,
187
+ reason: action.reason,
188
+ };
189
+ runtime.ctx.traceInfo(`[orch] cron scheduled: every ${action.intervalSeconds}s (${action.reason})`);
190
+ }
191
+ export function* applyCronAtAction(runtime, action, sourcePrompt) {
192
+ runtime.state.interruptedCronTimer = null;
193
+ if (action.action === "cancel") {
194
+ runtime.ctx.traceInfo("[orch] cron_at cancelled");
195
+ runtime.state.cronAtSchedule = undefined;
196
+ runtime.state.cronSchedule = undefined;
197
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
198
+ eventType: "session.cron_at_cancelled",
199
+ data: {},
200
+ }]);
201
+ return;
202
+ }
203
+ ensureTaskContext(runtime, sourcePrompt);
204
+ const afterUtcMs = yield runtime.ctx.utcNow();
205
+ const nextFire = yield runtime.manager.computeCronAtNextFire(action.schedule, afterUtcMs, action.schedule.lastOccurrenceKey);
206
+ runtime.state.cronSchedule = undefined;
207
+ runtime.state.cronAtSchedule = {
208
+ ...action.schedule,
209
+ firesCompleted: action.schedule.firesCompleted ?? 0,
210
+ nextFireAtMs: nextFire.nextFireAtMs,
211
+ nextOccurrenceKey: nextFire.occurrenceKey,
212
+ };
213
+ runtime.ctx.traceInfo(`[orch] cron_at scheduled: ${describeCronAt(runtime.state.cronAtSchedule)} (${runtime.state.cronAtSchedule.reason})`);
214
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
215
+ eventType: "session.cron_at_scheduled",
216
+ data: {
217
+ ...runtime.state.cronAtSchedule,
218
+ nextFireAt: new Date(nextFire.nextFireAtMs).toISOString(),
219
+ localTime: nextFire.localTime,
220
+ skippedOccurrences: nextFire.skippedOccurrences,
221
+ },
222
+ }]);
223
+ }
224
+ export function* drainLeadingQueuedScheduleActions(runtime, sourcePrompt) {
225
+ while (runtime.state.pendingToolActions[0]?.type === "cron" || runtime.state.pendingToolActions[0]?.type === "cron_at") {
226
+ const action = runtime.state.pendingToolActions.shift();
227
+ if (action.type === "cron") {
228
+ applyCronAction(runtime, action, sourcePrompt);
229
+ }
230
+ else {
231
+ yield* applyCronAtAction(runtime, action, sourcePrompt);
232
+ }
233
+ }
234
+ }
235
+ export const drainLeadingQueuedCronActions = drainLeadingQueuedScheduleActions;
236
+ // ─── Cancellation tombstone helpers ─────────────────────────
237
+ export function promptIdsIntersectCancellation(runtime, ids) {
238
+ return ids.length > 0 && ids.some((id) => runtime.state.cancelledMessageIds.has(id));
239
+ }
240
+ export function* recordCancelledMessageIds(runtime, ids, reason) {
241
+ const nextIds = ids.filter((id) => id && !runtime.state.emittedCancelledMessageIds.has(id));
242
+ if (nextIds.length === 0)
243
+ return;
244
+ for (const id of nextIds)
245
+ runtime.state.emittedCancelledMessageIds.add(id);
246
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
247
+ eventType: "pending_messages.cancelled",
248
+ data: {
249
+ clientMessageIds: nextIds,
250
+ reason,
251
+ },
252
+ }]);
253
+ }
254
+ // ─── Pending child-digest accumulation ──────────────────────
255
+ export function bufferChildUpdate(runtime, update, observedAtMs) {
256
+ if (!runtime.state.pendingChildDigest) {
257
+ runtime.state.pendingChildDigest = {
258
+ startedAtMs: observedAtMs,
259
+ updates: [],
260
+ };
261
+ }
262
+ const nextEntry = {
263
+ sessionId: update.sessionId,
264
+ updateType: update.updateType,
265
+ ...(update.content ? { content: update.content.slice(0, 2000) } : {}),
266
+ observedAtMs,
267
+ };
268
+ const existingIndex = runtime.state.pendingChildDigest.updates.findIndex((entry) => entry.sessionId === update.sessionId);
269
+ if (existingIndex >= 0) {
270
+ runtime.state.pendingChildDigest.updates[existingIndex] = nextEntry;
271
+ }
272
+ else {
273
+ runtime.state.pendingChildDigest.updates.push(nextEntry);
274
+ }
275
+ }
276
+ export function clearPendingChildDigest(runtime) {
277
+ runtime.state.pendingChildDigest = null;
278
+ }
279
+ export function buildPendingChildDigestSystemPrompt(runtime) {
280
+ const digest = runtime.state.pendingChildDigest;
281
+ if (!digest || digest.updates.length === 0)
282
+ return undefined;
283
+ const lines = digest.updates.map((update) => {
284
+ const agent = runtime.state.subAgents.find((entry) => entry.sessionId === update.sessionId);
285
+ const label = agent?.orchId ?? update.sessionId;
286
+ const task = agent?.task ? `Task: "${agent.task.slice(0, 120)}"\n` : "";
287
+ const status = agent?.status ?? update.updateType;
288
+ const resultText = String(update.content || agent?.result || "").trim();
289
+ const result = resultText ? resultText.slice(0, 240) : "(no summary)";
290
+ return ` - Agent ${label}\n` +
291
+ ` ${task}` +
292
+ ` Update: ${update.updateType}\n` +
293
+ ` Status: ${status}\n` +
294
+ ` Result: ${result}`;
295
+ });
296
+ return `Buffered child updates arrived during the last 30 seconds:\n${lines.join("\n")}\nReview the updates and continue your task.`;
297
+ }
298
+ export function flushPendingChildDigestIntoPrompt(runtime, rawPrompt) {
299
+ const childDigestPrompt = buildPendingChildDigestSystemPrompt(runtime);
300
+ if (!childDigestPrompt)
301
+ return rawPrompt;
302
+ clearPendingChildDigest(runtime);
303
+ return appendSystemContext(rawPrompt, childDigestPrompt);
304
+ }
305
+ // ─── Followup queueing ──────────────────────────────────────
306
+ export function queueFollowup(runtime, nextPrompt) {
307
+ let text = nextPrompt;
308
+ const trimmed = text.trim();
309
+ if (trimmed.startsWith("[SYSTEM:") && trimmed.endsWith("]")) {
310
+ text = trimmed.slice("[SYSTEM:".length, -1).trim();
311
+ }
312
+ runtime.state.pendingPrompt = mergePrompt(runtime.state.pendingPrompt, text);
313
+ }
314
+ // ─── Continue-as-new construction ───────────────────────────
315
+ export function buildContinueInput(runtime, overrides = {}) {
316
+ const { state, options, input } = runtime;
317
+ const { prompt: overridePrompt, requiredTool: overrideRequiredTool, systemPrompt: overrideSystemPrompt, bootstrapPrompt: overrideBootstrapPrompt, rehydrationMessage: overrideRehydrationMessage, ...restOverrides } = overrides;
318
+ const carriedPrompt = overridePrompt ?? state.pendingPrompt;
319
+ const carriedRequiredTool = overrideRequiredTool ?? state.pendingRequiredTool;
320
+ const carriedSystemPrompt = overrideSystemPrompt ?? state.pendingSystemPrompt;
321
+ const carriedRehydrationMessage = overrideRehydrationMessage ?? state.pendingRehydrationMessage;
322
+ const promptForInput = carriedPrompt
323
+ ?? (carriedSystemPrompt ? INTERNAL_SYSTEM_TURN_PROMPT : undefined);
324
+ const bootstrapForInput = overrideBootstrapPrompt
325
+ ?? (carriedPrompt ? state.bootstrapPrompt : carriedSystemPrompt ? true : undefined);
326
+ return {
327
+ sessionId: input.sessionId,
328
+ config: state.config,
329
+ iteration: state.iteration,
330
+ affinityKey: state.affinityKey,
331
+ preserveAffinityOnHydrate: state.preserveAffinityOnHydrate,
332
+ needsHydration: state.needsHydration,
333
+ blobEnabled: state.blobEnabled,
334
+ dehydrateThreshold: options.dehydrateThreshold,
335
+ idleTimeout: options.idleTimeout,
336
+ inputGracePeriod: options.inputGracePeriod,
337
+ checkpointInterval: options.checkpointInterval,
338
+ ...(carriedRehydrationMessage ? { rehydrationMessage: carriedRehydrationMessage } : {}),
339
+ nextSummarizeAt: state.nextSummarizeAt,
340
+ taskContext: state.taskContext,
341
+ baseSystemMessage: options.baseSystemMessage,
342
+ ...(state.cronSchedule ? { cronSchedule: state.cronSchedule } : {}),
343
+ ...(state.cronAtSchedule ? { cronAtSchedule: state.cronAtSchedule } : {}),
344
+ ...(state.contextUsage ? { contextUsage: state.contextUsage } : {}),
345
+ ...(carriedSystemPrompt ? { systemPrompt: carriedSystemPrompt } : {}),
346
+ ...(promptForInput ? { prompt: promptForInput } : {}),
347
+ ...(carriedRequiredTool ? { requiredTool: carriedRequiredTool } : {}),
348
+ ...(promptForInput && bootstrapForInput !== undefined ? { bootstrapPrompt: bootstrapForInput } : {}),
349
+ subAgents: state.subAgents,
350
+ ...(state.pendingToolActions.length > 0 ? { pendingToolActions: state.pendingToolActions } : {}),
351
+ parentSessionId: options.parentSessionId,
352
+ nestingLevel: options.nestingLevel,
353
+ ...(options.isSystem ? { isSystem: true } : {}),
354
+ retryCount: 0,
355
+ ...(state.pendingInputQuestion ? { pendingInputQuestion: state.pendingInputQuestion } : {}),
356
+ ...(state.waitingForAgentIds ? { waitingForAgentIds: state.waitingForAgentIds } : {}),
357
+ ...(state.interruptedWaitTimer ? { interruptedWaitTimer: state.interruptedWaitTimer } : {}),
358
+ ...(state.interruptedCronTimer ? { interruptedCronTimer: state.interruptedCronTimer } : {}),
359
+ ...(state.pendingChildDigest ? { pendingChildDigest: state.pendingChildDigest } : {}),
360
+ ...(state.pendingShutdown ? { pendingShutdown: state.pendingShutdown } : {}),
361
+ ...restOverrides,
362
+ };
363
+ }
364
+ export function buildContinueInputWithPrompt(runtime, nextPrompt, overrides = {}) {
365
+ const extracted = extractPromptSystemContext(nextPrompt);
366
+ const mergedPrompt = mergePrompt(runtime.state.pendingPrompt, extracted.prompt);
367
+ const mergedSystemPrompt = mergePrompt(runtime.state.pendingSystemPrompt, extracted.systemPrompt);
368
+ return buildContinueInput(runtime, {
369
+ ...(mergedPrompt ? { prompt: mergedPrompt } : {}),
370
+ ...(mergedSystemPrompt ? { systemPrompt: mergedSystemPrompt } : {}),
371
+ ...overrides,
372
+ });
373
+ }
374
+ function* checkpointBeforeWarmContinueAsNew(runtime) {
375
+ if (!runtime.state.blobEnabled)
376
+ return;
377
+ try {
378
+ runtime.ctx.traceInfo(`[orch] checkpoint before warm continueAsNew (iteration=${runtime.state.iteration})`);
379
+ yield runtime.session.checkpoint();
380
+ }
381
+ catch (err) {
382
+ runtime.ctx.traceInfo(`[orch] warm continueAsNew checkpoint failed: ${err.message ?? err}`);
383
+ }
384
+ }
385
+ /** Capture the active timer state into a continueAsNew input and yield the version-bumped CAN. */
386
+ export function* versionedContinueAsNew(runtime, canInput) {
387
+ const { state } = runtime;
388
+ if (state.activeTimer) {
389
+ const now = yield runtime.ctx.utcNow();
390
+ const remainingMs = Math.max(0, state.activeTimer.deadlineMs - now);
391
+ canInput.activeTimerState = {
392
+ remainingMs,
393
+ reason: state.activeTimer.reason,
394
+ type: state.activeTimer.type,
395
+ originalDurationMs: state.activeTimer.originalDurationMs,
396
+ ...(state.activeTimer.shouldRehydrate ? { shouldRehydrate: true } : {}),
397
+ ...(state.activeTimer.waitPlan ? { waitPlan: state.activeTimer.waitPlan } : {}),
398
+ ...(state.activeTimer.content ? { content: state.activeTimer.content } : {}),
399
+ ...(state.activeTimer.question ? { question: state.activeTimer.question } : {}),
400
+ ...(state.activeTimer.choices ? { choices: state.activeTimer.choices } : {}),
401
+ ...(state.activeTimer.allowFreeform !== undefined ? { allowFreeform: state.activeTimer.allowFreeform } : {}),
402
+ ...(state.activeTimer.agentIds ? { agentIds: state.activeTimer.agentIds } : {}),
403
+ };
404
+ }
405
+ if (!canInput.needsHydration) {
406
+ yield* checkpointBeforeWarmContinueAsNew(runtime);
407
+ }
408
+ canInput.sourceOrchestrationVersion = runtime.versions.currentVersion;
409
+ yield runtime.ctx.continueAsNewVersioned(canInput, runtime.versions.latestVersion);
410
+ }
411
+ export function continueInput(runtime, overrides = {}) {
412
+ return buildContinueInput(runtime, overrides);
413
+ }
414
+ export function continueInputWithPrompt(runtime, nextPrompt, overrides = {}) {
415
+ return buildContinueInputWithPrompt(runtime, nextPrompt, overrides);
416
+ }
417
+ // ─── Command handling ───────────────────────────────────────
418
+ export function* handleCommand(runtime, cmdMsg) {
419
+ runtime.ctx.traceInfo(`[orch-cmd] ${cmdMsg.cmd} id=${cmdMsg.id}`);
420
+ yield runtime.manager.recordSessionEvent(runtime.input.sessionId, [{
421
+ eventType: "session.command_received",
422
+ data: { cmd: cmdMsg.cmd, id: cmdMsg.id },
423
+ }]);
424
+ switch (cmdMsg.cmd) {
425
+ case "set_model": {
426
+ const newModel = String(cmdMsg.args?.model || "");
427
+ const oldModel = runtime.state.config.model || "(default)";
428
+ runtime.state.config = { ...runtime.state.config, model: newModel };
429
+ const resp = {
430
+ id: cmdMsg.id,
431
+ cmd: cmdMsg.cmd,
432
+ result: { ok: true, oldModel, newModel },
433
+ };
434
+ yield* writeCommandResponse(runtime, resp);
435
+ publishStatus(runtime, "idle");
436
+ yield* versionedContinueAsNew(runtime, continueInput(runtime));
437
+ return;
438
+ }
439
+ case "list_models": {
440
+ publishStatus(runtime, "idle", { cmdProcessing: cmdMsg.id });
441
+ let models;
442
+ try {
443
+ const raw = yield runtime.manager.listModels();
444
+ models = typeof raw === "string" ? JSON.parse(raw) : raw;
445
+ }
446
+ catch (err) {
447
+ const resp = {
448
+ id: cmdMsg.id,
449
+ cmd: cmdMsg.cmd,
450
+ error: err.message || String(err),
451
+ };
452
+ yield* writeCommandResponse(runtime, resp);
453
+ publishStatus(runtime, "idle");
454
+ return;
455
+ }
456
+ const resp = {
457
+ id: cmdMsg.id,
458
+ cmd: cmdMsg.cmd,
459
+ result: { models, currentModel: runtime.state.config.model },
460
+ };
461
+ yield* writeCommandResponse(runtime, resp);
462
+ publishStatus(runtime, "idle");
463
+ return;
464
+ }
465
+ case "get_info": {
466
+ const resp = {
467
+ id: cmdMsg.id,
468
+ cmd: cmdMsg.cmd,
469
+ result: {
470
+ model: runtime.state.config.model || "(default)",
471
+ iteration: runtime.state.iteration,
472
+ sessionId: runtime.input.sessionId,
473
+ affinityKey: runtime.state.affinityKey,
474
+ affinityKeyShort: runtime.state.affinityKey?.slice(0, 8),
475
+ preserveAffinityOnHydrate: runtime.state.preserveAffinityOnHydrate,
476
+ needsHydration: runtime.state.needsHydration,
477
+ blobEnabled: runtime.state.blobEnabled,
478
+ contextUsage: runtime.state.contextUsage,
479
+ },
480
+ };
481
+ yield* writeCommandResponse(runtime, resp);
482
+ publishStatus(runtime, "idle");
483
+ return;
484
+ }
485
+ case "done":
486
+ case "cancel":
487
+ case "delete": {
488
+ runtime.ctx.traceInfo(`[orch] ${cmdMsg.cmd} command received — beginning graceful ${cmdMsg.cmd}`);
489
+ yield* beginGracefulShutdown(runtime, cmdMsg.cmd, cmdMsg);
490
+ return;
491
+ }
492
+ default: {
493
+ const resp = {
494
+ id: cmdMsg.id,
495
+ cmd: cmdMsg.cmd,
496
+ error: `Unknown command: ${cmdMsg.cmd}`,
497
+ };
498
+ yield* writeCommandResponse(runtime, resp);
499
+ publishStatus(runtime, "idle");
500
+ return;
501
+ }
502
+ }
503
+ }
504
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/orchestration_1_0_52/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_52/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,CAgGpF;AA8HD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}