@nifrajs/coding-agent 3.3.0 → 4.0.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 (88) hide show
  1. package/README.md +11 -4
  2. package/SECURITY.md +2 -1
  3. package/dist/approvals.d.ts +14 -2
  4. package/dist/approvals.d.ts.map +1 -1
  5. package/dist/approvals.js +51 -43
  6. package/dist/approvals.js.map +1 -1
  7. package/dist/cli.d.ts +1 -0
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +11 -2
  10. package/dist/cli.js.map +1 -1
  11. package/dist/context.js +29 -1
  12. package/dist/context.js.map +1 -1
  13. package/dist/diff.js +38 -2
  14. package/dist/diff.js.map +1 -1
  15. package/dist/handoffs.d.ts.map +1 -1
  16. package/dist/handoffs.js +12 -4
  17. package/dist/handoffs.js.map +1 -1
  18. package/dist/host.d.ts.map +1 -1
  19. package/dist/host.js +146 -23
  20. package/dist/host.js.map +1 -1
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/isolated.js +37 -2
  26. package/dist/isolated.js.map +1 -1
  27. package/dist/native.d.ts +12 -0
  28. package/dist/native.d.ts.map +1 -1
  29. package/dist/native.js +165 -40
  30. package/dist/native.js.map +1 -1
  31. package/dist/orchestration/compile.d.ts +7 -0
  32. package/dist/orchestration/compile.d.ts.map +1 -1
  33. package/dist/orchestration/compile.js +16 -2
  34. package/dist/orchestration/compile.js.map +1 -1
  35. package/dist/orchestration/evidence-store.d.ts.map +1 -1
  36. package/dist/orchestration/evidence-store.js +9 -4
  37. package/dist/orchestration/evidence-store.js.map +1 -1
  38. package/dist/orchestration/host.d.ts +10 -0
  39. package/dist/orchestration/host.d.ts.map +1 -1
  40. package/dist/orchestration/host.js +9 -0
  41. package/dist/orchestration/host.js.map +1 -1
  42. package/dist/replay.d.ts +4 -0
  43. package/dist/replay.d.ts.map +1 -1
  44. package/dist/replay.js +189 -24
  45. package/dist/replay.js.map +1 -1
  46. package/dist/rpc.d.ts +10 -0
  47. package/dist/rpc.d.ts.map +1 -1
  48. package/dist/rpc.js +209 -29
  49. package/dist/rpc.js.map +1 -1
  50. package/dist/session-migration.d.ts.map +1 -1
  51. package/dist/session-migration.js +3 -2
  52. package/dist/session-migration.js.map +1 -1
  53. package/dist/sessions.d.ts +20 -2
  54. package/dist/sessions.d.ts.map +1 -1
  55. package/dist/sessions.js +269 -60
  56. package/dist/sessions.js.map +1 -1
  57. package/dist/subagents.d.ts +30 -0
  58. package/dist/subagents.d.ts.map +1 -1
  59. package/dist/subagents.js +118 -15
  60. package/dist/subagents.js.map +1 -1
  61. package/dist/verification.d.ts +28 -1
  62. package/dist/verification.d.ts.map +1 -1
  63. package/dist/verification.js +119 -3
  64. package/dist/verification.js.map +1 -1
  65. package/dist/workflows.d.ts +1 -0
  66. package/dist/workflows.d.ts.map +1 -1
  67. package/dist/workflows.js +55 -23
  68. package/dist/workflows.js.map +1 -1
  69. package/package.json +9 -5
  70. package/src/approvals.ts +62 -45
  71. package/src/cli.ts +11 -2
  72. package/src/context.ts +32 -1
  73. package/src/diff.ts +40 -2
  74. package/src/handoffs.ts +20 -8
  75. package/src/host.ts +146 -23
  76. package/src/index.ts +7 -0
  77. package/src/isolated.ts +39 -2
  78. package/src/native.ts +213 -39
  79. package/src/orchestration/compile.ts +28 -2
  80. package/src/orchestration/evidence-store.ts +9 -3
  81. package/src/orchestration/host.ts +17 -0
  82. package/src/replay.ts +206 -25
  83. package/src/rpc.ts +262 -33
  84. package/src/session-migration.ts +3 -2
  85. package/src/sessions.ts +288 -57
  86. package/src/subagents.ts +147 -17
  87. package/src/verification.ts +146 -3
  88. package/src/workflows.ts +47 -27
package/dist/native.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { runModelGateway, structuredOutputParser, } from "@nifrajs/agent";
2
- import { agentError, createAgentEventStream, } from "@nifrajs/agent-protocol";
2
+ import { agentError, createAgentEventStream, isAgentEvent, } from "@nifrajs/agent-protocol";
3
3
  /** Adapt the provider-neutral gateway to the native backend without making it the default path. */
4
4
  export function createNativeGatewayModelPort(options) {
5
5
  const parser = structuredOutputParser((value) => parseNativeModelResponse(value));
@@ -48,6 +48,7 @@ export class NifraBackend {
48
48
  ...options,
49
49
  maxSteps: options.maxSteps ?? 32,
50
50
  maxMessageChars: options.maxMessageChars ?? 64 * 1024,
51
+ maxHistoryChars: options.maxHistoryChars ?? 1024 * 1024,
51
52
  tools: Object.freeze([...(options.tools ?? [])]),
52
53
  });
53
54
  if (!Number.isSafeInteger(this.options.maxSteps) ||
@@ -56,6 +57,8 @@ export class NifraBackend {
56
57
  throw new RangeError("nifra backend: maxSteps must be between 1 and 512");
57
58
  if (!Number.isSafeInteger(this.options.maxMessageChars) || this.options.maxMessageChars < 256)
58
59
  throw new RangeError("nifra backend: maxMessageChars must be at least 256");
60
+ if (!Number.isSafeInteger(this.options.maxHistoryChars) || this.options.maxHistoryChars < 256)
61
+ throw new RangeError("nifra backend: maxHistoryChars must be at least 256");
59
62
  if (this.options.approvalTimeoutMs !== undefined &&
60
63
  (!Number.isSafeInteger(this.options.approvalTimeoutMs) ||
61
64
  this.options.approvalTimeoutMs < 1 ||
@@ -63,6 +66,16 @@ export class NifraBackend {
63
66
  throw new RangeError("nifra backend: approvalTimeoutMs must be between 1ms and 24h");
64
67
  }
65
68
  async createSession(input) {
69
+ if (typeof input.cwd !== "string" ||
70
+ input.cwd.length === 0 ||
71
+ input.cwd.length > 4_096 ||
72
+ input.cwd.includes("\0"))
73
+ throw new TypeError("nifra backend: cwd must be a bounded non-empty path");
74
+ if (input.capabilities !== undefined &&
75
+ (!Array.isArray(input.capabilities) ||
76
+ input.capabilities.length > 256 ||
77
+ !input.capabilities.every((value) => boundedApprovalToken(value))))
78
+ throw new TypeError("nifra backend: capabilities must be bounded tokens");
66
79
  const id = input.sessionId ?? crypto.randomUUID();
67
80
  if (!/^[a-zA-Z0-9._:-]{1,128}$/.test(id))
68
81
  throw new TypeError("nifra backend: sessionId must be a bounded token");
@@ -84,9 +97,12 @@ export class NifraBackend {
84
97
  id,
85
98
  cwd: input.cwd,
86
99
  messages: [],
100
+ historyChars: 0,
87
101
  controller: new AbortController(),
88
102
  snapshot,
89
103
  active: undefined,
104
+ turnId: undefined,
105
+ turnAbortCleanup: undefined,
90
106
  seq: 0,
91
107
  extensionRevision: 0,
92
108
  closed: false,
@@ -108,27 +124,39 @@ export class NifraBackend {
108
124
  session.cancelled = false;
109
125
  session.controller = new AbortController();
110
126
  const signal = session.controller.signal;
127
+ const turnId = crypto.randomUUID();
128
+ session.turnId = turnId;
111
129
  if (input.signal !== undefined) {
112
130
  const externalSignal = input.signal;
131
+ const onAbort = () => {
132
+ // Capture the turn identity. A request signal must never abort a later turn that reused
133
+ // this session after the original stream settled.
134
+ if (session.active !== stream ||
135
+ session.turnId !== turnId ||
136
+ session.controller.signal !== signal)
137
+ return;
138
+ void this.cancelTurn(session, stream, turnId, "cancelled");
139
+ };
113
140
  if (externalSignal.aborted)
114
- session.controller.abort(externalSignal.reason);
115
- else
116
- externalSignal.addEventListener("abort", () => session.controller.abort(externalSignal.reason), { once: true });
141
+ onAbort();
142
+ else {
143
+ externalSignal.addEventListener("abort", onAbort, { once: true });
144
+ session.turnAbortCleanup = () => externalSignal.removeEventListener("abort", onAbort);
145
+ // Abort can race the registration between the check above and addEventListener.
146
+ if (externalSignal.aborted)
147
+ onAbort();
148
+ }
117
149
  }
118
- void this.run(session, input.message, stream, signal);
150
+ void this.run(session, input.message, stream, signal, turnId);
119
151
  return stream;
120
152
  }
121
153
  async cancel(sessionId, reason = "cancelled") {
122
154
  const session = this.requireSession(sessionId);
123
155
  if (session.closed)
124
156
  return;
125
- const stream = session.active;
126
- session.cancelled = true;
127
- session.controller.abort(reason);
128
- this.update(session, "stopped");
129
- this.emit(session, { type: "session.stopped", reason });
130
- stream?.complete();
131
- session.active = undefined;
157
+ if (session.active === undefined)
158
+ return;
159
+ await this.cancelTurn(session, session.active, session.turnId, reason);
132
160
  }
133
161
  async snapshot(sessionId) {
134
162
  return this.requireSession(sessionId).snapshot;
@@ -168,24 +196,30 @@ export class NifraBackend {
168
196
  return;
169
197
  session.closed = true;
170
198
  session.cancelled = true;
199
+ session.turnAbortCleanup?.();
200
+ session.turnAbortCleanup = undefined;
171
201
  session.controller.abort("closed");
172
202
  session.active?.complete();
173
203
  session.active = undefined;
204
+ session.turnId = undefined;
174
205
  this.sessions.delete(sessionId);
175
206
  }
176
- async run(session, message, stream, signal) {
177
- const turnId = crypto.randomUUID();
207
+ async run(session, message, stream, signal, turnId) {
208
+ if (!this.isCurrentTurn(session, stream, turnId, signal)) {
209
+ stream.complete();
210
+ return;
211
+ }
178
212
  this.update(session, "running", turnId);
179
213
  this.emit(session, { type: "turn.started", turnId, prompt: message });
180
- session.messages.push({ role: "user", text: message });
214
+ this.remember(session, { role: "user", text: message });
181
215
  try {
182
216
  for (let step = 0; step < this.options.maxSteps; step++) {
183
- if (signal.aborted)
184
- throw new Error("native turn cancelled");
217
+ this.assertCurrentTurn(session, stream, turnId, signal);
218
+ this.trimHistory(session);
185
219
  const raw = this.options.model.complete({
186
220
  sessionId: session.id,
187
221
  cwd: session.cwd,
188
- messages: Object.freeze(session.messages.map((item) => Object.freeze({ ...item }))),
222
+ messages: Object.freeze(session.messages.slice()),
189
223
  tools: Object.freeze(this.options.tools.map((tool) => ({
190
224
  name: tool.name,
191
225
  description: tool.description,
@@ -193,10 +227,12 @@ export class NifraBackend {
193
227
  }))),
194
228
  signal,
195
229
  });
196
- const response = await this.consumeModel(raw, session, turnId, signal);
230
+ const response = await this.consumeModel(raw, session, stream, turnId, signal);
231
+ this.assertCurrentTurn(session, stream, turnId, signal);
197
232
  if (response.type === "text") {
198
- session.messages.push({ role: "assistant", text: response.text });
199
- this.emit(session, { type: "assistant.message", turnId, text: response.text });
233
+ const text = boundedText(response.text, this.options.maxMessageChars);
234
+ this.remember(session, { role: "assistant", text });
235
+ this.emit(session, { type: "assistant.message", turnId, text });
200
236
  this.finish(session, stream);
201
237
  return;
202
238
  }
@@ -210,7 +246,7 @@ export class NifraBackend {
210
246
  ok: false,
211
247
  error: agentError("UNKNOWN_TOOL", `unknown native tool: ${response.name}`),
212
248
  });
213
- session.messages.push({ role: "tool", name: response.name, text: "unknown tool" });
249
+ this.remember(session, { role: "tool", name: response.name, text: "unknown tool" });
214
250
  continue;
215
251
  }
216
252
  const callId = crypto.randomUUID();
@@ -225,8 +261,10 @@ export class NifraBackend {
225
261
  const needsApproval = typeof tool.requiresApproval === "function"
226
262
  ? await tool.requiresApproval(response.input)
227
263
  : tool.requiresApproval === true;
264
+ this.assertCurrentTurn(session, stream, turnId, signal);
228
265
  if (needsApproval) {
229
266
  const resolution = await this.requestApproval(session, turnId, callId, tool, response.input, signal);
267
+ this.assertCurrentTurn(session, stream, turnId, signal);
230
268
  if (!resolution.approved) {
231
269
  const code = resolution.errorCode ?? "APPROVAL_DENIED";
232
270
  this.emit(session, {
@@ -237,14 +275,15 @@ export class NifraBackend {
237
275
  ok: false,
238
276
  error: agentError(code, boundedApprovalMessage(code, tool.name, resolution.reason)),
239
277
  });
240
- session.messages.push({ role: "tool", name: tool.name, text: code });
278
+ this.remember(session, { role: "tool", name: tool.name, text: code });
241
279
  continue;
242
280
  }
243
281
  }
244
282
  try {
245
283
  const output = await execute(response.input, { cwd: session.cwd, signal });
284
+ this.assertCurrentTurn(session, stream, turnId, signal);
246
285
  const text = boundedText(output);
247
- session.messages.push({ role: "tool", name: tool.name, text });
286
+ this.remember(session, { role: "tool", name: tool.name, text });
248
287
  this.emit(session, {
249
288
  type: "tool.completed",
250
289
  turnId,
@@ -255,8 +294,10 @@ export class NifraBackend {
255
294
  });
256
295
  }
257
296
  catch (error) {
258
- const message = error instanceof Error ? error.message : String(error);
259
- session.messages.push({ role: "tool", name: tool.name, text: message });
297
+ if (signal.aborted || !this.isCurrentTurn(session, stream, turnId, signal))
298
+ throw error;
299
+ const message = boundedText(error instanceof Error ? error.message : error, this.options.maxMessageChars);
300
+ this.remember(session, { role: "tool", name: tool.name, text: message });
260
301
  this.emit(session, {
261
302
  type: "tool.completed",
262
303
  turnId,
@@ -270,28 +311,29 @@ export class NifraBackend {
270
311
  throw new Error("native turn exceeded maxSteps");
271
312
  }
272
313
  catch (error) {
273
- if (session.closed || session.cancelled) {
314
+ if (!this.isCurrentTurn(session, stream, turnId, signal)) {
274
315
  stream.complete();
275
- if (session.active === stream)
276
- session.active = undefined;
277
316
  return;
278
317
  }
279
- this.update(session, signal.aborted ? "stopped" : "failed");
318
+ if (signal.aborted || session.cancelled) {
319
+ await this.cancelTurn(session, stream, turnId, "cancelled");
320
+ return;
321
+ }
322
+ this.update(session, "failed");
280
323
  this.emit(session, {
281
324
  type: "session.failed",
282
- error: agentError(signal.aborted ? "TURN_CANCELLED" : "NATIVE_TURN_FAILED", error instanceof Error ? error.message : String(error)),
325
+ error: agentError("NATIVE_TURN_FAILED", boundedText(error instanceof Error ? error.message : error, 4_096)),
283
326
  recoverable: true,
284
327
  });
285
328
  stream.complete();
286
- session.active = undefined;
329
+ this.clearTurn(session, stream, turnId);
287
330
  }
288
331
  }
289
- async consumeModel(raw, session, turnId, signal) {
332
+ async consumeModel(raw, session, stream, turnId, signal) {
290
333
  if (isAsyncIterable(raw)) {
291
334
  let response;
292
335
  for await (const chunk of raw) {
293
- if (signal.aborted)
294
- throw new Error("native turn cancelled");
336
+ this.assertCurrentTurn(session, stream, turnId, signal);
295
337
  if (chunk.type === "text_delta")
296
338
  this.emit(session, { type: "assistant.delta", turnId, text: chunk.text });
297
339
  else
@@ -299,15 +341,18 @@ export class NifraBackend {
299
341
  }
300
342
  if (response === undefined)
301
343
  throw new Error("native model stream ended without a response");
344
+ this.assertCurrentTurn(session, stream, turnId, signal);
302
345
  return response;
303
346
  }
304
- return await raw;
347
+ const response = await raw;
348
+ this.assertCurrentTurn(session, stream, turnId, signal);
349
+ return response;
305
350
  }
306
351
  finish(session, stream) {
307
352
  this.update(session, "idle");
308
353
  this.emit(session, { type: "session.completed", snapshot: session.snapshot });
309
354
  stream.complete();
310
- session.active = undefined;
355
+ this.clearTurn(session, stream, session.turnId);
311
356
  }
312
357
  requestApproval(session, turnId, callId, tool, input, signal) {
313
358
  const approvalId = `nifra-approval-${crypto.randomUUID()}`;
@@ -332,6 +377,7 @@ export class NifraBackend {
332
377
  resolve,
333
378
  timer,
334
379
  onAbort,
380
+ signal,
335
381
  };
336
382
  this.pendingApprovals.set(approvalId, pending);
337
383
  signal.addEventListener("abort", onAbort, { once: true });
@@ -370,7 +416,7 @@ export class NifraBackend {
370
416
  if (pending === undefined || pending.sessionId !== session.id)
371
417
  return undefined;
372
418
  clearTimeout(pending.timer);
373
- session.controller.signal.removeEventListener("abort", pending.onAbort);
419
+ pending.signal.removeEventListener("abort", pending.onAbort);
374
420
  this.pendingApprovals.delete(approvalId);
375
421
  const boundedReason = reason === undefined ? undefined : boundedApprovalText(reason, 512);
376
422
  const resolution = Object.freeze({
@@ -388,6 +434,53 @@ export class NifraBackend {
388
434
  pending.resolve(resolution);
389
435
  return resolution;
390
436
  }
437
+ async cancelTurn(session, expectedStream, expectedTurnId, reason) {
438
+ if (expectedStream !== undefined &&
439
+ (session.active !== expectedStream || session.turnId !== expectedTurnId))
440
+ return;
441
+ const stream = session.active;
442
+ const turnId = session.turnId;
443
+ const stopReason = boundedText(reason, 512) || "cancelled";
444
+ session.cancelled = true;
445
+ this.clearTurnSignal(session);
446
+ try {
447
+ session.controller.abort(stopReason);
448
+ }
449
+ catch {
450
+ // AbortController.abort is normally infallible; lifecycle cleanup must still complete if a
451
+ // host supplies an unusual controller implementation.
452
+ }
453
+ this.update(session, "stopped");
454
+ this.emit(session, { type: "session.stopped", reason: stopReason });
455
+ stream?.complete();
456
+ this.clearTurn(session, stream, turnId);
457
+ }
458
+ clearTurnSignal(session) {
459
+ session.turnAbortCleanup?.();
460
+ session.turnAbortCleanup = undefined;
461
+ }
462
+ clearTurn(session, stream, turnId) {
463
+ if (stream !== undefined && session.active !== stream)
464
+ return;
465
+ if (turnId !== undefined && session.turnId !== turnId)
466
+ return;
467
+ this.clearTurnSignal(session);
468
+ if (stream === undefined || session.active === stream)
469
+ session.active = undefined;
470
+ if (turnId === undefined || session.turnId === turnId)
471
+ session.turnId = undefined;
472
+ }
473
+ isCurrentTurn(session, stream, turnId, signal) {
474
+ return (!session.closed &&
475
+ !session.cancelled &&
476
+ session.active === stream &&
477
+ session.turnId === turnId &&
478
+ session.controller.signal === signal);
479
+ }
480
+ assertCurrentTurn(session, stream, turnId, signal) {
481
+ if (signal.aborted || !this.isCurrentTurn(session, stream, turnId, signal))
482
+ throw new Error("native turn cancelled");
483
+ }
391
484
  emit(session, payload) {
392
485
  const event = Object.freeze({
393
486
  version: 1,
@@ -396,6 +489,8 @@ export class NifraBackend {
396
489
  at: this.now(),
397
490
  ...payload,
398
491
  });
492
+ if (!isAgentEvent(event))
493
+ throw new Error("nifra backend emitted an event outside protocol bounds");
399
494
  session.snapshot = Object.freeze({
400
495
  ...session.snapshot,
401
496
  lastSeq: event.seq,
@@ -405,7 +500,9 @@ export class NifraBackend {
405
500
  }
406
501
  update(session, status, turnId) {
407
502
  const next = { ...session.snapshot, status, updatedAt: this.now(), lastSeq: session.seq };
408
- session.snapshot = Object.freeze(status === "running" && turnId !== undefined ? { ...next, activeTurnId: turnId } : next);
503
+ session.snapshot = Object.freeze(status === "running" && turnId !== undefined
504
+ ? { ...next, activeTurnId: turnId }
505
+ : removeActiveTurn(next));
409
506
  if (session.active !== undefined)
410
507
  this.emit(session, { type: "session.updated", snapshot: session.snapshot });
411
508
  }
@@ -418,6 +515,22 @@ export class NifraBackend {
418
515
  now() {
419
516
  return this.options.now?.() ?? Date.now();
420
517
  }
518
+ remember(session, message) {
519
+ session.messages.push(Object.freeze(message));
520
+ session.historyChars += messageChars(message);
521
+ }
522
+ trimHistory(session) {
523
+ while (session.historyChars > this.options.maxHistoryChars) {
524
+ const nextTurn = session.messages.findIndex((item, index) => index > 0 && item.role === "user");
525
+ if (nextTurn === -1)
526
+ return;
527
+ for (const item of session.messages.splice(0, nextTurn))
528
+ session.historyChars -= messageChars(item);
529
+ }
530
+ }
531
+ }
532
+ function messageChars(message) {
533
+ return message.text.length + (message.name?.length ?? 0);
421
534
  }
422
535
  function isAsyncIterable(value) {
423
536
  return value !== null && typeof value === "object" && Symbol.asyncIterator in value;
@@ -425,12 +538,20 @@ function isAsyncIterable(value) {
425
538
  function boundedText(value, maxChars = 64 * 1024) {
426
539
  try {
427
540
  const text = typeof value === "string" ? value : JSON.stringify(value);
428
- return text.length > maxChars ? `${text.slice(0, maxChars)}…[truncated]` : text;
541
+ if (typeof text !== "string")
542
+ return "[unserializable tool output]";
543
+ const suffix = "…[truncated]";
544
+ return text.length > maxChars
545
+ ? `${text.slice(0, Math.max(0, maxChars - suffix.length))}${suffix}`
546
+ : text;
429
547
  }
430
548
  catch {
431
549
  return "[unserializable tool output]";
432
550
  }
433
551
  }
552
+ function boundedApprovalToken(value) {
553
+ return typeof value === "string" && /^[A-Za-z0-9._:/-]{1,128}$/.test(value);
554
+ }
434
555
  function boundedApprovalText(value, maxChars) {
435
556
  const text = value.trim();
436
557
  if (text.length === 0)
@@ -456,4 +577,8 @@ function failedStream(error) {
456
577
  stream.fail(error);
457
578
  return stream;
458
579
  }
580
+ function removeActiveTurn(snapshot) {
581
+ const { activeTurnId: _activeTurnId, ...withoutActiveTurn } = snapshot;
582
+ return withoutActiveTurn;
583
+ }
459
584
  //# sourceMappingURL=native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  * capability authority ceiling) are enforced here, before a single node runs.
11
11
  */
12
12
  import type { ArtifactPort, ArtifactRef, NodeEffectKey, RunPlan } from "@nifrajs/agent-protocol";
13
+ import { type SubagentAbandonment, type SubagentAbandonmentLedger } from "../subagents.js";
13
14
  import type { WorkflowStep } from "../workflows.js";
14
15
  import { type StepCatalog } from "./catalog.js";
15
16
  /** Thrown when a plan cannot be lowered. `code` is a stable evidence code. */
@@ -29,6 +30,8 @@ export interface OrchestrationLimits {
29
30
  readonly maxChildren?: number;
30
31
  /** Capability authority ceiling. `undefined` grants all; otherwise a step's needs must be a subset. */
31
32
  readonly allowedCapabilities?: readonly string[];
33
+ /** Refuse a subagent node while this many abandoned subagent executors still run. Default: no bound. */
34
+ readonly maxAbandonedSubagents?: number;
32
35
  }
33
36
  /** Stable digest of a plan's canonical form. Structural identity that node effect keys hang from. */
34
37
  export declare function digestRunPlan(plan: RunPlan): Promise<string>;
@@ -42,6 +45,10 @@ export interface CompileOptions {
42
45
  onNodeEffect?(nodeId: string, key: NodeEffectKey): void;
43
46
  /** Called for each artifact ref a node produces through its port. */
44
47
  collectArtifact?(nodeId: string, ref: ArtifactRef): void;
48
+ /** Called when a subagent node's run returns while its executor, which ignored the abort, keeps running. */
49
+ onSubagentAbandoned?(nodeId: string, abandonment: SubagentAbandonment): void;
50
+ /** Where abandoned subagent executors are counted for `maxAbandonedSubagents`. Default: one per compile. */
51
+ readonly subagentAbandonment?: SubagentAbandonmentLedger;
45
52
  }
46
53
  /**
47
54
  * Compile `source` (a RunPlan or its serialized form) into a single WorkflowStep. The input is
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/orchestration/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,YAAY,EACZ,WAAW,EACX,aAAa,EAEb,OAAO,EACR,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAoB,KAAK,WAAW,EAAoC,MAAM,cAAc,CAAA;AAInG,8EAA8E;AAC9E,qBAAa,YAAa,SAAQ,KAAK;IAGnC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBADrB,MAAM,EAAE,MAAM,EACL,IAAI,EAAE,MAAM;CAKxB;AAED,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACjD;AAMD,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5D;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;IACrC,uFAAuF;IACvF,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAAA;IACvD,qEAAqE;IACrE,eAAe,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;CACzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,YAAY,CAK/F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,GAAG,OAAO,EACzB,OAAO,EAAE,cAAc,GACtB,SAAS,YAAY,EAAE,CAUzB"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/orchestration/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,YAAY,EACZ,WAAW,EACX,aAAa,EAEb,OAAO,EACR,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAoB,KAAK,WAAW,EAAoC,MAAM,cAAc,CAAA;AAInG,8EAA8E;AAC9E,qBAAa,YAAa,SAAQ,KAAK;IAGnC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBADrB,MAAM,EAAE,MAAM,EACL,IAAI,EAAE,MAAM;CAKxB;AAED,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAChD,wGAAwG;IACxG,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CACxC;AAMD,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5D;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;IACrC,uFAAuF;IACvF,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAAA;IACvD,qEAAqE;IACrE,eAAe,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;IACxD,4GAA4G;IAC5G,mBAAmB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC5E,4GAA4G;IAC5G,QAAQ,CAAC,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;CACzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,YAAY,CAK/F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,GAAG,OAAO,EACzB,OAAO,EAAE,cAAc,GACtB,SAAS,YAAY,EAAE,CAczB"}
@@ -10,7 +10,7 @@
10
10
  * capability authority ceiling) are enforced here, before a single node runs.
11
11
  */
12
12
  import { parseRunPlan } from "@nifrajs/agent-protocol";
13
- import { BoundedSubagentRunner } from "../subagents.js";
13
+ import { BoundedSubagentRunner, } from "../subagents.js";
14
14
  import { stepVersion } from "./catalog.js";
15
15
  import { deriveNodeEffectKey } from "./effect-key.js";
16
16
  import { canonicalJson, sha256HexOf } from "./hash.js";
@@ -55,7 +55,10 @@ export function compileRunPlanLayers(source, options) {
55
55
  if (total > maxNodes)
56
56
  throw new CompileError(`plan has ${total} nodes over the ${maxNodes} ceiling`, "E_MAX_NODES");
57
57
  const layers = layerTopLevel(plan.nodes);
58
- return layers.map((layer) => compileLayer(layer, options, 1));
58
+ const wired = options.subagentAbandonment === undefined
59
+ ? { ...options, subagentAbandonment: { abandoned: 0 } }
60
+ : options;
61
+ return layers.map((layer) => compileLayer(layer, wired, 1));
59
62
  }
60
63
  /** Recursive node count over the whole tree. */
61
64
  function countNodes(node) {
@@ -258,6 +261,17 @@ async function runSubagent(node, step, options, wf) {
258
261
  ...(options.limits?.allowedCapabilities !== undefined
259
262
  ? { allowedCapabilities: options.limits.allowedCapabilities }
260
263
  : {}),
264
+ ...(options.limits?.maxAbandonedSubagents !== undefined
265
+ ? { maxAbandoned: options.limits.maxAbandonedSubagents }
266
+ : {}),
267
+ ...(options.subagentAbandonment !== undefined
268
+ ? { abandonment: options.subagentAbandonment }
269
+ : {}),
270
+ ...(options.onSubagentAbandoned !== undefined
271
+ ? {
272
+ onAbandoned: (abandonment) => options.onSubagentAbandoned?.(node.id, abandonment),
273
+ }
274
+ : {}),
261
275
  });
262
276
  const spec = await step.spec(context);
263
277
  const result = await runner.run(spec);
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/orchestration/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/orchestration/compile.ts"],"names":[],"mappings":"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"}