@enderfga/claw-orchestrator 7.5.4 → 7.5.5
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.
- package/dist/src/embedded-server.js +1 -1
- package/dist/src/embedded-server.js.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/kernel/engine.d.ts +39 -1
- package/dist/src/kernel/engine.js +120 -10
- package/dist/src/kernel/engine.js.map +1 -1
- package/dist/src/kernel/types.d.ts +7 -0
- package/dist/src/kernel/types.js.map +1 -1
- package/dist/src/session-manager.d.ts +7 -2
- package/dist/src/session-manager.js +7 -2
- package/dist/src/session-manager.js.map +1 -1
- package/package.json +1 -1
- package/skills/references/tools.md +5 -2
- package/skills/references/workflow.md +12 -3
|
@@ -193,6 +193,8 @@ export declare class RunKernel extends EventEmitter {
|
|
|
193
193
|
private readonly executors;
|
|
194
194
|
private readonly nodeTimeoutMs;
|
|
195
195
|
private readonly live;
|
|
196
|
+
/** Gate answers given while their run was not live, keyed by run id; see `approveStored`. */
|
|
197
|
+
private readonly _presetGates;
|
|
196
198
|
/**
|
|
197
199
|
* This kernel's identity as a run owner.
|
|
198
200
|
*
|
|
@@ -241,11 +243,30 @@ export declare class RunKernel extends EventEmitter {
|
|
|
241
243
|
secrets?: Record<string, unknown>;
|
|
242
244
|
tag?: string;
|
|
243
245
|
}): Promise<RunRecord>;
|
|
246
|
+
/**
|
|
247
|
+
* Steers logged for this run that no finished node consumed.
|
|
248
|
+
*
|
|
249
|
+
* The queue lives in memory, so a restart used to drop every steer that had
|
|
250
|
+
* arrived but not been taken — while the log still said it was sent. Steers are
|
|
251
|
+
* taken in log order and a node records how many it held only when it finishes,
|
|
252
|
+
* so the unconsumed ones are the tail of the log. A node that died holding some
|
|
253
|
+
* never recorded them, and they go to its retry: at-least-once, like the node.
|
|
254
|
+
*/
|
|
255
|
+
private _unconsumedSteers;
|
|
244
256
|
cancel(runId: string): boolean;
|
|
245
257
|
/** Queue text for the current (or next) agent node. */
|
|
246
258
|
steer(runId: string, text: string): boolean;
|
|
247
|
-
/** Answer a parked `human_gate
|
|
259
|
+
/** Answer a parked `human_gate` in a run that is live in this process. */
|
|
248
260
|
approve(runId: string, approved: boolean): boolean;
|
|
261
|
+
/**
|
|
262
|
+
* Answer a parked `human_gate`, wherever the run was parked.
|
|
263
|
+
*
|
|
264
|
+
* After a restart a parked run is on disk but not live, so `approve` found no
|
|
265
|
+
* gate and quietly did nothing. Here the answer is attached to the gate the run
|
|
266
|
+
* was waiting at and the run is resumed; when it reaches that gate again, the
|
|
267
|
+
* answer is waiting. Attaching it before resuming leaves nothing to race.
|
|
268
|
+
*/
|
|
269
|
+
approveStored(runId: string, approved: boolean): Promise<boolean>;
|
|
249
270
|
get(runId: string): RunRecord | undefined;
|
|
250
271
|
/**
|
|
251
272
|
* The live engine object a running node published, if the run is still going
|
|
@@ -282,6 +303,23 @@ export declare class RunKernel extends EventEmitter {
|
|
|
282
303
|
private _setNodeState;
|
|
283
304
|
private _nodeSpec;
|
|
284
305
|
private _nextInOrder;
|
|
306
|
+
/**
|
|
307
|
+
* Where `_run` starts: the node the run was on, not the first pending node.
|
|
308
|
+
*
|
|
309
|
+
* `_firstPending` scans in declaration order, and a node on a branch the run
|
|
310
|
+
* never took stays `pending` for good — so after a crash it found that node
|
|
311
|
+
* instead of the one that had been running, and a run could resume at a
|
|
312
|
+
* contingency gate nobody asked for. Execution is one cursor at a time and
|
|
313
|
+
* every node state change records `currentNode`, so the record already says
|
|
314
|
+
* where the run was:
|
|
315
|
+
*
|
|
316
|
+
* - `pending` (reset from `running` by `resume`) or `awaiting_human`: that node.
|
|
317
|
+
* - finished, with the process gone before the next node started: its
|
|
318
|
+
* successor, computed the way the loop computes it. A router's choice is not
|
|
319
|
+
* recorded, so a router is evaluated again — it reads recorded state only.
|
|
320
|
+
* - no `currentNode` yet: a run that has not started, so the first pending node.
|
|
321
|
+
*/
|
|
322
|
+
private _resumePoint;
|
|
285
323
|
private _firstPending;
|
|
286
324
|
private _executeNode;
|
|
287
325
|
/**
|
|
@@ -47,7 +47,7 @@ import { createConsoleLogger } from '../logger.js';
|
|
|
47
47
|
import { normalizeContract } from '../verify/contract.js';
|
|
48
48
|
import { captureBaseline, treeFingerprint } from '../verify/baseline.js';
|
|
49
49
|
import { needsTestSnapshot, snapshotTests } from '../verify/protected-tests.js';
|
|
50
|
-
import { acquireLease, commit, createAndAcquire, LEASE_HEARTBEAT_MS, renewLease, isValidRunId, releaseLease, deleteRunDir, listRuns, loadRun, nodeArtifactPath, runDir, summarize, } from './store.js';
|
|
50
|
+
import { acquireLease, commit, createAndAcquire, LEASE_HEARTBEAT_MS, renewLease, isValidRunId, releaseLease, deleteRunDir, listRuns, loadRun, nodeArtifactPath, readEvents, runDir, summarize, } from './store.js';
|
|
51
51
|
import { isTerminalRunState, } from './types.js';
|
|
52
52
|
export const DEFAULT_NODE_TIMEOUT_MS = 30 * 60_000;
|
|
53
53
|
/** setTimeout fires at once for a delay past a signed 32-bit millisecond count. */
|
|
@@ -237,6 +237,8 @@ export class RunKernel extends EventEmitter {
|
|
|
237
237
|
executors;
|
|
238
238
|
nodeTimeoutMs;
|
|
239
239
|
live = new Map();
|
|
240
|
+
/** Gate answers given while their run was not live, keyed by run id; see `approveStored`. */
|
|
241
|
+
_presetGates = new Map();
|
|
240
242
|
/**
|
|
241
243
|
* This kernel's identity as a run owner.
|
|
242
244
|
*
|
|
@@ -424,6 +426,7 @@ export class RunKernel extends EventEmitter {
|
|
|
424
426
|
// nodes, with every side effect happening twice.
|
|
425
427
|
const guard = acquireLease(runId, this.ownerId);
|
|
426
428
|
const { txn, signal } = this._open(guard, record);
|
|
429
|
+
const pendingSteers = this._unconsumedSteers(runId);
|
|
427
430
|
const wasTerminal = isTerminalRunState(record.state);
|
|
428
431
|
if (!txn.apply((draft) => {
|
|
429
432
|
for (const n of Object.values(draft.nodes)) {
|
|
@@ -433,6 +436,11 @@ export class RunKernel extends EventEmitter {
|
|
|
433
436
|
n.error = undefined;
|
|
434
437
|
}
|
|
435
438
|
}
|
|
439
|
+
if (opts.restart && wasTerminal) {
|
|
440
|
+
// Every node went back to pending above, so the run starts from the
|
|
441
|
+
// top; `currentNode` would otherwise point at wherever it finished.
|
|
442
|
+
draft.currentNode = undefined;
|
|
443
|
+
}
|
|
436
444
|
if (opts.restart) {
|
|
437
445
|
draft.endedAt = undefined;
|
|
438
446
|
draft.outcome = 'unverified';
|
|
@@ -444,9 +452,36 @@ export class RunKernel extends EventEmitter {
|
|
|
444
452
|
})) {
|
|
445
453
|
throw new Error(`Run '${runId}' could not be checkpointed: the claim was lost before it resumed`);
|
|
446
454
|
}
|
|
447
|
-
this._launch(txn, signal);
|
|
455
|
+
this._launch(txn, signal, pendingSteers);
|
|
448
456
|
return txn.record;
|
|
449
457
|
}
|
|
458
|
+
/**
|
|
459
|
+
* Steers logged for this run that no finished node consumed.
|
|
460
|
+
*
|
|
461
|
+
* The queue lives in memory, so a restart used to drop every steer that had
|
|
462
|
+
* arrived but not been taken — while the log still said it was sent. Steers are
|
|
463
|
+
* taken in log order and a node records how many it held only when it finishes,
|
|
464
|
+
* so the unconsumed ones are the tail of the log. A node that died holding some
|
|
465
|
+
* never recorded them, and they go to its retry: at-least-once, like the node.
|
|
466
|
+
*/
|
|
467
|
+
_unconsumedSteers(runId) {
|
|
468
|
+
let events;
|
|
469
|
+
try {
|
|
470
|
+
events = readEvents(runId);
|
|
471
|
+
}
|
|
472
|
+
catch {
|
|
473
|
+
return [];
|
|
474
|
+
}
|
|
475
|
+
const texts = [];
|
|
476
|
+
let consumed = 0;
|
|
477
|
+
for (const e of events) {
|
|
478
|
+
if (e.type === 'steer')
|
|
479
|
+
texts.push(e.text);
|
|
480
|
+
else if (e.type === 'steer_consumed')
|
|
481
|
+
consumed += e.count;
|
|
482
|
+
}
|
|
483
|
+
return texts.slice(consumed);
|
|
484
|
+
}
|
|
450
485
|
cancel(runId) {
|
|
451
486
|
const handle = this.live.get(runId);
|
|
452
487
|
if (!handle)
|
|
@@ -487,7 +522,7 @@ export class RunKernel extends EventEmitter {
|
|
|
487
522
|
});
|
|
488
523
|
return true;
|
|
489
524
|
}
|
|
490
|
-
/** Answer a parked `human_gate
|
|
525
|
+
/** Answer a parked `human_gate` in a run that is live in this process. */
|
|
491
526
|
approve(runId, approved) {
|
|
492
527
|
const handle = this.live.get(runId);
|
|
493
528
|
if (!handle?.gate)
|
|
@@ -495,6 +530,35 @@ export class RunKernel extends EventEmitter {
|
|
|
495
530
|
handle.gate.resolve(approved);
|
|
496
531
|
return true;
|
|
497
532
|
}
|
|
533
|
+
/**
|
|
534
|
+
* Answer a parked `human_gate`, wherever the run was parked.
|
|
535
|
+
*
|
|
536
|
+
* After a restart a parked run is on disk but not live, so `approve` found no
|
|
537
|
+
* gate and quietly did nothing. Here the answer is attached to the gate the run
|
|
538
|
+
* was waiting at and the run is resumed; when it reaches that gate again, the
|
|
539
|
+
* answer is waiting. Attaching it before resuming leaves nothing to race.
|
|
540
|
+
*/
|
|
541
|
+
async approveStored(runId, approved) {
|
|
542
|
+
if (this.approve(runId, approved))
|
|
543
|
+
return true;
|
|
544
|
+
if (this.live.has(runId))
|
|
545
|
+
return false;
|
|
546
|
+
const record = loadRun(runId);
|
|
547
|
+
const gateId = record?.currentNode;
|
|
548
|
+
if (!record || record.state !== 'awaiting_human' || !gateId)
|
|
549
|
+
return false;
|
|
550
|
+
if (record.nodes[gateId]?.state !== 'awaiting_human')
|
|
551
|
+
return false;
|
|
552
|
+
this._presetGates.set(runId, { nodeId: gateId, approved });
|
|
553
|
+
try {
|
|
554
|
+
await this.resume(runId);
|
|
555
|
+
}
|
|
556
|
+
catch (err) {
|
|
557
|
+
this._presetGates.delete(runId);
|
|
558
|
+
throw err;
|
|
559
|
+
}
|
|
560
|
+
return true;
|
|
561
|
+
}
|
|
498
562
|
get(runId) {
|
|
499
563
|
return loadRun(runId);
|
|
500
564
|
}
|
|
@@ -565,12 +629,14 @@ export class RunKernel extends EventEmitter {
|
|
|
565
629
|
this.live.clear();
|
|
566
630
|
}
|
|
567
631
|
// ─── Execution ────────────────────────────────────────────────────────────
|
|
568
|
-
_launch(txn, signal) {
|
|
632
|
+
_launch(txn, signal, steer = []) {
|
|
569
633
|
const runId = txn.guard.runId;
|
|
570
634
|
const handle = {
|
|
571
635
|
txn,
|
|
572
636
|
signal,
|
|
573
|
-
|
|
637
|
+
// Seeded before `_run` starts: its first node can take steers before the
|
|
638
|
+
// first await, so pushing them afterwards would be too late.
|
|
639
|
+
steer,
|
|
574
640
|
tag: this._tags.get(runId),
|
|
575
641
|
inflight: new Set(),
|
|
576
642
|
secrets: this._secrets.get(runId) ?? {},
|
|
@@ -650,6 +716,35 @@ export class RunKernel extends EventEmitter {
|
|
|
650
716
|
const idx = record.spec.nodes.findIndex((n) => n.id === id);
|
|
651
717
|
return idx >= 0 && idx + 1 < record.spec.nodes.length ? record.spec.nodes[idx + 1].id : undefined;
|
|
652
718
|
}
|
|
719
|
+
/**
|
|
720
|
+
* Where `_run` starts: the node the run was on, not the first pending node.
|
|
721
|
+
*
|
|
722
|
+
* `_firstPending` scans in declaration order, and a node on a branch the run
|
|
723
|
+
* never took stays `pending` for good — so after a crash it found that node
|
|
724
|
+
* instead of the one that had been running, and a run could resume at a
|
|
725
|
+
* contingency gate nobody asked for. Execution is one cursor at a time and
|
|
726
|
+
* every node state change records `currentNode`, so the record already says
|
|
727
|
+
* where the run was:
|
|
728
|
+
*
|
|
729
|
+
* - `pending` (reset from `running` by `resume`) or `awaiting_human`: that node.
|
|
730
|
+
* - finished, with the process gone before the next node started: its
|
|
731
|
+
* successor, computed the way the loop computes it. A router's choice is not
|
|
732
|
+
* recorded, so a router is evaluated again — it reads recorded state only.
|
|
733
|
+
* - no `currentNode` yet: a run that has not started, so the first pending node.
|
|
734
|
+
*/
|
|
735
|
+
_resumePoint(record) {
|
|
736
|
+
const id = record.currentNode;
|
|
737
|
+
const node = id ? record.nodes[id] : undefined;
|
|
738
|
+
const spec = id ? this._nodeSpec(record, id) : undefined;
|
|
739
|
+
if (!id || !node || !spec)
|
|
740
|
+
return this._firstPending(record);
|
|
741
|
+
if (node.state === 'pending' || node.state === 'running' || node.state === 'awaiting_human')
|
|
742
|
+
return id;
|
|
743
|
+
const carriedOn = node.state === 'succeeded' || (node.state === 'failed' && (spec.onFailure ?? 'fail') !== 'fail');
|
|
744
|
+
if (carriedOn)
|
|
745
|
+
return spec.kind === 'router' ? id : (spec.next ?? this._nextInOrder(record, id));
|
|
746
|
+
return this._firstPending(record);
|
|
747
|
+
}
|
|
653
748
|
_firstPending(record) {
|
|
654
749
|
for (const n of record.spec.nodes) {
|
|
655
750
|
const rec = record.nodes[n.id];
|
|
@@ -728,7 +823,7 @@ export class RunKernel extends EventEmitter {
|
|
|
728
823
|
const txn = handle.txn;
|
|
729
824
|
const maxVisits = txn.record.spec.maxNodeVisits ?? DEFAULT_MAX_NODE_VISITS;
|
|
730
825
|
this._setRunState(handle, 'running');
|
|
731
|
-
let cursor = this.
|
|
826
|
+
let cursor = this._resumePoint(txn.record);
|
|
732
827
|
while (cursor) {
|
|
733
828
|
// Losing the run outranks everything else: this owner may not write, so
|
|
734
829
|
// there is nothing left for it to do but stop.
|
|
@@ -764,6 +859,11 @@ export class RunKernel extends EventEmitter {
|
|
|
764
859
|
const result = await this._runWithRetry(handle, spec);
|
|
765
860
|
if (txn.finished)
|
|
766
861
|
return txn.record;
|
|
862
|
+
if (handle.steerTaken) {
|
|
863
|
+
const count = handle.steerTaken;
|
|
864
|
+
handle.steerTaken = 0;
|
|
865
|
+
txn.emit({ ts: new Date().toISOString(), type: 'steer_consumed', node: nodeId, count });
|
|
866
|
+
}
|
|
767
867
|
// Back to `running` once the checks are done: `verifying` was only ever
|
|
768
868
|
// set on the way in, and a verifier that sits mid-chain (the solve repair
|
|
769
869
|
// loop puts routers and another implement pass after it) left the record
|
|
@@ -857,7 +957,11 @@ export class RunKernel extends EventEmitter {
|
|
|
857
957
|
attemptSignal.aborted = v;
|
|
858
958
|
},
|
|
859
959
|
},
|
|
860
|
-
takeSteer: () =>
|
|
960
|
+
takeSteer: () => {
|
|
961
|
+
const taken = handle.steer.splice(0, handle.steer.length);
|
|
962
|
+
handle.steerTaken = (handle.steerTaken ?? 0) + taken.length;
|
|
963
|
+
return taken;
|
|
964
|
+
},
|
|
861
965
|
// Fenced like everything else. It used to be the one context method that
|
|
862
966
|
// wrote unguarded, so a superseded owner's node could still append to the
|
|
863
967
|
// log its replacement was reading.
|
|
@@ -903,9 +1007,15 @@ export class RunKernel extends EventEmitter {
|
|
|
903
1007
|
return false;
|
|
904
1008
|
if (!this._setRunState(handle, 'awaiting_human'))
|
|
905
1009
|
return false;
|
|
906
|
-
const
|
|
907
|
-
|
|
908
|
-
|
|
1010
|
+
const runId = handle.txn.guard.runId;
|
|
1011
|
+
const preset = this._presetGates.get(runId);
|
|
1012
|
+
if (preset)
|
|
1013
|
+
this._presetGates.delete(runId);
|
|
1014
|
+
const approved = preset && preset.nodeId === nodeId
|
|
1015
|
+
? preset.approved
|
|
1016
|
+
: await new Promise((resolve) => {
|
|
1017
|
+
handle.gate = { resolve };
|
|
1018
|
+
});
|
|
909
1019
|
handle.gate = undefined;
|
|
910
1020
|
if (!handle.signal.aborted)
|
|
911
1021
|
this._setRunState(handle, 'running');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/kernel/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/kernel/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -339,6 +339,13 @@ export type KernelEvent = {
|
|
|
339
339
|
type: 'steer';
|
|
340
340
|
node: string;
|
|
341
341
|
text: string;
|
|
342
|
+
}
|
|
343
|
+
/** A node finished holding `count` steers, taken in the order they were logged. */
|
|
344
|
+
| {
|
|
345
|
+
ts: string;
|
|
346
|
+
type: 'steer_consumed';
|
|
347
|
+
node: string;
|
|
348
|
+
count: number;
|
|
342
349
|
} | {
|
|
343
350
|
ts: string;
|
|
344
351
|
type: 'evidence';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/kernel/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/kernel/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA0VH,MAAM,CAAC,MAAM,mBAAmB,GAAwB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAE7F,MAAM,UAAU,kBAAkB,CAAC,CAAW;IAC5C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -194,9 +194,14 @@ export declare class SessionManager {
|
|
|
194
194
|
workflowSteer(runId: string, text: string): {
|
|
195
195
|
steered: boolean;
|
|
196
196
|
};
|
|
197
|
-
|
|
197
|
+
/**
|
|
198
|
+
* Answer a parked `human_gate`. A run parked by a process that has since
|
|
199
|
+
* restarted is resumed with the answer attached, so a caller does not need to
|
|
200
|
+
* know whether the server restarted in between.
|
|
201
|
+
*/
|
|
202
|
+
workflowApprove(runId: string, approved: boolean): Promise<{
|
|
198
203
|
answered: boolean;
|
|
199
|
-
}
|
|
204
|
+
}>;
|
|
200
205
|
workflowDelete(runId: string): void;
|
|
201
206
|
workflowEvidence(runId: string, evidenceId?: string): EvidenceBundle | undefined;
|
|
202
207
|
/**
|
|
@@ -1033,8 +1033,13 @@ export class SessionManager {
|
|
|
1033
1033
|
workflowSteer(runId, text) {
|
|
1034
1034
|
return { steered: this.kernel.steer(runId, text) };
|
|
1035
1035
|
}
|
|
1036
|
-
|
|
1037
|
-
|
|
1036
|
+
/**
|
|
1037
|
+
* Answer a parked `human_gate`. A run parked by a process that has since
|
|
1038
|
+
* restarted is resumed with the answer attached, so a caller does not need to
|
|
1039
|
+
* know whether the server restarted in between.
|
|
1040
|
+
*/
|
|
1041
|
+
async workflowApprove(runId, approved) {
|
|
1042
|
+
return { answered: await this.kernel.approveStored(runId, approved) };
|
|
1038
1043
|
}
|
|
1039
1044
|
workflowDelete(runId) {
|
|
1040
1045
|
this.kernel.delete(runId);
|