@decaf-ts/core 0.26.0 → 0.26.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 (48) 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/cjs/index.cjs +3 -3
  7. package/lib/cjs/repository/Repository.cjs +3 -3
  8. package/lib/cjs/repository/Repository.cjs.map +1 -1
  9. package/lib/cjs/tasks/TaskContext.cjs +9 -2
  10. package/lib/cjs/tasks/TaskContext.cjs.map +1 -1
  11. package/lib/cjs/tasks/TaskEngine.cjs +76 -30
  12. package/lib/cjs/tasks/TaskEngine.cjs.map +1 -1
  13. package/lib/cjs/tasks/builder.cjs +8 -0
  14. package/lib/cjs/tasks/builder.cjs.map +1 -1
  15. package/lib/cjs/tasks/logging.cjs +12 -3
  16. package/lib/cjs/tasks/logging.cjs.map +1 -1
  17. package/lib/cjs/tasks/models/TaskStepResultModel.cjs +6 -0
  18. package/lib/cjs/tasks/models/TaskStepResultModel.cjs.map +1 -1
  19. package/lib/cjs/tasks/models/TaskStepSpecModel.cjs +14 -0
  20. package/lib/cjs/tasks/models/TaskStepSpecModel.cjs.map +1 -1
  21. package/lib/esm/index.js +3 -3
  22. package/lib/esm/repository/Repository.js +3 -3
  23. package/lib/esm/repository/Repository.js.map +1 -1
  24. package/lib/esm/tasks/TaskContext.js +9 -2
  25. package/lib/esm/tasks/TaskContext.js.map +1 -1
  26. package/lib/esm/tasks/TaskEngine.js +76 -30
  27. package/lib/esm/tasks/TaskEngine.js.map +1 -1
  28. package/lib/esm/tasks/builder.js +8 -0
  29. package/lib/esm/tasks/builder.js.map +1 -1
  30. package/lib/esm/tasks/logging.js +12 -3
  31. package/lib/esm/tasks/logging.js.map +1 -1
  32. package/lib/esm/tasks/models/TaskStepResultModel.js +7 -1
  33. package/lib/esm/tasks/models/TaskStepResultModel.js.map +1 -1
  34. package/lib/esm/tasks/models/TaskStepSpecModel.js +15 -1
  35. package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -1
  36. package/lib/types/index.d.cts +3 -3
  37. package/lib/types/index.d.mts +3 -3
  38. package/lib/types/tasks/TaskContext.d.cts +2 -1
  39. package/lib/types/tasks/TaskContext.d.mts +2 -1
  40. package/lib/types/tasks/builder.d.cts +2 -0
  41. package/lib/types/tasks/builder.d.mts +2 -0
  42. package/lib/types/tasks/models/TaskStepResultModel.d.cts +1 -0
  43. package/lib/types/tasks/models/TaskStepResultModel.d.mts +1 -0
  44. package/lib/types/tasks/models/TaskStepSpecModel.d.cts +3 -0
  45. package/lib/types/tasks/models/TaskStepSpecModel.d.mts +3 -0
  46. package/lib/types/tasks/types.d.cts +2 -1
  47. package/lib/types/tasks/types.d.mts +2 -1
  48. package/package.json +1 -1
@@ -1,6 +1,5 @@
1
1
  import { LogLevel, style, } from "@decaf-ts/logging";
2
2
  import { TaskEventType, TaskStatus } from "./constants.js";
3
- import { InternalError } from "@decaf-ts/db-decorators";
4
3
  export class TaskLogger {
5
4
  constructor(logger, bufferSize = 150, maxBufferSize = 300, pipe) {
6
5
  this.logger = logger;
@@ -161,14 +160,24 @@ export function getLogPipe(log, opts = { logProgress: true, logStatus: true, sty
161
160
  status = status.cyan;
162
161
  break;
163
162
  default:
164
- throw new InternalError(`Received unknown task status: ${evt.payload}`);
163
+ log.warn(`Received unknown task status: ${evt.payload}`);
165
164
  }
166
165
  log.info(`### STATUS ${status}`);
167
166
  }
168
167
  break;
169
168
  }
169
+ case TaskEventType.UPDATE: {
170
+ if (opts.logProgress) {
171
+ const { currentStep, totalSteps, output } = evt.payload ?? {};
172
+ const added = output?.added;
173
+ const insertionIndex = output?.insertionIndex;
174
+ const detail = added != null ? ` (+${added} at index ${insertionIndex})` : "";
175
+ log.info(`### UPDATE step ${currentStep}/${totalSteps}${detail}`);
176
+ }
177
+ break;
178
+ }
170
179
  default:
171
- throw new InternalError(`Unknown task event classification: ${evt.classification}`);
180
+ log.warn(`Unhandled task event classification: ${evt.classification}`);
172
181
  }
173
182
  };
174
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/tasks/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/tasks/logging.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { Model, model, required, } from "@decaf-ts/decorator-validation";
10
+ import { min, Model, model, required, } from "@decaf-ts/decorator-validation";
11
11
  import { TaskStatus } from "./../constants.js";
12
12
  import { TaskErrorModel } from "./TaskErrorModel.js";
13
13
  import { description, prop } from "@decaf-ts/decoration";
@@ -31,6 +31,12 @@ __decorate([
31
31
  description("the error of a failed step"),
32
32
  __metadata("design:type", TaskErrorModel)
33
33
  ], TaskStepResultModel.prototype, "error", void 0);
34
+ __decorate([
35
+ prop(),
36
+ min(1),
37
+ description("Number of attempts taken to complete or fail this step"),
38
+ __metadata("design:type", Number)
39
+ ], TaskStepResultModel.prototype, "attempt", void 0);
34
40
  TaskStepResultModel = __decorate([
35
41
  model(),
36
42
  __metadata("design:paramtypes", [Object])
@@ -1 +1 @@
1
- {"version":3,"file":"TaskStepResultModel.js","sourceRoot":"","sources":["../../../../src/tasks/models/TaskStepResultModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,KAAK,EACL,KAAK,EAEL,QAAQ,GACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,0BAAqB;AAC1C,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAClD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGlD,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,KAAK;IAa5C,YAAY,GAAmC;QAC7C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAbC;IAFC,QAAQ,EAAE;IACV,WAAW,CAAC,sBAAsB,CAAC;;mDAChB;AAIpB;IAFC,IAAI,EAAE;IACN,WAAW,CAAC,iCAAiC,CAAC;;mDAClC;AAIb;IAFC,IAAI,EAAE;IACN,WAAW,CAAC,4BAA4B,CAAC;8BAClC,cAAc;kDAAC;AAXZ,mBAAmB;IAD/B,KAAK,EAAE;;GACK,mBAAmB,CAgB/B"}
1
+ {"version":3,"file":"TaskStepResultModel.js","sourceRoot":"","sources":["../../../../src/tasks/models/TaskStepResultModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,GAAG,EACH,KAAK,EACL,KAAK,EAEL,QAAQ,GACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,0BAAqB;AAC1C,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAClD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGlD,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,KAAK;IAkB5C,YAAY,GAAmC;QAC7C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAlBC;IAFC,QAAQ,EAAE;IACV,WAAW,CAAC,sBAAsB,CAAC;;mDAChB;AAIpB;IAFC,IAAI,EAAE;IACN,WAAW,CAAC,iCAAiC,CAAC;;mDAClC;AAIb;IAFC,IAAI,EAAE;IACN,WAAW,CAAC,4BAA4B,CAAC;8BAClC,cAAc;kDAAC;AAKvB;IAHC,IAAI,EAAE;IACN,GAAG,CAAC,CAAC,CAAC;IACN,WAAW,CAAC,wDAAwD,CAAC;;oDACrD;AAhBN,mBAAmB;IAD/B,KAAK,EAAE;;GACK,mBAAmB,CAqB/B"}
@@ -7,9 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { minlength, Model, model, required, } from "@decaf-ts/decorator-validation";
10
+ import { min, minlength, Model, model, required, } from "@decaf-ts/decorator-validation";
11
11
  import { description, prop } from "@decaf-ts/decoration";
12
12
  import { list } from "@decaf-ts/decorator-validation";
13
+ import { serialize } from "@decaf-ts/db-decorators";
14
+ import { TaskBackoffModel } from "./TaskBackoffModel.js";
13
15
  let TaskStepSpecModel = class TaskStepSpecModel extends Model {
14
16
  constructor(arg) {
15
17
  super(arg);
@@ -41,6 +43,18 @@ __decorate([
41
43
  list(() => String),
42
44
  __metadata("design:type", Array)
43
45
  ], TaskStepSpecModel.prototype, "dependsOn", void 0);
46
+ __decorate([
47
+ prop(),
48
+ min(1),
49
+ description("Max attempts for this step. Defaults to 1 (no per-step retry)."),
50
+ __metadata("design:type", Number)
51
+ ], TaskStepSpecModel.prototype, "maxAttempts", void 0);
52
+ __decorate([
53
+ prop(),
54
+ serialize(),
55
+ description("Step-level backoff config. Falls back to the parent task backoff when absent."),
56
+ __metadata("design:type", TaskBackoffModel)
57
+ ], TaskStepSpecModel.prototype, "backoff", void 0);
44
58
  TaskStepSpecModel = __decorate([
45
59
  model(),
46
60
  __metadata("design:paramtypes", [Object])
@@ -1 +1 @@
1
- {"version":3,"file":"TaskStepSpecModel.js","sourceRoot":"","sources":["../../../../src/tasks/models/TaskStepSpecModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,KAAK,EAEL,QAAQ,GACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAG/C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,KAAK;IA0B1C,YAAY,GAAiC;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AA1BC;IAFC,QAAQ,EAAE;IACV,WAAW,CAAC,mBAAmB,CAAC;;yDACT;AAIxB;IAFC,SAAS,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,kCAAkC,CAAC;;+CAClC;AAId;IAFC,WAAW,CAAC,0BAA0B,CAAC;IACvC,IAAI,EAAE;;gDACK;AAMZ;IAJC,WAAW,CACV,6EAA6E,CAC9E;IACA,IAAI,EAAE;;+CACO;AAOd;IALC,WAAW,CACV,uFAAuF,CACxF;IACA,IAAI,EAAE;IACN,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;oDACE;AAxBV,iBAAiB;IAD7B,KAAK,EAAE;;GACK,iBAAiB,CA6B7B"}
1
+ {"version":3,"file":"TaskStepSpecModel.js","sourceRoot":"","sources":["../../../../src/tasks/models/TaskStepSpecModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,KAAK,EAEL,QAAQ,GACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAG/C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,KAAK;IAoC1C,YAAY,GAAiC;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AApCC;IAFC,QAAQ,EAAE;IACV,WAAW,CAAC,mBAAmB,CAAC;;yDACT;AAIxB;IAFC,SAAS,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,kCAAkC,CAAC;;+CAClC;AAId;IAFC,WAAW,CAAC,0BAA0B,CAAC;IACvC,IAAI,EAAE;;gDACK;AAMZ;IAJC,WAAW,CACV,6EAA6E,CAC9E;IACA,IAAI,EAAE;;+CACO;AAOd;IALC,WAAW,CACV,uFAAuF,CACxF;IACA,IAAI,EAAE;IACN,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;oDACE;AAKrB;IAHC,IAAI,EAAE;IACN,GAAG,CAAC,CAAC,CAAC;IACN,WAAW,CAAC,gEAAgE,CAAC;;sDACzD;AAKrB;IAHC,IAAI,EAAE;IACN,SAAS,EAAE;IACX,WAAW,CAAC,+EAA+E,CAAC;8BACnF,gBAAgB;kDAAC;AAlChB,iBAAiB;IAD7B,KAAK,EAAE;;GACK,iBAAiB,CAuC7B"}
@@ -24,21 +24,21 @@ export * from "./persistence/index.d.cts";
24
24
  * @const VERSION
25
25
  * @memberOf module:core
26
26
  */
27
- export declare const VERSION = "0.25.11";
27
+ export declare const VERSION = "0.26.1";
28
28
  /**
29
29
  * @description Represents the current commit hash of the module build.
30
30
  * @summary Stores the current git commit hash for the package. The build replaces
31
31
  * the placeholder with the actual commit hash at publish time.
32
32
  * @const COMMIT
33
33
  */
34
- export declare const COMMIT = "3f08e8a";
34
+ export declare const COMMIT = "fdaeb5d";
35
35
  /**
36
36
  * @description Represents the full version string of the module.
37
37
  * @summary Stores the semver version and commit hash for the package.
38
38
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
39
39
  * @const FULL_VERSION
40
40
  */
41
- export declare const FULL_VERSION = "0.25.11-3f08e8a";
41
+ export declare const FULL_VERSION = "0.26.1-fdaeb5d";
42
42
  /**
43
43
  * @description Stores the current package version
44
44
  * @summary A constant representing the version of the core package
@@ -24,21 +24,21 @@ export * from "./persistence/index.d.mts";
24
24
  * @const VERSION
25
25
  * @memberOf module:core
26
26
  */
27
- export declare const VERSION = "0.25.11";
27
+ export declare const VERSION = "0.26.1";
28
28
  /**
29
29
  * @description Represents the current commit hash of the module build.
30
30
  * @summary Stores the current git commit hash for the package. The build replaces
31
31
  * the placeholder with the actual commit hash at publish time.
32
32
  * @const COMMIT
33
33
  */
34
- export declare const COMMIT = "3f08e8a";
34
+ export declare const COMMIT = "fdaeb5d";
35
35
  /**
36
36
  * @description Represents the full version string of the module.
37
37
  * @summary Stores the semver version and commit hash for the package.
38
38
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
39
39
  * @const FULL_VERSION
40
40
  */
41
- export declare const FULL_VERSION = "0.25.11-3f08e8a";
41
+ export declare const FULL_VERSION = "0.26.1-fdaeb5d";
42
42
  /**
43
43
  * @description Stores the current package version
44
44
  * @summary A constant representing the version of the core package
@@ -24,7 +24,8 @@ export declare class TaskContext extends Context<TaskFlags> {
24
24
  private toTaskError;
25
25
  get resultCache(): Record<string, any> | undefined;
26
26
  scheduleSteps(...steps: (TaskStepSpecModel | Partial<TaskStepSpecModel>)[]): {
27
- afterCurrent: () => Promise<void>;
27
+ afterCurrent: (ctx: TaskContext) => Promise<void>;
28
+ atEnd: (ctx: TaskContext) => Promise<void>;
28
29
  };
29
30
  constructor(ctx?: Context<any>);
30
31
  }
@@ -24,7 +24,8 @@ export declare class TaskContext extends Context<TaskFlags> {
24
24
  private toTaskError;
25
25
  get resultCache(): Record<string, any> | undefined;
26
26
  scheduleSteps(...steps: (TaskStepSpecModel | Partial<TaskStepSpecModel>)[]): {
27
- afterCurrent: () => Promise<void>;
27
+ afterCurrent: (ctx: TaskContext) => Promise<void>;
28
+ atEnd: (ctx: TaskContext) => Promise<void>;
28
29
  };
29
30
  constructor(ctx?: Context<any>);
30
31
  }
@@ -46,6 +46,8 @@ export declare class TaskStepSpecBuilder {
46
46
  setInput(value: any): this;
47
47
  setLock(value?: string): this;
48
48
  setDependsOn(value?: string[]): this;
49
+ setMaxAttempts(value?: number): this;
50
+ setBackoff(value?: TaskBackoffModel): this;
49
51
  addStep(classification: string): TaskStepSpecBuilder;
50
52
  addStep(classification: string, input: any): CompositeTaskBuilder;
51
53
  addStep(classification: string, name: string, input?: any): CompositeTaskBuilder;
@@ -46,6 +46,8 @@ export declare class TaskStepSpecBuilder {
46
46
  setInput(value: any): this;
47
47
  setLock(value?: string): this;
48
48
  setDependsOn(value?: string[]): this;
49
+ setMaxAttempts(value?: number): this;
50
+ setBackoff(value?: TaskBackoffModel): this;
49
51
  addStep(classification: string): TaskStepSpecBuilder;
50
52
  addStep(classification: string, input: any): CompositeTaskBuilder;
51
53
  addStep(classification: string, name: string, input?: any): CompositeTaskBuilder;
@@ -5,5 +5,6 @@ export declare class TaskStepResultModel extends Model {
5
5
  status: TaskStatus;
6
6
  output?: any;
7
7
  error?: TaskErrorModel;
8
+ attempt?: number;
8
9
  constructor(arg?: ModelArg<TaskStepResultModel>);
9
10
  }
@@ -5,5 +5,6 @@ export declare class TaskStepResultModel extends Model {
5
5
  status: TaskStatus;
6
6
  output?: any;
7
7
  error?: TaskErrorModel;
8
+ attempt?: number;
8
9
  constructor(arg?: ModelArg<TaskStepResultModel>);
9
10
  }
@@ -1,9 +1,12 @@
1
1
  import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
2
+ import { TaskBackoffModel } from "./TaskBackoffModel.d.cts";
2
3
  export declare class TaskStepSpecModel extends Model {
3
4
  classification: string;
4
5
  name?: string;
5
6
  input?: any;
6
7
  lock?: string;
7
8
  dependsOn?: string[];
9
+ maxAttempts?: number;
10
+ backoff?: TaskBackoffModel;
8
11
  constructor(arg?: ModelArg<TaskStepSpecModel>);
9
12
  }
@@ -1,9 +1,12 @@
1
1
  import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
2
+ import { TaskBackoffModel } from "./TaskBackoffModel.d.mts";
2
3
  export declare class TaskStepSpecModel extends Model {
3
4
  classification: string;
4
5
  name?: string;
5
6
  input?: any;
6
7
  lock?: string;
7
8
  dependsOn?: string[];
9
+ maxAttempts?: number;
10
+ backoff?: TaskBackoffModel;
8
11
  constructor(arg?: ModelArg<TaskStepSpecModel>);
9
12
  }
@@ -35,7 +35,8 @@ export interface TaskFlags<LOG extends TaskLogger<any> = TaskLogger<any>> extend
35
35
  flush: () => Promise<void>;
36
36
  progress: (data: any) => Promise<void>;
37
37
  heartbeat: () => Promise<void>;
38
- scheduleCompositeSteps?: (steps: TaskStepSpecModel[]) => Promise<void>;
38
+ scheduleCompositeSteps?: (steps: TaskStepSpecModel[], ctx: TaskContext) => Promise<void>;
39
+ scheduleCompositeStepsAtEnd?: (steps: TaskStepSpecModel[], ctx: TaskContext) => Promise<void>;
39
40
  resultCache?: Record<string, any>;
40
41
  gracefulShutdownMsTimeout?: number;
41
42
  }
@@ -35,7 +35,8 @@ export interface TaskFlags<LOG extends TaskLogger<any> = TaskLogger<any>> extend
35
35
  flush: () => Promise<void>;
36
36
  progress: (data: any) => Promise<void>;
37
37
  heartbeat: () => Promise<void>;
38
- scheduleCompositeSteps?: (steps: TaskStepSpecModel[]) => Promise<void>;
38
+ scheduleCompositeSteps?: (steps: TaskStepSpecModel[], ctx: TaskContext) => Promise<void>;
39
+ scheduleCompositeStepsAtEnd?: (steps: TaskStepSpecModel[], ctx: TaskContext) => Promise<void>;
39
40
  resultCache?: Record<string, any>;
40
41
  gracefulShutdownMsTimeout?: number;
41
42
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/core",
3
- "version": "0.26.0",
3
+ "version": "0.26.2",
4
4
  "description": "Core persistence module for the decaf framework",
5
5
  "type": "module",
6
6
  "exports": {