@decaf-ts/core 0.8.50 → 0.8.52

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 (104) hide show
  1. package/README.md +206 -93
  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/fs/FilesystemAdapter.d.ts +67 -0
  7. package/lib/esm/fs/FilesystemAdapter.js +430 -0
  8. package/lib/esm/fs/FilesystemAdapter.js.map +1 -0
  9. package/lib/esm/fs/FsDispatch.d.ts +7 -0
  10. package/lib/esm/fs/FsDispatch.js +20 -0
  11. package/lib/esm/fs/FsDispatch.js.map +1 -0
  12. package/lib/esm/fs/helpers.d.ts +17 -0
  13. package/lib/esm/fs/helpers.js +64 -0
  14. package/lib/esm/fs/helpers.js.map +1 -0
  15. package/lib/esm/fs/index.d.ts +4 -0
  16. package/lib/esm/fs/index.js +5 -0
  17. package/lib/esm/fs/index.js.map +1 -0
  18. package/lib/esm/fs/indexStore.d.ts +28 -0
  19. package/lib/esm/fs/indexStore.js +173 -0
  20. package/lib/esm/fs/indexStore.js.map +1 -0
  21. package/lib/esm/fs/locks/FilesystemLock.d.ts +13 -0
  22. package/lib/esm/fs/locks/FilesystemLock.js +49 -0
  23. package/lib/esm/fs/locks/FilesystemLock.js.map +1 -0
  24. package/lib/esm/fs/locks/FilesystemMultiLock.d.ts +8 -0
  25. package/lib/esm/fs/locks/FilesystemMultiLock.js +23 -0
  26. package/lib/esm/fs/locks/FilesystemMultiLock.js.map +1 -0
  27. package/lib/esm/fs/types.d.ts +34 -0
  28. package/lib/esm/fs/types.js +2 -0
  29. package/lib/esm/fs/types.js.map +1 -0
  30. package/lib/esm/index.d.ts +1 -1
  31. package/lib/esm/index.js +1 -1
  32. package/lib/esm/query/Paginator.js +2 -2
  33. package/lib/esm/query/Paginator.js.map +1 -1
  34. package/lib/esm/ram/RamAdapter.d.ts +1 -1
  35. package/lib/esm/ram/types.d.ts +2 -1
  36. package/lib/esm/tasks/TaskEngine.d.ts +30 -1
  37. package/lib/esm/tasks/TaskEngine.js +361 -16
  38. package/lib/esm/tasks/TaskEngine.js.map +1 -1
  39. package/lib/esm/tasks/TaskService.js +3 -0
  40. package/lib/esm/tasks/TaskService.js.map +1 -1
  41. package/lib/esm/tasks/builder.js +1 -1
  42. package/lib/esm/tasks/builder.js.map +1 -1
  43. package/lib/esm/tasks/constants.js +1 -0
  44. package/lib/esm/tasks/constants.js.map +1 -1
  45. package/lib/esm/tasks/types.d.ts +12 -0
  46. package/lib/esm/tasks/workers/WorkThreadEnvironment.d.ts +32 -0
  47. package/lib/esm/tasks/workers/WorkThreadEnvironment.js +28 -0
  48. package/lib/esm/tasks/workers/WorkThreadEnvironment.js.map +1 -0
  49. package/lib/esm/tasks/workers/messages.d.ts +69 -0
  50. package/lib/esm/tasks/workers/messages.js +2 -0
  51. package/lib/esm/tasks/workers/messages.js.map +1 -0
  52. package/lib/esm/tasks/workers/workerThread.d.ts +1 -0
  53. package/lib/esm/tasks/workers/workerThread.js +185 -0
  54. package/lib/esm/tasks/workers/workerThread.js.map +1 -0
  55. package/lib/fs/FilesystemAdapter.cjs +437 -0
  56. package/lib/fs/FilesystemAdapter.d.ts +67 -0
  57. package/lib/fs/FilesystemAdapter.js.map +1 -0
  58. package/lib/fs/FsDispatch.cjs +24 -0
  59. package/lib/fs/FsDispatch.d.ts +7 -0
  60. package/lib/fs/FsDispatch.js.map +1 -0
  61. package/lib/fs/helpers.cjs +76 -0
  62. package/lib/fs/helpers.d.ts +17 -0
  63. package/lib/fs/helpers.js.map +1 -0
  64. package/lib/fs/index.cjs +21 -0
  65. package/lib/fs/index.d.ts +4 -0
  66. package/lib/fs/index.js.map +1 -0
  67. package/lib/fs/indexStore.cjs +181 -0
  68. package/lib/fs/indexStore.d.ts +28 -0
  69. package/lib/fs/indexStore.js.map +1 -0
  70. package/lib/fs/locks/FilesystemLock.cjs +56 -0
  71. package/lib/fs/locks/FilesystemLock.d.ts +13 -0
  72. package/lib/fs/locks/FilesystemLock.js.map +1 -0
  73. package/lib/fs/locks/FilesystemMultiLock.cjs +30 -0
  74. package/lib/fs/locks/FilesystemMultiLock.d.ts +8 -0
  75. package/lib/fs/locks/FilesystemMultiLock.js.map +1 -0
  76. package/lib/fs/types.cjs +3 -0
  77. package/lib/fs/types.d.ts +34 -0
  78. package/lib/fs/types.js.map +1 -0
  79. package/lib/index.cjs +1 -1
  80. package/lib/index.d.ts +1 -1
  81. package/lib/query/Paginator.cjs +2 -2
  82. package/lib/query/Paginator.js.map +1 -1
  83. package/lib/ram/RamAdapter.d.ts +1 -1
  84. package/lib/ram/types.d.ts +2 -1
  85. package/lib/tasks/TaskEngine.cjs +360 -15
  86. package/lib/tasks/TaskEngine.d.ts +30 -1
  87. package/lib/tasks/TaskEngine.js.map +1 -1
  88. package/lib/tasks/TaskService.cjs +3 -0
  89. package/lib/tasks/TaskService.js.map +1 -1
  90. package/lib/tasks/builder.cjs +1 -1
  91. package/lib/tasks/builder.js.map +1 -1
  92. package/lib/tasks/constants.cjs +1 -0
  93. package/lib/tasks/constants.js.map +1 -1
  94. package/lib/tasks/types.d.ts +12 -0
  95. package/lib/tasks/workers/WorkThreadEnvironment.cjs +31 -0
  96. package/lib/tasks/workers/WorkThreadEnvironment.d.ts +32 -0
  97. package/lib/tasks/workers/WorkThreadEnvironment.js.map +1 -0
  98. package/lib/tasks/workers/messages.cjs +3 -0
  99. package/lib/tasks/workers/messages.d.ts +69 -0
  100. package/lib/tasks/workers/messages.js.map +1 -0
  101. package/lib/tasks/workers/workerThread.cjs +220 -0
  102. package/lib/tasks/workers/workerThread.d.ts +1 -0
  103. package/lib/tasks/workers/workerThread.js.map +1 -0
  104. package/package.json +19 -8
@@ -1 +1 @@
1
- {"version":3,"file":"TaskService.js","sourceRoot":"","sources":["../../../src/tasks/TaskService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskService.js","sourceRoot":"","sources":["../../../src/tasks/TaskService.ts"],"names":[],"mappings":"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"}
@@ -160,7 +160,7 @@ export class CompositeTaskBuilder extends TaskBuilder {
160
160
  throw new InternalError(`Atomicity locked to ${TaskType.COMPOSITE}`);
161
161
  }
162
162
  setSteps(value) {
163
- this.steps = value;
163
+ this.steps = (value ?? []).map((step) => step instanceof TaskStepSpecModel ? step : new TaskStepSpecModel(step));
164
164
  return this;
165
165
  }
166
166
  addStep(classification, input) {
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/tasks/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/tasks/builder.ts"],"names":[],"mappings":"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"}
@@ -42,5 +42,6 @@ export const DefaultTaskEngineConfig = {
42
42
  maxLoggingBuffer: 300,
43
43
  loggingBufferTruncation: 20,
44
44
  gracefulShutdownMsTimeout: 60 * 2 * 1000,
45
+ workerConcurrency: 1,
45
46
  };
46
47
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tasks/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,6CAA+B,CAAA;AACjC,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8CAA2B,CAAA;IAC3B,kCAAe,CAAA;AACjB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,4BAAW,CAAA;IACX,sCAAqB,CAAA;IACrB,4BAAW,CAAA;AACb,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;AACzB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,QAAQ,EAAE,gBAAgB;IAC1B,WAAW,EAAE,EAAE;IACf,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,GAAG;IACf,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,GAAG;IACrB,uBAAuB,EAAE,EAAE;IAC3B,yBAAyB,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI;CAChB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tasks/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,6CAA+B,CAAA;AACjC,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8CAA2B,CAAA;IAC3B,kCAAe,CAAA;AACjB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,4BAAW,CAAA;IACX,sCAAqB,CAAA;IACrB,4BAAW,CAAA;AACb,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;AACzB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,QAAQ,EAAE,gBAAgB;IAC1B,WAAW,EAAE,EAAE;IACf,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,GAAG;IACf,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,GAAG;IACrB,uBAAuB,EAAE,EAAE;IAC3B,yBAAyB,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI;IACxC,iBAAiB,EAAE,CAAC;CACI,CAAC"}
@@ -7,6 +7,8 @@ import { TaskHandlerRegistry } from "./TaskHandlerRegistry";
7
7
  import { TaskEventModel } from "./models/TaskEventModel";
8
8
  import { TaskStatus } from "./constants";
9
9
  import { TaskErrorModel } from "./models/TaskErrorModel";
10
+ import { WorkThreadPersistenceConfig } from "./workers/WorkThreadEnvironment";
11
+ import { WorkThreadModulesConfig } from "./workers/WorkThreadEnvironment";
10
12
  export interface ITaskHandler<I = any, O = any> {
11
13
  type: string;
12
14
  run(input: I, ctx: TaskContext): Promise<O>;
@@ -27,6 +29,13 @@ export interface TaskFlags<LOG extends TaskLogger<any> = TaskLogger<any>> extend
27
29
  heartbeat: () => Promise<void>;
28
30
  resultCache?: Record<string, any>;
29
31
  }
32
+ export type WorkerAdapterDescriptor = WorkThreadPersistenceConfig;
33
+ export type WorkThreadPoolConfig = {
34
+ size?: number;
35
+ mode?: "node" | "browser";
36
+ entry: string;
37
+ modules?: WorkThreadModulesConfig;
38
+ };
30
39
  export type TaskEngineConfig<A extends Adapter<any, any, any, any>> = {
31
40
  adapter: A;
32
41
  overrides?: Partial<FlagsOf<A>>;
@@ -42,6 +51,9 @@ export type TaskEngineConfig<A extends Adapter<any, any, any, any>> = {
42
51
  maxLoggingBuffer: number;
43
52
  loggingBufferTruncation: number;
44
53
  gracefulShutdownMsTimeout: number;
54
+ workerAdapter?: WorkerAdapterDescriptor;
55
+ workerPool?: WorkThreadPoolConfig;
56
+ workerConcurrency?: number;
45
57
  };
46
58
  export type TaskProgressPayload = {
47
59
  status: TaskStatus;
@@ -0,0 +1,32 @@
1
+ type WorkerMode = "node" | "browser";
2
+ export interface WorkThreadPersistenceConfig {
3
+ adapterModule: string;
4
+ adapterClass?: string;
5
+ adapterArgs?: any[];
6
+ flavour?: string;
7
+ alias?: string;
8
+ }
9
+ export interface WorkThreadTaskEngineConfig {
10
+ concurrency: number;
11
+ leaseMs: number;
12
+ pollMsIdle: number;
13
+ pollMsBusy: number;
14
+ logTailMax: number;
15
+ streamBufferSize: number;
16
+ maxLoggingBuffer: number;
17
+ loggingBufferTruncation: number;
18
+ gracefulShutdownMsTimeout: number;
19
+ }
20
+ export interface WorkThreadModulesConfig {
21
+ imports: string[];
22
+ }
23
+ export interface WorkThreadEnvironmentShape {
24
+ workerId: string;
25
+ mode: WorkerMode;
26
+ persistence: WorkThreadPersistenceConfig;
27
+ taskEngine: WorkThreadTaskEngineConfig;
28
+ modules: WorkThreadModulesConfig;
29
+ }
30
+ export declare const DefaultWorkThreadEnvironment: WorkThreadEnvironmentShape;
31
+ export declare const WorkThreadEnvironment: any;
32
+ export {};
@@ -0,0 +1,28 @@
1
+ import { LoggedEnvironment, isBrowser } from "@decaf-ts/logging";
2
+ const defaultTaskEngineConfig = {
3
+ concurrency: 1,
4
+ leaseMs: 60_000,
5
+ pollMsIdle: 5_000,
6
+ pollMsBusy: 1_000,
7
+ logTailMax: 256,
8
+ streamBufferSize: 512,
9
+ maxLoggingBuffer: 1_024,
10
+ loggingBufferTruncation: 8,
11
+ gracefulShutdownMsTimeout: 10_000,
12
+ };
13
+ const defaultModules = {
14
+ imports: ["@decaf-ts/core", "@decaf-ts/logging"],
15
+ };
16
+ export const DefaultWorkThreadEnvironment = {
17
+ workerId: "worker",
18
+ mode: isBrowser() ? "browser" : "node",
19
+ persistence: {
20
+ adapterModule: "@decaf-ts/core/fs",
21
+ adapterClass: "FsAdapter",
22
+ adapterArgs: [],
23
+ },
24
+ taskEngine: defaultTaskEngineConfig,
25
+ modules: defaultModules,
26
+ };
27
+ export const WorkThreadEnvironment = LoggedEnvironment.accumulate(DefaultWorkThreadEnvironment);
28
+ //# sourceMappingURL=WorkThreadEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkThreadEnvironment.js","sourceRoot":"","sources":["../../../../src/tasks/workers/WorkThreadEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAoCjE,MAAM,uBAAuB,GAA+B;IAC1D,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,GAAG;IACf,gBAAgB,EAAE,GAAG;IACrB,gBAAgB,EAAE,KAAK;IACvB,uBAAuB,EAAE,CAAC;IAC1B,yBAAyB,EAAE,MAAM;CAClC,CAAC;AAEF,MAAM,cAAc,GAA4B;IAC9C,OAAO,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAA+B;IACtE,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;IACtC,WAAW,EAAE;QACX,aAAa,EAAE,mBAAmB;QAClC,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,EAAE;KAChB;IACD,UAAU,EAAE,uBAAuB;IACnC,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,UAAU,CAC/D,4BAA4B,CAC7B,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { LogLevel } from "@decaf-ts/logging";
2
+ import { TaskStateChangeRequest } from "../TaskStateChangeError";
3
+ export type WorkerLogEntry = [LogLevel, string] | [LogLevel, string, any];
4
+ export interface WorkerJobPayload {
5
+ jobId: string;
6
+ taskId: string;
7
+ classification: string;
8
+ input: any;
9
+ attempt: number;
10
+ resultCache?: Record<string, any>;
11
+ streamBufferSize: number;
12
+ maxLoggingBuffer: number;
13
+ loggingBufferTruncation: number;
14
+ }
15
+ export type WorkerToMainMessage = {
16
+ type: "ready";
17
+ workerId: string;
18
+ } | {
19
+ type: "log";
20
+ workerId: string;
21
+ jobId: string;
22
+ entries: WorkerLogEntry[];
23
+ } | {
24
+ type: "progress";
25
+ workerId: string;
26
+ jobId: string;
27
+ payload: any;
28
+ } | {
29
+ type: "heartbeat";
30
+ workerId: string;
31
+ jobId: string;
32
+ } | {
33
+ type: "result";
34
+ workerId: string;
35
+ jobId: string;
36
+ status: "success";
37
+ output: any;
38
+ cache?: Record<string, any>;
39
+ } | {
40
+ type: "result";
41
+ workerId: string;
42
+ jobId: string;
43
+ status: "error";
44
+ error: {
45
+ name?: string;
46
+ message: string;
47
+ stack?: string;
48
+ };
49
+ cache?: Record<string, any>;
50
+ } | {
51
+ type: "result";
52
+ workerId: string;
53
+ jobId: string;
54
+ status: "state-change";
55
+ request: TaskStateChangeRequest;
56
+ cache?: Record<string, any>;
57
+ } | {
58
+ type: "error";
59
+ workerId: string;
60
+ error: string;
61
+ stack?: string;
62
+ };
63
+ export type MainToWorkerMessage = {
64
+ type: "control";
65
+ command: "stop" | "shutdown";
66
+ } | {
67
+ type: "execute";
68
+ job: WorkerJobPayload;
69
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/tasks/workers/messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ import "../../overrides/index";
@@ -0,0 +1,185 @@
1
+ import "./../../overrides/index.js";
2
+ import { parentPort, workerData } from "worker_threads";
3
+ import { Adapter } from "./../../persistence/Adapter.js";
4
+ import { WorkThreadEnvironment, } from "./WorkThreadEnvironment.js";
5
+ import { TaskHandlerRegistry } from "./../TaskHandlerRegistry.js";
6
+ import { TaskEngine } from "./../TaskEngine.js";
7
+ import { TaskLogger } from "./../logging.js";
8
+ import { Logging } from "@decaf-ts/logging";
9
+ import { TaskStateChangeError } from "./../TaskStateChangeError.js";
10
+ import { serializeError } from "./../utils.js";
11
+ import { normalizeImport } from "./../../utils/utils.js";
12
+ const initialPort = parentPort;
13
+ if (!initialPort) {
14
+ throw new Error("workerThread.ts must be run inside a worker thread");
15
+ }
16
+ const port = initialPort;
17
+ const environment = WorkThreadEnvironment.accumulate(workerData.environment);
18
+ const persistence = environment.persistence;
19
+ const moduleLoadPromise = loadModules(environment.modules);
20
+ async function loadModules(modules) {
21
+ const imports = modules?.imports ?? [];
22
+ if (!imports.length) {
23
+ throw new Error("Worker modules configuration must include at least one import");
24
+ }
25
+ const loaded = [];
26
+ for (const specifier of imports) {
27
+ const normalized = await normalizeImport(import(specifier));
28
+ loaded.push(normalized);
29
+ }
30
+ return loaded;
31
+ }
32
+ async function resolveAdapter() {
33
+ const loadedModules = await moduleLoadPromise;
34
+ if (!loadedModules.length) {
35
+ throw new Error("Unable to load adapter module for worker");
36
+ }
37
+ if (persistence.adapterModule &&
38
+ environment.modules.imports[0] !== persistence.adapterModule) {
39
+ throw new Error(`Adapter module mismatch: expected ${persistence.adapterModule} as the first import`);
40
+ }
41
+ const adapterExports = loadedModules[0];
42
+ const AdapterCtor = persistence.adapterClass
43
+ ? adapterExports[persistence.adapterClass]
44
+ : adapterExports.default || adapterExports;
45
+ if (!AdapterCtor) {
46
+ throw new Error(`Unable to resolve adapter constructor ${persistence.adapterClass} from ${environment.modules.imports[0]}`);
47
+ }
48
+ const instance = new AdapterCtor(...(persistence.adapterArgs || []));
49
+ if (persistence.alias) {
50
+ Adapter.setCurrent(persistence.alias);
51
+ }
52
+ else if (instance.flavour) {
53
+ Adapter.setCurrent(instance.flavour);
54
+ }
55
+ return instance;
56
+ }
57
+ let adapterPromise;
58
+ const registryPromise = moduleLoadPromise.then(() => new TaskHandlerRegistry());
59
+ function getAdapter() {
60
+ if (!adapterPromise)
61
+ adapterPromise = resolveAdapter();
62
+ return adapterPromise;
63
+ }
64
+ const workerLogger = Logging.get().for(`TaskWorker:${environment.workerId}`);
65
+ function post(message) {
66
+ port.postMessage(message);
67
+ }
68
+ function toLogMessage(jobId, entries) {
69
+ return { type: "log", workerId: environment.workerId, jobId, entries };
70
+ }
71
+ getAdapter()
72
+ .then(() => {
73
+ post({
74
+ type: "ready",
75
+ workerId: environment.workerId,
76
+ });
77
+ })
78
+ .catch((err) => {
79
+ post({
80
+ type: "error",
81
+ workerId: environment.workerId,
82
+ error: err instanceof Error ? err.message : String(err),
83
+ stack: err instanceof Error ? err.stack : undefined,
84
+ });
85
+ });
86
+ async function runJob(job) {
87
+ await getAdapter();
88
+ const registry = await registryPromise;
89
+ const handler = registry.get(job.classification);
90
+ if (!handler) {
91
+ throw new Error(`No task handler registered for type: ${job.classification}`);
92
+ }
93
+ const taskLogger = new TaskLogger(workerLogger, job.streamBufferSize, job.maxLoggingBuffer);
94
+ const pipe = async (entries) => {
95
+ if (!entries.length)
96
+ return;
97
+ post(toLogMessage(job.jobId, entries));
98
+ };
99
+ const ctx = TaskEngine.createTaskContext(undefined, {
100
+ logger: taskLogger,
101
+ taskId: job.taskId,
102
+ attempt: job.attempt,
103
+ pipe: async (entries) => pipe(entries),
104
+ flush: async () => {
105
+ const logs = await taskLogger.flush();
106
+ await pipe(logs);
107
+ },
108
+ progress: async (payload) => {
109
+ post({
110
+ type: "progress",
111
+ workerId: environment.workerId,
112
+ jobId: job.jobId,
113
+ payload,
114
+ });
115
+ },
116
+ heartbeat: async () => {
117
+ post({
118
+ type: "heartbeat",
119
+ workerId: environment.workerId,
120
+ jobId: job.jobId,
121
+ });
122
+ },
123
+ resultCache: job.resultCache ?? {},
124
+ });
125
+ try {
126
+ const output = await handler.run(job.input, ctx);
127
+ await ctx.flush();
128
+ post({
129
+ type: "result",
130
+ workerId: environment.workerId,
131
+ jobId: job.jobId,
132
+ status: "success",
133
+ output,
134
+ cache: ctx.resultCache ?? {},
135
+ });
136
+ }
137
+ catch (error) {
138
+ await ctx.flush();
139
+ if (error instanceof TaskStateChangeError) {
140
+ post({
141
+ type: "result",
142
+ workerId: environment.workerId,
143
+ jobId: job.jobId,
144
+ status: "state-change",
145
+ request: error.request,
146
+ cache: ctx.resultCache ?? {},
147
+ });
148
+ return;
149
+ }
150
+ const serialized = serializeError(error);
151
+ post({
152
+ type: "result",
153
+ workerId: environment.workerId,
154
+ jobId: job.jobId,
155
+ status: "error",
156
+ error: {
157
+ name: error instanceof Error
158
+ ? error.name
159
+ : serialized?.code || "Error",
160
+ message: serialized?.message ?? String(error),
161
+ stack: serialized?.stack,
162
+ },
163
+ cache: ctx.resultCache ?? {},
164
+ });
165
+ }
166
+ }
167
+ port.on("message", (message) => {
168
+ if (message.type === "control") {
169
+ if (message.command === "stop" || message.command === "shutdown") {
170
+ process.exit(0);
171
+ }
172
+ return;
173
+ }
174
+ if (message.type === "execute") {
175
+ void runJob(message.job).catch((err) => {
176
+ post({
177
+ type: "error",
178
+ workerId: environment.workerId,
179
+ error: err instanceof Error ? err.message : String(err),
180
+ stack: err instanceof Error ? err.stack : undefined,
181
+ });
182
+ });
183
+ }
184
+ });
185
+ //# sourceMappingURL=workerThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerThread.js","sourceRoot":"","sources":["../../../../src/tasks/workers/workerThread.ts"],"names":[],"mappings":"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"}