@decaf-ts/core 0.10.2 → 0.12.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 (72) hide show
  1. package/README.md +1 -1
  2. package/dist/core.cjs +1 -1
  3. package/dist/core.cjs.map +1 -1
  4. package/dist/core.js +1 -1
  5. package/dist/core.js.map +1 -1
  6. package/lib/esm/index.d.ts +1 -1
  7. package/lib/esm/index.js +1 -1
  8. package/lib/esm/persistence/Dispatch.d.ts +1 -0
  9. package/lib/esm/persistence/Dispatch.js +17 -3
  10. package/lib/esm/persistence/Dispatch.js.map +1 -1
  11. package/lib/esm/services/services.d.ts +1 -0
  12. package/lib/esm/services/services.js +14 -0
  13. package/lib/esm/services/services.js.map +1 -1
  14. package/lib/esm/tasks/TaskContext.d.ts +4 -0
  15. package/lib/esm/tasks/TaskContext.js +14 -0
  16. package/lib/esm/tasks/TaskContext.js.map +1 -1
  17. package/lib/esm/tasks/TaskEngine.d.ts +13 -0
  18. package/lib/esm/tasks/TaskEngine.js +196 -2
  19. package/lib/esm/tasks/TaskEngine.js.map +1 -1
  20. package/lib/esm/tasks/TaskHandler.d.ts +1 -0
  21. package/lib/esm/tasks/TaskHandler.js +6 -0
  22. package/lib/esm/tasks/TaskHandler.js.map +1 -1
  23. package/lib/esm/tasks/TaskTracker.d.ts +1 -0
  24. package/lib/esm/tasks/TaskTracker.js +13 -0
  25. package/lib/esm/tasks/TaskTracker.js.map +1 -1
  26. package/lib/esm/tasks/builder.d.ts +24 -4
  27. package/lib/esm/tasks/builder.js +66 -3
  28. package/lib/esm/tasks/builder.js.map +1 -1
  29. package/lib/esm/tasks/constants.d.ts +1 -0
  30. package/lib/esm/tasks/constants.js +1 -0
  31. package/lib/esm/tasks/constants.js.map +1 -1
  32. package/lib/esm/tasks/models/TaskModel.d.ts +2 -0
  33. package/lib/esm/tasks/models/TaskModel.js +15 -0
  34. package/lib/esm/tasks/models/TaskModel.js.map +1 -1
  35. package/lib/esm/tasks/models/TaskStepSpecModel.d.ts +2 -0
  36. package/lib/esm/tasks/models/TaskStepSpecModel.js +12 -0
  37. package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -1
  38. package/lib/esm/tasks/types.d.ts +7 -1
  39. package/lib/index.cjs +1 -1
  40. package/lib/index.d.ts +1 -1
  41. package/lib/persistence/Dispatch.cjs +17 -3
  42. package/lib/persistence/Dispatch.d.ts +1 -0
  43. package/lib/persistence/Dispatch.js.map +1 -1
  44. package/lib/services/services.cjs +14 -0
  45. package/lib/services/services.d.ts +1 -0
  46. package/lib/services/services.js.map +1 -1
  47. package/lib/tasks/TaskContext.cjs +14 -0
  48. package/lib/tasks/TaskContext.d.ts +4 -0
  49. package/lib/tasks/TaskContext.js.map +1 -1
  50. package/lib/tasks/TaskEngine.cjs +196 -2
  51. package/lib/tasks/TaskEngine.d.ts +13 -0
  52. package/lib/tasks/TaskEngine.js.map +1 -1
  53. package/lib/tasks/TaskHandler.cjs +6 -0
  54. package/lib/tasks/TaskHandler.d.ts +1 -0
  55. package/lib/tasks/TaskHandler.js.map +1 -1
  56. package/lib/tasks/TaskTracker.cjs +13 -0
  57. package/lib/tasks/TaskTracker.d.ts +1 -0
  58. package/lib/tasks/TaskTracker.js.map +1 -1
  59. package/lib/tasks/builder.cjs +68 -4
  60. package/lib/tasks/builder.d.ts +24 -4
  61. package/lib/tasks/builder.js.map +1 -1
  62. package/lib/tasks/constants.cjs +1 -0
  63. package/lib/tasks/constants.d.ts +1 -0
  64. package/lib/tasks/constants.js.map +1 -1
  65. package/lib/tasks/models/TaskModel.cjs +15 -0
  66. package/lib/tasks/models/TaskModel.d.ts +2 -0
  67. package/lib/tasks/models/TaskModel.js.map +1 -1
  68. package/lib/tasks/models/TaskStepSpecModel.cjs +12 -0
  69. package/lib/tasks/models/TaskStepSpecModel.d.ts +2 -0
  70. package/lib/tasks/models/TaskStepSpecModel.js.map +1 -1
  71. package/lib/tasks/types.d.ts +7 -1
  72. package/package.json +1 -1
@@ -22,7 +22,7 @@ export * from "./persistence";
22
22
  * @const VERSION
23
23
  * @memberOf module:core
24
24
  */
25
- export declare const VERSION = "0.10.1";
25
+ export declare const VERSION = "0.11.0";
26
26
  /**
27
27
  * @description Stores the current package version
28
28
  * @summary A constant representing the version of the core package
package/lib/esm/index.js CHANGED
@@ -32,7 +32,7 @@ export * from "./persistence/index.js";
32
32
  * @const VERSION
33
33
  * @memberOf module:core
34
34
  */
35
- export const VERSION = "0.10.1";
35
+ export const VERSION = "0.11.0";
36
36
  /**
37
37
  * @description Stores the current package version
38
38
  * @summary A constant representing the version of the core package
@@ -32,6 +32,7 @@ import { ContextualArgs, ContextualizedArgs, ContextualLoggedClass, MaybeContext
32
32
  * ```
33
33
  */
34
34
  export declare class Dispatch<A extends Adapter<any, any, any, any>> extends ContextualLoggedClass<ContextOf<A>> implements AdapterDispatch<A> {
35
+ private isSameObservedAdapter;
35
36
  /**
36
37
  * Indicates whether the dispatcher has already been initialized.
37
38
  *
@@ -31,6 +31,17 @@ import { PersistenceKeys } from "./constants.js";
31
31
  * ```
32
32
  */
33
33
  export class Dispatch extends ContextualLoggedClass {
34
+ isSameObservedAdapter(observer) {
35
+ if (!this.adapter)
36
+ return false;
37
+ if (this.adapter === observer)
38
+ return true;
39
+ const current = this.adapter;
40
+ const candidate = observer;
41
+ if (!(candidate instanceof Adapter))
42
+ return false;
43
+ return (current.alias === candidate.alias && current.flavour === candidate.flavour);
44
+ }
34
45
  /**
35
46
  * @description Creates a new Dispatch instance
36
47
  * @summary Initializes a new Dispatch instance without any adapter
@@ -183,8 +194,11 @@ export class Dispatch extends ContextualLoggedClass {
183
194
  observe(observer) {
184
195
  if (!(observer instanceof Adapter))
185
196
  throw new UnsupportedError("Only Adapters can be observed by dispatch");
186
- if (this.adapter)
187
- return () => this.unObserve(this.adapter);
197
+ if (this.adapter) {
198
+ if (this.isSameObservedAdapter(observer))
199
+ return () => this.unObserve(observer);
200
+ throw new UnsupportedError("Dispatch is already observing another adapter");
201
+ }
188
202
  this.adapter = observer;
189
203
  this.models = Adapter.models(this.adapter.alias);
190
204
  this.initialize().then(() => this.log.verbose(`Dispatch initialized for ${this.adapter.alias} adapter`));
@@ -197,7 +211,7 @@ export class Dispatch extends ContextualLoggedClass {
197
211
  * @return {void}
198
212
  */
199
213
  unObserve(observer) {
200
- if (this.adapter !== observer)
214
+ if (!this.isSameObservedAdapter(observer))
201
215
  throw new UnsupportedError("Only the adapter that was used to observe can be unobserved");
202
216
  this.adapter = undefined;
203
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Dispatch.js","sourceRoot":"","sources":["../../../src/persistence/Dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dispatch.js","sourceRoot":"","sources":["../../../src/persistence/Dispatch.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare abstract class Service<C extends Context<ContextFlags<any>> = Con
10
10
  protected observerHandler?: ObserverHandler;
11
11
  protected constructor(name?: string | undefined);
12
12
  for(conf: any, ...args: any[]): this;
13
+ override(conf: any, ...args: any[]): this;
13
14
  /**
14
15
  * @description Registers an observer for this repository.
15
16
  * @summary Adds an observer that will be notified of changes to models in this repository.
@@ -42,6 +42,20 @@ export class Service extends ContextualLoggedClass {
42
42
  },
43
43
  });
44
44
  }
45
+ override(conf, ...args) {
46
+ return new Proxy(this, {
47
+ get(original, prop, receiver) {
48
+ const orig = Reflect.get(original, prop, receiver);
49
+ if (typeof orig !== "object")
50
+ return orig;
51
+ if (orig instanceof Service)
52
+ return orig.override(conf, ...args);
53
+ if (orig instanceof Repository)
54
+ return orig.override(conf);
55
+ return orig;
56
+ },
57
+ });
58
+ }
45
59
  /**
46
60
  * @description Registers an observer for this repository.
47
61
  * @summary Adds an observer that will be notified of changes to models in this repository.
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/services/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/services/services.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { DateTarget } from "@decaf-ts/decorator-validation";
5
5
  import { TaskErrorModel } from "./models/TaskErrorModel";
6
6
  import { TaskStatus } from "./constants";
7
7
  import { TaskStateChangeRequest } from "./TaskStateChangeError";
8
+ import { TaskStepSpecModel } from "./models/TaskStepSpecModel";
8
9
  export declare class TaskContext extends Context<TaskFlags> {
9
10
  get taskId(): string;
10
11
  get logger(): TaskLogger<any>;
@@ -22,5 +23,8 @@ export declare class TaskContext extends Context<TaskFlags> {
22
23
  reschedule(when: DateTarget, reason?: string | Error | TaskErrorModel): never;
23
24
  private toTaskError;
24
25
  get resultCache(): Record<string, any> | undefined;
26
+ scheduleSteps(...steps: (TaskStepSpecModel | Partial<TaskStepSpecModel>)[]): {
27
+ afterCurrent: () => Promise<void>;
28
+ };
25
29
  constructor(ctx?: Context<any>);
26
30
  }
@@ -3,6 +3,8 @@ import { TaskErrorModel } from "./models/TaskErrorModel.js";
3
3
  import { TaskStatus } from "./constants.js";
4
4
  import { serializeError } from "./utils.js";
5
5
  import { TaskStateChangeError } from "./TaskStateChangeError.js";
6
+ import { TaskStepSpecModel } from "./models/TaskStepSpecModel.js";
7
+ import { InternalError } from "@decaf-ts/db-decorators";
6
8
  export class TaskContext extends Context {
7
9
  get taskId() {
8
10
  return this.get("taskId");
@@ -76,6 +78,18 @@ export class TaskContext extends Context {
76
78
  get resultCache() {
77
79
  return this.get("resultCache");
78
80
  }
81
+ scheduleSteps(...steps) {
82
+ const normalized = (steps ?? []).map((step) => step instanceof TaskStepSpecModel ? step : new TaskStepSpecModel(step));
83
+ return {
84
+ afterCurrent: async () => {
85
+ const scheduler = this.getOrUndefined("scheduleCompositeSteps");
86
+ if (!scheduler) {
87
+ throw new InternalError("scheduleSteps().afterCurrent() is only available while running a composite task step");
88
+ }
89
+ await scheduler(normalized);
90
+ },
91
+ };
92
+ }
79
93
  constructor(ctx) {
80
94
  super(ctx);
81
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TaskContext.js","sourceRoot":"","sources":["../../../src/tasks/TaskContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskContext.js","sourceRoot":"","sources":["../../../src/tasks/TaskContext.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ import { Constructor } from "@decaf-ts/decoration";
21
21
  import { TaskEngineConfig, TaskFlags } from "./types";
22
22
  import { TaskTracker } from "./TaskTracker";
23
23
  import { Lock } from "@decaf-ts/transactional-decorators";
24
+ type ParsedTaskDependency = {
25
+ taskId: string;
26
+ stepRef?: string;
27
+ };
24
28
  export declare class TaskEngine<A extends Adapter<any, any, any, any>, C extends TaskEngineConfig<A> = TaskEngineConfig<A>> extends AbsContextual<ContextOf<A>> {
25
29
  protected config: C;
26
30
  private _tasks?;
@@ -67,6 +71,14 @@ export declare class TaskEngine<A extends Adapter<any, any, any, any>, C extends
67
71
  protected loop(...args: ContextualArgs<any>): Promise<void>;
68
72
  protected claimBatch(ctx: Context<any>): Promise<TaskModel[]>;
69
73
  protected tryClaim(task: TaskModel, ctx: Context): Promise<TaskModel | null>;
74
+ protected isTaskFinished(status?: TaskStatus): boolean;
75
+ protected parseTaskDependency(value: string): ParsedTaskDependency | undefined;
76
+ protected normalizeDependencies(deps: string[] | string | undefined): ParsedTaskDependency[];
77
+ protected resolveDependencyStepIndex(task: TaskModel, stepRef: string): number | undefined;
78
+ protected areDependenciesSatisfied(dependencies: ParsedTaskDependency[], ctx: Context): Promise<boolean>;
79
+ protected getStepLock(task: TaskModel, stepIndex: number | undefined): string | undefined;
80
+ protected hasLockConflict(task: TaskModel, stepIndex: number | undefined, ctx: Context): Promise<boolean>;
81
+ protected isRunnable(task: TaskModel, ctx: Context): Promise<boolean>;
70
82
  protected executeClaimed(task: TaskModel): Promise<void>;
71
83
  protected handleTaskStateChange(request: TaskStateChangeRequest, task: TaskModel, ctx: TaskContext): Promise<void>;
72
84
  protected runComposite(task: TaskModel, context: TaskContext): Promise<any>;
@@ -82,3 +94,4 @@ export declare class TaskEngine<A extends Adapter<any, any, any, any>, C extends
82
94
  toString(): string;
83
95
  context(operation: ((...args: any[]) => any) | OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE | string, overrides: Partial<FlagsOf<ContextOf<A>>>, ...args: any[]): Promise<ContextOf<A>>;
84
96
  }
97
+ export {};
@@ -282,6 +282,9 @@ export class TaskEngine extends AbsContextual {
282
282
  catch {
283
283
  // fallback to candidate payload
284
284
  }
285
+ const runnable = await this.isRunnable(source, ctx);
286
+ if (!runnable)
287
+ return null;
285
288
  const claimed = new TaskModel({
286
289
  ...source,
287
290
  status: TaskStatus.RUNNING,
@@ -299,6 +302,141 @@ export class TaskEngine extends AbsContextual {
299
302
  return null;
300
303
  }
301
304
  }
305
+ isTaskFinished(status) {
306
+ return [
307
+ TaskStatus.SUCCEEDED,
308
+ TaskStatus.FAILED,
309
+ TaskStatus.CANCELED,
310
+ ].includes(status);
311
+ }
312
+ parseTaskDependency(value) {
313
+ const raw = value?.trim();
314
+ if (!raw)
315
+ return undefined;
316
+ const sep = raw.lastIndexOf(":");
317
+ if (sep <= 0 || sep >= raw.length - 1)
318
+ return { taskId: raw };
319
+ const taskId = raw.slice(0, sep).trim();
320
+ const stepRef = raw.slice(sep + 1).trim();
321
+ if (!taskId || !stepRef)
322
+ return { taskId: raw };
323
+ return { taskId, stepRef };
324
+ }
325
+ normalizeDependencies(deps) {
326
+ if (!deps)
327
+ return [];
328
+ let payload = deps;
329
+ if (typeof payload === "string") {
330
+ try {
331
+ payload = JSON.parse(payload);
332
+ }
333
+ catch {
334
+ payload = [payload];
335
+ }
336
+ }
337
+ if (payload instanceof Set)
338
+ payload = Array.from(payload);
339
+ if (!Array.isArray(payload))
340
+ return [];
341
+ return payload
342
+ .filter((value) => typeof value === "string")
343
+ .map((value) => this.parseTaskDependency(value))
344
+ .filter(Boolean);
345
+ }
346
+ resolveDependencyStepIndex(task, stepRef) {
347
+ const trimmed = stepRef.trim();
348
+ if (!trimmed)
349
+ return undefined;
350
+ const numeric = Number(trimmed);
351
+ if (Number.isInteger(numeric) && numeric >= 0)
352
+ return numeric;
353
+ const steps = this.normalizeSteps(task.steps);
354
+ const index = steps.findIndex((step) => step.name === trimmed || step.classification === trimmed);
355
+ return index >= 0 ? index : undefined;
356
+ }
357
+ async areDependenciesSatisfied(dependencies, ctx) {
358
+ if (!dependencies.length)
359
+ return true;
360
+ const taskIds = Array.from(new Set(dependencies.map((dep) => dep.taskId)));
361
+ const dependencyTasks = new Map();
362
+ try {
363
+ const loaded = await this.tasks.readAll(taskIds, ctx);
364
+ for (const task of loaded) {
365
+ if (task?.id)
366
+ dependencyTasks.set(task.id, task);
367
+ }
368
+ }
369
+ catch {
370
+ return false;
371
+ }
372
+ for (const dep of dependencies) {
373
+ try {
374
+ const depTask = dependencyTasks.get(dep.taskId);
375
+ if (!depTask)
376
+ return false;
377
+ if (!dep.stepRef) {
378
+ if (!this.isTaskFinished(depTask.status))
379
+ return false;
380
+ continue;
381
+ }
382
+ const depStep = this.resolveDependencyStepIndex(depTask, dep.stepRef);
383
+ if (depStep == null)
384
+ return false;
385
+ const stepResults = this.normalizeStepResults(depTask.stepResults);
386
+ const stepResult = stepResults[depStep];
387
+ if (!stepResult || !this.isTaskFinished(stepResult.status))
388
+ return false;
389
+ }
390
+ catch {
391
+ return false;
392
+ }
393
+ }
394
+ return true;
395
+ }
396
+ getStepLock(task, stepIndex) {
397
+ if (task.atomicity !== TaskType.COMPOSITE)
398
+ return undefined;
399
+ const steps = this.normalizeSteps(task.steps);
400
+ if (!steps.length)
401
+ return undefined;
402
+ const index = stepIndex == null ? 0 : stepIndex;
403
+ const step = steps[index];
404
+ return step?.lock;
405
+ }
406
+ async hasLockConflict(task, stepIndex, ctx) {
407
+ const candidateLocks = [
408
+ task.lock,
409
+ this.getStepLock(task, stepIndex),
410
+ ].filter((value) => !!value && typeof value === "string");
411
+ if (!candidateLocks.length)
412
+ return false;
413
+ const runningTasks = await this.tasks
414
+ .select()
415
+ .where(Condition.attribute("status").eq(TaskStatus.RUNNING))
416
+ .execute(ctx);
417
+ for (const running of runningTasks) {
418
+ if (running.id === task.id)
419
+ continue;
420
+ const runningLocks = [
421
+ running.lock,
422
+ this.getStepLock(running, running.currentStep),
423
+ ].filter((value) => !!value && typeof value === "string");
424
+ if (runningLocks.some((lock) => candidateLocks.includes(lock))) {
425
+ return true;
426
+ }
427
+ }
428
+ return false;
429
+ }
430
+ async isRunnable(task, ctx) {
431
+ const dependencies = this.normalizeDependencies(task.dependencies);
432
+ const dependenciesSatisfied = await this.areDependenciesSatisfied(dependencies, ctx);
433
+ if (!dependenciesSatisfied)
434
+ return false;
435
+ const stepIndex = task.atomicity === TaskType.COMPOSITE
436
+ ? (task.currentStep ?? 0)
437
+ : undefined;
438
+ return !(await this.hasLockConflict(task, stepIndex, ctx));
439
+ }
302
440
  // -------------------------
303
441
  // Execution
304
442
  // -------------------------
@@ -345,6 +483,8 @@ export class TaskEngine extends AbsContextual {
345
483
  },
346
484
  });
347
485
  await this.emitStatus(taskCtx, task, TaskStatus.RUNNING);
486
+ let activeHandler;
487
+ let activeInput;
348
488
  try {
349
489
  let output;
350
490
  if (task.atomicity === TaskType.COMPOSITE) {
@@ -363,6 +503,8 @@ export class TaskEngine extends AbsContextual {
363
503
  }
364
504
  else {
365
505
  const handler = this.registry.get(task.classification);
506
+ activeHandler = handler;
507
+ activeInput = task.input;
366
508
  log.debug(`handler type for ${task.id} is ${handler?.constructor?.name ?? "none"}`);
367
509
  if (!handler)
368
510
  throw new InternalError(`No task handler registered for type: ${task.classification}`);
@@ -403,6 +545,12 @@ export class TaskEngine extends AbsContextual {
403
545
  await this.handleTaskStateChange(err.request, task, taskCtx);
404
546
  return;
405
547
  }
548
+ try {
549
+ await activeHandler?.catch?.(activeInput, err, taskCtx);
550
+ }
551
+ catch (catchErr) {
552
+ log.error("task handler catch() hook failed", catchErr);
553
+ }
406
554
  log.error("task execution error", err);
407
555
  if (task.atomicity === TaskType.COMPOSITE) {
408
556
  const normalizedResults = this.normalizeStepResults(task.stepResults);
@@ -517,7 +665,7 @@ export class TaskEngine extends AbsContextual {
517
665
  }
518
666
  async runComposite(task, context) {
519
667
  const { ctx } = (await this.logCtx([context], task.classification, true)).for(this.runComposite);
520
- const steps = this.normalizeSteps(task.steps);
668
+ let steps = this.normalizeSteps(task.steps);
521
669
  let idx = task.currentStep ?? 0;
522
670
  const results = this.normalizeStepResults(task.stepResults);
523
671
  const cacheResult = (key, value) => {
@@ -543,6 +691,45 @@ export class TaskEngine extends AbsContextual {
543
691
  const handler = this.registry.get(step.classification);
544
692
  if (!handler)
545
693
  throw new Error(`No task handler registered for composite step: ${step.classification}`);
694
+ const dependencies = this.normalizeDependencies(step.dependsOn);
695
+ const dependenciesSatisfied = await this.areDependenciesSatisfied(dependencies, context);
696
+ if (!dependenciesSatisfied) {
697
+ context.reschedule(new Date(Date.now() + this.config.pollMsIdle), `Waiting dependencies for step ${idx} (${step.classification})`);
698
+ }
699
+ const lockConflict = await this.hasLockConflict(task, idx, context);
700
+ if (lockConflict) {
701
+ context.reschedule(new Date(Date.now() + this.config.pollMsIdle), `Waiting lock for step ${idx} (${step.classification})`);
702
+ }
703
+ task.currentStep = idx;
704
+ const persistedCurrent = await this.tasks.update(task);
705
+ Object.assign(task, persistedCurrent);
706
+ await context.progress({
707
+ currentStep: idx,
708
+ totalSteps: steps.length,
709
+ });
710
+ const stepIndex = idx;
711
+ context.cache.put("scheduleCompositeSteps", async (newSteps) => {
712
+ const normalizedNewSteps = this.normalizeSteps(newSteps);
713
+ if (!normalizedNewSteps.length)
714
+ return;
715
+ const currentSteps = this.normalizeSteps(task.steps);
716
+ const insertionIndex = Math.min(stepIndex + 1, currentSteps.length);
717
+ currentSteps.splice(insertionIndex, 0, ...normalizedNewSteps);
718
+ task.steps = currentSteps;
719
+ const persisted = await this.tasks.update(task, context);
720
+ Object.assign(task, persisted);
721
+ steps = this.normalizeSteps(task.steps);
722
+ const updateEvent = await this.persistEvent(context, task.id, TaskEventType.UPDATE, {
723
+ status: "update",
724
+ currentStep: stepIndex,
725
+ totalSteps: steps.length,
726
+ output: {
727
+ added: normalizedNewSteps.length,
728
+ insertionIndex,
729
+ },
730
+ });
731
+ this.bus.emit(updateEvent, context);
732
+ });
546
733
  await context.pipe([
547
734
  LogLevel.info,
548
735
  `Composite step ${idx + 1}/${steps.length}: ${step.classification}`,
@@ -551,7 +738,6 @@ export class TaskEngine extends AbsContextual {
551
738
  const out = await handler.run(step.input, context);
552
739
  // Ensure step-tagged logs are flushed before advancing the step pointer.
553
740
  await context.flush();
554
- const stepIndex = idx;
555
741
  const now = new Date();
556
742
  results[stepIndex] = new TaskStepResultModel({
557
743
  status: TaskStatus.SUCCEEDED,
@@ -574,6 +760,14 @@ export class TaskEngine extends AbsContextual {
574
760
  });
575
761
  }
576
762
  catch (err) {
763
+ try {
764
+ await handler.catch?.(step.input, err, context);
765
+ }
766
+ catch (catchErr) {
767
+ ctx.logger.warn("composite step catch() hook failed", {
768
+ error: catchErr,
769
+ });
770
+ }
577
771
  const now = new Date();
578
772
  results[idx] = new TaskStepResultModel({
579
773
  status: TaskStatus.FAILED,