@acmekit/orchestration 2.13.1
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.
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/joiner/helpers.d.ts +3 -0
- package/dist/joiner/helpers.d.ts.map +1 -0
- package/dist/joiner/helpers.js +69 -0
- package/dist/joiner/helpers.js.map +1 -0
- package/dist/joiner/index.d.ts +3 -0
- package/dist/joiner/index.d.ts.map +1 -0
- package/dist/joiner/index.js +19 -0
- package/dist/joiner/index.js.map +1 -0
- package/dist/joiner/remote-joiner.d.ts +43 -0
- package/dist/joiner/remote-joiner.d.ts.map +1 -0
- package/dist/joiner/remote-joiner.js +1279 -0
- package/dist/joiner/remote-joiner.js.map +1 -0
- package/dist/transaction/datastore/abstract-storage.d.ts +44 -0
- package/dist/transaction/datastore/abstract-storage.d.ts.map +1 -0
- package/dist/transaction/datastore/abstract-storage.js +52 -0
- package/dist/transaction/datastore/abstract-storage.js.map +1 -0
- package/dist/transaction/datastore/base-in-memory-storage.d.ts +12 -0
- package/dist/transaction/datastore/base-in-memory-storage.d.ts.map +1 -0
- package/dist/transaction/datastore/base-in-memory-storage.js +35 -0
- package/dist/transaction/datastore/base-in-memory-storage.js.map +1 -0
- package/dist/transaction/distributed-transaction.d.ts +116 -0
- package/dist/transaction/distributed-transaction.d.ts.map +1 -0
- package/dist/transaction/distributed-transaction.js +488 -0
- package/dist/transaction/distributed-transaction.js.map +1 -0
- package/dist/transaction/errors.d.ts +41 -0
- package/dist/transaction/errors.d.ts.map +1 -0
- package/dist/transaction/errors.js +117 -0
- package/dist/transaction/errors.js.map +1 -0
- package/dist/transaction/index.d.ts +8 -0
- package/dist/transaction/index.d.ts.map +1 -0
- package/dist/transaction/index.js +24 -0
- package/dist/transaction/index.js.map +1 -0
- package/dist/transaction/orchestrator-builder.d.ts +36 -0
- package/dist/transaction/orchestrator-builder.d.ts.map +1 -0
- package/dist/transaction/orchestrator-builder.js +300 -0
- package/dist/transaction/orchestrator-builder.js.map +1 -0
- package/dist/transaction/transaction-orchestrator.d.ts +207 -0
- package/dist/transaction/transaction-orchestrator.d.ts.map +1 -0
- package/dist/transaction/transaction-orchestrator.js +1292 -0
- package/dist/transaction/transaction-orchestrator.js.map +1 -0
- package/dist/transaction/transaction-step.d.ts +69 -0
- package/dist/transaction/transaction-step.d.ts.map +1 -0
- package/dist/transaction/transaction-step.js +153 -0
- package/dist/transaction/transaction-step.js.map +1 -0
- package/dist/transaction/types.d.ts +264 -0
- package/dist/transaction/types.d.ts.map +1 -0
- package/dist/transaction/types.js +23 -0
- package/dist/transaction/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/workflow/global-workflow.d.ts +14 -0
- package/dist/workflow/global-workflow.d.ts.map +1 -0
- package/dist/workflow/global-workflow.js +105 -0
- package/dist/workflow/global-workflow.js.map +1 -0
- package/dist/workflow/index.d.ts +5 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +21 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/local-workflow.d.ts +47 -0
- package/dist/workflow/local-workflow.d.ts.map +1 -0
- package/dist/workflow/local-workflow.js +390 -0
- package/dist/workflow/local-workflow.js.map +1 -0
- package/dist/workflow/scheduler.d.ts +12 -0
- package/dist/workflow/scheduler.d.ts.map +1 -0
- package/dist/workflow/scheduler.js +35 -0
- package/dist/workflow/scheduler.js.map +1 -0
- package/dist/workflow/workflow-manager.d.ts +38 -0
- package/dist/workflow/workflow-manager.d.ts.map +1 -0
- package/dist/workflow/workflow-manager.js +124 -0
- package/dist/workflow/workflow-manager.js.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { DistributedTransactionType } from "./distributed-transaction";
|
|
2
|
+
import { TransactionStep, TransactionStepHandler } from "./transaction-step";
|
|
3
|
+
import { StepFeatures, TransactionFlow, TransactionModelOptions, TransactionOptions, TransactionStepsDefinition } from "./types";
|
|
4
|
+
import { Context } from "@acmekit/types";
|
|
5
|
+
import { EventEmitter } from "events";
|
|
6
|
+
/**
|
|
7
|
+
* @class TransactionOrchestrator is responsible for managing and executing distributed transactions.
|
|
8
|
+
* It is based on a single transaction definition, which is used to execute all the transaction steps
|
|
9
|
+
*/
|
|
10
|
+
export declare class TransactionOrchestrator extends EventEmitter {
|
|
11
|
+
id: string;
|
|
12
|
+
private static ROOT_STEP;
|
|
13
|
+
static DEFAULT_TTL: number;
|
|
14
|
+
private invokeSteps;
|
|
15
|
+
private compensateSteps;
|
|
16
|
+
private definition;
|
|
17
|
+
private options?;
|
|
18
|
+
static DEFAULT_RETRIES: number;
|
|
19
|
+
private static workflowOptions;
|
|
20
|
+
static getWorkflowOptions(modelId: string): TransactionOptions;
|
|
21
|
+
/**
|
|
22
|
+
* Trace workflow transaction for instrumentation
|
|
23
|
+
*/
|
|
24
|
+
static traceTransaction?: (transactionResume: (...args: any[]) => Promise<void>, metadata: {
|
|
25
|
+
model_id: string;
|
|
26
|
+
transaction_id: string;
|
|
27
|
+
flow_metadata: TransactionFlow["metadata"];
|
|
28
|
+
}) => Promise<any>;
|
|
29
|
+
/**
|
|
30
|
+
* Trace workflow steps for instrumentation
|
|
31
|
+
*/
|
|
32
|
+
static traceStep?: (handler: (...args: any[]) => Promise<any>, metadata: {
|
|
33
|
+
action: string;
|
|
34
|
+
type: "invoke" | "compensate";
|
|
35
|
+
step_id: string;
|
|
36
|
+
step_uuid: string;
|
|
37
|
+
attempts: number;
|
|
38
|
+
failures: number;
|
|
39
|
+
async: boolean;
|
|
40
|
+
idempotency_key: string;
|
|
41
|
+
}) => Promise<any>;
|
|
42
|
+
constructor({ id, definition, options, isClone, }: {
|
|
43
|
+
id: string;
|
|
44
|
+
definition: TransactionStepsDefinition;
|
|
45
|
+
options?: TransactionModelOptions;
|
|
46
|
+
isClone?: boolean;
|
|
47
|
+
});
|
|
48
|
+
static isExpectedError(error: Error): boolean;
|
|
49
|
+
static clone(orchestrator: TransactionOrchestrator): TransactionOrchestrator;
|
|
50
|
+
private static SEPARATOR;
|
|
51
|
+
static getKeyName(...params: string[]): string;
|
|
52
|
+
private static getPreviousStep;
|
|
53
|
+
getOptions(): TransactionModelOptions;
|
|
54
|
+
private getInvokeSteps;
|
|
55
|
+
private getCompensationSteps;
|
|
56
|
+
private static countSiblings;
|
|
57
|
+
private canMoveForward;
|
|
58
|
+
private canMoveBackward;
|
|
59
|
+
private canContinue;
|
|
60
|
+
private hasExpired;
|
|
61
|
+
private checkTransactionTimeout;
|
|
62
|
+
private checkStepTimeout;
|
|
63
|
+
private checkAllSteps;
|
|
64
|
+
private computeCurrentTransactionState;
|
|
65
|
+
private flagStepsToRevert;
|
|
66
|
+
private static setStepSuccess;
|
|
67
|
+
private static retryStep;
|
|
68
|
+
private static skipStep;
|
|
69
|
+
private static setStepTimeout;
|
|
70
|
+
private static setStepFailure;
|
|
71
|
+
private executeNext;
|
|
72
|
+
/**
|
|
73
|
+
* Finalize the transaction when all steps are complete
|
|
74
|
+
*/
|
|
75
|
+
private finalizeTransaction;
|
|
76
|
+
/**
|
|
77
|
+
* Prepare a step for execution by setting state and incrementing attempts
|
|
78
|
+
*/
|
|
79
|
+
private prepareStepForExecution;
|
|
80
|
+
/**
|
|
81
|
+
* Create the payload for a step execution
|
|
82
|
+
*/
|
|
83
|
+
private createStepPayload;
|
|
84
|
+
/**
|
|
85
|
+
* Prepare handler arguments for step execution
|
|
86
|
+
*/
|
|
87
|
+
private prepareHandlerArgs;
|
|
88
|
+
/**
|
|
89
|
+
* Create the step execution promise with optional tracing
|
|
90
|
+
*/
|
|
91
|
+
private createStepExecutionPromise;
|
|
92
|
+
/**
|
|
93
|
+
* Execute a synchronous step and handle its result
|
|
94
|
+
*/
|
|
95
|
+
private executeSyncStep;
|
|
96
|
+
/**
|
|
97
|
+
* Execute an asynchronous step and handle its result
|
|
98
|
+
*/
|
|
99
|
+
private executeAsyncStep;
|
|
100
|
+
/**
|
|
101
|
+
* Check if step or transaction has expired and handle timeouts
|
|
102
|
+
*/
|
|
103
|
+
private handleStepExpiration;
|
|
104
|
+
/**
|
|
105
|
+
* Handle successful step completion
|
|
106
|
+
*/
|
|
107
|
+
private handleStepSuccess;
|
|
108
|
+
/**
|
|
109
|
+
* Handle step failure
|
|
110
|
+
*/
|
|
111
|
+
private handleStepFailure;
|
|
112
|
+
/**
|
|
113
|
+
* Start a new transaction or resume a transaction that has been previously started
|
|
114
|
+
* @param transaction - The transaction to resume
|
|
115
|
+
*/
|
|
116
|
+
resume(transaction: DistributedTransactionType): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Cancel and revert a transaction compensating all its executed steps. It can be an ongoing transaction or a completed one
|
|
119
|
+
* @param transaction - The transaction to be reverted
|
|
120
|
+
*/
|
|
121
|
+
cancelTransaction(transaction: DistributedTransactionType, options?: {
|
|
122
|
+
preventExecuteNext?: boolean;
|
|
123
|
+
}): Promise<void>;
|
|
124
|
+
private parseFlowOptions;
|
|
125
|
+
private createTransactionFlow;
|
|
126
|
+
private static loadTransactionById;
|
|
127
|
+
static buildSteps(flow: TransactionStepsDefinition, existingSteps?: {
|
|
128
|
+
[key: string]: TransactionStep;
|
|
129
|
+
}): [{
|
|
130
|
+
[key: string]: TransactionStep;
|
|
131
|
+
}, StepFeatures];
|
|
132
|
+
/** Create a new transaction
|
|
133
|
+
* @param transactionId - unique identifier of the transaction
|
|
134
|
+
* @param handler - function to handle action of the transaction
|
|
135
|
+
* @param payload - payload to be passed to all the transaction steps
|
|
136
|
+
* @param flowMetadata - flow metadata which can include event group id for example
|
|
137
|
+
*/
|
|
138
|
+
beginTransaction({ transactionId, handler, payload, flowMetadata, context, onLoad, }: {
|
|
139
|
+
transactionId: string;
|
|
140
|
+
handler: TransactionStepHandler;
|
|
141
|
+
payload?: unknown;
|
|
142
|
+
flowMetadata?: TransactionFlow["metadata"];
|
|
143
|
+
context?: Context;
|
|
144
|
+
onLoad?: (transaction: DistributedTransactionType) => Promise<void> | void;
|
|
145
|
+
}): Promise<DistributedTransactionType>;
|
|
146
|
+
/** Returns an existing transaction
|
|
147
|
+
* @param transactionId - unique identifier of the transaction
|
|
148
|
+
* @param handler - function to handle action of the transaction
|
|
149
|
+
*/
|
|
150
|
+
retrieveExistingTransaction(transactionId: string, handler: TransactionStepHandler, options?: {
|
|
151
|
+
isCancelling?: boolean;
|
|
152
|
+
}): Promise<DistributedTransactionType>;
|
|
153
|
+
private static getStepByAction;
|
|
154
|
+
private static getTransactionAndStepFromIdempotencyKey;
|
|
155
|
+
/** Skip the execution of a specific transaction and step
|
|
156
|
+
* @param responseIdempotencyKey - The idempotency key for the step
|
|
157
|
+
* @param handler - The handler function to execute the step
|
|
158
|
+
* @param transaction - The current transaction. If not provided it will be loaded based on the responseIdempotencyKey
|
|
159
|
+
*/
|
|
160
|
+
skipStep({ responseIdempotencyKey, handler, transaction, }: {
|
|
161
|
+
responseIdempotencyKey: string;
|
|
162
|
+
handler?: TransactionStepHandler;
|
|
163
|
+
transaction?: DistributedTransactionType;
|
|
164
|
+
}): Promise<DistributedTransactionType>;
|
|
165
|
+
/**
|
|
166
|
+
* Manually force a step to retry even if it is still in awaiting status
|
|
167
|
+
* @param responseIdempotencyKey - The idempotency key for the step
|
|
168
|
+
* @param handler - The handler function to execute the step
|
|
169
|
+
* @param transaction - The current transaction. If not provided it will be loaded based on the responseIdempotencyKey
|
|
170
|
+
*/
|
|
171
|
+
retryStep({ responseIdempotencyKey, handler, transaction, onLoad, }: {
|
|
172
|
+
responseIdempotencyKey: string;
|
|
173
|
+
handler?: TransactionStepHandler;
|
|
174
|
+
transaction?: DistributedTransactionType;
|
|
175
|
+
onLoad?: (transaction: DistributedTransactionType) => Promise<void> | void;
|
|
176
|
+
}): Promise<DistributedTransactionType>;
|
|
177
|
+
/** Register a step success for a specific transaction and step
|
|
178
|
+
* @param responseIdempotencyKey - The idempotency key for the step
|
|
179
|
+
* @param handler - The handler function to execute the step
|
|
180
|
+
* @param transaction - The current transaction. If not provided it will be loaded based on the responseIdempotencyKey
|
|
181
|
+
* @param response - The response of the step
|
|
182
|
+
*/
|
|
183
|
+
registerStepSuccess({ responseIdempotencyKey, handler, transaction, response, onLoad, }: {
|
|
184
|
+
responseIdempotencyKey: string;
|
|
185
|
+
handler?: TransactionStepHandler;
|
|
186
|
+
transaction?: DistributedTransactionType;
|
|
187
|
+
response?: unknown;
|
|
188
|
+
onLoad?: (transaction: DistributedTransactionType) => Promise<void> | void;
|
|
189
|
+
}): Promise<DistributedTransactionType>;
|
|
190
|
+
/**
|
|
191
|
+
* Register a step failure for a specific transaction and step
|
|
192
|
+
* @param responseIdempotencyKey - The idempotency key for the step
|
|
193
|
+
* @param error - The error that caused the failure
|
|
194
|
+
* @param handler - The handler function to execute the step
|
|
195
|
+
* @param transaction - The current transaction
|
|
196
|
+
* @param response - The response of the step
|
|
197
|
+
*/
|
|
198
|
+
registerStepFailure({ responseIdempotencyKey, error, handler, transaction, onLoad, forcePermanentFailure, }: {
|
|
199
|
+
responseIdempotencyKey: string;
|
|
200
|
+
error?: Error | any;
|
|
201
|
+
handler?: TransactionStepHandler;
|
|
202
|
+
transaction?: DistributedTransactionType;
|
|
203
|
+
onLoad?: (transaction: DistributedTransactionType) => Promise<void> | void;
|
|
204
|
+
forcePermanentFailure?: boolean;
|
|
205
|
+
}): Promise<DistributedTransactionType>;
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=transaction-orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-orchestrator.d.ts","sourceRoot":"","sources":["../../src/transaction/transaction-orchestrator.ts"],"names":[],"mappings":"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"}
|