bunqueue 2.7.3 → 2.7.5

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 (36) hide show
  1. package/dist/client/worker/processor.d.ts.map +1 -1
  2. package/dist/client/worker/processor.js +35 -99
  3. package/dist/client/worker/processor.js.map +1 -1
  4. package/dist/client/worker/processorHandlers.d.ts +26 -0
  5. package/dist/client/worker/processorHandlers.d.ts.map +1 -0
  6. package/dist/client/worker/processorHandlers.js +137 -0
  7. package/dist/client/worker/processorHandlers.js.map +1 -0
  8. package/dist/client/workflow/compensator.d.ts +15 -0
  9. package/dist/client/workflow/compensator.d.ts.map +1 -0
  10. package/dist/client/workflow/compensator.js +38 -0
  11. package/dist/client/workflow/compensator.js.map +1 -0
  12. package/dist/client/workflow/engine.d.ts +8 -1
  13. package/dist/client/workflow/engine.d.ts.map +1 -1
  14. package/dist/client/workflow/engine.js +9 -0
  15. package/dist/client/workflow/engine.js.map +1 -1
  16. package/dist/client/workflow/executor.d.ts +5 -2
  17. package/dist/client/workflow/executor.d.ts.map +1 -1
  18. package/dist/client/workflow/executor.js +38 -59
  19. package/dist/client/workflow/executor.js.map +1 -1
  20. package/dist/client/workflow/index.d.ts +1 -1
  21. package/dist/client/workflow/index.d.ts.map +1 -1
  22. package/dist/client/workflow/recovery.d.ts +23 -0
  23. package/dist/client/workflow/recovery.d.ts.map +1 -0
  24. package/dist/client/workflow/recovery.js +74 -0
  25. package/dist/client/workflow/recovery.js.map +1 -0
  26. package/dist/client/workflow/store.d.ts +2 -0
  27. package/dist/client/workflow/store.d.ts.map +1 -1
  28. package/dist/client/workflow/store.js +6 -0
  29. package/dist/client/workflow/store.js.map +1 -1
  30. package/dist/client/workflow/types.d.ts +37 -22
  31. package/dist/client/workflow/types.d.ts.map +1 -1
  32. package/dist/client/workflow/workflow.d.ts +17 -14
  33. package/dist/client/workflow/workflow.d.ts.map +1 -1
  34. package/dist/client/workflow/workflow.js +30 -20
  35. package/dist/client/workflow/workflow.js.map +1 -1
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../src/client/worker/processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAkC,MAAM,UAAU,CAAC;AAE1E,OAAO,KAAK,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAKjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,8BAA8B;AAC9B,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,CAAC,EACnC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAyDf"}
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../src/client/worker/processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,UAAU,CAAC;AAE5D,OAAO,KAAK,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAc/C,8BAA8B;AAC9B,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,CAAC,EACnC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2Ff"}
@@ -3,10 +3,10 @@
3
3
  * Handles job execution and result reporting
4
4
  */
5
5
  import { createPublicJob } from '../types';
6
- import { jobId } from '../../domain/types/job';
7
6
  import { getSharedManager } from '../manager';
8
7
  import { UnrecoverableError } from '../errors';
9
8
  import { DelayedError } from '../errors';
9
+ import { createProgressHandler, createLogHandler, createGetStateHandler, createGetChildrenValuesHandler, createGetFailedChildrenValuesHandler, createGetIgnoredChildrenFailuresHandler, createRemoveChildDependencyHandler, createRemoveUnprocessedChildrenHandler, createMoveToFailedHandler, createMoveToCompletedHandler, } from './processorHandlers';
10
10
  /**
11
11
  * Process a single job
12
12
  */
@@ -16,6 +16,15 @@ export async function processJob(internalJob, config) {
16
16
  const jobName = jobData?.name ?? 'default';
17
17
  const jobIdStr = String(internalJob.id);
18
18
  const jobHolder = { current: null };
19
+ // Track whether moveToFailed/moveToCompleted was explicitly called (Issue #82)
20
+ // Use a mutable holder so TS doesn't narrow to `never` after closure mutation
21
+ const manualMove = { result: null };
22
+ const moveToFailedHandler = createMoveToFailedHandler(embedded, tcp, internalJob, token, (error) => {
23
+ manualMove.result = { type: 'failed', error };
24
+ });
25
+ const moveToCompletedHandler = createMoveToCompletedHandler(embedded, ackBatcher, internalJob, token, (value) => {
26
+ manualMove.result = { type: 'completed', value };
27
+ });
19
28
  const job = createPublicJob({
20
29
  job: internalJob,
21
30
  name: jobName,
@@ -27,11 +36,17 @@ export async function processJob(internalJob, config) {
27
36
  getIgnoredChildrenFailures: createGetIgnoredChildrenFailuresHandler(embedded, tcp),
28
37
  removeChildDependency: createRemoveChildDependencyHandler(embedded, tcp),
29
38
  removeUnprocessedChildren: createRemoveUnprocessedChildrenHandler(embedded, tcp),
39
+ moveToFailed: moveToFailedHandler,
40
+ moveToCompleted: moveToCompletedHandler,
30
41
  });
31
42
  jobHolder.current = job;
32
43
  emitter.emit('active', job);
33
44
  try {
34
45
  const result = await processor(job);
46
+ // Issue #82: If moveToFailed/moveToCompleted was called, skip auto-ACK
47
+ if (handleManualMove(manualMove, job, config))
48
+ return;
49
+ // Normal path: auto-ACK
35
50
  try {
36
51
  if (embedded) {
37
52
  const manager = getSharedManager();
@@ -59,107 +74,28 @@ export async function processJob(internalJob, config) {
59
74
  emitter.emit('completed', job, result);
60
75
  }
61
76
  catch (error) {
77
+ // Issue #82: If moveToFailed was already called, skip normal failure handling
78
+ if (handleManualMove(manualMove, job, config))
79
+ return;
62
80
  await handleJobFailure(internalJob, error, config, { job, jobIdStr, token });
63
81
  }
64
82
  }
65
- function createProgressHandler(embedded, tcp, emitter, jobHolder) {
66
- return async (id, progress, message) => {
67
- if (embedded) {
68
- const manager = getSharedManager();
69
- await manager.updateProgress(jobId(id), progress, message);
70
- }
71
- else if (tcp) {
72
- await tcp.send({ cmd: 'Progress', id, progress, message });
73
- }
74
- emitter.emit('progress', jobHolder.current, progress);
75
- };
76
- }
77
- function createLogHandler(embedded, tcp, emitter, jobHolder) {
78
- return async (id, message) => {
79
- if (embedded) {
80
- const manager = getSharedManager();
81
- // addLog is synchronous (in-memory Map update)
82
- manager.addLog(jobId(id), message);
83
- }
84
- else if (tcp) {
85
- await tcp.send({ cmd: 'AddLog', id, message });
86
- }
87
- emitter.emit('log', jobHolder.current, message);
88
- };
89
- }
90
- function createGetStateHandler(embedded, tcp) {
91
- return async (id) => {
92
- if (embedded) {
93
- const manager = getSharedManager();
94
- return (await manager.getJobState(jobId(id)));
95
- }
96
- else if (tcp) {
97
- const response = await tcp.send({ cmd: 'GetState', id });
98
- return (response.state ?? 'unknown');
99
- }
100
- return 'unknown';
101
- };
102
- }
103
- function createGetChildrenValuesHandler(embedded, tcp) {
104
- return async (id) => {
105
- if (embedded) {
106
- const manager = getSharedManager();
107
- return manager.getChildrenValues(jobId(id));
108
- }
109
- else if (tcp) {
110
- const response = await tcp.send({ cmd: 'GetChildrenValues', id });
111
- const data = response.data;
112
- return data?.values ?? {};
113
- }
114
- return {};
115
- };
116
- }
117
- function createGetFailedChildrenValuesHandler(embedded, tcp) {
118
- return async (id) => {
119
- if (embedded) {
120
- const manager = getSharedManager();
121
- return manager.getFailedChildrenValues(jobId(id));
122
- }
123
- if (!tcp)
124
- return {};
125
- const res = await tcp.send({ cmd: 'GetFailedChildrenValues', id });
126
- return res.values ?? {};
127
- };
128
- }
129
- function createGetIgnoredChildrenFailuresHandler(embedded, tcp) {
130
- return async (id) => {
131
- if (embedded) {
132
- const manager = getSharedManager();
133
- return manager.getIgnoredChildrenFailures(jobId(id));
134
- }
135
- if (!tcp)
136
- return {};
137
- const res = await tcp.send({ cmd: 'GetIgnoredChildrenFailures', id });
138
- return res.values ?? {};
139
- };
140
- }
141
- function createRemoveChildDependencyHandler(embedded, tcp) {
142
- return async (id) => {
143
- if (embedded) {
144
- const manager = getSharedManager();
145
- return manager.removeChildDependency(jobId(id));
146
- }
147
- if (!tcp)
148
- return false;
149
- const res = await tcp.send({ cmd: 'RemoveChildDependency', id });
150
- return res.ok === true;
151
- };
152
- }
153
- function createRemoveUnprocessedChildrenHandler(embedded, tcp) {
154
- return async (id) => {
155
- if (embedded) {
156
- const manager = getSharedManager();
157
- return manager.removeUnprocessedChildren(jobId(id));
158
- }
159
- if (!tcp)
160
- return;
161
- await tcp.send({ cmd: 'RemoveUnprocessedChildren', id });
162
- };
83
+ /** Issue #82: Handle explicit moveToFailed/moveToCompleted called inside processor */
84
+ function handleManualMove(manualMove, job, config) {
85
+ if (manualMove.result?.type === 'failed') {
86
+ const err = manualMove.result.error ?? new Error('Job manually moved to failed');
87
+ job.failedReason = err.message;
88
+ config.onOutcome?.(false);
89
+ config.emitter.emit('failed', job, err);
90
+ return true;
91
+ }
92
+ if (manualMove.result?.type === 'completed') {
93
+ job.returnvalue = manualMove.result.value;
94
+ config.onOutcome?.(true);
95
+ config.emitter.emit('completed', job, manualMove.result.value);
96
+ return true;
97
+ }
98
+ return false;
163
99
  }
164
100
  /** Check if error is a "job not found" error from stale ACK/FAIL (Issue #33) */
165
101
  function isJobNotFoundError(err) {
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/client/worker/processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/client/worker/processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Processor Handler Factories
3
+ * Creates callback handlers for job operations during processing
4
+ */
5
+ import type { EventEmitter } from 'events';
6
+ import type { TcpConnection } from './types';
7
+ import type { Job, FlowJobData, JobStateType } from '../types';
8
+ import type { Job as InternalJob } from '../../domain/types/job';
9
+ import type { AckBatcher } from './ackBatcher';
10
+ export declare function createProgressHandler<T extends FlowJobData>(embedded: boolean, tcp: TcpConnection | null, emitter: EventEmitter, jobHolder: {
11
+ current: Job<T> | null;
12
+ }): (id: string, progress: number, message?: string) => Promise<void>;
13
+ export declare function createLogHandler<T extends FlowJobData>(embedded: boolean, tcp: TcpConnection | null, emitter: EventEmitter, jobHolder: {
14
+ current: Job<T> | null;
15
+ }): (id: string, message: string) => Promise<void>;
16
+ export declare function createGetStateHandler(embedded: boolean, tcp: TcpConnection | null): (id: string) => Promise<JobStateType>;
17
+ export declare function createGetChildrenValuesHandler(embedded: boolean, tcp: TcpConnection | null): (id: string) => Promise<Record<string, unknown>>;
18
+ export declare function createGetFailedChildrenValuesHandler(embedded: boolean, tcp: TcpConnection | null): (id: string) => Promise<Record<string, string>>;
19
+ export declare function createGetIgnoredChildrenFailuresHandler(embedded: boolean, tcp: TcpConnection | null): (id: string) => Promise<Record<string, string>>;
20
+ export declare function createRemoveChildDependencyHandler(embedded: boolean, tcp: TcpConnection | null): (id: string) => Promise<boolean>;
21
+ export declare function createRemoveUnprocessedChildrenHandler(embedded: boolean, tcp: TcpConnection | null): (id: string) => Promise<void>;
22
+ /** Issue #82: Create moveToFailed handler for use inside processor */
23
+ export declare function createMoveToFailedHandler(embedded: boolean, tcp: TcpConnection | null, internalJob: InternalJob, token: string | null | undefined, onCalled: (error: Error) => void): (id: string, error: Error, _lockToken?: string) => Promise<void>;
24
+ /** Issue #82: Create moveToCompleted handler for use inside processor */
25
+ export declare function createMoveToCompletedHandler(embedded: boolean, ackBatcher: AckBatcher, internalJob: InternalJob, token: string | null | undefined, onCalled: (value: unknown) => void): (id: string, returnValue: unknown, _lockToken?: string) => Promise<unknown>;
26
+ //# sourceMappingURL=processorHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processorHandlers.d.ts","sourceRoot":"","sources":["../../../src/client/worker/processorHandlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Processor Handler Factories
3
+ * Creates callback handlers for job operations during processing
4
+ */
5
+ import { jobId } from '../../domain/types/job';
6
+ import { getSharedManager } from '../manager';
7
+ export function createProgressHandler(embedded, tcp, emitter, jobHolder) {
8
+ return async (id, progress, message) => {
9
+ if (embedded) {
10
+ const manager = getSharedManager();
11
+ await manager.updateProgress(jobId(id), progress, message);
12
+ }
13
+ else if (tcp) {
14
+ await tcp.send({ cmd: 'Progress', id, progress, message });
15
+ }
16
+ emitter.emit('progress', jobHolder.current, progress);
17
+ };
18
+ }
19
+ export function createLogHandler(embedded, tcp, emitter, jobHolder) {
20
+ return async (id, message) => {
21
+ if (embedded) {
22
+ const manager = getSharedManager();
23
+ manager.addLog(jobId(id), message);
24
+ }
25
+ else if (tcp) {
26
+ await tcp.send({ cmd: 'AddLog', id, message });
27
+ }
28
+ emitter.emit('log', jobHolder.current, message);
29
+ };
30
+ }
31
+ export function createGetStateHandler(embedded, tcp) {
32
+ return async (id) => {
33
+ if (embedded) {
34
+ const manager = getSharedManager();
35
+ return (await manager.getJobState(jobId(id)));
36
+ }
37
+ else if (tcp) {
38
+ const response = await tcp.send({ cmd: 'GetState', id });
39
+ return (response.state ?? 'unknown');
40
+ }
41
+ return 'unknown';
42
+ };
43
+ }
44
+ export function createGetChildrenValuesHandler(embedded, tcp) {
45
+ return async (id) => {
46
+ if (embedded) {
47
+ const manager = getSharedManager();
48
+ return manager.getChildrenValues(jobId(id));
49
+ }
50
+ else if (tcp) {
51
+ const response = await tcp.send({ cmd: 'GetChildrenValues', id });
52
+ const data = response.data;
53
+ return data?.values ?? {};
54
+ }
55
+ return {};
56
+ };
57
+ }
58
+ export function createGetFailedChildrenValuesHandler(embedded, tcp) {
59
+ return async (id) => {
60
+ if (embedded) {
61
+ const manager = getSharedManager();
62
+ return manager.getFailedChildrenValues(jobId(id));
63
+ }
64
+ if (!tcp)
65
+ return {};
66
+ const res = await tcp.send({ cmd: 'GetFailedChildrenValues', id });
67
+ return res.values ?? {};
68
+ };
69
+ }
70
+ export function createGetIgnoredChildrenFailuresHandler(embedded, tcp) {
71
+ return async (id) => {
72
+ if (embedded) {
73
+ const manager = getSharedManager();
74
+ return manager.getIgnoredChildrenFailures(jobId(id));
75
+ }
76
+ if (!tcp)
77
+ return {};
78
+ const res = await tcp.send({ cmd: 'GetIgnoredChildrenFailures', id });
79
+ return res.values ?? {};
80
+ };
81
+ }
82
+ export function createRemoveChildDependencyHandler(embedded, tcp) {
83
+ return async (id) => {
84
+ if (embedded) {
85
+ const manager = getSharedManager();
86
+ return manager.removeChildDependency(jobId(id));
87
+ }
88
+ if (!tcp)
89
+ return false;
90
+ const res = await tcp.send({ cmd: 'RemoveChildDependency', id });
91
+ return res.ok === true;
92
+ };
93
+ }
94
+ export function createRemoveUnprocessedChildrenHandler(embedded, tcp) {
95
+ return async (id) => {
96
+ if (embedded) {
97
+ const manager = getSharedManager();
98
+ return manager.removeUnprocessedChildren(jobId(id));
99
+ }
100
+ if (!tcp)
101
+ return;
102
+ await tcp.send({ cmd: 'RemoveUnprocessedChildren', id });
103
+ };
104
+ }
105
+ /** Issue #82: Create moveToFailed handler for use inside processor */
106
+ export function createMoveToFailedHandler(embedded, tcp, internalJob, token, onCalled) {
107
+ return async (_id, error, _lockToken) => {
108
+ if (embedded) {
109
+ const manager = getSharedManager();
110
+ await manager.fail(internalJob.id, error.message, token ?? undefined);
111
+ }
112
+ else if (tcp) {
113
+ await tcp.send({
114
+ cmd: 'FAIL',
115
+ id: internalJob.id,
116
+ error: error.message,
117
+ ...(token ? { token } : {}),
118
+ });
119
+ }
120
+ onCalled(error);
121
+ };
122
+ }
123
+ /** Issue #82: Create moveToCompleted handler for use inside processor */
124
+ export function createMoveToCompletedHandler(embedded, ackBatcher, internalJob, token, onCalled) {
125
+ return async (_id, returnValue, _lockToken) => {
126
+ if (embedded) {
127
+ const manager = getSharedManager();
128
+ await manager.ack(internalJob.id, returnValue, token ?? undefined);
129
+ }
130
+ else {
131
+ await ackBatcher.queue(String(internalJob.id), returnValue, token ?? undefined);
132
+ }
133
+ onCalled(returnValue);
134
+ return null;
135
+ };
136
+ }
137
+ //# sourceMappingURL=processorHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processorHandlers.js","sourceRoot":"","sources":["../../../src/client/worker/processorHandlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Compensation logic - runs compensate handlers in reverse order on failure
3
+ */
4
+ import type { Execution } from './types';
5
+ import type { Workflow } from './workflow';
6
+ import type { WorkflowStore } from './store';
7
+ import type { WorkflowEmitter } from './emitter';
8
+ /** Sentinel error thrown when execution must pause for a signal */
9
+ export declare class WaitForSignalError extends Error {
10
+ readonly event: string;
11
+ constructor(event: string);
12
+ }
13
+ /** Run compensation handlers in reverse order for all completed steps */
14
+ export declare function runCompensation(exec: Execution, wf: Workflow, store: WorkflowStore, emitter: WorkflowEmitter | null): Promise<void>;
15
+ //# sourceMappingURL=compensator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compensator.d.ts","sourceRoot":"","sources":["../../../src/client/workflow/compensator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD,mEAAmE;AACnE,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAGnC;AAED,yEAAyE;AACzE,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,GAAG,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Compensation logic - runs compensate handlers in reverse order on failure
3
+ */
4
+ import { findStepDef, buildContext } from './runner';
5
+ /** Sentinel error thrown when execution must pause for a signal */
6
+ export class WaitForSignalError extends Error {
7
+ event;
8
+ constructor(event) {
9
+ super(`Waiting for signal: ${event}`);
10
+ this.event = event;
11
+ }
12
+ }
13
+ /** Run compensation handlers in reverse order for all completed steps */
14
+ export async function runCompensation(exec, wf, store, emitter) {
15
+ const completed = Object.entries(exec.steps)
16
+ .filter(([name, s]) => s.status === 'completed' && !name.startsWith('__'))
17
+ .reverse();
18
+ if (completed.length === 0)
19
+ return;
20
+ exec.state = 'compensating';
21
+ store.update(exec);
22
+ emitter?.emitWorkflow('workflow:compensating', exec.id, exec.workflowName, 'compensating');
23
+ const ctx = buildContext(exec);
24
+ for (const [name] of completed) {
25
+ const def = findStepDef(wf, name);
26
+ if (def?.compensate) {
27
+ try {
28
+ await def.compensate(ctx);
29
+ }
30
+ catch {
31
+ // Compensation errors don't stop the chain
32
+ }
33
+ }
34
+ }
35
+ exec.state = 'failed';
36
+ store.update(exec);
37
+ }
38
+ //# sourceMappingURL=compensator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compensator.js","sourceRoot":"","sources":["../../../src/client/workflow/compensator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErD,mEAAmE;AACnE,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACtB;IAArB,YAAqB,KAAa;QAChC,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QADnB,UAAK,GAAL,KAAK,CAAQ;IAElC,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAe,EACf,EAAY,EACZ,KAAoB,EACpB,OAA+B;IAE/B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACzE,OAAO,EAAE,CAAC;IACb,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEnC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;IAC5B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAE3F,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,GAAG,EAAE,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Manages lifecycle of internal Queue, Worker, and Store.
4
4
  */
5
5
  import type { Workflow } from './workflow';
6
- import type { EngineOptions, RunHandle, Execution, ExecutionState, WorkflowEventType, WorkflowEventListener } from './types';
6
+ import type { EngineOptions, RunHandle, Execution, ExecutionState, RecoverResult, WorkflowEventType, WorkflowEventListener } from './types';
7
7
  export declare class Engine {
8
8
  private readonly queue;
9
9
  private readonly worker;
@@ -21,6 +21,13 @@ export declare class Engine {
21
21
  listExecutions(workflowName?: string, state?: ExecutionState): Execution[];
22
22
  /** Send a signal to a waiting execution */
23
23
  signal(executionId: string, event: string, payload?: unknown): Promise<void>;
24
+ /**
25
+ * Recover orphaned executions after a crash/restart.
26
+ * - 'running' executions: re-enqueued at their current step
27
+ * - 'waiting' executions: timeout timers re-armed (or resumed if signal arrived)
28
+ * - 'compensating' executions: compensation re-run (handlers must be idempotent)
29
+ */
30
+ recover(): Promise<RecoverResult>;
24
31
  /** Subscribe to a specific workflow event type */
25
32
  on(type: WorkflowEventType, listener: WorkflowEventListener): this;
26
33
  /** Subscribe to all workflow events */
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/client/workflow/engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,cAAc,EAEd,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAIjB,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAE9B,IAAI,GAAE,aAAkB;IAiCpC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKlC,qCAAqC;IAC/B,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAItE,gCAAgC;IAChC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI1C,4CAA4C;IAC5C,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,EAAE;IAI1E,2CAA2C;IACrC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF,kDAAkD;IAClD,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAKlE,uCAAuC;IACvC,KAAK,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAK5C,6CAA6C;IAC7C,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAKnE,uCAAuC;IACvC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAK7C,uDAAuD;IACvD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,GAAG,MAAM,IAAI;IAU3E,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,MAAM;IAI5D,iDAAiD;IACjD,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,MAAM;IAI5D,mCAAmC;IACnC,gBAAgB,IAAI,MAAM;IAI1B,2BAA2B;IACrB,KAAK,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAM1C"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/client/workflow/engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,cAAc,EACd,aAAa,EAEb,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAIjB,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAE9B,IAAI,GAAE,aAAkB;IAiCpC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKlC,qCAAqC;IAC/B,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAItE,gCAAgC;IAChC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI1C,4CAA4C;IAC5C,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,EAAE;IAI1E,2CAA2C;IACrC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlF;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAMvC,kDAAkD;IAClD,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAKlE,uCAAuC;IACvC,KAAK,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAK5C,6CAA6C;IAC7C,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAKnE,uCAAuC;IACvC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAK7C,uDAAuD;IACvD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,GAAG,MAAM,IAAI;IAU3E,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,MAAM;IAI5D,iDAAiD;IACjD,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,MAAM;IAI5D,mCAAmC;IACnC,gBAAgB,IAAI,MAAM;IAI1B,2BAA2B;IACrB,KAAK,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAM1C"}
@@ -58,6 +58,15 @@ export class Engine {
58
58
  async signal(executionId, event, payload) {
59
59
  return this.executor.signal(executionId, event, payload);
60
60
  }
61
+ /**
62
+ * Recover orphaned executions after a crash/restart.
63
+ * - 'running' executions: re-enqueued at their current step
64
+ * - 'waiting' executions: timeout timers re-armed (or resumed if signal arrived)
65
+ * - 'compensating' executions: compensation re-run (handlers must be idempotent)
66
+ */
67
+ async recover() {
68
+ return this.executor.recover();
69
+ }
61
70
  // ============ Observability ============
62
71
  /** Subscribe to a specific workflow event type */
63
72
  on(type, listener) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/client/workflow/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/client/workflow/engine.ts"],"names":[],"mappings":"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"}
@@ -3,20 +3,21 @@ import type { Queue } from '../queue/queue';
3
3
  import type { Workflow } from './workflow';
4
4
  import type { WorkflowStore } from './store';
5
5
  import type { WorkflowEmitter } from './emitter';
6
- import type { Execution, StepJobData, RunHandle } from './types';
6
+ import type { Execution, StepJobData, RunHandle, RecoverResult } from './types';
7
7
  export declare class WorkflowExecutor {
8
8
  private readonly store;
9
9
  private readonly queue;
10
10
  private readonly emitter;
11
11
  private readonly workflows;
12
12
  private readonly timeoutTimers;
13
+ private readonly updateFn;
13
14
  constructor(store: WorkflowStore, queue: Queue, emitter?: WorkflowEmitter | null);
14
15
  register(workflow: Workflow): void;
15
16
  start(workflowName: string, input: unknown): Promise<RunHandle>;
16
17
  processStep(data: StepJobData): Promise<unknown>;
17
18
  signal(executionId: string, event: string, payload: unknown): Promise<void>;
18
19
  getExecution(id: string): Execution | null;
19
- listExecutions(workflowName?: string, state?: Execution['state']): Execution[];
20
+ listExecutions(wfName?: string, state?: Execution['state']): Execution[];
20
21
  private executeNode;
21
22
  private runStep;
22
23
  private runBranch;
@@ -30,5 +31,7 @@ export declare class WorkflowExecutor {
30
31
  private enqueue;
31
32
  private scheduleTimeoutCheck;
32
33
  private compensate;
34
+ /** Recover orphaned executions after a crash/restart */
35
+ recover(): Promise<RecoverResult>;
33
36
  }
34
37
  //# sourceMappingURL=executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/client/workflow/executor.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAgC,MAAM,SAAS,CAAC;AAgB/F,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoD;gBAG/D,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,eAAe,GAAG,IAAW;IAGzD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAS5B,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAwB/D,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BhD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjF,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI1C,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,EAAE;YAIhE,WAAW;YAiBX,OAAO;YAQP,SAAS;YAkBT,WAAW;YAYX,cAAc;YAiBd,UAAU;YA2CV,OAAO;YAaP,UAAU;YAYV,MAAM;YAWN,OAAO;YAYP,OAAO;IASrB,OAAO,CAAC,oBAAoB;YASd,UAAU;CAwBzB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/client/workflow/executor.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EAGd,MAAM,SAAS,CAAC;AAWjB,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoD;IAElF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;gBAG/B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,eAAe,GAAG,IAAW;IAOzD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAS5B,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAuB/D,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BhD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAejF,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAG1C,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,EAAE;YAI1D,WAAW;YAiBX,OAAO;YAMP,SAAS;YAgBT,WAAW;YAgBX,cAAc;YAiBd,UAAU;YAsCV,OAAO;YAWP,UAAU;YAUV,MAAM;YAUN,OAAO;YAYP,OAAO;IASrB,OAAO,CAAC,oBAAoB;YAWd,UAAU;IAIxB,wDAAwD;IAClD,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;CAYxC"}