@ddse/acm-runtime 0.5.0 → 0.5.2

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 (53) hide show
  1. package/README.md +3 -1
  2. package/dist/executor.d.ts +19 -0
  3. package/dist/executor.d.ts.map +1 -0
  4. package/dist/executor.js +149 -0
  5. package/dist/executor.js.map +1 -0
  6. package/dist/guards.d.ts +7 -0
  7. package/dist/guards.d.ts.map +1 -0
  8. package/dist/guards.js +13 -0
  9. package/dist/guards.js.map +1 -0
  10. package/{src/index.ts → dist/index.d.ts} +1 -2
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +6 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/ledger.d.ts +9 -0
  15. package/dist/ledger.d.ts.map +1 -0
  16. package/dist/ledger.js +21 -0
  17. package/dist/ledger.js.map +1 -0
  18. package/dist/retry.d.ts +7 -0
  19. package/dist/retry.d.ts.map +1 -0
  20. package/dist/retry.js +25 -0
  21. package/dist/retry.js.map +1 -0
  22. package/dist/src/executor.d.ts.map +1 -1
  23. package/dist/src/executor.js +1 -0
  24. package/dist/src/executor.js.map +1 -1
  25. package/dist/src/ledger.d.ts.map +1 -1
  26. package/dist/src/ledger.js +2 -4
  27. package/dist/src/ledger.js.map +1 -1
  28. package/dist/src/resumable-executor.d.ts +1 -0
  29. package/dist/src/resumable-executor.d.ts.map +1 -1
  30. package/dist/src/resumable-executor.js +9 -3
  31. package/dist/src/resumable-executor.js.map +1 -1
  32. package/dist/src/tool-envelope.d.ts.map +1 -1
  33. package/dist/src/tool-envelope.js +2 -4
  34. package/dist/src/tool-envelope.js.map +1 -1
  35. package/dist/tests/resumable.test.js +2 -8
  36. package/dist/tests/resumable.test.js.map +1 -1
  37. package/dist/tests/task-scope.test.d.ts +2 -0
  38. package/dist/tests/task-scope.test.d.ts.map +1 -0
  39. package/dist/tests/task-scope.test.js +538 -0
  40. package/dist/tests/task-scope.test.js.map +1 -0
  41. package/dist/tool-envelope.d.ts +10 -0
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +17 -3
  44. package/src/checkpoint.ts +0 -311
  45. package/src/execution-transcript.ts +0 -108
  46. package/src/executor.ts +0 -540
  47. package/src/guards.ts +0 -21
  48. package/src/ledger.ts +0 -63
  49. package/src/resumable-executor.ts +0 -471
  50. package/src/retry.ts +0 -37
  51. package/src/tool-envelope.ts +0 -113
  52. package/tests/resumable.test.ts +0 -421
  53. package/tsconfig.json +0 -11
@@ -1,6 +1,6 @@
1
1
  // Test for resumable executor
2
2
  import { executeResumablePlan, MemoryCheckpointStore, ResumableExecutor, MemoryLedger, } from '../src/index.js';
3
- import { Task, Nucleus } from '@ddse/acm-sdk';
3
+ import { Task, Nucleus, DefaultToolRegistry } from '@ddse/acm-sdk';
4
4
  // Simple test capability
5
5
  class TestTask extends Task {
6
6
  constructor() {
@@ -32,13 +32,7 @@ class SimpleCapabilityRegistry {
32
32
  return undefined;
33
33
  }
34
34
  }
35
- class SimpleToolRegistry {
36
- get(name) {
37
- return null;
38
- }
39
- list() {
40
- return [];
41
- }
35
+ class SimpleToolRegistry extends DefaultToolRegistry {
42
36
  }
43
37
  class TestNucleus extends Nucleus {
44
38
  scope;
@@ -1 +1 @@
1
- {"version":3,"file":"resumable.test.js","sourceRoot":"","sources":["../../tests/resumable.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resumable.test.js","sourceRoot":"","sources":["../../tests/resumable.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=task-scope.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-scope.test.d.ts","sourceRoot":"","sources":["../../tests/task-scope.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,538 @@
1
+ // Tests for Change 2: taskScope on resumable executor
2
+ //
3
+ // Covers:
4
+ // - taskScope with a single task — only that task is executed
5
+ // - taskScope with a subset — only scoped tasks run
6
+ // - No taskScope (undefined) — all tasks run as before
7
+ // - taskScope with dependency task NOT in scope — dependency still needs to be satisfied
8
+ // - Early-break when all scoped tasks complete
9
+ // - taskScope with resume — scoped filtering applied after checkpoint restore
10
+ // - taskScope with tasks that have no capability match (should throw)
11
+ // - Empty taskScope array — early-break, nothing executes
12
+ // - taskScope with non-existent task IDs — nothing matches, nothing runs
13
+ import { executeResumablePlan, MemoryCheckpointStore, MemoryLedger, } from '../src/index.js';
14
+ import { Task, Nucleus, DefaultToolRegistry } from '@ddse/acm-sdk';
15
+ // ── Test helpers (same pattern as resumable.test.ts) ─────────
16
+ class TestTask extends Task {
17
+ constructor() {
18
+ super('test-task', 'test');
19
+ }
20
+ async execute(ctx, input) {
21
+ return { result: `executed-${input?.value || 'default'}` };
22
+ }
23
+ }
24
+ class SimpleCapabilityRegistry {
25
+ tasks = new Map();
26
+ register(capability, task) {
27
+ this.tasks.set(capability.name, task);
28
+ }
29
+ resolve(capability) {
30
+ return this.tasks.get(capability);
31
+ }
32
+ list() {
33
+ return Array.from(this.tasks.keys()).map(name => ({ name }));
34
+ }
35
+ has(name) {
36
+ return this.tasks.has(name);
37
+ }
38
+ inputSchema(name) {
39
+ return undefined;
40
+ }
41
+ outputSchema(name) {
42
+ return undefined;
43
+ }
44
+ }
45
+ class SimpleToolRegistry extends DefaultToolRegistry {
46
+ }
47
+ class TestNucleus extends Nucleus {
48
+ scope;
49
+ constructor(config) { super(config); }
50
+ async preflight() { return { status: 'OK' }; }
51
+ async invoke() { return { toolCalls: [] }; }
52
+ async postcheck() { return { status: 'COMPLETE' }; }
53
+ recordInference(promptDigest) {
54
+ return {
55
+ id: `test-${Date.now()}`,
56
+ ts: Date.now(),
57
+ type: 'NUCLEUS_INFERENCE',
58
+ details: { promptDigest },
59
+ };
60
+ }
61
+ getInternalContext() { return this.scope; }
62
+ setInternalContext(scope) { this.scope = scope; }
63
+ }
64
+ const testNucleusFactory = config => new TestNucleus(config);
65
+ const sharedNucleusOptions = {
66
+ nucleusFactory: testNucleusFactory,
67
+ nucleusConfig: { llmCall: { provider: 'noop', model: 'noop' } },
68
+ };
69
+ let passed = 0;
70
+ let failed = 0;
71
+ async function runTest(name, fn) {
72
+ try {
73
+ await fn();
74
+ console.log(`✅ ${name}`);
75
+ passed++;
76
+ }
77
+ catch (err) {
78
+ console.error(`❌ ${name}:`, err.message);
79
+ failed++;
80
+ }
81
+ }
82
+ // ── Shared fixtures ──────────────────────────────────────────
83
+ function makeGoal() {
84
+ return { id: 'task-scope-goal', intent: 'Test taskScope filtering' };
85
+ }
86
+ function makeContext() {
87
+ return { id: 'task-scope-ctx', facts: { env: 'test' } };
88
+ }
89
+ /**
90
+ * Diamond DAG:
91
+ * t1
92
+ * / \
93
+ * t2 t3
94
+ * \ /
95
+ * t4
96
+ */
97
+ function makeDiamondPlan() {
98
+ return {
99
+ id: 'diamond-plan',
100
+ contextRef: 'ref',
101
+ capabilityMapVersion: '1.0',
102
+ tasks: [
103
+ { id: 't1', capability: 'test', input: { value: 'task1' } },
104
+ { id: 't2', capability: 'test', input: { value: 'task2' } },
105
+ { id: 't3', capability: 'test', input: { value: 'task3' } },
106
+ { id: 't4', capability: 'test', input: { value: 'task4' } },
107
+ ],
108
+ edges: [
109
+ { from: 't1', to: 't2' },
110
+ { from: 't1', to: 't3' },
111
+ { from: 't2', to: 't4' },
112
+ { from: 't3', to: 't4' },
113
+ ],
114
+ };
115
+ }
116
+ function makeRegistry() {
117
+ const r = new SimpleCapabilityRegistry();
118
+ r.register({ name: 'test' }, new TestTask());
119
+ return r;
120
+ }
121
+ // ── Tests ────────────────────────────────────────────────────
122
+ console.log('Running taskScope tests');
123
+ console.log('='.repeat(60));
124
+ // ── 1. No taskScope — all tasks execute ──────────────────────
125
+ await runTest('No taskScope — all 4 tasks execute in diamond DAG', async () => {
126
+ const result = await executeResumablePlan({
127
+ goal: makeGoal(),
128
+ context: makeContext(),
129
+ plan: makeDiamondPlan(),
130
+ capabilityRegistry: makeRegistry(),
131
+ toolRegistry: new SimpleToolRegistry(),
132
+ ledger: new MemoryLedger(),
133
+ checkpointStore: new MemoryCheckpointStore(),
134
+ runId: 'no-scope-run',
135
+ ...sharedNucleusOptions,
136
+ });
137
+ const executedIds = Object.keys(result.outputsByTask);
138
+ if (executedIds.length !== 4) {
139
+ throw new Error(`Expected 4 tasks executed, got ${executedIds.length}: ${executedIds}`);
140
+ }
141
+ for (const id of ['t1', 't2', 't3', 't4']) {
142
+ if (!result.outputsByTask[id])
143
+ throw new Error(`Task ${id} not executed`);
144
+ }
145
+ });
146
+ // ── 2. taskScope with single root task ───────────────────────
147
+ await runTest('taskScope: [t1] — only root task executes', async () => {
148
+ const result = await executeResumablePlan({
149
+ goal: makeGoal(),
150
+ context: makeContext(),
151
+ plan: makeDiamondPlan(),
152
+ capabilityRegistry: makeRegistry(),
153
+ toolRegistry: new SimpleToolRegistry(),
154
+ ledger: new MemoryLedger(),
155
+ checkpointStore: new MemoryCheckpointStore(),
156
+ runId: 'scope-t1',
157
+ taskScope: ['t1'],
158
+ ...sharedNucleusOptions,
159
+ });
160
+ const executedIds = Object.keys(result.outputsByTask);
161
+ if (executedIds.length !== 1) {
162
+ throw new Error(`Expected 1 task, got ${executedIds.length}: ${executedIds}`);
163
+ }
164
+ if (!result.outputsByTask.t1)
165
+ throw new Error('t1 should have been executed');
166
+ if (result.outputsByTask.t1.output.result !== 'executed-task1') {
167
+ throw new Error('t1 output incorrect');
168
+ }
169
+ });
170
+ // ── 3. taskScope with subset at same level ───────────────────
171
+ await runTest('taskScope: [t2, t3] — waits for dependency t1 that is NOT in scope', async () => {
172
+ // t2 and t3 depend on t1. Since t1 is NOT in scope, t2/t3 can never
173
+ // become ready. They should not execute.
174
+ const result = await executeResumablePlan({
175
+ goal: makeGoal(),
176
+ context: makeContext(),
177
+ plan: makeDiamondPlan(),
178
+ capabilityRegistry: makeRegistry(),
179
+ toolRegistry: new SimpleToolRegistry(),
180
+ ledger: new MemoryLedger(),
181
+ checkpointStore: new MemoryCheckpointStore(),
182
+ runId: 'scope-t2-t3-no-dep',
183
+ taskScope: ['t2', 't3'],
184
+ ...sharedNucleusOptions,
185
+ });
186
+ // t2 and t3 depend on t1 which isn't in scope and was never executed;
187
+ // they should never become ready, so nothing runs
188
+ const executedIds = Object.keys(result.outputsByTask);
189
+ if (executedIds.length !== 0) {
190
+ throw new Error(`Expected 0 tasks (deps not met), got ${executedIds.length}: ${executedIds}`);
191
+ }
192
+ });
193
+ // ── 4. taskScope with independent tasks ──────────────────────
194
+ await runTest('taskScope with independent tasks (no deps) — all execute', async () => {
195
+ const plan = {
196
+ id: 'independent-plan',
197
+ contextRef: 'ref',
198
+ capabilityMapVersion: '1.0',
199
+ tasks: [
200
+ { id: 'a', capability: 'test', input: { value: 'alpha' } },
201
+ { id: 'b', capability: 'test', input: { value: 'bravo' } },
202
+ { id: 'c', capability: 'test', input: { value: 'charlie' } },
203
+ ],
204
+ edges: [],
205
+ };
206
+ const result = await executeResumablePlan({
207
+ goal: makeGoal(),
208
+ context: makeContext(),
209
+ plan,
210
+ capabilityRegistry: makeRegistry(),
211
+ toolRegistry: new SimpleToolRegistry(),
212
+ ledger: new MemoryLedger(),
213
+ checkpointStore: new MemoryCheckpointStore(),
214
+ runId: 'scope-indep',
215
+ taskScope: ['a', 'c'],
216
+ ...sharedNucleusOptions,
217
+ });
218
+ const executedIds = Object.keys(result.outputsByTask);
219
+ if (executedIds.length !== 2) {
220
+ throw new Error(`Expected 2 tasks, got ${executedIds.length}: ${executedIds}`);
221
+ }
222
+ if (!result.outputsByTask.a)
223
+ throw new Error('task a should have been executed');
224
+ if (!result.outputsByTask.c)
225
+ throw new Error('task c should have been executed');
226
+ if (result.outputsByTask.b)
227
+ throw new Error('task b should NOT have been executed');
228
+ });
229
+ // ── 5. taskScope first two in linear chain ───────────────────
230
+ await runTest('taskScope: [t1, t2] in linear chain — stops after t2, skips t3', async () => {
231
+ const plan = {
232
+ id: 'linear-plan',
233
+ contextRef: 'ref',
234
+ capabilityMapVersion: '1.0',
235
+ tasks: [
236
+ { id: 't1', capability: 'test', input: { value: 'task1' } },
237
+ { id: 't2', capability: 'test', input: { value: 'task2' } },
238
+ { id: 't3', capability: 'test', input: { value: 'task3' } },
239
+ ],
240
+ edges: [
241
+ { from: 't1', to: 't2' },
242
+ { from: 't2', to: 't3' },
243
+ ],
244
+ };
245
+ const result = await executeResumablePlan({
246
+ goal: makeGoal(),
247
+ context: makeContext(),
248
+ plan,
249
+ capabilityRegistry: makeRegistry(),
250
+ toolRegistry: new SimpleToolRegistry(),
251
+ ledger: new MemoryLedger(),
252
+ checkpointStore: new MemoryCheckpointStore(),
253
+ runId: 'scope-linear-12',
254
+ taskScope: ['t1', 't2'],
255
+ ...sharedNucleusOptions,
256
+ });
257
+ const executedIds = Object.keys(result.outputsByTask);
258
+ if (executedIds.length !== 2) {
259
+ throw new Error(`Expected 2 tasks, got ${executedIds.length}: ${executedIds}`);
260
+ }
261
+ if (!result.outputsByTask.t1 || !result.outputsByTask.t2) {
262
+ throw new Error('t1 and t2 should be executed');
263
+ }
264
+ if (result.outputsByTask.t3) {
265
+ throw new Error('t3 should NOT be executed');
266
+ }
267
+ });
268
+ // ── 6. Early-break after scoped tasks complete ───────────────
269
+ await runTest('Early-break: stops iteration after all scoped tasks done', async () => {
270
+ // Linear: t1 → t2 → t3. Scope = [t1]. Should stop after t1.
271
+ const plan = {
272
+ id: 'earlybreak-plan',
273
+ contextRef: 'ref',
274
+ capabilityMapVersion: '1.0',
275
+ tasks: [
276
+ { id: 't1', capability: 'test', input: { value: '1' } },
277
+ { id: 't2', capability: 'test', input: { value: '2' } },
278
+ { id: 't3', capability: 'test', input: { value: '3' } },
279
+ ],
280
+ edges: [
281
+ { from: 't1', to: 't2' },
282
+ { from: 't2', to: 't3' },
283
+ ],
284
+ };
285
+ const result = await executeResumablePlan({
286
+ goal: makeGoal(),
287
+ context: makeContext(),
288
+ plan,
289
+ capabilityRegistry: makeRegistry(),
290
+ toolRegistry: new SimpleToolRegistry(),
291
+ ledger: new MemoryLedger(),
292
+ checkpointStore: new MemoryCheckpointStore(),
293
+ runId: 'earlybreak-run',
294
+ taskScope: ['t1'],
295
+ ...sharedNucleusOptions,
296
+ });
297
+ const executedIds = Object.keys(result.outputsByTask);
298
+ if (executedIds.length !== 1) {
299
+ throw new Error(`Expected 1 task (early break), got ${executedIds.length}: ${executedIds}`);
300
+ }
301
+ if (!result.outputsByTask.t1)
302
+ throw new Error('t1 should have been executed');
303
+ });
304
+ // ── 7. Empty taskScope array — nothing runs ──────────────────
305
+ await runTest('Empty taskScope [] — no tasks execute', async () => {
306
+ const result = await executeResumablePlan({
307
+ goal: makeGoal(),
308
+ context: makeContext(),
309
+ plan: makeDiamondPlan(),
310
+ capabilityRegistry: makeRegistry(),
311
+ toolRegistry: new SimpleToolRegistry(),
312
+ ledger: new MemoryLedger(),
313
+ checkpointStore: new MemoryCheckpointStore(),
314
+ runId: 'empty-scope',
315
+ taskScope: [],
316
+ ...sharedNucleusOptions,
317
+ });
318
+ const executedIds = Object.keys(result.outputsByTask);
319
+ if (executedIds.length !== 0) {
320
+ throw new Error(`Expected 0 tasks with empty scope, got ${executedIds.length}`);
321
+ }
322
+ });
323
+ // ── 8. taskScope with non-existent IDs — nothing runs ────────
324
+ await runTest('taskScope with bogus IDs — no tasks execute', async () => {
325
+ const result = await executeResumablePlan({
326
+ goal: makeGoal(),
327
+ context: makeContext(),
328
+ plan: makeDiamondPlan(),
329
+ capabilityRegistry: makeRegistry(),
330
+ toolRegistry: new SimpleToolRegistry(),
331
+ ledger: new MemoryLedger(),
332
+ checkpointStore: new MemoryCheckpointStore(),
333
+ runId: 'bogus-scope',
334
+ taskScope: ['x1', 'x2'],
335
+ ...sharedNucleusOptions,
336
+ });
337
+ const executedIds = Object.keys(result.outputsByTask);
338
+ if (executedIds.length !== 0) {
339
+ throw new Error(`Expected 0 tasks with bogus scope, got ${executedIds.length}`);
340
+ }
341
+ });
342
+ // ── 9. taskScope with resume — scope filtering after restore ─
343
+ await runTest('taskScope with resume — scope applied after checkpoint restore', async () => {
344
+ // Full plan: t1 → t2 → t3, first run executes all;
345
+ // resume with taskScope=[t3] should detect t3 already done → skip
346
+ const plan = {
347
+ id: 'scope-resume-plan',
348
+ contextRef: 'ref',
349
+ capabilityMapVersion: '1.0',
350
+ tasks: [
351
+ { id: 't1', capability: 'test', input: { value: '1' } },
352
+ { id: 't2', capability: 'test', input: { value: '2' } },
353
+ { id: 't3', capability: 'test', input: { value: '3' } },
354
+ ],
355
+ edges: [
356
+ { from: 't1', to: 't2' },
357
+ { from: 't2', to: 't3' },
358
+ ],
359
+ };
360
+ const checkpointStore = new MemoryCheckpointStore();
361
+ const runId = 'scope-resume-run';
362
+ // First run: execute entire plan
363
+ await executeResumablePlan({
364
+ goal: makeGoal(),
365
+ context: makeContext(),
366
+ plan,
367
+ capabilityRegistry: makeRegistry(),
368
+ toolRegistry: new SimpleToolRegistry(),
369
+ ledger: new MemoryLedger(),
370
+ checkpointStore,
371
+ runId,
372
+ ...sharedNucleusOptions,
373
+ });
374
+ // Get latest checkpoint
375
+ const cp = await checkpointStore.get(runId);
376
+ if (!cp)
377
+ throw new Error('Checkpoint not found');
378
+ // Resume with taskScope=['t3'] — t3 was already executed in the first run
379
+ const result2 = await executeResumablePlan({
380
+ goal: makeGoal(),
381
+ context: makeContext(),
382
+ plan,
383
+ capabilityRegistry: makeRegistry(),
384
+ toolRegistry: new SimpleToolRegistry(),
385
+ ledger: new MemoryLedger(),
386
+ checkpointStore,
387
+ runId,
388
+ resumeFrom: cp.id,
389
+ taskScope: ['t3'],
390
+ ...sharedNucleusOptions,
391
+ });
392
+ // t3 was already in executed set from checkpoint, so taskScope=['t3']
393
+ // should result in early-break. The outputs should still include t3 from the
394
+ // restored state.
395
+ if (!result2.outputsByTask.t3) {
396
+ throw new Error('t3 should be in restored outputs');
397
+ }
398
+ });
399
+ // ── 10. taskScope preserves original output values ───────────
400
+ await runTest('taskScope produces correct output values per task', async () => {
401
+ const plan = {
402
+ id: 'output-plan',
403
+ contextRef: 'ref',
404
+ capabilityMapVersion: '1.0',
405
+ tasks: [
406
+ { id: 'a', capability: 'test', input: { value: 'alpha' } },
407
+ { id: 'b', capability: 'test', input: { value: 'bravo' } },
408
+ { id: 'c', capability: 'test', input: { value: 'charlie' } },
409
+ ],
410
+ edges: [],
411
+ };
412
+ const result = await executeResumablePlan({
413
+ goal: makeGoal(),
414
+ context: makeContext(),
415
+ plan,
416
+ capabilityRegistry: makeRegistry(),
417
+ toolRegistry: new SimpleToolRegistry(),
418
+ ledger: new MemoryLedger(),
419
+ checkpointStore: new MemoryCheckpointStore(),
420
+ runId: 'output-run',
421
+ taskScope: ['b'],
422
+ ...sharedNucleusOptions,
423
+ });
424
+ if (result.outputsByTask.b.output.result !== 'executed-bravo') {
425
+ throw new Error(`Expected 'executed-bravo', got '${result.outputsByTask.b.output.result}'`);
426
+ }
427
+ });
428
+ // ── 11. taskScope checkpoints only scoped tasks ──────────────
429
+ await runTest('taskScope: checkpoints reflect only scoped executions', async () => {
430
+ const plan = {
431
+ id: 'cp-plan',
432
+ contextRef: 'ref',
433
+ capabilityMapVersion: '1.0',
434
+ tasks: [
435
+ { id: 'a', capability: 'test', input: { value: 'alpha' } },
436
+ { id: 'b', capability: 'test', input: { value: 'bravo' } },
437
+ { id: 'c', capability: 'test', input: { value: 'charlie' } },
438
+ ],
439
+ edges: [],
440
+ };
441
+ const checkpointStore = new MemoryCheckpointStore();
442
+ const runId = 'cp-scope-run';
443
+ await executeResumablePlan({
444
+ goal: makeGoal(),
445
+ context: makeContext(),
446
+ plan,
447
+ capabilityRegistry: makeRegistry(),
448
+ toolRegistry: new SimpleToolRegistry(),
449
+ ledger: new MemoryLedger(),
450
+ checkpointStore,
451
+ runId,
452
+ taskScope: ['a', 'c'],
453
+ checkpointInterval: 1,
454
+ ...sharedNucleusOptions,
455
+ });
456
+ // Verify checkpoint contains exactly the scoped tasks
457
+ const cp = await checkpointStore.get(runId);
458
+ if (!cp)
459
+ throw new Error('No checkpoint created');
460
+ const executedInCheckpoint = new Set(cp.state.executed);
461
+ if (executedInCheckpoint.size !== 2) {
462
+ throw new Error(`Expected 2 executed in checkpoint, got ${executedInCheckpoint.size}`);
463
+ }
464
+ if (!executedInCheckpoint.has('a') || !executedInCheckpoint.has('c')) {
465
+ throw new Error('Checkpoint should contain tasks a and c');
466
+ }
467
+ if (executedInCheckpoint.has('b')) {
468
+ throw new Error('Checkpoint should NOT contain task b');
469
+ }
470
+ });
471
+ // ── 12. taskScope with leaf task whose deps are met ──────────
472
+ await runTest('taskScope: [t1, t4] in diamond — t4 blocked until deps complete', async () => {
473
+ // Diamond: t1 → t2, t1 → t3, t2 → t4, t3 → t4
474
+ // scope = [t1, t4]. t1 will execute, but t4 depends on t2 and t3 which are
475
+ // NOT in scope. t4 should NOT execute.
476
+ const result = await executeResumablePlan({
477
+ goal: makeGoal(),
478
+ context: makeContext(),
479
+ plan: makeDiamondPlan(),
480
+ capabilityRegistry: makeRegistry(),
481
+ toolRegistry: new SimpleToolRegistry(),
482
+ ledger: new MemoryLedger(),
483
+ checkpointStore: new MemoryCheckpointStore(),
484
+ runId: 'scope-diamond-t1-t4',
485
+ taskScope: ['t1', 't4'],
486
+ ...sharedNucleusOptions,
487
+ });
488
+ const executedIds = Object.keys(result.outputsByTask);
489
+ // Only t1 should execute; t4 is blocked by t2/t3 which aren't in scope
490
+ if (executedIds.length !== 1) {
491
+ throw new Error(`Expected 1 task (t1 only), got ${executedIds.length}: ${executedIds}`);
492
+ }
493
+ if (!result.outputsByTask.t1)
494
+ throw new Error('t1 should execute');
495
+ if (result.outputsByTask.t4)
496
+ throw new Error('t4 should NOT execute (deps not met)');
497
+ });
498
+ // ── 13. Ledger recorded correctly with taskScope ─────────────
499
+ await runTest('Ledger entries accurate when taskScope limits execution', async () => {
500
+ const plan = {
501
+ id: 'ledger-plan',
502
+ contextRef: 'ref',
503
+ capabilityMapVersion: '1.0',
504
+ tasks: [
505
+ { id: 'a', capability: 'test', input: { value: 'alpha' } },
506
+ { id: 'b', capability: 'test', input: { value: 'bravo' } },
507
+ ],
508
+ edges: [],
509
+ };
510
+ const ledger = new MemoryLedger();
511
+ await executeResumablePlan({
512
+ goal: makeGoal(),
513
+ context: makeContext(),
514
+ plan,
515
+ capabilityRegistry: makeRegistry(),
516
+ toolRegistry: new SimpleToolRegistry(),
517
+ ledger,
518
+ checkpointStore: new MemoryCheckpointStore(),
519
+ runId: 'ledger-scope-run',
520
+ taskScope: ['a'],
521
+ ...sharedNucleusOptions,
522
+ });
523
+ const entries = ledger.getEntries();
524
+ // Should have PLAN_SELECTED + TASK_STARTED/COMPLETED for 'a' only
525
+ const taskEntries = entries.filter(e => e.type === 'TASK_END' || e.type === 'TASK_START');
526
+ const taskIds = taskEntries.map(e => e.details?.taskId).filter(Boolean);
527
+ const unique = [...new Set(taskIds)];
528
+ if (unique.length !== 1 || unique[0] !== 'a') {
529
+ throw new Error(`Expected ledger entries only for 'a', got ${unique}`);
530
+ }
531
+ });
532
+ // ── Summary ──────────────────────────────────────────────────
533
+ console.log('\n' + '='.repeat(60));
534
+ console.log(`Results: ${passed} passed, ${failed} failed`);
535
+ console.log('='.repeat(60));
536
+ if (failed > 0)
537
+ process.exit(1);
538
+ //# sourceMappingURL=task-scope.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-scope.test.js","sourceRoot":"","sources":["../../tests/task-scope.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Tool, ToolCallEnvelope, ToolRegistry } from '@acm/sdk';
2
+ import type { MemoryLedger } from './ledger.js';
3
+ type ToolGetterOptions = {
4
+ taskId: string;
5
+ capability: string;
6
+ toolRegistry: ToolRegistry;
7
+ ledger?: MemoryLedger;
8
+ };
9
+ export declare function createInstrumentedToolGetter(options: ToolGetterOptions): (toolName: string) => Tool<any, any> | undefined;
10
+ export type { ToolCallEnvelope };