@decaf-ts/core 0.7.63 → 0.7.65

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 (112) 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/migrations/MigrationService.js +2 -4
  9. package/lib/esm/migrations/MigrationService.js.map +1 -1
  10. package/lib/esm/migrations/MigrationTasks.d.ts +9 -0
  11. package/lib/esm/migrations/MigrationTasks.js +69 -0
  12. package/lib/esm/migrations/MigrationTasks.js.map +1 -0
  13. package/lib/esm/migrations/index.d.ts +1 -0
  14. package/lib/esm/migrations/index.js +1 -0
  15. package/lib/esm/migrations/index.js.map +1 -1
  16. package/lib/esm/persistence/Context.d.ts +4 -0
  17. package/lib/esm/persistence/Context.js +6 -0
  18. package/lib/esm/persistence/Context.js.map +1 -1
  19. package/lib/esm/persistence/ObserverHandler.d.ts +2 -1
  20. package/lib/esm/persistence/ObserverHandler.js.map +1 -1
  21. package/lib/esm/persistence/constants.d.ts +1 -0
  22. package/lib/esm/persistence/constants.js +1 -0
  23. package/lib/esm/persistence/constants.js.map +1 -1
  24. package/lib/esm/persistence/types.d.ts +1 -1
  25. package/lib/esm/ram/RamAdapter.js +9 -9
  26. package/lib/esm/ram/RamAdapter.js.map +1 -1
  27. package/lib/esm/ram/types.d.ts +2 -2
  28. package/lib/esm/services/PersistenceService.js +9 -1
  29. package/lib/esm/services/PersistenceService.js.map +1 -1
  30. package/lib/esm/tasks/TaskContext.d.ts +9 -4
  31. package/lib/esm/tasks/TaskContext.js +18 -3
  32. package/lib/esm/tasks/TaskContext.js.map +1 -1
  33. package/lib/esm/tasks/TaskEngine.d.ts +8 -22
  34. package/lib/esm/tasks/TaskEngine.js +189 -112
  35. package/lib/esm/tasks/TaskEngine.js.map +1 -1
  36. package/lib/esm/tasks/TaskEventBus.d.ts +8 -3
  37. package/lib/esm/tasks/TaskEventBus.js +15 -7
  38. package/lib/esm/tasks/TaskEventBus.js.map +1 -1
  39. package/lib/esm/tasks/TaskHandler.js +9 -2
  40. package/lib/esm/tasks/TaskHandler.js.map +1 -1
  41. package/lib/esm/tasks/TaskService.d.ts +33 -3
  42. package/lib/esm/tasks/TaskService.js +181 -2
  43. package/lib/esm/tasks/TaskService.js.map +1 -1
  44. package/lib/esm/tasks/builder.d.ts +42 -0
  45. package/lib/esm/tasks/builder.js +180 -0
  46. package/lib/esm/tasks/builder.js.map +1 -0
  47. package/lib/esm/tasks/logging.d.ts +30 -0
  48. package/lib/esm/tasks/logging.js +73 -0
  49. package/lib/esm/tasks/logging.js.map +1 -0
  50. package/lib/esm/tasks/models/TaskBackoffModel.js +7 -3
  51. package/lib/esm/tasks/models/TaskBackoffModel.js.map +1 -1
  52. package/lib/esm/tasks/models/TaskModel.d.ts +2 -2
  53. package/lib/esm/tasks/models/TaskModel.js +10 -3
  54. package/lib/esm/tasks/models/TaskModel.js.map +1 -1
  55. package/lib/esm/tasks/models/TaskStepSpecModel.d.ts +1 -1
  56. package/lib/esm/tasks/models/TaskStepSpecModel.js +3 -1
  57. package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -1
  58. package/lib/esm/tasks/types.d.ts +8 -4
  59. package/lib/index.cjs +1 -1
  60. package/lib/index.d.ts +1 -1
  61. package/lib/migrations/MigrationService.cjs +2 -4
  62. package/lib/migrations/MigrationService.js.map +1 -1
  63. package/lib/migrations/MigrationTasks.cjs +72 -0
  64. package/lib/migrations/MigrationTasks.d.ts +9 -0
  65. package/lib/migrations/MigrationTasks.js.map +1 -0
  66. package/lib/migrations/index.cjs +1 -0
  67. package/lib/migrations/index.d.ts +1 -0
  68. package/lib/migrations/index.js.map +1 -1
  69. package/lib/persistence/Context.cjs +8 -1
  70. package/lib/persistence/Context.d.ts +4 -0
  71. package/lib/persistence/Context.js.map +1 -1
  72. package/lib/persistence/ObserverHandler.d.ts +2 -1
  73. package/lib/persistence/ObserverHandler.js.map +1 -1
  74. package/lib/persistence/constants.cjs +1 -0
  75. package/lib/persistence/constants.d.ts +1 -0
  76. package/lib/persistence/constants.js.map +1 -1
  77. package/lib/persistence/types.d.ts +1 -1
  78. package/lib/ram/RamAdapter.cjs +8 -8
  79. package/lib/ram/RamAdapter.js.map +1 -1
  80. package/lib/ram/types.d.ts +2 -2
  81. package/lib/services/PersistenceService.cjs +9 -1
  82. package/lib/services/PersistenceService.js.map +1 -1
  83. package/lib/tasks/TaskContext.cjs +19 -4
  84. package/lib/tasks/TaskContext.d.ts +9 -4
  85. package/lib/tasks/TaskContext.js.map +1 -1
  86. package/lib/tasks/TaskEngine.cjs +187 -110
  87. package/lib/tasks/TaskEngine.d.ts +8 -22
  88. package/lib/tasks/TaskEngine.js.map +1 -1
  89. package/lib/tasks/TaskEventBus.cjs +15 -7
  90. package/lib/tasks/TaskEventBus.d.ts +8 -3
  91. package/lib/tasks/TaskEventBus.js.map +1 -1
  92. package/lib/tasks/TaskHandler.cjs +9 -2
  93. package/lib/tasks/TaskHandler.js.map +1 -1
  94. package/lib/tasks/TaskService.cjs +179 -0
  95. package/lib/tasks/TaskService.d.ts +33 -3
  96. package/lib/tasks/TaskService.js.map +1 -1
  97. package/lib/tasks/builder.cjs +186 -0
  98. package/lib/tasks/builder.d.ts +42 -0
  99. package/lib/tasks/builder.js.map +1 -0
  100. package/lib/tasks/logging.cjs +77 -0
  101. package/lib/tasks/logging.d.ts +30 -0
  102. package/lib/tasks/logging.js.map +1 -0
  103. package/lib/tasks/models/TaskBackoffModel.cjs +6 -2
  104. package/lib/tasks/models/TaskBackoffModel.js.map +1 -1
  105. package/lib/tasks/models/TaskModel.cjs +10 -3
  106. package/lib/tasks/models/TaskModel.d.ts +2 -2
  107. package/lib/tasks/models/TaskModel.js.map +1 -1
  108. package/lib/tasks/models/TaskStepSpecModel.cjs +3 -1
  109. package/lib/tasks/models/TaskStepSpecModel.d.ts +1 -1
  110. package/lib/tasks/models/TaskStepSpecModel.js.map +1 -1
  111. package/lib/tasks/types.d.ts +8 -4
  112. package/package.json +1 -1
@@ -1,11 +1,41 @@
1
- import { MaybeContextualArg } from "../utils/ContextualLoggedClass";
1
+ import { type ContextualArgs, type ContextualizedArgs, type MaybeContextualArg, type MethodOrOperation } from "../utils/ContextualLoggedClass";
2
2
  import { ClientBasedService } from "../services/services";
3
- import { TaskEngine, TaskEngineConfig } from "./TaskEngine";
4
- import { Adapter, ContextOf } from "../persistence/index";
3
+ import { TaskEngine, type TaskEngineConfig } from "./TaskEngine";
4
+ import { Adapter, type AllOperationKeys, type ContextOf, type EventIds, type ObserverFilter } from "../persistence/index";
5
+ import { type PrimaryKeyType } from "@decaf-ts/db-decorators";
6
+ import { OrderDirection, type Repo } from "../repository/index";
7
+ import { TaskModel } from "./models/TaskModel";
8
+ import { type DirectionLimitOffset } from "../query/index";
9
+ import type { Constructor } from "@decaf-ts/decoration";
10
+ import type { Observer } from "../interfaces/index";
11
+ import { ArrayMode } from "../services/index";
5
12
  export declare class TaskService<A extends Adapter<any, any, any, any>> extends ClientBasedService<TaskEngine<A>, TaskEngineConfig<A>> {
13
+ protected repo: Repo<TaskModel>;
6
14
  constructor();
7
15
  initialize(...args: MaybeContextualArg<ContextOf<A>>): Promise<{
8
16
  config: TaskEngineConfig<A>;
9
17
  client: TaskEngine<A>;
10
18
  }>;
19
+ create(model: TaskModel, ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel>;
20
+ createAll(models: TaskModel[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel[]>;
21
+ delete(key: PrimaryKeyType, ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel>;
22
+ deleteAll(keys: PrimaryKeyType[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel[]>;
23
+ read(key: PrimaryKeyType, ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel>;
24
+ readAll(keys: PrimaryKeyType[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel[]>;
25
+ query<M, R extends ArrayMode = "one">(methodName: string, ...args: MaybeContextualArg<ContextOf<A>>): Promise<R extends "one" ? M : M[]>;
26
+ update(model: TaskModel, ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel>;
27
+ updateAll(models: TaskModel[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel[]>;
28
+ listBy(key: keyof TaskModel, order: OrderDirection, ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel[]>;
29
+ paginateBy(key: keyof TaskModel, order: OrderDirection, ref: Omit<DirectionLimitOffset, "direction">, ...args: MaybeContextualArg<ContextOf<A>>): Promise<import("../query/Paginator").SerializedPage<TaskModel>>;
30
+ findOneBy(key: keyof TaskModel, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel>;
31
+ findBy(key: keyof TaskModel, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<TaskModel[]>;
32
+ statement(name: string, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
33
+ refresh(table: Constructor<any>, event: AllOperationKeys, id: EventIds, ...args: ContextualArgs<ContextOf<A>>): Promise<void>;
34
+ observe(observer: Observer, filter?: ObserverFilter): void;
35
+ unObserve(observer: Observer): void;
36
+ updateObservers(model: Constructor, operation: AllOperationKeys, ids: EventIds, ...args: ContextualArgs<ContextOf<A>>): Promise<void>;
37
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<ContextOf<A>, ARGS>, operation: METHOD): ContextualizedArgs<ContextOf<A>, ARGS, METHOD extends string ? true : false>;
38
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<ContextOf<A>, ARGS>, operation: METHOD, allowCreate: false): ContextualizedArgs<ContextOf<A>, ARGS, METHOD extends string ? true : false>;
39
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<ContextOf<A>, ARGS>, operation: METHOD, allowCreate: true): Promise<ContextualizedArgs<ContextOf<A>, ARGS, METHOD extends string ? true : false>>;
40
+ shutdown(...args: MaybeContextualArg<any>): Promise<void>;
11
41
  }
@@ -1,7 +1,20 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
1
10
  import { ClientBasedService } from "./../services/services.js";
2
11
  import { TaskEngine } from "./TaskEngine.js";
3
- import { Context, PersistenceKeys, } from "./../persistence/index.js";
4
- import { InternalError } from "@decaf-ts/db-decorators";
12
+ import { Context, PersistenceKeys, UnsupportedError, } from "./../persistence/index.js";
13
+ import { BulkCrudOperationKeys, InternalError, OperationKeys, } from "@decaf-ts/db-decorators";
14
+ import { repository } from "./../repository/index.js";
15
+ import { TaskModel } from "./models/TaskModel.js";
16
+ import { create, del, read, update } from "./../utils/index.js";
17
+ import { PreparedStatementKeys, } from "./../query/index.js";
5
18
  export class TaskService extends ClientBasedService {
6
19
  constructor() {
7
20
  super();
@@ -21,5 +34,171 @@ export class TaskService extends ClientBasedService {
21
34
  config: cfg,
22
35
  };
23
36
  }
37
+ async create(model, ...args) {
38
+ const { ctxArgs } = (await this.logCtx(args, OperationKeys.CREATE, true)).for(this.create);
39
+ return this.repo.create(model, ...ctxArgs);
40
+ if (!this.client.isRunning())
41
+ this.client.start();
42
+ }
43
+ async createAll(models, ...args) {
44
+ const { ctxArgs } = (await this.logCtx(args, BulkCrudOperationKeys.CREATE_ALL, true)).for(this.createAll);
45
+ return this.repo.createAll(models, ...ctxArgs);
46
+ if (!this.client.isRunning())
47
+ this.client.start();
48
+ }
49
+ async delete(key, ...args) {
50
+ const { ctxArgs } = (await this.logCtx(args, OperationKeys.DELETE, true)).for(this.delete);
51
+ return this.repo.delete(key, ...ctxArgs);
52
+ }
53
+ async deleteAll(keys, ...args) {
54
+ const { ctxArgs } = (await this.logCtx(args, BulkCrudOperationKeys.DELETE_ALL, true)).for(this.deleteAll);
55
+ return this.repo.deleteAll(keys, ...ctxArgs);
56
+ }
57
+ async read(key, ...args) {
58
+ const { ctxArgs } = (await this.logCtx(args, OperationKeys.READ, true)).for(this.read);
59
+ return this.repo.read(key, ...ctxArgs);
60
+ }
61
+ async readAll(keys, ...args) {
62
+ const { ctxArgs } = (await this.logCtx(args, BulkCrudOperationKeys.READ_ALL, true)).for(this.readAll);
63
+ return this.repo.readAll(keys, ...ctxArgs);
64
+ }
65
+ async query(methodName, ...args) {
66
+ const { ctxArgs } = (await this.logCtx(args, PersistenceKeys.QUERY, true)).for(this.query);
67
+ const method = this.repo?.[methodName];
68
+ if (typeof method !== "function")
69
+ throw new InternalError(`Method "${methodName}" is not implemented`);
70
+ return method.apply(this.repo, ctxArgs);
71
+ }
72
+ async update(
73
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
74
+ model,
75
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
76
+ ...args) {
77
+ throw new UnsupportedError("Updates to tasks are not available");
78
+ }
79
+ async updateAll(
80
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
81
+ models,
82
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
83
+ ...args) {
84
+ throw new UnsupportedError("Updates to tasks are not available");
85
+ }
86
+ //
87
+ // async query(
88
+ // condition: Condition<M>,
89
+ // orderBy: keyof M,
90
+ // order: OrderDirection = OrderDirection.ASC,
91
+ // limit?: number,
92
+ // skip?: number,
93
+ // ...args: MaybeContextualArg<ContextOf<R>>
94
+ // ): Promise<M[]> {
95
+ // const { ctxArgs } = await this.logCtx(args, this.query, true);
96
+ // return this.repo.query(condition, orderBy, order, limit, skip, ...ctxArgs);
97
+ // }
98
+ async listBy(key, order, ...args) {
99
+ const { ctxArgs } = (await this.logCtx(args, PreparedStatementKeys.LIST_BY, true)).for(this.listBy);
100
+ return this.repo.listBy(key, order, ...ctxArgs);
101
+ }
102
+ async paginateBy(key, order, ref, ...args) {
103
+ const { ctxArgs } = (await this.logCtx(args, PreparedStatementKeys.PAGE_BY, true)).for(this.paginateBy);
104
+ return this.repo.paginateBy(key, order, ref, ...ctxArgs);
105
+ }
106
+ async findOneBy(key, value, ...args) {
107
+ const { ctxArgs } = (await this.logCtx(args, PreparedStatementKeys.FIND_ONE_BY, true)).for(this.findOneBy);
108
+ return this.repo.findOneBy(key, value, ...ctxArgs);
109
+ }
110
+ async findBy(key, value, ...args) {
111
+ const { ctxArgs } = (await this.logCtx(args, PreparedStatementKeys.FIND_BY, true)).for(this.findBy);
112
+ return this.repo.findBy(key, value, ...ctxArgs);
113
+ }
114
+ async statement(name, ...args) {
115
+ const { ctxArgs } = (await this.logCtx(args, PersistenceKeys.STATEMENT, true)).for(this.statement);
116
+ return this.repo.statement(name, ...ctxArgs);
117
+ }
118
+ refresh(table, event, id, ...args) {
119
+ return this.repo.refresh(table, event, id, ...args);
120
+ }
121
+ observe(observer, filter) {
122
+ return this.repo.observe(observer, filter);
123
+ }
124
+ unObserve(observer) {
125
+ return this.repo.unObserve(observer);
126
+ }
127
+ updateObservers(model, operation, ids, ...args) {
128
+ return this.repo.updateObservers(model, operation, ids, ...args);
129
+ }
130
+ logCtx(args, operation, allowCreate = false) {
131
+ const ctx = this.repo["adapter"]["logCtx"]([this.repo.class, ...args], operation, allowCreate, this.repo["_overrides"] || {});
132
+ function squashArgs(ctx) {
133
+ ctx.ctxArgs.shift(); // removes added model to args
134
+ return ctx;
135
+ }
136
+ if (!(ctx instanceof Promise))
137
+ return squashArgs(ctx);
138
+ return ctx.then(squashArgs);
139
+ }
140
+ async shutdown(...args) {
141
+ const { ctxArgs } = await this.logCtx(args, "shutdown", true);
142
+ await super.shutdown(...ctxArgs);
143
+ this.client.stop();
144
+ }
24
145
  }
146
+ __decorate([
147
+ repository(TaskModel),
148
+ __metadata("design:type", Object)
149
+ ], TaskService.prototype, "repo", void 0);
150
+ __decorate([
151
+ create(),
152
+ __metadata("design:type", Function),
153
+ __metadata("design:paramtypes", [TaskModel, void 0]),
154
+ __metadata("design:returntype", Promise)
155
+ ], TaskService.prototype, "create", null);
156
+ __decorate([
157
+ create(),
158
+ __metadata("design:type", Function),
159
+ __metadata("design:paramtypes", [Array, void 0]),
160
+ __metadata("design:returntype", Promise)
161
+ ], TaskService.prototype, "createAll", null);
162
+ __decorate([
163
+ del(),
164
+ __metadata("design:type", Function),
165
+ __metadata("design:paramtypes", [Object, void 0]),
166
+ __metadata("design:returntype", Promise)
167
+ ], TaskService.prototype, "delete", null);
168
+ __decorate([
169
+ del(),
170
+ __metadata("design:type", Function),
171
+ __metadata("design:paramtypes", [Array, void 0]),
172
+ __metadata("design:returntype", Promise)
173
+ ], TaskService.prototype, "deleteAll", null);
174
+ __decorate([
175
+ read(),
176
+ __metadata("design:type", Function),
177
+ __metadata("design:paramtypes", [Object, void 0]),
178
+ __metadata("design:returntype", Promise)
179
+ ], TaskService.prototype, "read", null);
180
+ __decorate([
181
+ read(),
182
+ __metadata("design:type", Function),
183
+ __metadata("design:paramtypes", [Array, void 0]),
184
+ __metadata("design:returntype", Promise)
185
+ ], TaskService.prototype, "readAll", null);
186
+ __decorate([
187
+ read(),
188
+ __metadata("design:type", Function),
189
+ __metadata("design:paramtypes", [String, void 0]),
190
+ __metadata("design:returntype", Promise)
191
+ ], TaskService.prototype, "query", null);
192
+ __decorate([
193
+ update(),
194
+ __metadata("design:type", Function),
195
+ __metadata("design:paramtypes", [TaskModel, void 0]),
196
+ __metadata("design:returntype", Promise)
197
+ ], TaskService.prototype, "update", null);
198
+ __decorate([
199
+ update(),
200
+ __metadata("design:type", Function),
201
+ __metadata("design:paramtypes", [Array, void 0]),
202
+ __metadata("design:returntype", Promise)
203
+ ], TaskService.prototype, "updateAll", null);
25
204
  //# sourceMappingURL=TaskService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskService.js","sourceRoot":"","sources":["../../../src/tasks/TaskService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,kCAA6B;AAC1D,OAAO,EAAE,UAAU,EAAoB,wBAAqB;AAC5D,OAAO,EAEL,OAAO,EAEP,eAAe,GAChB,kCAA6B;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,OAAO,WAEX,SAAQ,kBAAsD;IAC9D;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAEQ,KAAK,CAAC,UAAU,CACvB,GAAG,IAAsC;QAEzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAA+B,CAAC;QACtD,IAAI,CAAC,GAAG,IAAI,GAAG,YAAY,OAAO;YAChC,MAAM,IAAI,aAAa,CAAC,4BAA4B,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,EAAE,GAAG,CACd,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,cAAc,EAAE,IAAI,CAAC,CAC9D,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,MAAM,IAAI,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACxC,MAAM,MAAM,GAAkB,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAClD,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC;QACrC,OAAO;YACL,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG;SACZ,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"TaskService.js","sourceRoot":"","sources":["../../../src/tasks/TaskService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { TaskModel } from "./models/TaskModel";
2
+ import { BackoffStrategy, JitterStrategy, TaskStatus, TaskType } from "./constants";
3
+ import { TaskBackoffModel } from "./models/index";
4
+ import { TaskStepSpecModel } from "./models/TaskStepSpecModel";
5
+ import { Model, ModelArg } from "@decaf-ts/decorator-validation";
6
+ export declare class TaskBackoffBuilder<NESTED extends boolean = false> extends Model {
7
+ baseMs: number;
8
+ jitter: JitterStrategy;
9
+ maxMs: number;
10
+ strategy: BackoffStrategy;
11
+ constructor(arg?: ModelArg<TaskBackoffBuilder>);
12
+ setBaseMs(value: number): this;
13
+ setJitter(value: JitterStrategy): this;
14
+ setMaxMs(value: number): this;
15
+ setStrategy(value: BackoffStrategy): this;
16
+ build(): NESTED extends false ? TaskBackoffModel : TaskBuilder;
17
+ }
18
+ export declare class TaskBuilder extends Model {
19
+ protected classification: string;
20
+ protected status: TaskStatus;
21
+ protected atomicity: TaskType;
22
+ protected backoff: TaskBackoffModel;
23
+ protected input?: any;
24
+ protected attempt: number;
25
+ protected maxAttempts: number;
26
+ setClassification(value: string): this;
27
+ setStatus(value: TaskStatus): this;
28
+ setAtomicity(value: TaskType): this;
29
+ setBackoff<V extends TaskBackoffModel>(value?: TaskBackoffModel): V extends TaskBackoffModel ? this : TaskBackoffBuilder<true>;
30
+ setInput(value: any): this;
31
+ setMaxAttempts(value: number): this;
32
+ setAttempt(value: number): this;
33
+ constructor(arg?: ModelArg<TaskBuilder>);
34
+ build(): TaskModel;
35
+ }
36
+ export declare class CompositeTaskBuilder extends TaskBuilder {
37
+ protected steps?: TaskStepSpecModel[];
38
+ protected stepResults?: TaskStepSpecModel[];
39
+ constructor(arg?: ModelArg<CompositeTaskBuilder>);
40
+ setSteps(value: TaskStepSpecModel[]): this;
41
+ addStep(classification: string, input?: any): this;
42
+ }
@@ -0,0 +1,180 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { TaskModel } from "./models/TaskModel.js";
11
+ import { BackoffStrategy, JitterStrategy, TaskStatus, TaskType, } from "./constants.js";
12
+ import { TaskBackoffModel } from "./models/index.js";
13
+ import { TaskStepSpecModel } from "./models/TaskStepSpecModel.js";
14
+ import { gt, list, min, Model, option, required, } from "@decaf-ts/decorator-validation";
15
+ import { ValidationError } from "@decaf-ts/db-decorators";
16
+ import { prop } from "@decaf-ts/decoration";
17
+ export class TaskBackoffBuilder extends Model {
18
+ constructor(arg) {
19
+ super(arg);
20
+ this.baseMs = 1000;
21
+ this.jitter = JitterStrategy.FULL;
22
+ this.maxMs = 60_000;
23
+ this.strategy = BackoffStrategy.EXPONENTIAL;
24
+ Model.fromModel(this, arg);
25
+ }
26
+ setBaseMs(value) {
27
+ this.baseMs = value;
28
+ return this;
29
+ }
30
+ setJitter(value) {
31
+ this.jitter = value;
32
+ return this;
33
+ }
34
+ setMaxMs(value) {
35
+ this.maxMs = value;
36
+ return this;
37
+ }
38
+ setStrategy(value) {
39
+ this.strategy = value;
40
+ return this;
41
+ }
42
+ build() {
43
+ const errs = this.hasErrors();
44
+ if (errs)
45
+ throw new ValidationError(errs);
46
+ return new TaskBackoffModel(this);
47
+ }
48
+ }
49
+ __decorate([
50
+ required(),
51
+ min(1000),
52
+ __metadata("design:type", Number)
53
+ ], TaskBackoffBuilder.prototype, "baseMs", void 0);
54
+ __decorate([
55
+ required(),
56
+ option(JitterStrategy),
57
+ __metadata("design:type", String)
58
+ ], TaskBackoffBuilder.prototype, "jitter", void 0);
59
+ __decorate([
60
+ gt("baseMs"),
61
+ min(1000),
62
+ required(),
63
+ __metadata("design:type", Number)
64
+ ], TaskBackoffBuilder.prototype, "maxMs", void 0);
65
+ __decorate([
66
+ required(),
67
+ option(BackoffStrategy),
68
+ __metadata("design:type", String)
69
+ ], TaskBackoffBuilder.prototype, "strategy", void 0);
70
+ export class TaskBuilder extends Model {
71
+ setClassification(value) {
72
+ this.classification = value;
73
+ return this;
74
+ }
75
+ setStatus(value) {
76
+ this.status = value;
77
+ return this;
78
+ }
79
+ setAtomicity(value) {
80
+ this.atomicity = value;
81
+ return this;
82
+ }
83
+ setBackoff(value) {
84
+ if (value) {
85
+ this.backoff = value;
86
+ return this;
87
+ }
88
+ const backOff = new TaskBackoffBuilder();
89
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
90
+ const self = this;
91
+ backOff.build = new Proxy(backOff.build, {
92
+ apply(target, thisArg, args) {
93
+ self.backoff = Reflect.apply(target, thisArg, args);
94
+ return self;
95
+ },
96
+ });
97
+ return backOff;
98
+ }
99
+ setInput(value) {
100
+ this.input = value;
101
+ return this;
102
+ }
103
+ setMaxAttempts(value) {
104
+ this.maxAttempts = value;
105
+ return this;
106
+ }
107
+ setAttempt(value) {
108
+ this.attempt = value;
109
+ return this;
110
+ }
111
+ constructor(arg) {
112
+ super(arg);
113
+ this.status = TaskStatus.PENDING;
114
+ this.atomicity = TaskType.ATOMIC;
115
+ this.backoff = new TaskBackoffModel();
116
+ this.attempt = 0;
117
+ this.maxAttempts = 1;
118
+ Model.fromModel(this, arg);
119
+ }
120
+ build() {
121
+ const errs = this.hasErrors();
122
+ if (errs)
123
+ throw new ValidationError(errs);
124
+ return new TaskModel(this);
125
+ }
126
+ }
127
+ __decorate([
128
+ required(),
129
+ __metadata("design:type", String)
130
+ ], TaskBuilder.prototype, "classification", void 0);
131
+ __decorate([
132
+ required(),
133
+ __metadata("design:type", String)
134
+ ], TaskBuilder.prototype, "status", void 0);
135
+ __decorate([
136
+ required(),
137
+ __metadata("design:type", String)
138
+ ], TaskBuilder.prototype, "atomicity", void 0);
139
+ __decorate([
140
+ required(),
141
+ __metadata("design:type", TaskBackoffModel)
142
+ ], TaskBuilder.prototype, "backoff", void 0);
143
+ __decorate([
144
+ prop(),
145
+ __metadata("design:type", Object)
146
+ ], TaskBuilder.prototype, "input", void 0);
147
+ __decorate([
148
+ min(0),
149
+ required(),
150
+ __metadata("design:type", Number)
151
+ ], TaskBuilder.prototype, "attempt", void 0);
152
+ __decorate([
153
+ min(1),
154
+ required(),
155
+ __metadata("design:type", Number)
156
+ ], TaskBuilder.prototype, "maxAttempts", void 0);
157
+ export class CompositeTaskBuilder extends TaskBuilder {
158
+ constructor(arg) {
159
+ super(arg);
160
+ this.stepResults = [];
161
+ Model.fromModel(this, arg);
162
+ }
163
+ setSteps(value) {
164
+ this.steps = value;
165
+ return this;
166
+ }
167
+ addStep(classification, input) {
168
+ this.steps = this.steps || [];
169
+ this.steps.push(new TaskStepSpecModel({
170
+ classification,
171
+ input,
172
+ }));
173
+ return this;
174
+ }
175
+ }
176
+ __decorate([
177
+ list(() => TaskStepSpecModel),
178
+ __metadata("design:type", Array)
179
+ ], CompositeTaskBuilder.prototype, "steps", void 0);
180
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/tasks/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { AnyFunction, Logger, LoggingConfig, LogLevel, LogMeta, StringLike } from "@decaf-ts/logging";
2
+ import { LogPipe } from "./types";
3
+ export declare class TaskLogger<LOG extends Logger> implements Logger {
4
+ protected logger: Logger;
5
+ protected bufferSize: number;
6
+ protected maxBufferSize: number;
7
+ protected pipe?: LogPipe | undefined;
8
+ protected history: [LogLevel, string, any][];
9
+ constructor(logger: Logger, bufferSize?: number, maxBufferSize?: number, pipe?: LogPipe | undefined);
10
+ push(level: LogLevel, string: string, meta?: any): void;
11
+ flush<PIPE extends LogPipe>(pipe?: PIPE): PIPE extends LogPipe ? Promise<[LogLevel, string, any][]> : [LogLevel, string, any][];
12
+ readonly root: string[];
13
+ benchmark(msg: StringLike): void;
14
+ clear(): this;
15
+ debug(msg: StringLike, meta?: LogMeta): void;
16
+ error(msg: StringLike | Error, e?: Error | LogMeta, meta?: LogMeta): void;
17
+ for(config: Partial<LoggingConfig>): this;
18
+ for(context: string | {
19
+ new (...args: any[]): any;
20
+ } | AnyFunction | object): this;
21
+ for(method: string | {
22
+ new (...args: any[]): any;
23
+ } | AnyFunction | object | Partial<LoggingConfig>, config?: Partial<LoggingConfig>, ...args: any[]): this;
24
+ info(msg: StringLike, meta?: LogMeta): void;
25
+ setConfig(config: Partial<LoggingConfig>): void;
26
+ silly(msg: StringLike, meta?: LogMeta): void;
27
+ trace(msg: StringLike, meta?: LogMeta): void;
28
+ verbose(msg: StringLike, verbosity?: number | LogMeta, meta?: LogMeta): void;
29
+ warn(msg: StringLike, meta?: LogMeta): void;
30
+ }
@@ -0,0 +1,73 @@
1
+ import { LogLevel, } from "@decaf-ts/logging";
2
+ export class TaskLogger {
3
+ constructor(logger, bufferSize = 150, maxBufferSize = 300, pipe) {
4
+ this.logger = logger;
5
+ this.bufferSize = bufferSize;
6
+ this.maxBufferSize = maxBufferSize;
7
+ this.pipe = pipe;
8
+ this.history = [];
9
+ this.root = this.logger.root;
10
+ Object.values(LogLevel).forEach((level) => {
11
+ this[level] = new Proxy(this[level], {
12
+ apply: (target, thisArg, argArray) => {
13
+ target.apply(thisArg, argArray);
14
+ thisArg.push(...argArray);
15
+ },
16
+ });
17
+ });
18
+ }
19
+ push(level, string, meta) {
20
+ if (this.history.length >= this.maxBufferSize)
21
+ this.history.splice(0, this.history.length - this.bufferSize);
22
+ this.history.push([level, string, meta]);
23
+ }
24
+ flush(pipe) {
25
+ const result = this.history;
26
+ this.history = [];
27
+ if (pipe)
28
+ return pipe(result).catch((e) => this.logger.error(`Failed to pipe logs`, e));
29
+ this.history = [];
30
+ return result;
31
+ }
32
+ benchmark(msg) {
33
+ return this.logger.benchmark(msg);
34
+ }
35
+ clear() {
36
+ this.logger = this.logger.clear();
37
+ return this;
38
+ }
39
+ debug(msg, meta) {
40
+ this.logger.debug(msg, meta);
41
+ }
42
+ error(msg, e, meta) {
43
+ this.logger.error(msg, e, meta);
44
+ }
45
+ for(config, ...args) {
46
+ return new Proxy(this, {
47
+ get(target, p) {
48
+ if (p === "logger")
49
+ return Reflect.get(target, p).for(config, ...args);
50
+ return Reflect.get(target, p);
51
+ },
52
+ });
53
+ }
54
+ info(msg, meta) {
55
+ this.logger.info(msg, meta);
56
+ }
57
+ setConfig(config) {
58
+ this.logger.setConfig(config);
59
+ }
60
+ silly(msg, meta) {
61
+ this.logger.silly(msg, meta);
62
+ }
63
+ trace(msg, meta) {
64
+ this.logger.trace(msg, meta);
65
+ }
66
+ verbose(msg, verbosity, meta) {
67
+ this.logger.verbose(msg, verbosity, meta);
68
+ }
69
+ warn(msg, meta) {
70
+ this.logger.warn(msg, meta);
71
+ }
72
+ }
73
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/tasks/logging.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,17 @@ 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 { option, type, model, required, } from "@decaf-ts/decorator-validation";
10
+ import { model, option, required, type, } from "@decaf-ts/decorator-validation";
11
11
  import { BackoffStrategy, JitterStrategy } from "./../constants.js";
12
12
  import { description } from "@decaf-ts/decoration";
13
13
  import { TaskBaseModel } from "./TaskBaseModel.js";
14
14
  let TaskBackoffModel = class TaskBackoffModel extends TaskBaseModel {
15
15
  constructor(arg) {
16
16
  super(arg);
17
+ this.strategy = BackoffStrategy.EXPONENTIAL;
18
+ this.baseMs = 1000;
19
+ this.maxMs = 60_000;
20
+ this.jitter = JitterStrategy.FULL;
17
21
  }
18
22
  };
19
23
  __decorate([
@@ -25,12 +29,12 @@ __decorate([
25
29
  ], TaskBackoffModel.prototype, "strategy", void 0);
26
30
  __decorate([
27
31
  required(),
28
- description("timestamp of creation"),
32
+ description("base interval between attempts"),
29
33
  __metadata("design:type", Number)
30
34
  ], TaskBackoffModel.prototype, "baseMs", void 0);
31
35
  __decorate([
32
36
  required(),
33
- description("timestamp of creation"),
37
+ description("max interval"),
34
38
  __metadata("design:type", Number)
35
39
  ], TaskBackoffModel.prototype, "maxMs", void 0);
36
40
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"TaskBackoffModel.js","sourceRoot":"","sources":["../../../../src/tasks/models/TaskBackoffModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,GAET,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,0BAAqB;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAGzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,aAAa;IAoBjD,YAAY,GAAgC;QAC1C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAlBC;IAJC,QAAQ,EAAE;IACV,IAAI,CAAC,MAAM,CAAC;IACZ,MAAM,CAAC,eAAe,CAAC;IACvB,WAAW,CAAC,sBAAsB,CAAC;;kDACT;AAI3B;IAFC,QAAQ,EAAE;IACV,WAAW,CAAC,uBAAuB,CAAC;;gDACrB;AAIhB;IAFC,QAAQ,EAAE;IACV,WAAW,CAAC,uBAAuB,CAAC;;+CACtB;AAKf;IAHC,IAAI,CAAC,MAAM,CAAC;IACZ,MAAM,CAAC,cAAc,CAAC;IACtB,WAAW,CAAC,0BAA0B,CAAC;;gDAChB;AAlBb,gBAAgB;IAD5B,KAAK,EAAE;;GACK,gBAAgB,CAuB5B"}
1
+ {"version":3,"file":"TaskBackoffModel.js","sourceRoot":"","sources":["../../../../src/tasks/models/TaskBackoffModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,KAAK,EAEL,MAAM,EACN,QAAQ,EACR,IAAI,GACL,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,0BAAqB;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAGzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,aAAa;IAoBjD,YAAY,GAAgC;QAC1C,KAAK,CAAC,GAAG,CAAC,CAAC;QAhBb,aAAQ,GAAoB,eAAe,CAAC,WAAW,CAAC;QAIxD,WAAM,GAAW,IAAI,CAAC;QAItB,UAAK,GAAW,MAAM,CAAC;QAKvB,WAAM,GAAoB,cAAc,CAAC,IAAI,CAAC;IAI9C,CAAC;CACF,CAAA;AAlBC;IAJC,QAAQ,EAAE;IACV,IAAI,CAAC,MAAM,CAAC;IACZ,MAAM,CAAC,eAAe,CAAC;IACvB,WAAW,CAAC,sBAAsB,CAAC;;kDACoB;AAIxD;IAFC,QAAQ,EAAE;IACV,WAAW,CAAC,gCAAgC,CAAC;;gDACxB;AAItB;IAFC,QAAQ,EAAE;IACV,WAAW,CAAC,cAAc,CAAC;;+CACL;AAKvB;IAHC,IAAI,CAAC,MAAM,CAAC;IACZ,MAAM,CAAC,cAAc,CAAC;IACtB,WAAW,CAAC,0BAA0B,CAAC;;gDACM;AAlBnC,gBAAgB;IAD5B,KAAK,EAAE;;GACK,gBAAgB,CAuB5B"}
@@ -8,8 +8,8 @@ import { TaskStepResultModel } from "./TaskStepResultModel";
8
8
  import { TaskLogEntryModel } from "./TaskLogEntryModel";
9
9
  export declare class TaskModel extends TaskBaseModel {
10
10
  id: string;
11
- type: TaskType;
12
- name?: string;
11
+ atomicity: TaskType;
12
+ classification: string;
13
13
  status: TaskStatus;
14
14
  input?: any;
15
15
  output?: any;