@emmvish/stable-request 1.3.9 โ†’ 1.3.11

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/README.md CHANGED
@@ -61,6 +61,7 @@ All in all, it provides you with the **entire ecosystem** to build **API-integra
61
61
  - [Phase Configuration](#phase-configuration)
62
62
  - [Workflow with Request Groups](#workflow-with-request-groups)
63
63
  - [Phase Observability Hooks](#phase-observability-hooks)
64
+ - [Concurrent Execution of Phases](#concurrent-execution-of-phases)
64
65
  - [Real-World Examples](#real-world-examples)
65
66
  - [Polling for Job Completion](#1-polling-for-job-completion)
66
67
  - [Database Replication Lag](#2-database-replication-lag)
@@ -113,18 +114,23 @@ Most HTTP clients answer only one question:
113
114
  ### Core capabilities
114
115
 
115
116
  โœ… **Content-aware retries**
117
+
116
118
  Retry based on response validation, not just status codes
117
119
 
118
120
  ๐Ÿ”„ **Deterministic execution semantics**
121
+
119
122
  Fixed, linear, or exponential retry strategies with hard limits
120
123
 
121
124
  ๐Ÿง  **Graceful failure handling**
125
+
122
126
  Suppress non-critical failures without crashing workflows
123
127
 
124
128
  ๐Ÿงช **Trial mode / chaos testing**
129
+
125
130
  Simulate failures without depending on real outages
126
131
 
127
132
  ๐Ÿ“Š **First-class observability hooks**
133
+
128
134
  Inspect every failed and successful attempt
129
135
 
130
136
  ---
@@ -132,12 +138,15 @@ Most HTTP clients answer only one question:
132
138
  ### Scaling beyond single requests
133
139
 
134
140
  ๐Ÿš€ **Batch execution with shared state (`stableApiGateway`)**
141
+
135
142
  Run many requests concurrently or sequentially with shared configuration and shared state
136
143
 
137
144
  ๐ŸŽฏ **Request groups**
145
+
138
146
  Apply different reliability rules to critical, standard, and optional services
139
147
 
140
148
  ๐Ÿงฑ **Hierarchical configuration**
149
+
141
150
  Workflow โ†’ Phase โ†’ Group โ†’ Request (predictable overrides)
142
151
 
143
152
  ---
@@ -145,19 +154,24 @@ Most HTTP clients answer only one question:
145
154
  ### Full workflow orchestration
146
155
 
147
156
  ๐Ÿงฉ **Multi-phase workflows with shared state (`stableWorkflow`)**
157
+
148
158
  Model real-world business flows as deterministic, observable execution graphs.
149
159
 
150
160
  ๐Ÿ”€ **Mix concurrent and sequential execution**
161
+
151
162
  Parallelize where safe, serialize where correctness matters.
152
163
 
153
164
  ๐Ÿ›‘ **Stop early or degrade gracefully**
154
- Stop execution early or continue based on business criticality.
165
+
166
+ Stop execution early or continue based on business criticality.
155
167
 
156
168
  ๐Ÿ“ˆ **Phase-level metrics and hooks**
157
- Track execution time, success rates, and failure boundaries per phase.
169
+
170
+ Track execution time, success rates, and failure boundaries per phase.
158
171
 
159
172
  ๐Ÿงญ **Deterministic, observable execution paths**
160
- Every decision is explicit, traceable, and reproducible.
173
+
174
+ Every decision is explicit, traceable, and reproducible.
161
175
 
162
176
  ---
163
177
 
@@ -1250,7 +1264,7 @@ const workflow = await stableWorkflow(
1250
1264
  workflowId: 'monitored-workflow',
1251
1265
 
1252
1266
  // Called after each phase completes successfully
1253
- handlePhaseCompletion: async ({ workflowId, phaseResult, workflowBuffer }) => {
1267
+ handlePhaseCompletion: async ({ workflowId, phaseResult, sharedBuffer }) => {
1254
1268
  console.log(`Phase ${phaseResult.phaseId} completed`);
1255
1269
 
1256
1270
  await analytics.track('workflow_phase_complete', {
@@ -1262,7 +1276,7 @@ const workflow = await stableWorkflow(
1262
1276
  },
1263
1277
 
1264
1278
  // Called when a phase fails
1265
- handlePhaseError: async ({ workflowId, phaseResult, error, workflowBuffer }) => {
1279
+ handlePhaseError: async ({ workflowId, phaseResult, error, sharedBuffer }) => {
1266
1280
  console.error(`Phase ${phaseResult.phaseId} failed`);
1267
1281
 
1268
1282
  await alerting.notify('workflow_phase_failed', {
@@ -1336,12 +1350,43 @@ const phases = [
1336
1350
  const result = await stableWorkflow(phases, {
1337
1351
  workflowId: 'wf-buffer-demo',
1338
1352
  commonRequestData: { hostname: 'api.example.com' },
1339
- workflowBuffer
1353
+ sharedBuffer: workflowBuffer
1340
1354
  });
1341
1355
 
1342
1356
  console.log(workflowBuffer); // { token: 'wf-token' setIn: 'p1', usedIn: 'p2' }
1343
1357
  ```
1358
+ ### Concurrent Execution of Phases
1344
1359
 
1360
+ ```typescript
1361
+ const phases = [
1362
+ {
1363
+ id: 'phase-1',
1364
+ requests: [
1365
+ { id: 'r1', requestOptions: { reqData: { path: '/p1/r1' }, resReq: true } }
1366
+ ]
1367
+ },
1368
+ {
1369
+ id: 'phase-2',
1370
+ requests: [
1371
+ { id: 'r2', requestOptions: { reqData: { path: '/p2/r1' }, resReq: true } }
1372
+ ]
1373
+ },
1374
+ {
1375
+ id: 'phase-3',
1376
+ requests: [
1377
+ { id: 'r3', requestOptions: { reqData: { path: '/p3/r1' }, resReq: true } }
1378
+ ]
1379
+ }
1380
+ ] satisfies STABLE_WORKFLOW_PHASE[];
1381
+
1382
+ const result = await stableWorkflow(phases, {
1383
+ workflowId: 'wf-concurrent-phases',
1384
+ commonRequestData: { hostname: 'api.example.com' },
1385
+ commonAttempts: 1,
1386
+ commonWait: 1,
1387
+ concurrentPhaseExecution: true
1388
+ });
1389
+ ```
1345
1390
 
1346
1391
  ## Real-World Examples
1347
1392
 
@@ -1794,11 +1839,12 @@ interface STABLE_WORKFLOW_PHASE {
1794
1839
  | `workflowId` | `string` | `workflow-{timestamp}` | Workflow identifier |
1795
1840
  | `stopOnFirstPhaseError` | `boolean` | `false` | Stop workflow if any phase fails |
1796
1841
  | `logPhaseResults` | `boolean` | `false` | Log phase execution to console |
1842
+ | `concurrentPhaseExecution` | `boolean` | `false` | Execute all phases in parallel |
1797
1843
  | `handlePhaseCompletion` | `function` | `undefined` | Hook called after each successful phase |
1798
1844
  | `handlePhaseError` | `function` | `undefined` | Hook called when a phase fails |
1799
1845
  | `maxSerializableChars` | `number` | `1000` | Max chars for serialization in hooks |
1800
1846
  | `workflowHookParams` | `WorkflowHookParams` | {} | Custom set of params passed to hooks |
1801
- | `workflowBuffer` | `Record<string, any>` | `undefined` | Buffer shared by all phases and all requests within them |
1847
+ | `sharedBuffer` | `Record<string, any>` | `undefined` | Buffer shared by all phases and all requests within them |
1802
1848
  | All `stableApiGateway` options | - | - | Applied as workflow-level defaults |
1803
1849
 
1804
1850
  **STABLE_WORKFLOW_RESULT response:**
@@ -1906,7 +1952,7 @@ finalErrorAnalyzer: async ({ reqData, error, trialMode, params, commonBuffer })
1906
1952
  **Purpose:** Execute phase-bridging code upon successful completion of a phase
1907
1953
 
1908
1954
  ```typescript
1909
- handlePhaseCompletion: async ({ workflowId, phaseResult, maxSerializableChars, params, workflowBuffer }) => {
1955
+ handlePhaseCompletion: async ({ workflowId, phaseResult, maxSerializableChars, params, sharedBuffer }) => {
1910
1956
  await logger.log(phaseResult.phaseId, phaseResult.success);
1911
1957
  }
1912
1958
  ```
@@ -1916,7 +1962,7 @@ handlePhaseCompletion: async ({ workflowId, phaseResult, maxSerializableChars, p
1916
1962
  **Purpose:** Execute error handling code if a phase runs into an error
1917
1963
 
1918
1964
  ```typescript
1919
- handlePhaseError: async ({ workflowId, phaseResult, error, maxSerializableChars, params, workflowBuffer }) => {
1965
+ handlePhaseError: async ({ workflowId, phaseResult, error, maxSerializableChars, params, sharedBuffer }) => {
1920
1966
  await logger.error(error);
1921
1967
  }
1922
1968
  ```
@@ -1925,16 +1971,16 @@ handlePhaseError: async ({ workflowId, phaseResult, error, maxSerializableChars,
1925
1971
 
1926
1972
  Configuration precedence across orchestration:
1927
1973
 
1928
- Workflow-level (lowest priority)
1929
- Phase-level (commonConfig)
1930
- Request group (requestGroups[].commonConfig)
1931
- Individual request options (highest priority)
1974
+ - Workflow-level (options.sharedBuffer)
1975
+ - Phase-level (commonConfig)
1976
+ - Request group (requestGroups[].commonConfig)
1977
+ - Individual request options (highest priority)
1932
1978
 
1933
1979
  Buffers are state (not config):
1934
1980
 
1935
1981
  - Request scope: commonBuffer
1936
- - Gateway scope: sharedBuffer
1937
- - Workflow scope: workflowBuffer
1982
+ - Gateway scope: Gateway's / Phase's sharedBuffer
1983
+ - Workflow scope: Workflow's sharedBuffer
1938
1984
 
1939
1985
  ## TypeScript Support
1940
1986
 
@@ -1 +1 @@
1
- {"version":3,"file":"stable-workflow.d.ts","sourceRoot":"","sources":["../../src/core/stable-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACzB,MAAM,mBAAmB,CAAC;AAM3B,wBAAsB,cAAc,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAC9E,MAAM,EAAE,qBAAqB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,EAClE,OAAO,GAAE,uBAAuB,CAAC,eAAe,EAAE,gBAAgB,CAAM,GACzE,OAAO,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CA+NnD"}
1
+ {"version":3,"file":"stable-workflow.d.ts","sourceRoot":"","sources":["../../src/core/stable-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACzB,MAAM,mBAAmB,CAAC;AAM3B,wBAAsB,cAAc,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAC9E,MAAM,EAAE,qBAAqB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,EAClE,OAAO,GAAE,uBAAuB,CAAC,eAAe,EAAE,gBAAgB,CAAM,GACzE,OAAO,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CA2OnD"}
@@ -1,7 +1,7 @@
1
1
  import { stableApiGateway } from './stable-api-gateway.js';
2
2
  import { safelyExecuteUnknownFunction, safelyStringify } from '../utilities/index.js';
3
3
  export async function stableWorkflow(phases, options = {}) {
4
- const { stopOnFirstPhaseError = false, logPhaseResults = false, handlePhaseCompletion = ({ workflowId, phaseResult, maxSerializableChars = 1000 }) => console.info('stable-request:\n', 'Workflow ID:\n', workflowId, '\nPhase result:\n', safelyStringify(phaseResult, maxSerializableChars)), handlePhaseError = ({ workflowId, error, phaseResult, maxSerializableChars = 1000 }) => console.error('stable-request:\n', 'Workflow ID:\n', workflowId, '\nError:\n', safelyStringify({ error, phaseResult }, maxSerializableChars)), maxSerializableChars = 1000, requestGroups = [], workflowHookParams = {}, ...commonGatewayOptions } = options;
4
+ const { stopOnFirstPhaseError = false, logPhaseResults = false, handlePhaseCompletion = ({ workflowId, phaseResult, maxSerializableChars = 1000 }) => console.info('stable-request:\n', 'Workflow ID:\n', workflowId, '\nPhase result:\n', safelyStringify(phaseResult, maxSerializableChars)), handlePhaseError = ({ workflowId, error, phaseResult, maxSerializableChars = 1000 }) => console.error('stable-request:\n', 'Workflow ID:\n', workflowId, '\nError:\n', safelyStringify({ error, phaseResult }, maxSerializableChars)), maxSerializableChars = 1000, requestGroups = [], workflowHookParams = {}, concurrentPhaseExecution = false, ...commonGatewayOptions } = options;
5
5
  const workflowStartTime = Date.now();
6
6
  const workflowId = options.workflowId || `workflow-${Date.now()}`;
7
7
  const phaseResults = [];
@@ -9,103 +9,102 @@ export async function stableWorkflow(phases, options = {}) {
9
9
  let successfulRequests = 0;
10
10
  let failedRequests = 0;
11
11
  try {
12
- for (let i = 0; i < phases.length; i++) {
13
- const phase = phases[i];
14
- const phaseId = phase.id || `phase-${i + 1}`;
15
- const phaseStartTime = Date.now();
16
- if (logPhaseResults) {
17
- console.info(`\nstable-request: [Workflow: ${workflowId}] Starting Phase ${i + 1}/${phases.length}: ${phaseId}`);
18
- }
19
- const phaseGatewayOptions = {
20
- ...commonGatewayOptions,
21
- ...(phase.commonConfig || {}),
22
- concurrentExecution: phase.concurrentExecution ?? true,
23
- stopOnFirstError: phase.stopOnFirstError ?? false,
24
- sharedBuffer: options.workflowBuffer,
25
- requestGroups,
26
- };
27
- try {
28
- const phaseResponses = await stableApiGateway(phase.requests, phaseGatewayOptions);
29
- const phaseExecutionTime = Date.now() - phaseStartTime;
30
- const phaseSuccessCount = phaseResponses.filter(r => r.success).length;
31
- const phaseFailureCount = phaseResponses.filter(r => !r.success).length;
32
- totalRequests += phaseResponses.length;
33
- successfulRequests += phaseSuccessCount;
34
- failedRequests += phaseFailureCount;
35
- const phaseResult = {
36
- phaseId,
37
- phaseIndex: i,
38
- success: phaseFailureCount === 0,
39
- executionTime: phaseExecutionTime,
40
- timestamp: new Date(phaseStartTime).toISOString(),
41
- totalRequests: phaseResponses.length,
42
- successfulRequests: phaseSuccessCount,
43
- failedRequests: phaseFailureCount,
44
- responses: phaseResponses
45
- };
46
- phaseResults.push(phaseResult);
12
+ if (concurrentPhaseExecution) {
13
+ // Execute all phases concurrently
14
+ const phasePromises = phases.map((phase, i) => executePhase(phase, i, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, handlePhaseError, maxSerializableChars, workflowHookParams, options.sharedBuffer));
15
+ const settledPhases = await Promise.allSettled(phasePromises);
16
+ // Process results from concurrent execution
17
+ settledPhases.forEach((result, i) => {
18
+ if (result.status === 'fulfilled') {
19
+ const phaseResult = result.value;
20
+ phaseResults.push(phaseResult);
21
+ totalRequests += phaseResult.totalRequests;
22
+ successfulRequests += phaseResult.successfulRequests;
23
+ failedRequests += phaseResult.failedRequests;
24
+ }
25
+ else {
26
+ // Handle rejected phase
27
+ const phaseId = phases[i].id || `phase-${i + 1}`;
28
+ const phaseResult = {
29
+ phaseId,
30
+ phaseIndex: i,
31
+ success: false,
32
+ executionTime: 0,
33
+ timestamp: new Date().toISOString(),
34
+ totalRequests: phases[i].requests.length,
35
+ successfulRequests: 0,
36
+ failedRequests: phases[i].requests.length,
37
+ responses: [],
38
+ error: result.reason?.message || 'Phase execution failed'
39
+ };
40
+ phaseResults.push(phaseResult);
41
+ totalRequests += phases[i].requests.length;
42
+ failedRequests += phases[i].requests.length;
43
+ if (logPhaseResults) {
44
+ console.error(`stable-request: [Workflow: ${workflowId}] Phase ${phaseId} failed:`, result.reason);
45
+ }
46
+ }
47
+ });
48
+ }
49
+ else {
50
+ // Execute phases sequentially (existing behavior)
51
+ for (let i = 0; i < phases.length; i++) {
52
+ const phase = phases[i];
53
+ const phaseId = phase.id || `phase-${i + 1}`;
47
54
  if (logPhaseResults) {
48
- console.info(`stable-request: [Workflow: ${workflowId}] Phase ${phaseId} completed:`, `${phaseSuccessCount}/${phaseResponses.length} successful`, `(${phaseExecutionTime}ms)`);
55
+ console.info(`\nstable-request: [Workflow: ${workflowId}] Starting Phase ${i + 1}/${phases.length}: ${phaseId}`);
56
+ }
57
+ try {
58
+ const phaseResult = await executePhase(phase, i, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, handlePhaseError, maxSerializableChars, workflowHookParams, options.sharedBuffer);
59
+ phaseResults.push(phaseResult);
60
+ totalRequests += phaseResult.totalRequests;
61
+ successfulRequests += phaseResult.successfulRequests;
62
+ failedRequests += phaseResult.failedRequests;
63
+ if (phaseResult.failedRequests > 0 && stopOnFirstPhaseError) {
64
+ if (logPhaseResults) {
65
+ console.error(`stable-request: [Workflow: ${workflowId}] Stopping workflow due to phase failure`);
66
+ }
67
+ break;
68
+ }
49
69
  }
50
- if (handlePhaseCompletion) {
70
+ catch (phaseError) {
71
+ const phaseResult = {
72
+ phaseId,
73
+ phaseIndex: i,
74
+ success: false,
75
+ executionTime: 0,
76
+ timestamp: new Date().toISOString(),
77
+ totalRequests: phase.requests.length,
78
+ successfulRequests: 0,
79
+ failedRequests: phase.requests.length,
80
+ responses: [],
81
+ error: phaseError.message
82
+ };
83
+ phaseResults.push(phaseResult);
84
+ totalRequests += phase.requests.length;
85
+ failedRequests += phase.requests.length;
86
+ if (logPhaseResults) {
87
+ console.error(`stable-request: [Workflow: ${workflowId}] Phase ${phaseId} failed:`, phaseError.message);
88
+ }
51
89
  try {
52
- await safelyExecuteUnknownFunction(handlePhaseCompletion, {
90
+ await safelyExecuteUnknownFunction(handlePhaseError, {
53
91
  workflowId,
54
92
  phaseResult,
93
+ error: phaseError,
55
94
  maxSerializableChars,
56
- params: workflowHookParams?.handlePhaseCompletionParams,
57
- workflowBuffer: options.workflowBuffer
95
+ params: workflowHookParams?.handlePhaseErrorParams,
96
+ sharedBuffer: options.sharedBuffer
58
97
  });
59
98
  }
60
99
  catch (hookError) {
61
- console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseCompletion hook:`, hookError);
100
+ console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseError hook:`, hookError);
62
101
  }
63
- }
64
- if (phaseFailureCount > 0 && stopOnFirstPhaseError) {
65
- if (logPhaseResults) {
66
- console.error(`stable-request: [Workflow: ${workflowId}] Stopping workflow due to phase failure`);
102
+ if (stopOnFirstPhaseError) {
103
+ if (logPhaseResults) {
104
+ console.error(`stable-request: [Workflow: ${workflowId}] Stopping workflow due to phase error`);
105
+ }
106
+ break;
67
107
  }
68
- break;
69
- }
70
- }
71
- catch (phaseError) {
72
- const phaseExecutionTime = Date.now() - phaseStartTime;
73
- const phaseResult = {
74
- phaseId,
75
- phaseIndex: i,
76
- success: false,
77
- executionTime: phaseExecutionTime,
78
- timestamp: new Date(phaseStartTime).toISOString(),
79
- totalRequests: phase.requests.length,
80
- successfulRequests: 0,
81
- failedRequests: phase.requests.length,
82
- responses: [],
83
- error: phaseError.message
84
- };
85
- phaseResults.push(phaseResult);
86
- totalRequests += phase.requests.length;
87
- failedRequests += phase.requests.length;
88
- if (logPhaseResults) {
89
- console.error(`stable-request: [Workflow: ${workflowId}] Phase ${phaseId} failed:`, phaseError.message);
90
- }
91
- try {
92
- await safelyExecuteUnknownFunction(handlePhaseError, {
93
- workflowId,
94
- phaseResult,
95
- error: phaseError,
96
- maxSerializableChars,
97
- params: workflowHookParams?.handlePhaseErrorParams,
98
- workflowBuffer: options.workflowBuffer
99
- });
100
- }
101
- catch (hookError) {
102
- console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseError hook:`, hookError);
103
- }
104
- if (stopOnFirstPhaseError) {
105
- if (logPhaseResults) {
106
- console.error(`stable-request: [Workflow: ${workflowId}] Stopping workflow due to phase error`);
107
- }
108
- break;
109
108
  }
110
109
  }
111
110
  }
@@ -148,4 +147,49 @@ export async function stableWorkflow(phases, options = {}) {
148
147
  };
149
148
  }
150
149
  }
150
+ async function executePhase(phase, phaseIndex, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, handlePhaseError, maxSerializableChars, workflowHookParams, sharedBuffer) {
151
+ const phaseId = phase.id || `phase-${phaseIndex + 1}`;
152
+ const phaseStartTime = Date.now();
153
+ const phaseGatewayOptions = {
154
+ ...commonGatewayOptions,
155
+ ...(phase.commonConfig || {}),
156
+ concurrentExecution: phase.concurrentExecution ?? true,
157
+ stopOnFirstError: phase.stopOnFirstError ?? false,
158
+ requestGroups,
159
+ sharedBuffer
160
+ };
161
+ const phaseResponses = await stableApiGateway(phase.requests, phaseGatewayOptions);
162
+ const phaseExecutionTime = Date.now() - phaseStartTime;
163
+ const phaseSuccessCount = phaseResponses.filter(r => r.success).length;
164
+ const phaseFailureCount = phaseResponses.filter(r => !r.success).length;
165
+ const phaseResult = {
166
+ phaseId,
167
+ phaseIndex,
168
+ success: phaseFailureCount === 0,
169
+ executionTime: phaseExecutionTime,
170
+ timestamp: new Date(phaseStartTime).toISOString(),
171
+ totalRequests: phaseResponses.length,
172
+ successfulRequests: phaseSuccessCount,
173
+ failedRequests: phaseFailureCount,
174
+ responses: phaseResponses
175
+ };
176
+ if (logPhaseResults) {
177
+ console.info(`stable-request: [Workflow: ${workflowId}] Phase ${phaseId} completed:`, `${phaseSuccessCount}/${phaseResponses.length} successful`, `(${phaseExecutionTime}ms)`);
178
+ }
179
+ if (handlePhaseCompletion) {
180
+ try {
181
+ await safelyExecuteUnknownFunction(handlePhaseCompletion, {
182
+ workflowId,
183
+ phaseResult,
184
+ maxSerializableChars,
185
+ params: workflowHookParams?.handlePhaseCompletionParams,
186
+ sharedBuffer
187
+ });
188
+ }
189
+ catch (hookError) {
190
+ console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseCompletion hook:`, hookError);
191
+ }
192
+ }
193
+ return phaseResult;
194
+ }
151
195
  //# sourceMappingURL=stable-workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stable-workflow.js","sourceRoot":"","sources":["../../src/core/stable-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stable-workflow.js","sourceRoot":"","sources":["../../src/core/stable-workflow.ts"],"names":[],"mappings":"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"}
@@ -164,18 +164,17 @@ export interface STABLE_WORKFLOW_PHASE<RequestDataType = any, ResponseDataType =
164
164
  requests: API_GATEWAY_REQUEST<RequestDataType, ResponseDataType>[];
165
165
  concurrentExecution?: boolean;
166
166
  stopOnFirstError?: boolean;
167
- sharedBuffer?: Record<string, any>;
168
- commonConfig?: Omit<API_GATEWAY_OPTIONS<RequestDataType, ResponseDataType>, 'concurrentExecution' | 'stopOnFirstError' | 'requestGroups' | 'sharedBuffer'>;
167
+ commonConfig?: Omit<API_GATEWAY_OPTIONS<RequestDataType, ResponseDataType>, 'concurrentExecution' | 'stopOnFirstError' | 'requestGroups'>;
169
168
  }
170
169
  export interface STABLE_WORKFLOW_OPTIONS<RequestDataType = any, ResponseDataType = any> extends Omit<API_GATEWAY_OPTIONS<RequestDataType, ResponseDataType>, 'concurrentExecution' | 'stopOnFirstError'> {
171
170
  workflowId?: string;
172
171
  stopOnFirstPhaseError?: boolean;
173
172
  logPhaseResults?: boolean;
173
+ concurrentPhaseExecution?: boolean;
174
174
  handlePhaseCompletion?: (options: HandlePhaseCompletionHookOptions<ResponseDataType>) => any | Promise<any>;
175
175
  handlePhaseError?: (options: HandlePhaseErrorHookOptions<ResponseDataType>) => any | Promise<any>;
176
176
  maxSerializableChars?: number;
177
177
  workflowHookParams?: WorkflowHookParams;
178
- workflowBuffer?: Record<string, any>;
179
178
  }
180
179
  export interface STABLE_WORKFLOW_PHASE_RESULT<ResponseDataType = any> {
181
180
  phaseId: string;
@@ -211,7 +210,7 @@ export interface HandlePhaseCompletionHookOptions<ResponseDataType = any> {
211
210
  phaseResult: STABLE_WORKFLOW_PHASE_RESULT<ResponseDataType>;
212
211
  maxSerializableChars?: number;
213
212
  params?: any;
214
- workflowBuffer?: Record<string, any>;
213
+ sharedBuffer?: Record<string, any>;
215
214
  }
216
215
  export interface HandlePhaseErrorHookOptions<ResponseDataType = any> extends HandlePhaseCompletionHookOptions<ResponseDataType> {
217
216
  error: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,mBAAmB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,CAAC,eAAe,EAAE,gBAAgB,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjI,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,6BAA6B,CAAC,eAAe,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnH,kBAAkB,CAAC,EAAE,CACnB,OAAO,EAAE,sBAAsB,CAAC,eAAe,CAAC,KAC7C,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,iCAAiC,CAAC,EAAE,CAClC,OAAO,EAAE,sCAAsC,CAAC,eAAe,EAAE,gBAAgB,CAAC,KAC/E,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAChD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,CAAC;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,gCAAgC,CAC1C,eAAe,EACf,gBAAgB,IAEhB,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CACjF,CAAC;AAEJ,MAAM,WAAW,mBAAmB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,gCAAgC,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,oBAAoB,CAAC,gBAAgB,GAAG,GAAG;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oCAAoC,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,kBAAkB,CAAC,CAAC;AAE3M,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,oBAAoB,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,kBAAkB,CAAC,CAAA;CACxH;AAED,MAAM,WAAW,aAAa,CAAC,gBAAgB,GAAG,GAAG;IACnD,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,gBAAgB,GAAG;QAAE,SAAS,EAAE,kBAAkB,CAAA;KAAE,CAAC;CAC7D;AAED,MAAM,MAAM,oBAAoB,GAC5B,eAAe,CAAC,GAAG,GACnB,eAAe,CAAC,IAAI,GACpB,eAAe,CAAC,MAAM,GACtB,eAAe,CAAC,KAAK,GACrB,eAAe,CAAC,GAAG,CAAC;AAExB,MAAM,WAAW,YAAY,CAAC,eAAe,GAAG,GAAG;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACxC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,KAAK,oBAAoB,GAAG,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;AAEzF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,KAAK,GAAG,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC;AAEnH,MAAM,MAAM,oCAAoC,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,CAAA;AAErL,UAAU,yBAAyB,CAAC,eAAe,GAAG,GAAG;IACvD,OAAO,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED,UAAU,mBAAmB,CAAC,eAAe,GAAG,GAAG,CAAE,SAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACnI,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,CAAE,SAAQ,mBAAmB,CAAC,eAAe,CAAC;IACtI,IAAI,EAAE,gBAAgB,CAAA;CACvB;AAED,MAAM,WAAW,6BAA6B,CAAC,eAAe,GAAG,GAAG,CAAE,SAAQ,mBAAmB,CAAC,eAAe,CAAC;IAChH,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,sBAAsB,CAAC,eAAe,GAAG,GAAG,CAAE,SAAQ,yBAAyB,CAAC,eAAe,CAAC;IAC/G,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,WAAW,sCAAsC,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,CAAE,SAAQ,yBAAyB,CAAC,eAAe,CAAC;IACvJ,qBAAqB,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,UAAU;IACzB,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,iCAAiC,CAAC,EAAE,GAAG,CAAC;IACxC,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,wBAAwB,CAAC,EAAE,GAAG,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,uBAAuB,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjG,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG;IAC3E,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACvC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,CAAC,eAAe,EAAE,gBAAgB,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3H,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,sBAAsB,CAAC,eAAe,CAAC,KAC7C,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,2BAA2B,CAAC,EAAE,CAC5B,OAAO,EAAE,sCAAsC,CAAC,eAAe,EAAE,gBAAgB,CAAC,KAC/E,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,6BAA6B,CAAC,eAAe,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7G,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB,CAAC,gBAAgB,GAAG,GAAG;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,4BAA4B,GACpC,uBAAuB,CAAC,IAAI,GAC5B,uBAAuB,CAAC,KAAK,CAAC;AAElC,MAAM,WAAW,qBAAqB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG;IAClF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,CAAC;IACnE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EACxE,qBAAqB,GAAG,kBAAkB,GAAG,eAAe,GAAG,cAAc,CAAC,CAAC;CAClF;AAED,MAAM,WAAW,uBAAuB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,CACpF,SAAQ,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EACjE,qBAAqB,GAAG,kBAAkB,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,CACtB,OAAO,EAAE,gCAAgC,CAAC,gBAAgB,CAAC,KACxD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,KACnD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,4BAA4B,CAAC,gBAAgB,GAAG,GAAG;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB,CAAC,gBAAgB,GAAG,GAAG;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,2BAA2B,CAAC,EAAE,GAAG,CAAC;IAClC,sBAAsB,CAAC,EAAE,GAAG,CAAC;CAC9B;AAED,MAAM,WAAW,gCAAgC,CAAC,gBAAgB,GAAG,GAAG;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;IAC5D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,2BAA2B,CAAC,gBAAgB,GAAG,GAAG,CAAE,SAAQ,gCAAgC,CAAC,gBAAgB,CAAC;IAC7H,KAAK,EAAE,GAAG,CAAC;CACZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emmvish/stable-request",
3
- "version": "1.3.9",
3
+ "version": "1.3.11",
4
4
  "description": "stable-request is a TypeScript-first HTTP reliability toolkit for workflow-driven API integrations, that goes beyond status-code retries by validating response content, handling eventual consistency, coordinating batch workflows with intelligent grouping, and providing deep observability into every request attempt. It is designed for real-world distributed systems where HTTP success does not guarantee business success. It also provides extensive support for managing multiple requests so as to achieve workflow automation.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,3 +0,0 @@
1
- import { STABLE_REQUEST } from '../types/index.js';
2
- export declare function sendStableRequest<RequestDataType = any, ResponseDataType = any>(options: STABLE_REQUEST<RequestDataType, ResponseDataType>): Promise<ResponseDataType | boolean>;
3
- //# sourceMappingURL=send-stable-request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-stable-request.d.ts","sourceRoot":"","sources":["../../src/core/send-stable-request.ts"],"names":[],"mappings":"AAOA,OAAO,EAIH,cAAc,EAEjB,MAAM,mBAAmB,CAAC;AAY3B,wBAAsB,iBAAiB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EACnF,OAAO,EAAE,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,GACzD,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,CA4OrC"}
@@ -1,170 +0,0 @@
1
- import { RETRY_STRATEGIES, RESPONSE_ERRORS } from '../enums/index.js';
2
- import { generateAxiosRequestConfig, getNewDelayTime, delay, reqFn, safelyExecuteUnknownFunction, safelyStringify, validateTrialModeProbabilities } from '../utilities/index.js';
3
- export async function sendStableRequest(options) {
4
- const { preExecution = {
5
- preExecutionHook: ({ inputParams, commonBuffer }) => { },
6
- preExecutionHookParams: {},
7
- applyPreExecutionConfigOverride: false,
8
- continueOnPreExecutionHookFailure: false,
9
- }, commonBuffer = {} } = options;
10
- let preExecutionResult;
11
- try {
12
- preExecutionResult = await safelyExecuteUnknownFunction(preExecution?.preExecutionHook, {
13
- inputParams: preExecution?.preExecutionHookParams,
14
- commonBuffer
15
- });
16
- if (preExecution?.applyPreExecutionConfigOverride) {
17
- const finalOptions = {
18
- ...options,
19
- ...preExecutionResult
20
- };
21
- Object.assign(options, finalOptions);
22
- }
23
- }
24
- catch (e) {
25
- if (!preExecution?.continueOnPreExecutionHookFailure) {
26
- throw e;
27
- }
28
- }
29
- const { reqData: givenReqData, responseAnalyzer = ({ reqData, data, trialMode = { enabled: false } }) => true, resReq = false, attempts: givenAttempts = 1, performAllAttempts = false, wait = 1000, maxAllowedWait = 60000, retryStrategy = RETRY_STRATEGIES.FIXED, logAllErrors = false, handleErrors = ({ reqData, errorLog, maxSerializableChars = 1000 }) => console.error('stable-request:\n', 'Request data:\n', safelyStringify(reqData, maxSerializableChars), '\nError log:\n', safelyStringify(errorLog, maxSerializableChars)), logAllSuccessfulAttempts = false, handleSuccessfulAttemptData = ({ reqData, successfulAttemptData, maxSerializableChars = 1000 }) => console.info('stable-request:\n', 'Request data:\n', safelyStringify(reqData, maxSerializableChars), '\nSuccessful attempt:\n', safelyStringify(successfulAttemptData, maxSerializableChars)), maxSerializableChars = 1000, finalErrorAnalyzer = ({ reqData, error, trialMode = { enabled: false } }) => false, trialMode = { enabled: false }, hookParams = {}, } = options;
30
- let attempts = givenAttempts;
31
- const reqData = generateAxiosRequestConfig(givenReqData);
32
- try {
33
- validateTrialModeProbabilities(trialMode);
34
- let res = {
35
- ok: false,
36
- isRetryable: true,
37
- timestamp: new Date().toISOString(),
38
- executionTime: 0,
39
- statusCode: 0
40
- };
41
- const maxAttempts = attempts;
42
- let lastSuccessfulAttemptData = undefined;
43
- let hadAtLeastOneSuccess = false;
44
- do {
45
- attempts--;
46
- const currentAttempt = maxAttempts - attempts;
47
- res = await reqFn(reqData, resReq, maxSerializableChars, trialMode);
48
- const originalResOk = res.ok;
49
- let performNextAttempt = false;
50
- if (res.ok) {
51
- try {
52
- performNextAttempt = !(await safelyExecuteUnknownFunction(responseAnalyzer, {
53
- reqData,
54
- data: res?.data,
55
- trialMode,
56
- params: hookParams?.responseAnalyzerParams,
57
- preExecutionResult,
58
- commonBuffer
59
- }));
60
- }
61
- catch (e) {
62
- console.error(`stable-request: Unable to analyze the response returned on attempt #${currentAttempt}. Response: ${safelyStringify(res?.data, maxSerializableChars)}`);
63
- performNextAttempt = true;
64
- }
65
- }
66
- if ((!res.ok || (res.ok && performNextAttempt)) && logAllErrors) {
67
- const errorLog = {
68
- timestamp: res.timestamp,
69
- attempt: `${currentAttempt}/${maxAttempts}`,
70
- error: res?.error ??
71
- `stable-request: The response did not match your expectations! Response: ${safelyStringify(res?.data, maxSerializableChars)}`,
72
- type: !res.ok
73
- ? RESPONSE_ERRORS.HTTP_ERROR
74
- : RESPONSE_ERRORS.INVALID_CONTENT,
75
- isRetryable: res.isRetryable,
76
- executionTime: res.executionTime,
77
- statusCode: res.statusCode
78
- };
79
- try {
80
- await safelyExecuteUnknownFunction(handleErrors, {
81
- reqData,
82
- errorLog,
83
- maxSerializableChars,
84
- params: hookParams?.handleErrorsParams,
85
- preExecutionResult,
86
- commonBuffer
87
- });
88
- }
89
- catch (e) {
90
- console.error('stable-request: Unable to report errors due to issues with error handler!');
91
- }
92
- }
93
- if (res.ok && !performNextAttempt) {
94
- hadAtLeastOneSuccess = true;
95
- lastSuccessfulAttemptData = res?.data;
96
- if (logAllSuccessfulAttempts) {
97
- const successfulAttemptLog = {
98
- attempt: `${currentAttempt}/${maxAttempts}`,
99
- timestamp: res.timestamp,
100
- data: res?.data,
101
- executionTime: res.executionTime,
102
- statusCode: res.statusCode
103
- };
104
- try {
105
- await safelyExecuteUnknownFunction(handleSuccessfulAttemptData, {
106
- reqData,
107
- successfulAttemptData: successfulAttemptLog,
108
- maxSerializableChars,
109
- params: hookParams?.handleSuccessfulAttemptDataParams,
110
- preExecutionResult,
111
- commonBuffer
112
- });
113
- }
114
- catch (e) {
115
- console.error('stable-request: Unable to report successful attempts due to issues with successful attempt data handler!');
116
- }
117
- }
118
- }
119
- if (performNextAttempt && res.isRetryable) {
120
- res.ok = false;
121
- }
122
- if (attempts > 0 &&
123
- ((!originalResOk && res.isRetryable) ||
124
- (originalResOk && performNextAttempt) ||
125
- performAllAttempts)) {
126
- await delay(getNewDelayTime(retryStrategy, wait, currentAttempt), maxAllowedWait);
127
- }
128
- } while (attempts > 0 &&
129
- ((res.isRetryable && !res.ok) || performAllAttempts));
130
- if (performAllAttempts && hadAtLeastOneSuccess) {
131
- if (trialMode.enabled) {
132
- console.info('stable-request: Final response (performAllAttempts mode):\n', safelyStringify(lastSuccessfulAttemptData, maxSerializableChars));
133
- }
134
- return resReq ? lastSuccessfulAttemptData : true;
135
- }
136
- else if (res.ok) {
137
- if (trialMode.enabled) {
138
- const finalResponse = res?.data ?? lastSuccessfulAttemptData;
139
- console.info('stable-request: Final response:\n', safelyStringify(finalResponse, maxSerializableChars));
140
- }
141
- return resReq ? res?.data ?? lastSuccessfulAttemptData : true;
142
- }
143
- else {
144
- throw new Error(safelyStringify({
145
- error: res?.error,
146
- 'Request Data': reqData,
147
- }, maxSerializableChars));
148
- }
149
- }
150
- catch (e) {
151
- if (trialMode.enabled) {
152
- console.error('stable-request: Final error:\n', e.message);
153
- }
154
- const errorAnalysisResult = await safelyExecuteUnknownFunction(finalErrorAnalyzer, {
155
- reqData,
156
- error: e,
157
- trialMode,
158
- params: hookParams?.finalErrorAnalyzerParams,
159
- preExecutionResult,
160
- commonBuffer
161
- });
162
- if (!errorAnalysisResult) {
163
- throw e;
164
- }
165
- else {
166
- return false;
167
- }
168
- }
169
- }
170
- //# sourceMappingURL=send-stable-request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-stable-request.js","sourceRoot":"","sources":["../../src/core/send-stable-request.ts"],"names":[],"mappings":"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"}