@decaf-ts/core 0.7.73 → 0.8.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 (172) 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/identity/decorators.js +1 -0
  7. package/lib/esm/identity/decorators.js.map +1 -1
  8. package/lib/esm/index.d.ts +1 -1
  9. package/lib/esm/index.js +1 -1
  10. package/lib/esm/interfaces/Observable.d.ts +2 -3
  11. package/lib/esm/interfaces/Observable.js +1 -3
  12. package/lib/esm/interfaces/Observable.js.map +1 -1
  13. package/lib/esm/overrides/Metadata.d.ts +1 -1
  14. package/lib/esm/overrides/overrides.js +1 -1
  15. package/lib/esm/overrides/overrides.js.map +1 -1
  16. package/lib/esm/persistence/Adapter.d.ts +2 -2
  17. package/lib/esm/persistence/Adapter.js +9 -6
  18. package/lib/esm/persistence/Adapter.js.map +1 -1
  19. package/lib/esm/persistence/Dispatch.d.ts +1 -1
  20. package/lib/esm/persistence/Dispatch.js +1 -0
  21. package/lib/esm/persistence/Dispatch.js.map +1 -1
  22. package/lib/esm/persistence/ObserverHandler.d.ts +1 -1
  23. package/lib/esm/persistence/ObserverHandler.js +1 -0
  24. package/lib/esm/persistence/ObserverHandler.js.map +1 -1
  25. package/lib/esm/persistence/decorators.d.ts +1 -1
  26. package/lib/esm/persistence/decorators.js +2 -2
  27. package/lib/esm/persistence/event-filters.d.ts +1 -1
  28. package/lib/esm/ram/RamAdapter.js +11 -6
  29. package/lib/esm/ram/RamAdapter.js.map +1 -1
  30. package/lib/esm/ram/RamStatement.d.ts +2 -1
  31. package/lib/esm/ram/RamStatement.js.map +1 -1
  32. package/lib/esm/repository/Repository.d.ts +2 -2
  33. package/lib/esm/repository/Repository.js +2 -1
  34. package/lib/esm/repository/Repository.js.map +1 -1
  35. package/lib/esm/services/ModelService.d.ts +2 -2
  36. package/lib/esm/services/ModelService.js +2 -2
  37. package/lib/esm/services/ModelService.js.map +1 -1
  38. package/lib/esm/services/PersistenceService.js +1 -1
  39. package/lib/esm/services/PersistenceService.js.map +1 -1
  40. package/lib/esm/services/services.d.ts +1 -1
  41. package/lib/esm/services/services.js +2 -1
  42. package/lib/esm/services/services.js.map +1 -1
  43. package/lib/esm/tasks/TaskEngine.d.ts +21 -17
  44. package/lib/esm/tasks/TaskEngine.js +180 -108
  45. package/lib/esm/tasks/TaskEngine.js.map +1 -1
  46. package/lib/esm/tasks/TaskEventBus.d.ts +10 -4
  47. package/lib/esm/tasks/TaskEventBus.js +26 -6
  48. package/lib/esm/tasks/TaskEventBus.js.map +1 -1
  49. package/lib/esm/tasks/TaskHandler.d.ts +2 -2
  50. package/lib/esm/tasks/TaskHandler.js +3 -3
  51. package/lib/esm/tasks/TaskHandler.js.map +1 -1
  52. package/lib/esm/tasks/TaskService.d.ts +22 -8
  53. package/lib/esm/tasks/TaskService.js +16 -5
  54. package/lib/esm/tasks/TaskService.js.map +1 -1
  55. package/lib/esm/tasks/TaskTracker.d.ts +27 -0
  56. package/lib/esm/tasks/TaskTracker.js +77 -0
  57. package/lib/esm/tasks/TaskTracker.js.map +1 -0
  58. package/lib/esm/tasks/builder.d.ts +1 -1
  59. package/lib/esm/tasks/builder.js +4 -0
  60. package/lib/esm/tasks/builder.js.map +1 -1
  61. package/lib/esm/tasks/constants.d.ts +4 -1
  62. package/lib/esm/tasks/constants.js +12 -0
  63. package/lib/esm/tasks/constants.js.map +1 -1
  64. package/lib/esm/tasks/index.d.ts +9 -0
  65. package/lib/esm/tasks/index.js +9 -0
  66. package/lib/esm/tasks/index.js.map +1 -1
  67. package/lib/esm/tasks/logging.d.ts +2 -1
  68. package/lib/esm/tasks/logging.js +83 -4
  69. package/lib/esm/tasks/logging.js.map +1 -1
  70. package/lib/esm/tasks/models/TaskBackoffModel.d.ts +2 -3
  71. package/lib/esm/tasks/models/TaskBackoffModel.js +2 -3
  72. package/lib/esm/tasks/models/TaskBackoffModel.js.map +1 -1
  73. package/lib/esm/tasks/models/TaskEventModel.d.ts +3 -2
  74. package/lib/esm/tasks/models/TaskEventModel.js +13 -9
  75. package/lib/esm/tasks/models/TaskEventModel.js.map +1 -1
  76. package/lib/esm/tasks/models/TaskLogEntryModel.js +6 -3
  77. package/lib/esm/tasks/models/TaskLogEntryModel.js.map +1 -1
  78. package/lib/esm/tasks/models/TaskModel.d.ts +3 -3
  79. package/lib/esm/tasks/models/TaskModel.js +1 -0
  80. package/lib/esm/tasks/models/TaskModel.js.map +1 -1
  81. package/lib/esm/tasks/models/TaskStepResultModel.js +3 -0
  82. package/lib/esm/tasks/models/TaskStepResultModel.js.map +1 -1
  83. package/lib/esm/tasks/models/TaskStepSpecModel.js +4 -1
  84. package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -1
  85. package/lib/esm/tasks/types.d.ts +26 -1
  86. package/lib/identity/decorators.cjs +1 -0
  87. package/lib/identity/decorators.js.map +1 -1
  88. package/lib/index.cjs +1 -1
  89. package/lib/index.d.ts +1 -1
  90. package/lib/interfaces/Observable.cjs +0 -4
  91. package/lib/interfaces/Observable.d.ts +2 -3
  92. package/lib/interfaces/Observable.js.map +1 -1
  93. package/lib/overrides/Metadata.d.ts +1 -1
  94. package/lib/overrides/overrides.cjs +2 -2
  95. package/lib/overrides/overrides.js.map +1 -1
  96. package/lib/persistence/Adapter.cjs +9 -6
  97. package/lib/persistence/Adapter.d.ts +2 -2
  98. package/lib/persistence/Adapter.js.map +1 -1
  99. package/lib/persistence/Dispatch.cjs +1 -0
  100. package/lib/persistence/Dispatch.d.ts +1 -1
  101. package/lib/persistence/Dispatch.js.map +1 -1
  102. package/lib/persistence/ObserverHandler.cjs +1 -0
  103. package/lib/persistence/ObserverHandler.d.ts +1 -1
  104. package/lib/persistence/ObserverHandler.js.map +1 -1
  105. package/lib/persistence/decorators.cjs +2 -2
  106. package/lib/persistence/decorators.d.ts +1 -1
  107. package/lib/persistence/event-filters.d.ts +1 -1
  108. package/lib/ram/RamAdapter.cjs +11 -6
  109. package/lib/ram/RamAdapter.js.map +1 -1
  110. package/lib/ram/RamStatement.d.ts +2 -1
  111. package/lib/ram/RamStatement.js.map +1 -1
  112. package/lib/repository/Repository.cjs +2 -1
  113. package/lib/repository/Repository.d.ts +2 -2
  114. package/lib/repository/Repository.js.map +1 -1
  115. package/lib/services/ModelService.cjs +8 -8
  116. package/lib/services/ModelService.d.ts +2 -2
  117. package/lib/services/ModelService.js.map +1 -1
  118. package/lib/services/PersistenceService.cjs +2 -2
  119. package/lib/services/PersistenceService.js.map +1 -1
  120. package/lib/services/services.cjs +2 -1
  121. package/lib/services/services.d.ts +1 -1
  122. package/lib/services/services.js.map +1 -1
  123. package/lib/tasks/TaskEngine.cjs +180 -108
  124. package/lib/tasks/TaskEngine.d.ts +21 -17
  125. package/lib/tasks/TaskEngine.js.map +1 -1
  126. package/lib/tasks/TaskEventBus.cjs +26 -6
  127. package/lib/tasks/TaskEventBus.d.ts +10 -4
  128. package/lib/tasks/TaskEventBus.js.map +1 -1
  129. package/lib/tasks/TaskHandler.cjs +2 -2
  130. package/lib/tasks/TaskHandler.d.ts +2 -2
  131. package/lib/tasks/TaskHandler.js.map +1 -1
  132. package/lib/tasks/TaskService.cjs +31 -20
  133. package/lib/tasks/TaskService.d.ts +22 -8
  134. package/lib/tasks/TaskService.js.map +1 -1
  135. package/lib/tasks/TaskTracker.cjs +81 -0
  136. package/lib/tasks/TaskTracker.d.ts +27 -0
  137. package/lib/tasks/TaskTracker.js.map +1 -0
  138. package/lib/tasks/builder.cjs +4 -0
  139. package/lib/tasks/builder.d.ts +1 -1
  140. package/lib/tasks/builder.js.map +1 -1
  141. package/lib/tasks/constants.cjs +13 -1
  142. package/lib/tasks/constants.d.ts +4 -1
  143. package/lib/tasks/constants.js.map +1 -1
  144. package/lib/tasks/index.cjs +9 -0
  145. package/lib/tasks/index.d.ts +9 -0
  146. package/lib/tasks/index.js.map +1 -1
  147. package/lib/tasks/logging.cjs +83 -3
  148. package/lib/tasks/logging.d.ts +2 -1
  149. package/lib/tasks/logging.js.map +1 -1
  150. package/lib/tasks/models/TaskBackoffModel.cjs +1 -2
  151. package/lib/tasks/models/TaskBackoffModel.d.ts +2 -3
  152. package/lib/tasks/models/TaskBackoffModel.js.map +1 -1
  153. package/lib/tasks/models/TaskEventModel.cjs +13 -9
  154. package/lib/tasks/models/TaskEventModel.d.ts +3 -2
  155. package/lib/tasks/models/TaskEventModel.js.map +1 -1
  156. package/lib/tasks/models/TaskLogEntryModel.cjs +5 -2
  157. package/lib/tasks/models/TaskLogEntryModel.js.map +1 -1
  158. package/lib/tasks/models/TaskModel.cjs +1 -0
  159. package/lib/tasks/models/TaskModel.d.ts +3 -3
  160. package/lib/tasks/models/TaskModel.js.map +1 -1
  161. package/lib/tasks/models/TaskStepResultModel.cjs +3 -0
  162. package/lib/tasks/models/TaskStepResultModel.js.map +1 -1
  163. package/lib/tasks/models/TaskStepSpecModel.cjs +3 -0
  164. package/lib/tasks/models/TaskStepSpecModel.js.map +1 -1
  165. package/lib/tasks/types.d.ts +26 -1
  166. package/package.json +1 -1
  167. package/lib/esm/tasks/TaskEventRepository.d.ts +0 -10
  168. package/lib/esm/tasks/TaskEventRepository.js +0 -35
  169. package/lib/esm/tasks/TaskEventRepository.js.map +0 -1
  170. package/lib/tasks/TaskEventRepository.cjs +0 -38
  171. package/lib/tasks/TaskEventRepository.d.ts +0 -10
  172. package/lib/tasks/TaskEventRepository.js.map +0 -1
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskLogger = void 0;
4
+ exports.getLogPipe = getLogPipe;
4
5
  const logging_1 = require("@decaf-ts/logging");
6
+ const constants_1 = require("./constants.cjs");
7
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
5
8
  class TaskLogger {
6
9
  constructor(logger, bufferSize = 150, maxBufferSize = 300, pipe) {
7
10
  this.logger = logger;
@@ -14,7 +17,7 @@ class TaskLogger {
14
17
  this[level] = new Proxy(this[level], {
15
18
  apply: (target, thisArg, argArray) => {
16
19
  target.apply(thisArg, argArray);
17
- thisArg.push(...argArray);
20
+ thisArg.push(level, ...argArray);
18
21
  },
19
22
  });
20
23
  });
@@ -27,8 +30,10 @@ class TaskLogger {
27
30
  flush(pipe) {
28
31
  const result = this.history;
29
32
  this.history = [];
30
- if (pipe)
31
- return pipe(result).catch((e) => this.logger.error(`Failed to pipe logs`, e));
33
+ if (pipe && result.length)
34
+ return pipe(result)
35
+ .catch((e) => this.logger.error(`Failed to pipe logs`, e))
36
+ .finally(() => (this.history = []));
32
37
  this.history = [];
33
38
  return result;
34
39
  }
@@ -74,4 +79,79 @@ class TaskLogger {
74
79
  }
75
80
  }
76
81
  exports.TaskLogger = TaskLogger;
82
+ function getLogPipe(log, opts = { logProgress: true, logStatus: true, style: true }) {
83
+ return async function logPipe(evt) {
84
+ log = log.for(evt.taskId, {
85
+ style: false,
86
+ timestamp: false,
87
+ logLevel: false,
88
+ });
89
+ switch (evt.classification) {
90
+ case constants_1.TaskEventType.LOG: {
91
+ const logs = evt.payload;
92
+ // eslint-disable-next-line prefer-const
93
+ for (let [level, msg, payload] of logs) {
94
+ if (!opts.style) {
95
+ msg = (0, logging_1.style)(msg);
96
+ msg = msg.clear().toString();
97
+ }
98
+ const args = [msg];
99
+ switch (level) {
100
+ case logging_1.LogLevel.verbose:
101
+ args.push(1);
102
+ // eslint-disable-next-line no-fallthrough
103
+ default:
104
+ args.push(payload);
105
+ }
106
+ try {
107
+ log[level](...args);
108
+ }
109
+ catch (e) {
110
+ log.error(`Failed to pipe task logs`, e);
111
+ }
112
+ }
113
+ break;
114
+ }
115
+ case constants_1.TaskEventType.PROGRESS: {
116
+ if (opts.logProgress) {
117
+ const { currentStep, totalSteps } = evt.payload;
118
+ log.info(`### STEP ${currentStep}/${totalSteps}`);
119
+ }
120
+ break;
121
+ }
122
+ case constants_1.TaskEventType.STATUS: {
123
+ if (opts.logStatus) {
124
+ const statusValue = evt.payload?.status ?? evt.payload;
125
+ let status = (0, logging_1.style)(statusValue);
126
+ switch (statusValue) {
127
+ case constants_1.TaskStatus.SUCCEEDED:
128
+ status = status.green.bold;
129
+ break;
130
+ case constants_1.TaskStatus.RUNNING:
131
+ status = status.blue.bold;
132
+ break;
133
+ case constants_1.TaskStatus.PENDING:
134
+ status = status.yellow;
135
+ break;
136
+ case constants_1.TaskStatus.WAITING_RETRY:
137
+ status = status.yellow.bold;
138
+ break;
139
+ case constants_1.TaskStatus.FAILED:
140
+ status = status.red.bold;
141
+ break;
142
+ case constants_1.TaskStatus.CANCELED:
143
+ status = status.red;
144
+ break;
145
+ default:
146
+ throw new db_decorators_1.InternalError(`Received unknown task status: ${evt.payload}`);
147
+ }
148
+ log.info(`### STATUS ${status}`);
149
+ }
150
+ break;
151
+ }
152
+ default:
153
+ throw new db_decorators_1.InternalError(`Unknown task event classification: ${evt.classification}`);
154
+ }
155
+ };
156
+ }
77
157
  //# sourceMappingURL=logging.js.map
@@ -1,5 +1,5 @@
1
1
  import { AnyFunction, Logger, LoggingConfig, LogLevel, LogMeta, StringLike } from "@decaf-ts/logging";
2
- import { LogPipe } from "./types";
2
+ import { EventPipe, LogPipe, LogPipeOptions } from "./types";
3
3
  export declare class TaskLogger<LOG extends Logger> implements Logger {
4
4
  protected logger: Logger;
5
5
  protected bufferSize: number;
@@ -28,3 +28,4 @@ export declare class TaskLogger<LOG extends Logger> implements Logger {
28
28
  verbose(msg: StringLike, verbosity?: number | LogMeta, meta?: LogMeta): void;
29
29
  warn(msg: StringLike, meta?: LogMeta): void;
30
30
  }
31
+ export declare function getLogPipe<LOG extends Logger>(log: LOG, opts?: LogPipeOptions): EventPipe;
@@ -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":";;;AAuIA,gCAkFC;AAzND,+CAS2B;AAG3B,+CAAwD;AACxD,2DAAwD;AAExD,MAAa,UAAU;IAGrB,YACY,MAAc,EACd,aAAqB,GAAG,EACxB,gBAAwB,GAAG,EAC3B,IAAc;QAHd,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAc;QACxB,kBAAa,GAAb,aAAa,CAAc;QAC3B,SAAI,GAAJ,IAAI,CAAU;QANhB,YAAO,GAA8B,EAAE,CAAC;QAwCzC,SAAI,GAAa,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAhCzC,MAAM,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvC,IAAY,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC5C,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;oBACnC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAyB,CAAC,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;gBACnC,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAe,EAAE,MAAc,EAAE,IAAU;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa;YAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CACH,IAAW;QAIX,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC;iBAChB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;iBACzD,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAQ,CAAC;QAE/C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,MAAa,CAAC;IACvB,CAAC;IAID,SAAS,CAAC,GAAe;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAe,EAAE,IAAc;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAuB,EAAE,CAAmB,EAAE,IAAc;QAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAkBD,GAAG,CACD,MAOU,EACV,GAAG,IAAW;QAEd,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,CAAC,MAAuB,EAAE,CAAkB;gBAC7C,IAAI,CAAC,KAAK,QAAQ;oBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;gBACvE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAe,EAAE,IAAc;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAA8B;QACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,GAAe,EAAE,IAAc;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAe,EAAE,IAAc;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,GAAe,EAAE,SAA4B,EAAE,IAAc;QACnE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,GAAe,EAAE,IAAc;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF;AAtHD,gCAsHC;AAED,SAAgB,UAAU,CACxB,GAAQ,EACR,OAAuB,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAE1E,OAAO,KAAK,UAAU,OAAO,CAAC,GAAmB;QAC/C,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE;YACxB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAK,yBAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,MAAM,IAAI,GAA8B,GAAG,CAAC,OAAO,CAAC;gBACpD,wCAAwC;gBACxC,KAAK,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;oBACvC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wBAChB,GAAG,GAAG,IAAA,eAAK,EAAC,GAAG,CAAQ,CAAC;wBACxB,GAAG,GAAI,GAA+B,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC5D,CAAC;oBAED,MAAM,IAAI,GAAmB,CAAC,GAAG,CAAC,CAAC;oBACnC,QAAQ,KAAK,EAAE,CAAC;wBACd,KAAK,kBAAQ,CAAC,OAAO;4BACnB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACf,0CAA0C;wBAC1C;4BACE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,CAAC;oBACD,IAAI,CAAC;wBACH,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBACtB,CAAC;oBAAC,OAAO,CAAU,EAAE,CAAC;wBACpB,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAU,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,yBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;oBAChD,GAAG,CAAC,IAAI,CAAC,YAAY,WAAW,IAAI,UAAU,EAAE,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,yBAAa,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;oBACvD,IAAI,MAAM,GAAG,IAAA,eAAK,EAAC,WAAW,CAAC,CAAC;oBAChC,QAAQ,WAAW,EAAE,CAAC;wBACpB,KAAK,sBAAU,CAAC,SAAS;4BACvB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC3B,MAAM;wBACR,KAAK,sBAAU,CAAC,OAAO;4BACrB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;4BAC1B,MAAM;wBACR,KAAK,sBAAU,CAAC,OAAO;4BACrB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;4BACvB,MAAM;wBACR,KAAK,sBAAU,CAAC,aAAa;4BAC3B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;4BAC5B,MAAM;wBACR,KAAK,sBAAU,CAAC,MAAM;4BACpB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;4BACzB,MAAM;wBACR,KAAK,sBAAU,CAAC,QAAQ;4BACtB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;4BACpB,MAAM;wBACR;4BACE,MAAM,IAAI,6BAAa,CACrB,iCAAiC,GAAG,CAAC,OAAO,EAAE,CAC/C,CAAC;oBACN,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM;YACR,CAAC;YACD;gBACE,MAAM,IAAI,6BAAa,CACrB,sCAAsC,GAAG,CAAC,cAAc,EAAE,CAC3D,CAAC;QACN,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -13,8 +13,7 @@ exports.TaskBackoffModel = void 0;
13
13
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
14
14
  const constants_1 = require("./../constants.cjs");
15
15
  const decoration_1 = require("@decaf-ts/decoration");
16
- const TaskBaseModel_1 = require("./TaskBaseModel.cjs");
17
- let TaskBackoffModel = class TaskBackoffModel extends TaskBaseModel_1.TaskBaseModel {
16
+ let TaskBackoffModel = class TaskBackoffModel extends decorator_validation_1.Model {
18
17
  constructor(arg) {
19
18
  super(arg);
20
19
  this.strategy = constants_1.BackoffStrategy.EXPONENTIAL;
@@ -1,7 +1,6 @@
1
- import { type ModelArg } from "@decaf-ts/decorator-validation";
1
+ import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
2
2
  import { BackoffStrategy, JitterStrategy } from "../constants";
3
- import { TaskBaseModel } from "./TaskBaseModel";
4
- export declare class TaskBackoffModel extends TaskBaseModel {
3
+ export declare class TaskBackoffModel extends Model {
5
4
  strategy: BackoffStrategy;
6
5
  baseMs: number;
7
6
  maxMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskBackoffModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskBackoffModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAMwC;AACxC,kDAA+D;AAC/D,qDAAmD;AACnD,uDAAgD;AAGzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,6BAAa;IAoBjD,YAAY,GAAgC;QAC1C,KAAK,CAAC,GAAG,CAAC,CAAC;QAhBb,aAAQ,GAAoB,2BAAe,CAAC,WAAW,CAAC;QAIxD,WAAM,GAAW,IAAI,CAAC;QAItB,UAAK,GAAW,MAAM,CAAC;QAKvB,WAAM,GAAoB,0BAAc,CAAC,IAAI,CAAC;IAI9C,CAAC;CACF,CAAA;AAvBY,4CAAgB;AAK3B;IAJC,IAAA,+BAAQ,GAAE;IACV,IAAA,2BAAI,EAAC,MAAM,CAAC;IACZ,IAAA,6BAAM,EAAC,2BAAe,CAAC;IACvB,IAAA,wBAAW,EAAC,sBAAsB,CAAC;;kDACoB;AAIxD;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,gCAAgC,CAAC;;gDACxB;AAItB;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,cAAc,CAAC;;+CACL;AAKvB;IAHC,IAAA,2BAAI,EAAC,MAAM,CAAC;IACZ,IAAA,6BAAM,EAAC,0BAAc,CAAC;IACtB,IAAA,wBAAW,EAAC,0BAA0B,CAAC;;gDACM;2BAlBnC,gBAAgB;IAD5B,IAAA,4BAAK,GAAE;;GACK,gBAAgB,CAuB5B"}
1
+ {"version":3,"file":"TaskBackoffModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskBackoffModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAOwC;AACxC,kDAA+D;AAC/D,qDAAmD;AAG5C,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,4BAAK;IAoBzC,YAAY,GAAgC;QAC1C,KAAK,CAAC,GAAG,CAAC,CAAC;QAhBb,aAAQ,GAAoB,2BAAe,CAAC,WAAW,CAAC;QAIxD,WAAM,GAAW,IAAI,CAAC;QAItB,UAAK,GAAW,MAAM,CAAC;QAKvB,WAAM,GAAoB,0BAAc,CAAC,IAAI,CAAC;IAI9C,CAAC;CACF,CAAA;AAvBY,4CAAgB;AAK3B;IAJC,IAAA,+BAAQ,GAAE;IACV,IAAA,2BAAI,EAAC,MAAM,CAAC;IACZ,IAAA,6BAAM,EAAC,2BAAe,CAAC;IACvB,IAAA,wBAAW,EAAC,sBAAsB,CAAC;;kDACoB;AAIxD;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,gCAAgC,CAAC;;gDACxB;AAItB;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,cAAc,CAAC;;+CACL;AAKvB;IAHC,IAAA,2BAAI,EAAC,MAAM,CAAC;IACZ,IAAA,6BAAM,EAAC,0BAAc,CAAC;IACtB,IAAA,wBAAW,EAAC,0BAA0B,CAAC;;gDACM;2BAlBnC,gBAAgB;IAD5B,IAAA,4BAAK,GAAE;;GACK,gBAAgB,CAuB5B"}
@@ -10,28 +10,31 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TaskEventModel = void 0;
13
- const index_1 = require("./../../identity/index.cjs");
13
+ const decorators_1 = require("./../../identity/decorators.cjs");
14
14
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
15
- const index_2 = require("./../../model/index.cjs");
15
+ const decorators_2 = require("./../../model/decorators.cjs");
16
16
  const decoration_1 = require("@decaf-ts/decoration");
17
17
  const db_decorators_1 = require("@decaf-ts/db-decorators");
18
18
  const constants_1 = require("./../constants.cjs");
19
- const decorators_1 = require("./../../persistence/decorators.cjs");
20
- let TaskEventModel = class TaskEventModel extends decorator_validation_1.Model {
19
+ const decorators_3 = require("./../../persistence/decorators.cjs");
20
+ const BaseModel_1 = require("./../../model/BaseModel.cjs");
21
+ let TaskEventModel = class TaskEventModel extends BaseModel_1.BaseModel {
21
22
  constructor(arg) {
22
23
  super(arg);
24
+ this.ts = new Date();
23
25
  }
24
26
  };
25
27
  exports.TaskEventModel = TaskEventModel;
26
28
  __decorate([
27
- (0, db_decorators_1.composed)(["taskId", "uuid", ":"]),
28
- (0, index_1.pk)({ type: String, generated: false }),
29
+ (0, db_decorators_1.composed)(["taskId", "classification", "uuid"], ":"),
30
+ (0, decorators_1.pk)(),
29
31
  __metadata("design:type", String)
30
32
  ], TaskEventModel.prototype, "id", void 0);
31
33
  __decorate([
32
- (0, decorators_1.uuid)(false),
33
34
  (0, db_decorators_1.readonly)(),
34
35
  (0, decorator_validation_1.required)(),
36
+ (0, db_decorators_1.transient)(),
37
+ (0, decorators_3.uuid)(false),
35
38
  __metadata("design:type", String)
36
39
  ], TaskEventModel.prototype, "uuid", void 0);
37
40
  __decorate([
@@ -40,7 +43,8 @@ __decorate([
40
43
  __metadata("design:type", String)
41
44
  ], TaskEventModel.prototype, "taskId", void 0);
42
45
  __decorate([
43
- (0, index_2.createdAt)(),
46
+ (0, decorator_validation_1.date)(),
47
+ (0, decorator_validation_1.required)(),
44
48
  __metadata("design:type", Date)
45
49
  ], TaskEventModel.prototype, "ts", void 0);
46
50
  __decorate([
@@ -56,7 +60,7 @@ __decorate([
56
60
  __metadata("design:type", Object)
57
61
  ], TaskEventModel.prototype, "payload", void 0);
58
62
  exports.TaskEventModel = TaskEventModel = __decorate([
59
- (0, index_2.table)("task_event"),
63
+ (0, decorators_2.table)("task_event"),
60
64
  (0, decorator_validation_1.model)(),
61
65
  __metadata("design:paramtypes", [Object])
62
66
  ], TaskEventModel);
@@ -1,6 +1,7 @@
1
- import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
1
+ import { type ModelArg } from "@decaf-ts/decorator-validation";
2
2
  import { TaskEventType } from "../constants";
3
- export declare class TaskEventModel extends Model {
3
+ import { BaseModel } from "../../model/BaseModel";
4
+ export declare class TaskEventModel extends BaseModel {
4
5
  id: string;
5
6
  uuid: string;
6
7
  taskId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskEventModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskEventModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAA0C;AAC1C,yEAMwC;AACxC,mDAAqD;AACrD,qDAA4C;AAC5C,2DAAwE;AACxE,kDAA6C;AAC7C,mEAAoD;AAI7C,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,4BAAK;IA2BvC,YAAY,GAA8B;QACxC,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AA9BY,wCAAc;AAGzB;IAFC,IAAA,wBAAQ,EAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,IAAA,UAAE,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;0CAC3B;AAKZ;IAHC,IAAA,iBAAI,EAAC,KAAK,CAAC;IACX,IAAA,wBAAQ,GAAE;IACV,IAAA,+BAAQ,GAAE;;4CACG;AAId;IAFC,IAAA,wBAAQ,GAAE;IACV,IAAA,+BAAQ,GAAE;;8CACK;AAGhB;IADC,IAAA,iBAAS,GAAE;8BACP,IAAI;0CAAC;AAKV;IAHC,IAAA,wBAAQ,GAAE;IACV,IAAA,+BAAQ,GAAE;IACV,IAAA,6BAAM,EAAC,yBAAa,CAAC;;sDACS;AAK/B;IAHC,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAQ,GAAE;IACV,IAAA,yBAAS,GAAE;;+CACE;yBAzBH,cAAc;IAF1B,IAAA,aAAK,EAAC,YAAY,CAAC;IACnB,IAAA,4BAAK,GAAE;;GACK,cAAc,CA8B1B"}
1
+ {"version":3,"file":"TaskEventModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskEventModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA+C;AAC/C,yEAMwC;AACxC,6DAA+C;AAC/C,qDAA4C;AAC5C,2DAKiC;AACjC,kDAA6C;AAC7C,mEAAoD;AACpD,2DAAkD;AAI3C,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,qBAAS;IA6B3C,YAAY,GAA8B;QACxC,KAAK,CAAC,GAAG,CAAC,CAAC;QAbb,OAAE,GAAS,IAAI,IAAI,EAAE,CAAC;IActB,CAAC;CACF,CAAA;AAhCY,wCAAc;AAGzB;IAFC,IAAA,wBAAQ,EAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IACnD,IAAA,eAAE,GAAE;;0CACO;AAMZ;IAJC,IAAA,wBAAQ,GAAE;IACV,IAAA,+BAAQ,GAAE;IACV,IAAA,yBAAS,GAAE;IACX,IAAA,iBAAI,EAAC,KAAK,CAAC;;4CACE;AAId;IAFC,IAAA,wBAAQ,GAAE;IACV,IAAA,+BAAQ,GAAE;;8CACK;AAIhB;IAFC,IAAA,2BAAI,GAAE;IACN,IAAA,+BAAQ,GAAE;8BACP,IAAI;0CAAc;AAKtB;IAHC,IAAA,wBAAQ,GAAE;IACV,IAAA,+BAAQ,GAAE;IACV,IAAA,6BAAM,EAAC,yBAAa,CAAC;;sDACS;AAK/B;IAHC,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAQ,GAAE;IACV,IAAA,yBAAS,GAAE;;+CACE;yBA3BH,cAAc;IAF1B,IAAA,kBAAK,EAAC,YAAY,CAAC;IACnB,IAAA,4BAAK,GAAE;;GACK,cAAc,CAgC1B"}
@@ -13,24 +13,27 @@ exports.TaskLogEntryModel = void 0;
13
13
  const logging_1 = require("@decaf-ts/logging");
14
14
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
15
15
  const decoration_1 = require("@decaf-ts/decoration");
16
- const index_1 = require("./../../model/index.cjs");
17
16
  let TaskLogEntryModel = class TaskLogEntryModel extends decorator_validation_1.Model {
18
17
  constructor(arg) {
19
18
  super(arg);
19
+ this.ts = new Date();
20
20
  }
21
21
  };
22
22
  exports.TaskLogEntryModel = TaskLogEntryModel;
23
23
  __decorate([
24
- (0, index_1.createdAt)(),
24
+ (0, decorator_validation_1.date)(),
25
+ (0, decorator_validation_1.required)(),
25
26
  __metadata("design:type", Date)
26
27
  ], TaskLogEntryModel.prototype, "ts", void 0);
27
28
  __decorate([
28
29
  (0, decorator_validation_1.required)(),
30
+ (0, decoration_1.prop)(),
29
31
  (0, decorator_validation_1.option)(logging_1.LogLevel),
30
32
  __metadata("design:type", String)
31
33
  ], TaskLogEntryModel.prototype, "level", void 0);
32
34
  __decorate([
33
35
  (0, decorator_validation_1.required)(),
36
+ (0, decoration_1.prop)(),
34
37
  __metadata("design:type", String)
35
38
  ], TaskLogEntryModel.prototype, "msg", void 0);
36
39
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"TaskLogEntryModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskLogEntryModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6C;AAC7C,yEAMwC;AACxC,qDAA4C;AAC5C,mDAA8C;AAGvC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,4BAAK;IAc1C,YAAY,GAAiC;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAjBY,8CAAiB;AAE5B;IADC,IAAA,iBAAS,GAAE;8BACP,IAAI;6CAAC;AAIV;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,6BAAM,EAAC,kBAAQ,CAAC;;gDACA;AAGjB;IADC,IAAA,+BAAQ,GAAE;;8CACE;AAGb;IADC,IAAA,iBAAI,GAAE;;+CACI;4BAZA,iBAAiB;IAD7B,IAAA,4BAAK,GAAE;;GACK,iBAAiB,CAiB7B"}
1
+ {"version":3,"file":"TaskLogEntryModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskLogEntryModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6C;AAC7C,yEAOwC;AACxC,qDAA4C;AAGrC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,4BAAK;IAiB1C,YAAY,GAAiC;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;QAfb,OAAE,GAAS,IAAI,IAAI,EAAE,CAAC;IAgBtB,CAAC;CACF,CAAA;AApBY,8CAAiB;AAG5B;IAFC,IAAA,2BAAI,GAAE;IACN,IAAA,+BAAQ,GAAE;8BACP,IAAI;6CAAc;AAKtB;IAHC,IAAA,+BAAQ,GAAE;IACV,IAAA,iBAAI,GAAE;IACN,IAAA,6BAAM,EAAC,kBAAQ,CAAC;;gDACA;AAIjB;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,iBAAI,GAAE;;8CACM;AAGb;IADC,IAAA,iBAAI,GAAE;;+CACI;4BAfA,iBAAiB;IAD7B,IAAA,4BAAK,GAAE;;GACK,iBAAiB,CAoB7B"}
@@ -104,6 +104,7 @@ __decorate([
104
104
  ], TaskModel.prototype, "steps", void 0);
105
105
  __decorate([
106
106
  (0, decorator_validation_1.min)(0),
107
+ (0, decoration_1.prop)(),
107
108
  __metadata("design:type", Number)
108
109
  ], TaskModel.prototype, "currentStep", void 0);
109
110
  __decorate([
@@ -6,13 +6,13 @@ import { TaskBackoffModel } from "./TaskBackoffModel";
6
6
  import { TaskStepSpecModel } from "./TaskStepSpecModel";
7
7
  import { TaskStepResultModel } from "./TaskStepResultModel";
8
8
  import { TaskLogEntryModel } from "./TaskLogEntryModel";
9
- export declare class TaskModel extends TaskBaseModel {
9
+ export declare class TaskModel<INPUT = any, OUTPUT = any> extends TaskBaseModel {
10
10
  id: string;
11
11
  atomicity: TaskType;
12
12
  classification: string;
13
13
  status: TaskStatus;
14
- input?: any;
15
- output?: any;
14
+ input?: INPUT;
15
+ output?: OUTPUT;
16
16
  error?: TaskErrorModel;
17
17
  attempt: number;
18
18
  maxAttempts: number;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAgD;AAChD,yEAQwC;AACxC,gEAA+C;AAC/C,kDAAoD;AACpD,yDAAkD;AAClD,6DAAsD;AAGtD,qDAAyD;AACzD,2DAAoD;AACpD,6DAA+C;AAKxC,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,6BAAa;IA4E1C,YAAY,GAAyB;QACnC,KAAK,CAAC,GAAG,CAAC,CAAC;QAzEb,8BAA8B;QAI9B,cAAS,GAAa,oBAAQ,CAAC,MAAM,CAAC,CAAC,qCAAqC;QAK5E,YAAY;QAIZ,WAAM,GAAe,sBAAU,CAAC,OAAO,CAAC;QAqDxC,UAAU;QAIV,YAAO,GAAyB,EAAE,CAAC;IAInC,CAAC;CACF,CAAA;AA/EY,8BAAS;AAEpB;IADC,IAAA,eAAE,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCACT;AAMZ;IAHC,IAAA,+BAAQ,GAAE;IACV,IAAA,2BAAI,EAAC,MAAM,CAAC;IACZ,IAAA,6BAAM,EAAC,oBAAQ,CAAC;;4CACqB;AAGtC;IADC,IAAA,+BAAQ,GAAE;;iDACa;AAMxB;IAHC,IAAA,+BAAQ,GAAE;IACV,IAAA,2BAAI,EAAC,MAAM,CAAC;IACZ,IAAA,6BAAM,EAAC,sBAAU,CAAC;;yCACqB;AAIxC;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,yBAAS,GAAE;;wCACA;AAIZ;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,yBAAS,GAAE;;yCACC;AAIb;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,yBAAS,GAAE;8BACJ,+BAAc;wCAAC;AAKvB;IAFC,IAAA,0BAAG,EAAC,CAAC,CAAC;IACN,IAAA,+BAAQ,GAAE;;0CACM;AAIjB;IAFC,IAAA,0BAAG,EAAC,CAAC,CAAC;IACN,IAAA,+BAAQ,GAAE;;8CACU;AAKrB;IAHC,IAAA,+BAAQ,GAAE;IACV,IAAA,yBAAS,GAAE;IACX,IAAA,wBAAW,EAAC,uBAAuB,CAAC;8BAC3B,mCAAgB;0CAAC;AAI3B;IAFC,IAAA,2BAAI,GAAE;IACN,IAAA,wBAAW,EAAC,0BAA0B,CAAC;8BAC5B,IAAI;4CAAC;AAKjB;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAW,EAAC,6BAA6B,CAAC;;6CACvB;AAIpB;IAFC,IAAA,2BAAI,GAAE;IACN,IAAA,wBAAW,EAAC,iCAAiC,CAAC;8BACjC,IAAI;8CAAC;AAKnB;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,yBAAS,GAAE;;wCACgB;AAG5B;IADC,IAAA,0BAAG,EAAC,CAAC,CAAC;;8CACc;AAIrB;IAFC,IAAA,yBAAS,GAAE;IACX,IAAA,iBAAI,GAAE;;8CAC6B;AAMpC;IAFC,IAAA,yBAAS,GAAE;IACX,IAAA,iBAAI,GAAE;;0CAC4B;oBA1ExB,SAAS;IAFrB,IAAA,kBAAK,EAAC,OAAO,CAAC;IACd,IAAA,4BAAK,GAAE;;GACK,SAAS,CA+ErB"}
1
+ {"version":3,"file":"TaskModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAgD;AAChD,yEAQwC;AACxC,gEAA+C;AAC/C,kDAAoD;AACpD,yDAAkD;AAClD,6DAAsD;AAGtD,qDAAyD;AACzD,2DAAoD;AACpD,6DAA+C;AAKxC,IAAM,SAAS,GAAf,MAAM,SAAqC,SAAQ,6BAAa;IA6ErE,YAAY,GAAyB;QACnC,KAAK,CAAC,GAAG,CAAC,CAAC;QA1Eb,8BAA8B;QAI9B,cAAS,GAAa,oBAAQ,CAAC,MAAM,CAAC,CAAC,qCAAqC;QAK5E,YAAY;QAIZ,WAAM,GAAe,sBAAU,CAAC,OAAO,CAAC;QAsDxC,UAAU;QAIV,YAAO,GAAyB,EAAE,CAAC;IAInC,CAAC;CACF,CAAA;AAhFY,8BAAS;AAEpB;IADC,IAAA,eAAE,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCACT;AAMZ;IAHC,IAAA,+BAAQ,GAAE;IACV,IAAA,2BAAI,EAAC,MAAM,CAAC;IACZ,IAAA,6BAAM,EAAC,oBAAQ,CAAC;;4CACqB;AAGtC;IADC,IAAA,+BAAQ,GAAE;;iDACa;AAMxB;IAHC,IAAA,+BAAQ,GAAE;IACV,IAAA,2BAAI,EAAC,MAAM,CAAC;IACZ,IAAA,6BAAM,EAAC,sBAAU,CAAC;;yCACqB;AAIxC;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,yBAAS,GAAE;;wCACE;AAId;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,yBAAS,GAAE;;yCACI;AAIhB;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,yBAAS,GAAE;8BACJ,+BAAc;wCAAC;AAKvB;IAFC,IAAA,0BAAG,EAAC,CAAC,CAAC;IACN,IAAA,+BAAQ,GAAE;;0CACM;AAIjB;IAFC,IAAA,0BAAG,EAAC,CAAC,CAAC;IACN,IAAA,+BAAQ,GAAE;;8CACU;AAKrB;IAHC,IAAA,+BAAQ,GAAE;IACV,IAAA,yBAAS,GAAE;IACX,IAAA,wBAAW,EAAC,uBAAuB,CAAC;8BAC3B,mCAAgB;0CAAC;AAI3B;IAFC,IAAA,2BAAI,GAAE;IACN,IAAA,wBAAW,EAAC,0BAA0B,CAAC;8BAC5B,IAAI;4CAAC;AAKjB;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAW,EAAC,6BAA6B,CAAC;;6CACvB;AAIpB;IAFC,IAAA,2BAAI,GAAE;IACN,IAAA,wBAAW,EAAC,iCAAiC,CAAC;8BACjC,IAAI;8CAAC;AAKnB;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,yBAAS,GAAE;;wCACgB;AAI5B;IAFC,IAAA,0BAAG,EAAC,CAAC,CAAC;IACN,IAAA,iBAAI,GAAE;;8CACc;AAIrB;IAFC,IAAA,yBAAS,GAAE;IACX,IAAA,iBAAI,GAAE;;8CAC6B;AAMpC;IAFC,IAAA,yBAAS,GAAE;IACX,IAAA,iBAAI,GAAE;;0CAC4B;oBA3ExB,SAAS;IAFrB,IAAA,kBAAK,EAAC,OAAO,CAAC;IACd,IAAA,4BAAK,GAAE;;GACK,SAAS,CAgFrB"}
@@ -14,6 +14,7 @@ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
14
14
  const constants_1 = require("./../constants.cjs");
15
15
  const TaskErrorModel_1 = require("./TaskErrorModel.cjs");
16
16
  const TaskBaseModel_1 = require("./TaskBaseModel.cjs");
17
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
17
18
  const decoration_1 = require("@decaf-ts/decoration");
18
19
  let TaskStepResultModel = class TaskStepResultModel extends TaskBaseModel_1.TaskBaseModel {
19
20
  constructor(arg) {
@@ -23,7 +24,9 @@ let TaskStepResultModel = class TaskStepResultModel extends TaskBaseModel_1.Task
23
24
  exports.TaskStepResultModel = TaskStepResultModel;
24
25
  __decorate([
25
26
  (0, decorator_validation_1.required)(),
27
+ (0, decoration_1.prop)(),
26
28
  (0, decoration_1.description)("The status of a step"),
29
+ (0, db_decorators_1.serialize)(),
27
30
  __metadata("design:type", String)
28
31
  ], TaskStepResultModel.prototype, "status", void 0);
29
32
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"TaskStepResultModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskStepResultModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAAgF;AAChF,kDAA0C;AAC1C,yDAAkD;AAClD,uDAAgD;AAChD,qDAAyD;AAGlD,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,6BAAa;IAapD,YAAY,GAAmC;QAC7C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAhBY,kDAAmB;AAG9B;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,sBAAsB,CAAC;;mDAChB;AAIpB;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAW,EAAC,iCAAiC,CAAC;;mDAClC;AAIb;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAW,EAAC,4BAA4B,CAAC;8BAClC,+BAAc;kDAAC;8BAXZ,mBAAmB;IAD/B,IAAA,4BAAK,GAAE;;GACK,mBAAmB,CAgB/B"}
1
+ {"version":3,"file":"TaskStepResultModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskStepResultModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAAgF;AAChF,kDAA0C;AAC1C,yDAAkD;AAClD,uDAAgD;AAChD,2DAAoD;AACpD,qDAAyD;AAGlD,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,6BAAa;IAepD,YAAY,GAAmC;QAC7C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAlBY,kDAAmB;AAK9B;IAJC,IAAA,+BAAQ,GAAE;IACV,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAW,EAAC,sBAAsB,CAAC;IACnC,IAAA,yBAAS,GAAE;;mDACQ;AAIpB;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAW,EAAC,iCAAiC,CAAC;;mDAClC;AAIb;IAFC,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAW,EAAC,4BAA4B,CAAC;8BAClC,+BAAc;kDAAC;8BAbZ,mBAAmB;IAD/B,IAAA,4BAAK,GAAE;;GACK,mBAAmB,CAkB/B"}
@@ -22,11 +22,14 @@ let TaskStepSpecModel = class TaskStepSpecModel extends TaskBaseModel_1.TaskBase
22
22
  exports.TaskStepSpecModel = TaskStepSpecModel;
23
23
  __decorate([
24
24
  (0, decorator_validation_1.required)(),
25
+ (0, decoration_1.prop)(),
25
26
  (0, decoration_1.description)("task handler type"),
27
+ (0, db_decorators_1.serialize)(),
26
28
  __metadata("design:type", String)
27
29
  ], TaskStepSpecModel.prototype, "classification", void 0);
28
30
  __decorate([
29
31
  (0, decoration_1.description)("optional task step input"),
32
+ (0, decoration_1.prop)(),
30
33
  (0, db_decorators_1.serialize)(),
31
34
  __metadata("design:type", Object)
32
35
  ], TaskStepSpecModel.prototype, "input", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"TaskStepSpecModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskStepSpecModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAAgF;AAChF,uDAAgD;AAChD,qDAAmD;AACnD,2DAAoD;AAG7C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,6BAAa;IASlD,YAAY,GAAiC;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAZY,8CAAiB;AAG5B;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,mBAAmB,CAAC;;yDACT;AAIxB;IAFC,IAAA,wBAAW,EAAC,0BAA0B,CAAC;IACvC,IAAA,yBAAS,GAAE;;gDACA;4BAPD,iBAAiB;IAD7B,IAAA,4BAAK,GAAE;;GACK,iBAAiB,CAY7B"}
1
+ {"version":3,"file":"TaskStepSpecModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskStepSpecModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAAgF;AAChF,uDAAgD;AAChD,qDAAyD;AACzD,2DAAoD;AAG7C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,6BAAa;IAYlD,YAAY,GAAiC;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAfY,8CAAiB;AAK5B;IAJC,IAAA,+BAAQ,GAAE;IACV,IAAA,iBAAI,GAAE;IACN,IAAA,wBAAW,EAAC,mBAAmB,CAAC;IAChC,IAAA,yBAAS,GAAE;;yDACY;AAKxB;IAHC,IAAA,wBAAW,EAAC,0BAA0B,CAAC;IACvC,IAAA,iBAAI,GAAE;IACN,IAAA,yBAAS,GAAE;;gDACA;4BAVD,iBAAiB;IAD7B,IAAA,4BAAK,GAAE;;GACK,iBAAiB,CAe7B"}
@@ -2,10 +2,22 @@ import { TaskContext } from "./TaskContext";
2
2
  import { ContextFlags } from "@decaf-ts/db-decorators";
3
3
  import { TaskLogger } from "./logging";
4
4
  import { LogLevel } from "@decaf-ts/logging";
5
+ import { Adapter } from "../persistence/index";
6
+ import { TaskEventBus } from "./TaskEventBus";
7
+ import { TaskHandlerRegistry } from "./TaskHandlerRegistry";
8
+ import { TaskEventModel } from "./models/TaskEventModel";
9
+ import { TaskStatus } from "./constants";
10
+ import { TaskErrorModel } from "./models/TaskErrorModel";
5
11
  export interface ITaskHandler<I = any, O = any> {
6
12
  type: string;
7
13
  run(input: I, ctx: TaskContext): Promise<O>;
8
14
  }
15
+ export type LogPipeOptions = {
16
+ style: boolean;
17
+ logProgress: boolean;
18
+ logStatus: boolean;
19
+ };
20
+ export type EventPipe = (evt: TaskEventModel, ...args: any[]) => Promise<void>;
9
21
  export type LogPipe = (logs: [LogLevel, string, any][]) => Promise<void>;
10
22
  export interface TaskFlags<LOG extends TaskLogger<any> = TaskLogger<any>> extends ContextFlags<LOG> {
11
23
  taskId: string;
@@ -16,11 +28,24 @@ export interface TaskFlags<LOG extends TaskLogger<any> = TaskLogger<any>> extend
16
28
  heartbeat: () => Promise<void>;
17
29
  resultCache?: Record<string, any>;
18
30
  }
19
- export type TaskEngineOptions = {
31
+ export type TaskEngineConfig<A extends Adapter<any, any, any, any>> = {
32
+ adapter: A;
33
+ bus: TaskEventBus;
34
+ registry: TaskHandlerRegistry;
20
35
  workerId: string;
21
36
  concurrency: number;
22
37
  leaseMs: number;
23
38
  pollMsIdle: number;
24
39
  pollMsBusy: number;
25
40
  logTailMax: number;
41
+ streamBufferSize: number;
42
+ maxLoggingBuffer: number;
43
+ loggingBufferTruncation: number;
44
+ };
45
+ export type TaskProgressPayload = {
46
+ status: TaskStatus;
47
+ currentStep?: number;
48
+ totalSteps?: number;
49
+ output?: any;
50
+ error?: TaskErrorModel;
26
51
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/core",
3
- "version": "0.7.73",
3
+ "version": "0.8.0",
4
4
  "description": "Core persistence module for the decaf framework",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,10 +0,0 @@
1
- import { TaskEventModel } from "./models/TaskEventModel";
2
- import { ModelService } from "../services/ModelService";
3
- import { Constructor } from "@decaf-ts/decoration";
4
- import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
5
- import { ContextOf, EventIds } from "../persistence/types";
6
- import { ContextualArgs } from "../utils/ContextualLoggedClass";
7
- export declare class TaskEventRepository extends ModelService<TaskEventModel> {
8
- constructor();
9
- protected onCreate(table: Constructor<TaskEventModel>, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, payload: TaskEventModel, ...args: ContextualArgs<ContextOf<this["repo"]>>): Promise<void>;
10
- }
@@ -1,35 +0,0 @@
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 { TaskEventModel } from "./models/TaskEventModel.js";
11
- import { service } from "./../utils/decorators.js";
12
- import { ModelService } from "./../services/ModelService.js";
13
- import { InternalError, } from "@decaf-ts/db-decorators";
14
- import { Context } from "./../persistence/index.js";
15
- import { TaskModel } from "./models/TaskModel.js";
16
- let TaskEventRepository = class TaskEventRepository extends ModelService {
17
- constructor() {
18
- super(TaskEventModel);
19
- this.observe({ refresh: this.onCreate.bind(this) }, this.repo.filters.onlyOnCreate);
20
- }
21
- onCreate(table, event, id, payload, ...args) {
22
- if (payload instanceof Context) {
23
- throw new InternalError("Task handlers require the payload to be included");
24
- }
25
- const { log, ctxArgs } = this.logCtx(args, this.onCreate);
26
- log.verbose(`handling task event: ${event} for task ${payload.taskId}: issuing ${payload.classification}`);
27
- return this.updateObservers(TaskModel, payload.classification, payload.taskId, payload, ...ctxArgs);
28
- }
29
- };
30
- TaskEventRepository = __decorate([
31
- service(TaskEventModel),
32
- __metadata("design:paramtypes", [])
33
- ], TaskEventRepository);
34
- export { TaskEventRepository };
35
- //# sourceMappingURL=TaskEventRepository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TaskEventRepository.js","sourceRoot":"","sources":["../../../src/tasks/TaskEventRepository.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,mCAAgC;AACzD,OAAO,EAAE,OAAO,EAAE,iCAA4B;AAC9C,OAAO,EAAE,YAAY,EAAE,sCAAiC;AAExD,OAAO,EAEL,aAAa,GAEd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,kCAA6B;AAC/C,OAAO,EAAE,SAAS,EAAE,8BAA2B;AAGxC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,YAA4B;IACnE;QACE,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,CACV,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAC/B,CAAC;IACJ,CAAC;IAES,QAAQ,CAChB,KAAkC,EAClC,KAAqD,EACrD,EAAY,EACZ,OAAuB,EACvB,GAAG,IAA6C;QAEhD,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,aAAa,CACrB,kDAAkD,CACnD,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,GAAG,CAAC,OAAO,CACT,wBAAwB,KAAK,aAAa,OAAO,CAAC,MAAM,aAAa,OAAO,CAAC,cAAc,EAAE,CAC9F,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CACzB,SAAS,EACT,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,MAAM,EACd,OAAO,EACP,GAAG,OAAO,CACX,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,mBAAmB;IAD/B,OAAO,CAAC,cAAc,CAAC;;GACX,mBAAmB,CAiC/B"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TaskEventRepository = void 0;
13
- const TaskEventModel_1 = require("./models/TaskEventModel.cjs");
14
- const decorators_1 = require("./../utils/decorators.cjs");
15
- const ModelService_1 = require("./../services/ModelService.cjs");
16
- const db_decorators_1 = require("@decaf-ts/db-decorators");
17
- const index_1 = require("./../persistence/index.cjs");
18
- const TaskModel_1 = require("./models/TaskModel.cjs");
19
- let TaskEventRepository = class TaskEventRepository extends ModelService_1.ModelService {
20
- constructor() {
21
- super(TaskEventModel_1.TaskEventModel);
22
- this.observe({ refresh: this.onCreate.bind(this) }, this.repo.filters.onlyOnCreate);
23
- }
24
- onCreate(table, event, id, payload, ...args) {
25
- if (payload instanceof index_1.Context) {
26
- throw new db_decorators_1.InternalError("Task handlers require the payload to be included");
27
- }
28
- const { log, ctxArgs } = this.logCtx(args, this.onCreate);
29
- log.verbose(`handling task event: ${event} for task ${payload.taskId}: issuing ${payload.classification}`);
30
- return this.updateObservers(TaskModel_1.TaskModel, payload.classification, payload.taskId, payload, ...ctxArgs);
31
- }
32
- };
33
- exports.TaskEventRepository = TaskEventRepository;
34
- exports.TaskEventRepository = TaskEventRepository = __decorate([
35
- (0, decorators_1.service)(TaskEventModel_1.TaskEventModel),
36
- __metadata("design:paramtypes", [])
37
- ], TaskEventRepository);
38
- //# sourceMappingURL=TaskEventRepository.js.map
@@ -1,10 +0,0 @@
1
- import { TaskEventModel } from "./models/TaskEventModel";
2
- import { ModelService } from "../services/ModelService";
3
- import { Constructor } from "@decaf-ts/decoration";
4
- import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
5
- import { ContextOf, EventIds } from "../persistence/types";
6
- import { ContextualArgs } from "../utils/ContextualLoggedClass";
7
- export declare class TaskEventRepository extends ModelService<TaskEventModel> {
8
- constructor();
9
- protected onCreate(table: Constructor<TaskEventModel>, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, payload: TaskEventModel, ...args: ContextualArgs<ContextOf<this["repo"]>>): Promise<void>;
10
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"TaskEventRepository.js","sourceRoot":"","sources":["../../src/tasks/TaskEventRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAAyD;AACzD,0DAA8C;AAC9C,iEAAwD;AAExD,2DAIiC;AAGjC,sDAA+C;AAC/C,sDAA+C;AAGxC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,2BAA4B;IACnE;QACE,KAAK,CAAC,+BAAc,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,CACV,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAC/B,CAAC;IACJ,CAAC;IAES,QAAQ,CAChB,KAAkC,EAClC,KAAqD,EACrD,EAAY,EACZ,OAAuB,EACvB,GAAG,IAA6C;QAEhD,IAAI,OAAO,YAAY,eAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,6BAAa,CACrB,kDAAkD,CACnD,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,GAAG,CAAC,OAAO,CACT,wBAAwB,KAAK,aAAa,OAAO,CAAC,MAAM,aAAa,OAAO,CAAC,cAAc,EAAE,CAC9F,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CACzB,qBAAS,EACT,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,MAAM,EACd,OAAO,EACP,GAAG,OAAO,CACX,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,oBAAO,EAAC,+BAAc,CAAC;;GACX,mBAAmB,CAiC/B"}