@emmvish/stable-request 2.2.0 → 2.3.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 (84) hide show
  1. package/README.md +267 -0
  2. package/dist/constants/index.d.ts.map +1 -1
  3. package/dist/constants/index.js +1 -0
  4. package/dist/constants/index.js.map +1 -1
  5. package/dist/core/stable-api-gateway.js +17 -1
  6. package/dist/core/stable-api-gateway.js.map +1 -1
  7. package/dist/core/stable-function.d.ts +9 -1
  8. package/dist/core/stable-function.d.ts.map +1 -1
  9. package/dist/core/stable-function.js +185 -169
  10. package/dist/core/stable-function.js.map +1 -1
  11. package/dist/core/stable-request.js.map +1 -1
  12. package/dist/core/stable-workflow-graph.d.ts +1 -1
  13. package/dist/core/stable-workflow-graph.d.ts.map +1 -1
  14. package/dist/core/stable-workflow.d.ts +1 -1
  15. package/dist/core/stable-workflow.d.ts.map +1 -1
  16. package/dist/core/stable-workflow.js +20 -3
  17. package/dist/core/stable-workflow.js.map +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/types/index.d.ts +153 -146
  23. package/dist/types/index.d.ts.map +1 -1
  24. package/dist/utilities/execute-branch-workflow.d.ts +1 -1
  25. package/dist/utilities/execute-branch-workflow.d.ts.map +1 -1
  26. package/dist/utilities/execute-branch-workflow.js +138 -3
  27. package/dist/utilities/execute-branch-workflow.js.map +1 -1
  28. package/dist/utilities/execute-concurrently.d.ts +1 -1
  29. package/dist/utilities/execute-concurrently.d.ts.map +1 -1
  30. package/dist/utilities/execute-concurrently.js +128 -6
  31. package/dist/utilities/execute-concurrently.js.map +1 -1
  32. package/dist/utilities/execute-gateway-item.d.ts +3 -3
  33. package/dist/utilities/execute-gateway-item.d.ts.map +1 -1
  34. package/dist/utilities/execute-gateway-item.js.map +1 -1
  35. package/dist/utilities/execute-non-linear-workflow.d.ts +1 -1
  36. package/dist/utilities/execute-non-linear-workflow.d.ts.map +1 -1
  37. package/dist/utilities/execute-non-linear-workflow.js +14 -4
  38. package/dist/utilities/execute-non-linear-workflow.js.map +1 -1
  39. package/dist/utilities/execute-phase.d.ts +1 -1
  40. package/dist/utilities/execute-phase.d.ts.map +1 -1
  41. package/dist/utilities/execute-phase.js +17 -0
  42. package/dist/utilities/execute-phase.js.map +1 -1
  43. package/dist/utilities/execute-sequentially.d.ts +1 -1
  44. package/dist/utilities/execute-sequentially.d.ts.map +1 -1
  45. package/dist/utilities/execute-sequentially.js +4 -7
  46. package/dist/utilities/execute-sequentially.js.map +1 -1
  47. package/dist/utilities/execute-with-timeout.d.ts +6 -0
  48. package/dist/utilities/execute-with-timeout.d.ts.map +1 -0
  49. package/dist/utilities/execute-with-timeout.js +28 -0
  50. package/dist/utilities/execute-with-timeout.js.map +1 -0
  51. package/dist/utilities/execute-workflow-graph.d.ts +1 -1
  52. package/dist/utilities/execute-workflow-graph.d.ts.map +1 -1
  53. package/dist/utilities/execute-workflow-graph.js +96 -2
  54. package/dist/utilities/execute-workflow-graph.js.map +1 -1
  55. package/dist/utilities/extract-common-request-config-options.d.ts +1 -1
  56. package/dist/utilities/extract-common-request-config-options.d.ts.map +1 -1
  57. package/dist/utilities/extract-common-request-config-options.js +3 -2
  58. package/dist/utilities/extract-common-request-config-options.js.map +1 -1
  59. package/dist/utilities/index.d.ts +1 -0
  60. package/dist/utilities/index.d.ts.map +1 -1
  61. package/dist/utilities/index.js +1 -0
  62. package/dist/utilities/index.js.map +1 -1
  63. package/dist/utilities/metrics-aggregator.d.ts +5 -41
  64. package/dist/utilities/metrics-aggregator.d.ts.map +1 -1
  65. package/dist/utilities/metrics-aggregator.js +1 -42
  66. package/dist/utilities/metrics-aggregator.js.map +1 -1
  67. package/dist/utilities/prepare-api-function-options.d.ts +1 -1
  68. package/dist/utilities/prepare-api-function-options.d.ts.map +1 -1
  69. package/dist/utilities/prepare-api-function-options.js +1 -0
  70. package/dist/utilities/prepare-api-function-options.js.map +1 -1
  71. package/dist/utilities/prepare-api-request-data.d.ts +1 -1
  72. package/dist/utilities/prepare-api-request-data.d.ts.map +1 -1
  73. package/dist/utilities/prepare-api-request-data.js.map +1 -1
  74. package/dist/utilities/prepare-api-request-options.d.ts +1 -1
  75. package/dist/utilities/prepare-api-request-options.d.ts.map +1 -1
  76. package/dist/utilities/prepare-api-request-options.js +9 -6
  77. package/dist/utilities/prepare-api-request-options.js.map +1 -1
  78. package/dist/utilities/validate-workflow-graph.d.ts +5 -5
  79. package/dist/utilities/validate-workflow-graph.d.ts.map +1 -1
  80. package/dist/utilities/validate-workflow-graph.js.map +1 -1
  81. package/dist/utilities/workflow-graph-builder.d.ts +8 -8
  82. package/dist/utilities/workflow-graph-builder.d.ts.map +1 -1
  83. package/dist/utilities/workflow-graph-builder.js.map +1 -1
  84. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { RETRY_STRATEGIES, CircuitBreakerState } from '../enums/index.js';
2
- import { CircuitBreaker, CircuitBreakerOpenError, executeWithPersistence, formatLogContext, getGlobalFunctionCacheManager, getNewDelayTime, delay, fnExec, safelyStringify, validateTrialModeProbabilities, MetricsAggregator, MetricsValidator, RateLimiter, ConcurrencyLimiter } from '../utilities/index.js';
2
+ import { CircuitBreaker, CircuitBreakerOpenError, executeWithPersistence, executeWithTimeout, TimeoutError, formatLogContext, getGlobalFunctionCacheManager, getNewDelayTime, delay, fnExec, safelyStringify, validateTrialModeProbabilities, MetricsAggregator, MetricsValidator, RateLimiter, ConcurrencyLimiter } from '../utilities/index.js';
3
3
  export async function stableFunction(options) {
4
4
  const { preExecution = {
5
5
  preExecutionHook: ({ inputParams, commonBuffer }) => { },
@@ -27,7 +27,7 @@ export async function stableFunction(options) {
27
27
  throw e;
28
28
  }
29
29
  }
30
- const { fn, args, responseAnalyzer = ({ data, trialMode = { enabled: false } }) => true, returnResult = false, attempts: givenAttempts = 1, performAllAttempts = false, wait = 1000, maxAllowedWait = 60000, retryStrategy = RETRY_STRATEGIES.FIXED, logAllErrors = false, handleErrors = ({ fn, args, errorLog, maxSerializableChars = 1000, executionContext }) => console.error(`${formatLogContext(executionContext)}stable-request:\n`, `Function: ${fn.name || 'anonymous'}\n`, 'Args:\n', safelyStringify(args, maxSerializableChars), '\nError log:\n', safelyStringify(errorLog, maxSerializableChars)), logAllSuccessfulAttempts = false, handleSuccessfulAttemptData = ({ fn, args, successfulAttemptData, maxSerializableChars = 1000, executionContext }) => console.info(`${formatLogContext(executionContext)}stable-request:\n`, `Function: ${fn.name || 'anonymous'}\n`, 'Args:\n', safelyStringify(args, maxSerializableChars), '\nSuccessful attempt:\n', safelyStringify(successfulAttemptData, maxSerializableChars)), maxSerializableChars = 1000, finalErrorAnalyzer = ({ fn, args, error, trialMode = { enabled: false } }) => false, trialMode = { enabled: false }, hookParams = {}, cache, circuitBreaker, jitter = 0, statePersistence, rateLimit, maxConcurrentRequests } = options;
30
+ const { fn, args, responseAnalyzer = ({ data, trialMode = { enabled: false } }) => true, returnResult = false, attempts: givenAttempts = 1, performAllAttempts = false, wait = 1000, maxAllowedWait = 60000, retryStrategy = RETRY_STRATEGIES.FIXED, logAllErrors = false, handleErrors = ({ fn, args, errorLog, maxSerializableChars = 1000, executionContext }) => console.error(`${formatLogContext(executionContext)}stable-request:\n`, `Function: ${fn.name || 'anonymous'}\n`, 'Args:\n', safelyStringify(args, maxSerializableChars), '\nError log:\n', safelyStringify(errorLog, maxSerializableChars)), logAllSuccessfulAttempts = false, handleSuccessfulAttemptData = ({ fn, args, successfulAttemptData, maxSerializableChars = 1000, executionContext }) => console.info(`${formatLogContext(executionContext)}stable-request:\n`, `Function: ${fn.name || 'anonymous'}\n`, 'Args:\n', safelyStringify(args, maxSerializableChars), '\nSuccessful attempt:\n', safelyStringify(successfulAttemptData, maxSerializableChars)), maxSerializableChars = 1000, finalErrorAnalyzer = ({ fn, args, error, trialMode = { enabled: false } }) => false, trialMode = { enabled: false }, hookParams = {}, cache, circuitBreaker, jitter = 0, statePersistence, rateLimit, maxConcurrentRequests, executionTimeout } = options;
31
31
  let attempts = givenAttempts;
32
32
  const functionStartTime = Date.now();
33
33
  const errorLogs = [];
@@ -76,210 +76,226 @@ export async function stableFunction(options) {
76
76
  if (maxConcurrentRequests && maxConcurrentRequests > 0) {
77
77
  concurrencyLimiterInstance = new ConcurrencyLimiter(maxConcurrentRequests);
78
78
  }
79
- try {
80
- validateTrialModeProbabilities(trialMode);
81
- let res = {
82
- ok: false,
83
- isRetryable: true,
84
- timestamp: new Date().toISOString(),
85
- executionTime: 0
86
- };
87
- const maxAttempts = attempts;
88
- let lastSuccessfulAttemptData = undefined;
89
- let hadAtLeastOneSuccess = false;
90
- do {
91
- attempts--;
92
- const currentAttempt = maxAttempts - attempts;
93
- totalAttemptsMade = currentAttempt;
94
- if (circuitBreakerInstance) {
95
- const cbConfig = circuitBreakerInstance.getState().config;
96
- if (cbConfig.trackIndividualAttempts || currentAttempt === 1) {
97
- const canExecute = await circuitBreakerInstance.canExecute();
98
- if (!canExecute) {
99
- throw new CircuitBreakerOpenError(`${formatLogContext(executionContext)}stable-request: Circuit breaker is ${circuitBreakerInstance.getState().state}. Function execution blocked at attempt ${currentAttempt}.`);
79
+ const executeFunction = async () => {
80
+ try {
81
+ validateTrialModeProbabilities(trialMode);
82
+ let res = {
83
+ ok: false,
84
+ isRetryable: true,
85
+ timestamp: new Date().toISOString(),
86
+ executionTime: 0
87
+ };
88
+ const maxAttempts = attempts;
89
+ let lastSuccessfulAttemptData = undefined;
90
+ let hadAtLeastOneSuccess = false;
91
+ do {
92
+ attempts--;
93
+ const currentAttempt = maxAttempts - attempts;
94
+ totalAttemptsMade = currentAttempt;
95
+ if (circuitBreakerInstance) {
96
+ const cbConfig = circuitBreakerInstance.getState().config;
97
+ if (cbConfig.trackIndividualAttempts || currentAttempt === 1) {
98
+ const canExecute = await circuitBreakerInstance.canExecute();
99
+ if (!canExecute) {
100
+ throw new CircuitBreakerOpenError(`${formatLogContext(executionContext)}stable-request: Circuit breaker is ${circuitBreakerInstance.getState().state}. Function execution blocked at attempt ${currentAttempt}.`);
101
+ }
100
102
  }
101
103
  }
102
- }
103
- try {
104
- const executeAttempt = async () => {
105
- return await fnExec(fn, args, returnResult, maxSerializableChars, trialMode, cache, executionContext);
106
- };
107
- if (rateLimiterInstance && concurrencyLimiterInstance) {
108
- res = await rateLimiterInstance.execute(() => concurrencyLimiterInstance.execute(executeAttempt));
109
- }
110
- else if (rateLimiterInstance) {
111
- res = await rateLimiterInstance.execute(executeAttempt);
112
- }
113
- else if (concurrencyLimiterInstance) {
114
- res = await concurrencyLimiterInstance.execute(executeAttempt);
115
- }
116
- else {
117
- res = await executeAttempt();
118
- }
119
- if (res.fromCache && res.ok) {
120
- if (trialMode.enabled) {
121
- console.info(`${formatLogContext(executionContext)}stable-request: Response served from cache:\n`, safelyStringify(res?.data, maxSerializableChars));
104
+ try {
105
+ const executeAttempt = async () => {
106
+ return await fnExec(fn, args, returnResult, maxSerializableChars, trialMode, cache, executionContext);
107
+ };
108
+ if (rateLimiterInstance && concurrencyLimiterInstance) {
109
+ res = await rateLimiterInstance.execute(() => concurrencyLimiterInstance.execute(executeAttempt));
110
+ }
111
+ else if (rateLimiterInstance) {
112
+ res = await rateLimiterInstance.execute(executeAttempt);
113
+ }
114
+ else if (concurrencyLimiterInstance) {
115
+ res = await concurrencyLimiterInstance.execute(executeAttempt);
116
+ }
117
+ else {
118
+ res = await executeAttempt();
119
+ }
120
+ if (res.fromCache && res.ok) {
121
+ if (trialMode.enabled) {
122
+ console.info(`${formatLogContext(executionContext)}stable-request: Response served from cache:\n`, safelyStringify(res?.data, maxSerializableChars));
123
+ }
124
+ return buildResult(true, returnResult ? res?.data : true);
122
125
  }
123
- return buildResult(true, returnResult ? res?.data : true);
124
126
  }
125
- }
126
- catch (attemptError) {
127
- if (attemptError instanceof CircuitBreakerOpenError) {
127
+ catch (attemptError) {
128
+ if (attemptError instanceof CircuitBreakerOpenError) {
129
+ throw attemptError;
130
+ }
131
+ if (circuitBreakerInstance && circuitBreakerInstance.getState().config.trackIndividualAttempts) {
132
+ circuitBreakerInstance.recordAttemptFailure();
133
+ if (circuitBreakerInstance.getState().state === CircuitBreakerState.OPEN) {
134
+ throw new CircuitBreakerOpenError(`${formatLogContext(executionContext)}stable-request: Circuit breaker opened after attempt ${currentAttempt}. No further retries.`);
135
+ }
136
+ }
128
137
  throw attemptError;
129
138
  }
130
- if (circuitBreakerInstance && circuitBreakerInstance.getState().config.trackIndividualAttempts) {
131
- circuitBreakerInstance.recordAttemptFailure();
132
- if (circuitBreakerInstance.getState().state === CircuitBreakerState.OPEN) {
133
- throw new CircuitBreakerOpenError(`${formatLogContext(executionContext)}stable-request: Circuit breaker opened after attempt ${currentAttempt}. No further retries.`);
139
+ const originalResOk = res.ok;
140
+ let performNextAttempt = false;
141
+ if (res.ok) {
142
+ try {
143
+ performNextAttempt = !(await executeWithPersistence(responseAnalyzer, {
144
+ fn,
145
+ args,
146
+ data: res?.data,
147
+ trialMode,
148
+ params: hookParams?.responseAnalyzerParams,
149
+ preExecutionResult,
150
+ commonBuffer,
151
+ executionContext
152
+ }, statePersistence, executionContext || {}, commonBuffer));
134
153
  }
135
- }
136
- throw attemptError;
137
- }
138
- const originalResOk = res.ok;
139
- let performNextAttempt = false;
140
- if (res.ok) {
141
- try {
142
- performNextAttempt = !(await executeWithPersistence(responseAnalyzer, {
143
- fn,
144
- args,
145
- data: res?.data,
146
- trialMode,
147
- params: hookParams?.responseAnalyzerParams,
148
- preExecutionResult,
149
- commonBuffer,
150
- executionContext
151
- }, statePersistence, executionContext || {}, commonBuffer));
152
- }
153
- catch (e) {
154
- console.error(`${formatLogContext(executionContext)}stable-request: Unable to analyze the response returned on attempt #${currentAttempt}. Response: ${safelyStringify(res?.data, maxSerializableChars)}`);
155
- console.error(`${formatLogContext(executionContext)}stable-request: Error message provided by your responseAnalyzer: ${safelyStringify(e.message, maxSerializableChars)}`);
156
- performNextAttempt = true;
157
- }
158
- }
159
- if (circuitBreakerInstance && circuitBreakerInstance.getState().config.trackIndividualAttempts) {
160
- if (res.ok && !performNextAttempt) {
161
- circuitBreakerInstance.recordAttemptSuccess();
162
- }
163
- else if (!res.ok || performNextAttempt) {
164
- circuitBreakerInstance.recordAttemptFailure();
165
- if (circuitBreakerInstance.getState().state === CircuitBreakerState.OPEN) {
166
- throw new CircuitBreakerOpenError(`${formatLogContext(executionContext)}stable-request: Circuit breaker opened after attempt ${currentAttempt}/${maxAttempts}. Blocking further retries.`);
154
+ catch (e) {
155
+ console.error(`${formatLogContext(executionContext)}stable-request: Unable to analyze the response returned on attempt #${currentAttempt}. Response: ${safelyStringify(res?.data, maxSerializableChars)}`);
156
+ console.error(`${formatLogContext(executionContext)}stable-request: Error message provided by your responseAnalyzer: ${safelyStringify(e.message, maxSerializableChars)}`);
157
+ performNextAttempt = true;
167
158
  }
168
159
  }
169
- }
170
- if ((!res.ok || (res.ok && performNextAttempt)) && logAllErrors) {
171
- const errorLog = {
172
- timestamp: res.timestamp,
173
- attempt: `${currentAttempt}/${maxAttempts}`,
174
- error: res?.error ??
175
- `${formatLogContext(executionContext)}stable-request: The response did not match your expectations! Response: ${safelyStringify(res?.data, maxSerializableChars)}`,
176
- isRetryable: res.isRetryable,
177
- executionTime: res.executionTime
178
- };
179
- errorLogs.push(errorLog);
180
- try {
181
- await executeWithPersistence(handleErrors, {
182
- fn,
183
- args,
184
- errorLog,
185
- maxSerializableChars,
186
- params: hookParams?.handleErrorsParams,
187
- preExecutionResult,
188
- commonBuffer,
189
- executionContext
190
- }, statePersistence, executionContext || {}, commonBuffer);
191
- }
192
- catch (e) {
193
- console.error(`${formatLogContext(executionContext)}stable-request: Unable to report errors due to issues with error handler! Error message provided by your handleErrors: ${safelyStringify(e.message, maxSerializableChars)}`);
160
+ if (circuitBreakerInstance && circuitBreakerInstance.getState().config.trackIndividualAttempts) {
161
+ if (res.ok && !performNextAttempt) {
162
+ circuitBreakerInstance.recordAttemptSuccess();
163
+ }
164
+ else if (!res.ok || performNextAttempt) {
165
+ circuitBreakerInstance.recordAttemptFailure();
166
+ if (circuitBreakerInstance.getState().state === CircuitBreakerState.OPEN) {
167
+ throw new CircuitBreakerOpenError(`${formatLogContext(executionContext)}stable-request: Circuit breaker opened after attempt ${currentAttempt}/${maxAttempts}. Blocking further retries.`);
168
+ }
169
+ }
194
170
  }
195
- }
196
- if (res.ok && !performNextAttempt) {
197
- hadAtLeastOneSuccess = true;
198
- lastSuccessfulAttemptData = res?.data;
199
- successfulAttemptsCount++;
200
- if (logAllSuccessfulAttempts) {
201
- const successfulAttemptLog = {
202
- attempt: `${currentAttempt}/${maxAttempts}`,
171
+ if ((!res.ok || (res.ok && performNextAttempt)) && logAllErrors) {
172
+ const errorLog = {
203
173
  timestamp: res.timestamp,
204
- data: res?.data,
174
+ attempt: `${currentAttempt}/${maxAttempts}`,
175
+ error: res?.error ??
176
+ `${formatLogContext(executionContext)}stable-request: The response did not match your expectations! Response: ${safelyStringify(res?.data, maxSerializableChars)}`,
177
+ isRetryable: res.isRetryable,
205
178
  executionTime: res.executionTime
206
179
  };
207
- successfulAttemptsList.push(successfulAttemptLog);
180
+ errorLogs.push(errorLog);
208
181
  try {
209
- await executeWithPersistence(handleSuccessfulAttemptData, {
182
+ await executeWithPersistence(handleErrors, {
210
183
  fn,
211
184
  args,
212
- successfulAttemptData: successfulAttemptLog,
185
+ errorLog,
213
186
  maxSerializableChars,
214
- params: hookParams?.handleSuccessfulAttemptDataParams,
187
+ params: hookParams?.handleErrorsParams,
215
188
  preExecutionResult,
216
189
  commonBuffer,
217
190
  executionContext
218
191
  }, statePersistence, executionContext || {}, commonBuffer);
219
192
  }
220
193
  catch (e) {
221
- console.error(`${formatLogContext(executionContext)}stable-request: Unable to report successful attempts due to issues with successful attempt data handler! Error message provided by your handleSuccessfulAttemptData: ${safelyStringify(e.message, maxSerializableChars)}`);
194
+ console.error(`${formatLogContext(executionContext)}stable-request: Unable to report errors due to issues with error handler! Error message provided by your handleErrors: ${safelyStringify(e.message, maxSerializableChars)}`);
222
195
  }
223
196
  }
197
+ if (res.ok && !performNextAttempt) {
198
+ hadAtLeastOneSuccess = true;
199
+ lastSuccessfulAttemptData = res?.data;
200
+ successfulAttemptsCount++;
201
+ if (logAllSuccessfulAttempts) {
202
+ const successfulAttemptLog = {
203
+ attempt: `${currentAttempt}/${maxAttempts}`,
204
+ timestamp: res.timestamp,
205
+ data: res?.data,
206
+ executionTime: res.executionTime
207
+ };
208
+ successfulAttemptsList.push(successfulAttemptLog);
209
+ try {
210
+ await executeWithPersistence(handleSuccessfulAttemptData, {
211
+ fn,
212
+ args,
213
+ successfulAttemptData: successfulAttemptLog,
214
+ maxSerializableChars,
215
+ params: hookParams?.handleSuccessfulAttemptDataParams,
216
+ preExecutionResult,
217
+ commonBuffer,
218
+ executionContext
219
+ }, statePersistence, executionContext || {}, commonBuffer);
220
+ }
221
+ catch (e) {
222
+ console.error(`${formatLogContext(executionContext)}stable-request: Unable to report successful attempts due to issues with successful attempt data handler! Error message provided by your handleSuccessfulAttemptData: ${safelyStringify(e.message, maxSerializableChars)}`);
223
+ }
224
+ }
225
+ }
226
+ if (performNextAttempt && res.isRetryable) {
227
+ res.ok = false;
228
+ }
229
+ if (attempts > 0 &&
230
+ ((!originalResOk && res.isRetryable) ||
231
+ (originalResOk && performNextAttempt) ||
232
+ performAllAttempts)) {
233
+ await delay(getNewDelayTime(retryStrategy, wait, currentAttempt, jitter), maxAllowedWait);
234
+ }
235
+ } while (attempts > 0 &&
236
+ ((res.isRetryable && !res.ok) || performAllAttempts));
237
+ if (performAllAttempts && hadAtLeastOneSuccess) {
238
+ if (trialMode.enabled) {
239
+ console.info(`${formatLogContext(executionContext)}stable-request: Final response (performAllAttempts mode):\n`, safelyStringify(lastSuccessfulAttemptData, maxSerializableChars));
240
+ }
241
+ return buildResult(true, returnResult ? lastSuccessfulAttemptData : true);
224
242
  }
225
- if (performNextAttempt && res.isRetryable) {
226
- res.ok = false;
227
- }
228
- if (attempts > 0 &&
229
- ((!originalResOk && res.isRetryable) ||
230
- (originalResOk && performNextAttempt) ||
231
- performAllAttempts)) {
232
- await delay(getNewDelayTime(retryStrategy, wait, currentAttempt, jitter), maxAllowedWait);
243
+ else if (res.ok) {
244
+ if (trialMode.enabled) {
245
+ const finalResponse = res?.data ?? lastSuccessfulAttemptData;
246
+ console.info(`${formatLogContext(executionContext)}stable-request: Final response:\n`, safelyStringify(finalResponse, maxSerializableChars));
247
+ }
248
+ return buildResult(true, returnResult ? (res?.data ?? lastSuccessfulAttemptData) : true);
233
249
  }
234
- } while (attempts > 0 &&
235
- ((res.isRetryable && !res.ok) || performAllAttempts));
236
- if (performAllAttempts && hadAtLeastOneSuccess) {
237
- if (trialMode.enabled) {
238
- console.info(`${formatLogContext(executionContext)}stable-request: Final response (performAllAttempts mode):\n`, safelyStringify(lastSuccessfulAttemptData, maxSerializableChars));
250
+ else {
251
+ throw new Error(safelyStringify({
252
+ error: res?.error,
253
+ 'Function': fn.name || 'anonymous',
254
+ 'Args': args,
255
+ }, maxSerializableChars));
239
256
  }
240
- return buildResult(true, returnResult ? lastSuccessfulAttemptData : true);
241
257
  }
242
- else if (res.ok) {
258
+ catch (e) {
243
259
  if (trialMode.enabled) {
244
- const finalResponse = res?.data ?? lastSuccessfulAttemptData;
245
- console.info(`${formatLogContext(executionContext)}stable-request: Final response:\n`, safelyStringify(finalResponse, maxSerializableChars));
260
+ console.error(`${formatLogContext(executionContext)}stable-request: Final error:\n`, e.message);
261
+ }
262
+ let errorAnalysisResult = false;
263
+ try {
264
+ errorAnalysisResult = await executeWithPersistence(finalErrorAnalyzer, {
265
+ fn,
266
+ args,
267
+ error: e,
268
+ trialMode,
269
+ params: hookParams?.finalErrorAnalyzerParams,
270
+ preExecutionResult,
271
+ commonBuffer,
272
+ executionContext
273
+ }, statePersistence, executionContext || {}, commonBuffer);
274
+ }
275
+ catch (errorAnalysisError) {
276
+ console.error(`${formatLogContext(executionContext)}stable-request: Unable to analyze the final error returned. Error message provided by your finalErrorAnalyzer: ${safelyStringify(errorAnalysisError.message, maxSerializableChars)}`);
277
+ }
278
+ if (!errorAnalysisResult) {
279
+ throw e;
280
+ }
281
+ else {
282
+ return buildResult(false, undefined, e.message || 'Function execution failed');
246
283
  }
247
- return buildResult(true, returnResult ? (res?.data ?? lastSuccessfulAttemptData) : true);
284
+ }
285
+ };
286
+ try {
287
+ if (executionTimeout && executionTimeout > 0) {
288
+ return await executeWithTimeout(executeFunction(), executionTimeout, `${formatLogContext(executionContext)}stable-request: Function execution exceeded timeout of ${executionTimeout}ms`);
248
289
  }
249
290
  else {
250
- throw new Error(safelyStringify({
251
- error: res?.error,
252
- 'Function': fn.name || 'anonymous',
253
- 'Args': args,
254
- }, maxSerializableChars));
291
+ return await executeFunction();
255
292
  }
256
293
  }
257
294
  catch (e) {
258
- if (trialMode.enabled) {
259
- console.error(`${formatLogContext(executionContext)}stable-request: Final error:\n`, e.message);
260
- }
261
- let errorAnalysisResult = false;
262
- try {
263
- errorAnalysisResult = await executeWithPersistence(finalErrorAnalyzer, {
264
- fn,
265
- args,
266
- error: e,
267
- trialMode,
268
- params: hookParams?.finalErrorAnalyzerParams,
269
- preExecutionResult,
270
- commonBuffer,
271
- executionContext
272
- }, statePersistence, executionContext || {}, commonBuffer);
273
- }
274
- catch (errorAnalysisError) {
275
- console.error(`${formatLogContext(executionContext)}stable-request: Unable to analyze the final error returned. Error message provided by your finalErrorAnalyzer: ${safelyStringify(errorAnalysisError.message, maxSerializableChars)}`);
276
- }
277
- if (!errorAnalysisResult) {
278
- throw e;
279
- }
280
- else {
281
- return buildResult(false, undefined, e.message || 'Function execution failed');
295
+ if (e instanceof TimeoutError) {
296
+ return buildResult(false, undefined, e.message);
282
297
  }
298
+ throw e;
283
299
  }
284
300
  }
285
301
  //# sourceMappingURL=stable-function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stable-function.js","sourceRoot":"","sources":["../../src/core/stable-function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stable-function.js","sourceRoot":"","sources":["../../src/core/stable-function.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stable-request.js","sourceRoot":"","sources":["../../src/core/stable-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stable-request.js","sourceRoot":"","sources":["../../src/core/stable-request.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { WorkflowGraph, WorkflowGraphOptions, STABLE_WORKFLOW_RESULT } from '../types/index.js';
2
- export declare function stableWorkflowGraph<RequestDataType = any, ResponseDataType = any, FunctionArgsType extends any[] = any[], FunctionReturnType = any>(graph: WorkflowGraph<RequestDataType, ResponseDataType, FunctionArgsType, FunctionReturnType>, options?: WorkflowGraphOptions<RequestDataType, ResponseDataType, FunctionArgsType, FunctionReturnType>): Promise<STABLE_WORKFLOW_RESULT<ResponseDataType | FunctionReturnType>>;
2
+ export declare function stableWorkflowGraph<RequestDataType = any, ResponseDataType = any, FunctionArgsType extends any[] = any[], FunctionReturnType = any>(graph: WorkflowGraph<RequestDataType, ResponseDataType, FunctionArgsType, FunctionReturnType>, options?: WorkflowGraphOptions<RequestDataType, ResponseDataType, FunctionArgsType, FunctionReturnType>): Promise<STABLE_WORKFLOW_RESULT<ResponseDataType, FunctionReturnType, RequestDataType, FunctionArgsType>>;
3
3
  //# sourceMappingURL=stable-workflow-graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stable-workflow-graph.d.ts","sourceRoot":"","sources":["../../src/core/stable-workflow-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAG3B,wBAAsB,mBAAmB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAAE,gBAAgB,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,kBAAkB,GAAG,GAAG,EACvJ,KAAK,EAAE,aAAa,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAC7F,OAAO,GAAE,oBAAoB,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAM,GAC1G,OAAO,CAAC,sBAAsB,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAExE"}
1
+ {"version":3,"file":"stable-workflow-graph.d.ts","sourceRoot":"","sources":["../../src/core/stable-workflow-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAG3B,wBAAsB,mBAAmB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAAE,gBAAgB,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,kBAAkB,GAAG,GAAG,EACvJ,KAAK,EAAE,aAAa,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAC7F,OAAO,GAAE,oBAAoB,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAM,GAC1G,OAAO,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAE1G"}
@@ -1,3 +1,3 @@
1
1
  import { STABLE_WORKFLOW_OPTIONS, STABLE_WORKFLOW_PHASE, STABLE_WORKFLOW_RESULT } from '../types/index.js';
2
- export declare function stableWorkflow<RequestDataType = any, ResponseDataType = any, FunctionArgsType extends any[] = any[], FunctionReturnType = any>(phases: STABLE_WORKFLOW_PHASE<RequestDataType, ResponseDataType, FunctionArgsType, FunctionReturnType>[], options?: STABLE_WORKFLOW_OPTIONS<RequestDataType, ResponseDataType, FunctionArgsType, FunctionReturnType>): Promise<STABLE_WORKFLOW_RESULT<ResponseDataType | FunctionReturnType>>;
2
+ export declare function stableWorkflow<RequestDataType = any, ResponseDataType = any, FunctionArgsType extends any[] = any[], FunctionReturnType = any>(phases: STABLE_WORKFLOW_PHASE<RequestDataType, ResponseDataType, FunctionArgsType, FunctionReturnType>[], options?: STABLE_WORKFLOW_OPTIONS<RequestDataType, ResponseDataType, FunctionArgsType, FunctionReturnType>): Promise<STABLE_WORKFLOW_RESULT<ResponseDataType, FunctionReturnType, RequestDataType, FunctionArgsType>>;
3
3
  //# sourceMappingURL=stable-workflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stable-workflow.d.ts","sourceRoot":"","sources":["../../src/core/stable-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACzB,MAAM,mBAAmB,CAAC;AAa3B,wBAAsB,cAAc,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAAE,gBAAgB,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,kBAAkB,GAAG,GAAG,EAChJ,MAAM,EAAE,qBAAqB,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,EACxG,OAAO,GAAE,uBAAuB,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAM,GAC/G,OAAO,CAAC,sBAAsB,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAghBxE"}
1
+ {"version":3,"file":"stable-workflow.d.ts","sourceRoot":"","sources":["../../src/core/stable-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACzB,MAAM,mBAAmB,CAAC;AAa3B,wBAAsB,cAAc,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAAE,gBAAgB,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,kBAAkB,GAAG,GAAG,EAChJ,MAAM,EAAE,qBAAqB,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,EACxG,OAAO,GAAE,uBAAuB,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAM,GAC/G,OAAO,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAgB1G"}
@@ -1,6 +1,20 @@
1
1
  import { executeBranchWorkflow, executePhase, executeNonLinearWorkflow, executeWithPersistence, safelyStringify, CircuitBreaker, formatLogContext, MetricsAggregator, MetricsValidator } from '../utilities/index.js';
2
2
  export async function stableWorkflow(phases, options = {}) {
3
- const { stopOnFirstPhaseError = false, logPhaseResults = false, handlePhaseCompletion = ({ workflowId, phaseResult, maxSerializableChars = 1000 }) => console.info(`${formatLogContext({ workflowId })}stable-request:\n`, 'Workflow ID:\n', workflowId, '\nPhase result:\n', safelyStringify(phaseResult, maxSerializableChars)), handlePhaseError = ({ workflowId, error, phaseResult, maxSerializableChars = 1000 }) => console.error(`${formatLogContext({ workflowId })}stable-request:\n`, 'Workflow ID:\n', workflowId, '\nError:\n', safelyStringify({ error, phaseResult }, maxSerializableChars)), handlePhaseDecision = (options) => { }, handleBranchCompletion = ({ success, branchId, workflowId, maxSerializableChars }) => console.info(`${formatLogContext({ workflowId, branchId })}stable-request: Branch ${branchId} completed with status: ${success ? 'SUCCESS' : 'FAILURE'}`), handleBranchDecision = (decision, branchResult, maxSerializableChars) => { }, maxSerializableChars = 1000, requestGroups = [], workflowHookParams = {}, concurrentPhaseExecution = false, enableMixedExecution = false, enableBranchExecution = false, enableNonLinearExecution = false, maxWorkflowIterations = 1000, branches, ...commonGatewayOptions } = options;
3
+ const workflowId = options.workflowId || `workflow-${Date.now()}`;
4
+ if (options.maxTimeout) {
5
+ const timeoutPromise = new Promise((_, reject) => {
6
+ setTimeout(() => {
7
+ const contextStr = `workflowId=${workflowId}`;
8
+ reject(new Error(`stable-request: Workflow execution exceeded maxTimeout of ${options.maxTimeout}ms [${contextStr}]`));
9
+ }, options.maxTimeout);
10
+ });
11
+ const executionPromise = executeWorkflowInternal(phases, options);
12
+ return Promise.race([executionPromise, timeoutPromise]);
13
+ }
14
+ return executeWorkflowInternal(phases, options);
15
+ }
16
+ async function executeWorkflowInternal(phases, options) {
17
+ const { stopOnFirstPhaseError = false, logPhaseResults = false, handlePhaseCompletion = ({ workflowId, phaseResult, maxSerializableChars = 1000 }) => console.info(`${formatLogContext({ workflowId })}stable-request:\n`, 'Workflow ID:\n', workflowId, '\nPhase result:\n', safelyStringify(phaseResult, maxSerializableChars)), handlePhaseError = ({ workflowId, error, phaseResult, maxSerializableChars = 1000 }) => console.error(`${formatLogContext({ workflowId })}stable-request:\n`, 'Workflow ID:\n', workflowId, '\nError:\n', safelyStringify({ error, phaseResult }, maxSerializableChars)), handlePhaseDecision = (options) => { }, handleBranchCompletion = ({ success, branchId, workflowId, maxSerializableChars }) => console.info(`${formatLogContext({ workflowId, branchId })}stable-request: Branch ${branchId} completed with status: ${success ? 'SUCCESS' : 'FAILURE'}`), handleBranchDecision = (decision, branchResult, maxSerializableChars) => { }, maxSerializableChars = 1000, requestGroups = [], workflowHookParams = {}, concurrentPhaseExecution = false, enableMixedExecution = false, enableBranchExecution = false, enableBranchRacing = false, enableNonLinearExecution = false, maxWorkflowIterations = 1000, branches, ...commonGatewayOptions } = options;
4
18
  const workflowStartTime = Date.now();
5
19
  const workflowId = options.workflowId || `workflow-${Date.now()}`;
6
20
  const phaseResults = [];
@@ -8,7 +22,9 @@ export async function stableWorkflow(phases, options = {}) {
8
22
  let successfulRequests = 0;
9
23
  let failedRequests = 0;
10
24
  const workflowCircuitBreaker = commonGatewayOptions.circuitBreaker
11
- ? new CircuitBreaker(commonGatewayOptions.circuitBreaker)
25
+ ? commonGatewayOptions.circuitBreaker instanceof CircuitBreaker
26
+ ? commonGatewayOptions.circuitBreaker
27
+ : new CircuitBreaker(commonGatewayOptions.circuitBreaker)
12
28
  : null;
13
29
  const commonGatewayOptionsWithBreaker = workflowCircuitBreaker
14
30
  ? { ...commonGatewayOptions, circuitBreaker: workflowCircuitBreaker }
@@ -34,7 +50,8 @@ export async function stableWorkflow(phases, options = {}) {
34
50
  workflowHookParams,
35
51
  sharedBuffer: options.sharedBuffer,
36
52
  stopOnFirstPhaseError,
37
- maxWorkflowIterations
53
+ maxWorkflowIterations,
54
+ enableBranchRacing
38
55
  });
39
56
  phaseResults.push(...branchResult.allPhaseResults);
40
57
  totalRequests = branchResult.totalRequests;