@emmvish/stable-request 1.3.2 → 1.3.4

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
@@ -52,8 +52,8 @@ Most HTTP clients answer only one question:
52
52
 
53
53
  ### Scaling beyond single requests
54
54
 
55
- 🚀 **Batch execution (`stableApiGateway`)**
56
- Run many requests concurrently or sequentially with shared configuration
55
+ 🚀 **Batch execution with shared state (`stableApiGateway`)**
56
+ Run many requests concurrently or sequentially with shared configuration and shared state
57
57
 
58
58
  🎯 **Request groups**
59
59
  Apply different reliability rules to critical, standard, and optional services
@@ -65,7 +65,7 @@ Most HTTP clients answer only one question:
65
65
 
66
66
  ### Full workflow orchestration
67
67
 
68
- 🧩 **Multi-phase workflows (`stableWorkflow`)**
68
+ 🧩 **Multi-phase workflows with shared state (`stableWorkflow`)**
69
69
 
70
70
  🔀 **Mix concurrent and sequential execution**
71
71
 
@@ -173,7 +173,7 @@ const data = await stableRequest({
173
173
  wait: 2000,
174
174
 
175
175
  // This hook validates the response content
176
- responseAnalyzer: async ({ reqData, data, trialMode, params }) => {
176
+ responseAnalyzer: async ({ reqData, data, trialMode, params, commonBuffer }) => {
177
177
  // Return true if response is valid, false to retry
178
178
  if (data.status === 'completed') {
179
179
  return true; // Success! Don't retry
@@ -194,6 +194,7 @@ responseAnalyzer?: (options: {
194
194
  data: ResponseDataType; // Response data from API
195
195
  trialMode?: TRIAL_MODE_OPTIONS; // Trial mode settings (if enabled)
196
196
  params?: any; // Custom parameters (via hookParams)
197
+ commonBuffer: Record<string, any> // For communication between request hooks
197
198
  }) => boolean | Promise<boolean>;
198
199
  ```
199
200
 
@@ -212,7 +213,7 @@ const data = await stableRequest({
212
213
  logAllErrors: true, // Enable error logging
213
214
 
214
215
  // This hook is called on every failed attempt
215
- handleErrors: async ({ reqData, errorLog, maxSerializableChars }) => {
216
+ handleErrors: async ({ reqData, errorLog, maxSerializableChars, commonBuffer }) => {
216
217
  // Log to your monitoring service
217
218
  await monitoring.logError({
218
219
  url: reqData.url,
@@ -234,6 +235,7 @@ handleErrors?: (options: {
234
235
  reqData: AxiosRequestConfig; // Request configuration
235
236
  errorLog: ERROR_LOG; // Detailed error information
236
237
  maxSerializableChars?: number; // Max chars for stringification
238
+ commonBuffer: Record<string, any> // For communication between request hooks
237
239
  }) => any | Promise<any>;
238
240
  ```
239
241
 
@@ -284,6 +286,7 @@ handleSuccessfulAttemptData?: (options: {
284
286
  reqData: AxiosRequestConfig; // Request configuration
285
287
  successfulAttemptData: SUCCESSFUL_ATTEMPT_DATA; // Success details
286
288
  maxSerializableChars?: number; // Max chars for stringification
289
+ commonBuffer: Record<string, any> // For communication between request hooks
287
290
  }) => any | Promise<any>;
288
291
  ```
289
292
 
@@ -337,6 +340,7 @@ finalErrorAnalyzer?: (options: {
337
340
  error: any; // The final error object
338
341
  trialMode?: TRIAL_MODE_OPTIONS; // Trial mode settings (if enabled)
339
342
  params?: any; // Custom parameters (via hookParams)
343
+ commonBuffer: Record<string, any> // For communication between request hooks
340
344
  }) => boolean | Promise<boolean>;
341
345
  ```
342
346
 
@@ -397,10 +401,10 @@ const data = await stableRequest({
397
401
 
398
402
  preExecution: {
399
403
  // Hook executed before any request attempts
400
- preExecutionHook: async ({ inputParams, outputBuffer }) => {
404
+ preExecutionHook: async ({ inputParams, commonBuffer }) => {
401
405
  const token = await authService.getToken(inputParams.userId);
402
- outputBuffer.token = token;
403
- outputBuffer.fetchedAt = new Date().toISOString();
406
+ commonBuffer.token = token;
407
+ commonBuffer.fetchedAt = new Date().toISOString();
404
408
  // Return configuration overrides
405
409
  return {
406
410
  reqData: {
@@ -417,10 +421,10 @@ const data = await stableRequest({
417
421
  userId: 'user-123',
418
422
  environment: 'production'
419
423
  },
420
- preExecutionOutputBuffer: outputBuffer,
421
424
  applyPreExecutionConfigOverride: true,
422
425
  continueOnPreExecutionHookFailure: false
423
- }
426
+ },
427
+ commonBuffer: outputBuffer
424
428
  });
425
429
 
426
430
  console.log('Token used:', outputBuffer.token);
@@ -433,11 +437,8 @@ console.log('Fetched at:', outputBuffer.fetchedAt);
433
437
  interface PreExecutionOptions {
434
438
  preExecutionHook: (options: {
435
439
  inputParams: any; // Custom parameters you provide
436
- outputBuffer: Object; // Object to store hook results
437
440
  }) => any | Promise<any>; // Returns config overrides
438
-
439
441
  preExecutionHookParams?: any; // Custom input parameters
440
- preExecutionOutputBuffer: Object; // Required: buffer for hook output
441
442
  applyPreExecutionConfigOverride?: boolean; // Apply returned overrides (default: false)
442
443
  continueOnPreExecutionHookFailure?: boolean; // Continue if hook fails (default: false)
443
444
  }
@@ -853,6 +854,56 @@ const results = await stableApiGateway(
853
854
  );
854
855
  ```
855
856
 
857
+ ### Example: Shared Buffer is common across the entire batch of requests
858
+
859
+ ```typescript
860
+ const sharedBuffer: Record<string, any> = {};
861
+
862
+ const requests = [
863
+ {
864
+ id: 'a',
865
+ requestOptions: {
866
+ reqData: { path: '/a' },
867
+ resReq: true,
868
+ preExecution: {
869
+ preExecutionHook: ({ commonBuffer }: any) => {
870
+ commonBuffer.fromA = true;
871
+ return {};
872
+ },
873
+ preExecutionHookParams: {},
874
+ applyPreExecutionConfigOverride: false,
875
+ continueOnPreExecutionHookFailure: false
876
+ }
877
+ }
878
+ },
879
+ {
880
+ id: 'b',
881
+ requestOptions: {
882
+ reqData: { path: '/b' },
883
+ resReq: true,
884
+ preExecution: {
885
+ preExecutionHook: ({ commonBuffer }: any) => {
886
+ commonBuffer.fromB = true;
887
+ return {};
888
+ },
889
+ preExecutionHookParams: {},
890
+ applyPreExecutionConfigOverride: false,
891
+ continueOnPreExecutionHookFailure: false
892
+ }
893
+ }
894
+ }
895
+ ] satisfies API_GATEWAY_REQUEST[];
896
+
897
+ const results = await stableApiGateway(requests, {
898
+ concurrentExecution: true,
899
+ commonRequestData: { hostname: 'api.example.com' },
900
+ sharedBuffer
901
+ });
902
+
903
+ console.log(sharedBuffer); // { fromA: true, fromB: true }
904
+ ```
905
+
906
+
856
907
  ## Multi-Phase Workflows
857
908
 
858
909
  For complex operations that require multiple stages of execution, use `stableWorkflow` to orchestrate phase-based workflows with full control over execution order and error handling.
@@ -943,7 +994,7 @@ interface STABLE_WORKFLOW_RESULT {
943
994
 
944
995
  ### Phase Configuration
945
996
 
946
- Each phase can have its own execution mode and error handling:
997
+ Each phase can have its own execution mode and error handling, and can also work upon the shared buffer:
947
998
 
948
999
  ```typescript
949
1000
  {
@@ -951,7 +1002,8 @@ Each phase can have its own execution mode and error handling:
951
1002
  concurrentExecution?: boolean, // true = parallel, false = sequential
952
1003
  stopOnFirstError?: boolean, // Stop phase on first request failure
953
1004
  commonConfig?: { /* phase-level common config */ },
954
- requests: [/* array of requests */]
1005
+ requests: [/* array of requests */],
1006
+ sharedBuffer?: Record<string, any> // State to be shared among all requests in the phase
955
1007
  }
956
1008
  ```
957
1009
 
@@ -1094,7 +1146,7 @@ const workflow = await stableWorkflow(
1094
1146
  workflowId: 'monitored-workflow',
1095
1147
 
1096
1148
  // Called after each phase completes successfully
1097
- handlePhaseCompletion: async ({ workflowId, phaseResult }) => {
1149
+ handlePhaseCompletion: async ({ workflowId, phaseResult, workflowBuffer }) => {
1098
1150
  console.log(`Phase ${phaseResult.phaseId} completed`);
1099
1151
 
1100
1152
  await analytics.track('workflow_phase_complete', {
@@ -1106,7 +1158,7 @@ const workflow = await stableWorkflow(
1106
1158
  },
1107
1159
 
1108
1160
  // Called when a phase fails
1109
- handlePhaseError: async ({ workflowId, phaseResult, error }) => {
1161
+ handlePhaseError: async ({ workflowId, phaseResult, error, workflowBuffer }) => {
1110
1162
  console.error(`Phase ${phaseResult.phaseId} failed`);
1111
1163
 
1112
1164
  await alerting.notify('workflow_phase_failed', {
@@ -1122,6 +1174,71 @@ const workflow = await stableWorkflow(
1122
1174
  );
1123
1175
  ```
1124
1176
 
1177
+ ### Phase Observability Hooks
1178
+
1179
+ Workflow Buffer is shared by all phases and by extension, all requests contained in every phase of the workflow :
1180
+
1181
+ ```typescript
1182
+ const workflowBuffer: Record<string, any> = {};
1183
+
1184
+ const phases = [
1185
+ {
1186
+ id: 'p1',
1187
+ concurrentExecution: false,
1188
+ requests: [
1189
+ {
1190
+ id: 'r1',
1191
+ requestOptions: {
1192
+ reqData: { path: '/p1' },
1193
+ resReq: true,
1194
+ preExecution: {
1195
+ preExecutionHook: ({ commonBuffer }: any) => {
1196
+ commonBuffer.token = 'wf-token';
1197
+ commonBuffer.setIn = 'p1';
1198
+ return {};
1199
+ },
1200
+ preExecutionHookParams: {},
1201
+ applyPreExecutionConfigOverride: false,
1202
+ continueOnPreExecutionHookFailure: false
1203
+ }
1204
+ }
1205
+ }
1206
+ ]
1207
+ },
1208
+ {
1209
+ id: 'p2',
1210
+ concurrentExecution: false,
1211
+ requests: [
1212
+ {
1213
+ id: 'r2',
1214
+ requestOptions: {
1215
+ reqData: { path: '/p2' },
1216
+ resReq: true,
1217
+ preExecution: {
1218
+ preExecutionHook: ({ commonBuffer }: any) => {
1219
+ commonBuffer.usedIn = 'p2';
1220
+ return {};
1221
+ },
1222
+ preExecutionHookParams: {},
1223
+ applyPreExecutionConfigOverride: false,
1224
+ continueOnPreExecutionHookFailure: false
1225
+ }
1226
+ }
1227
+ }
1228
+ ]
1229
+ }
1230
+ ] satisfies STABLE_WORKFLOW_PHASE[];
1231
+
1232
+ const result = await stableWorkflow(phases, {
1233
+ workflowId: 'wf-buffer-demo',
1234
+ commonRequestData: { hostname: 'api.example.com' },
1235
+ workflowBuffer
1236
+ });
1237
+
1238
+ console.log(workflowBuffer); // { token: 'wf-token' setIn: 'p1', usedIn: 'p2' }
1239
+ ```
1240
+
1241
+
1125
1242
  ## Real-World Examples
1126
1243
 
1127
1244
  ### 1. Polling for Job Completion
@@ -1548,7 +1665,7 @@ interface REQUEST_DATA<RequestDataType = any> {
1548
1665
  | `commonHandleSuccessfulAttemptData` | `function` | console.log | Default success handler for all requests |
1549
1666
  | `commonRequestData` | `Partial<REQUEST_DATA>` | `{ hostname: '' }` | Common set of request options for each request |
1550
1667
  | `commonHookParams` | `HookParams` | `{ }` | Common options for each request hook |
1551
- | `sharedBuffer` | `Record<string, any>` | `{}` | For communication between various requests |
1668
+ | `sharedBuffer` | `Record<string, any>` | `undefined` | For communication between various requests |
1552
1669
 
1553
1670
  ### `stableWorkflow(phases, options)`
1554
1671
 
@@ -1562,6 +1679,7 @@ interface STABLE_WORKFLOW_PHASE {
1562
1679
  stopOnFirstError?: boolean; // Stop phase on first request failure (default: false)
1563
1680
  commonConfig?: Omit<API_GATEWAY_OPTIONS, 'concurrentExecution' | 'stopOnFirstError' | 'requestGroups'>;
1564
1681
  requests: API_GATEWAY_REQUEST[]; // Array of requests for this phase
1682
+ sharedBuffer: Record<string, any> // Shared buffer for API Gateway requests
1565
1683
  }
1566
1684
  ```
1567
1685
 
@@ -1576,6 +1694,7 @@ interface STABLE_WORKFLOW_PHASE {
1576
1694
  | `handlePhaseError` | `function` | `undefined` | Hook called when a phase fails |
1577
1695
  | `maxSerializableChars` | `number` | `1000` | Max chars for serialization in hooks |
1578
1696
  | `workflowHookParams` | `WorkflowHookParams` | {} | Custom set of params passed to hooks |
1697
+ | `workflowBuffer` | `Record<string, any>` | `undefined` | Buffer shared by all phases and all requests within them |
1579
1698
  | All `stableApiGateway` options | - | - | Applied as workflow-level defaults |
1580
1699
 
1581
1700
  **STABLE_WORKFLOW_RESULT response:**
@@ -1683,13 +1802,8 @@ finalErrorAnalyzer: async ({ reqData, error, trialMode, params, commonBuffer })
1683
1802
  **Purpose:** Execute phase-bridging code upon successful completion of a phase
1684
1803
 
1685
1804
  ```typescript
1686
- handlePhaseCompletion: async ({ workflowId, phaseResult, maxSerializableChars, params }) => {
1805
+ handlePhaseCompletion: async ({ workflowId, phaseResult, maxSerializableChars, params, workflowBuffer }) => {
1687
1806
  await logger.log(phaseResult.phaseId, phaseResult.success);
1688
- // phaseResult includes:
1689
- // - phaseId, phaseIndex
1690
- // - success, executionTime, timestamp
1691
- // - totalRequests, successfulRequests, failedRequests
1692
- // - responses array
1693
1807
  }
1694
1808
  ```
1695
1809
 
@@ -1698,19 +1812,25 @@ handlePhaseCompletion: async ({ workflowId, phaseResult, maxSerializableChars, p
1698
1812
  **Purpose:** Execute error handling code if a phase runs into an error
1699
1813
 
1700
1814
  ```typescript
1701
- handlePhaseError: async ({ workflowId, phaseResult, error, maxSerializableChars, params }) => {
1815
+ handlePhaseError: async ({ workflowId, phaseResult, error, maxSerializableChars, params, workflowBuffer }) => {
1702
1816
  await logger.error(error);
1703
- // Similar to handlePhaseCompletion, plus:
1704
- // - error: the error object
1705
1817
  }
1706
1818
  ```
1707
1819
 
1708
1820
  ## Configuration Hierarchy
1709
1821
 
1710
- 1. **Workflow-level** (lowest priority): Applied to all phases
1711
- 2. **Phase-level**: Overrides workflow-level
1712
- 3. **Request Group**: Overrides phase-level
1713
- 4. **Individual Request** (highest priority): Overrides everything
1822
+ Configuration precedence across orchestration:
1823
+
1824
+ Workflow-level (lowest priority)
1825
+ Phase-level (commonConfig)
1826
+ Request group (requestGroups[].commonConfig)
1827
+ Individual request options (highest priority)
1828
+
1829
+ Buffers are state (not config):
1830
+
1831
+ - Request scope: commonBuffer
1832
+ - Gateway scope: sharedBuffer
1833
+ - Workflow scope: workflowBuffer
1714
1834
 
1715
1835
  ## TypeScript Support
1716
1836
 
@@ -1746,24 +1866,6 @@ const user = await stableRequest<CreateUserRequest, UserResponse>({
1746
1866
  console.log(user.id); // TypeScript knows this exists
1747
1867
  ```
1748
1868
 
1749
- ## Best Practices
1750
-
1751
- 1. **Start simple** - Use basic retries first, add hooks as needed
1752
- 2. **Use exponential backoff** for rate-limited APIs
1753
- 3. **Validate response content** with `responseAnalyzer` for eventually-consistent systems
1754
- 4. **Monitor everything** with `handleErrors` and `handleSuccessfulAttemptData`
1755
- 5. **Group related requests** by service tier, region, or priority
1756
- 6. **Handle failures gracefully** with `finalErrorAnalyzer` for non-critical features
1757
- 7. **Test with trial mode** before deploying to production
1758
- 8. **Set appropriate timeouts** to prevent hanging requests
1759
- 9. **Use idempotency keys** for payment/financial operations
1760
- 10. **Log contextual information** in your hooks for debugging
1761
- 11. **Design workflows with clear phases** - Each phase should represent a logical stage
1762
- 12. **Use phase hooks** (`handlePhaseCompletion`, `handlePhaseError`) for workflow observability
1763
- 13. **Set `stopOnFirstPhaseError: true`** for critical workflows that shouldn't continue after failure
1764
- 14. **Use mixed execution modes** - Concurrent for independent operations, sequential for dependencies
1765
- 15. **Leverage request groups in workflows** for different reliability tiers within phases
1766
-
1767
1869
  ## License
1768
1870
 
1769
1871
  MIT © Manish Varma
@@ -1,4 +1,4 @@
1
- export { sendStableRequest as stableRequest } from './send-stable-request.js';
1
+ export { stableRequest } from './stable-request.js';
2
2
  export { stableApiGateway } from './stable-api-gateway.js';
3
3
  export { stableWorkflow } from './stable-workflow.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { sendStableRequest as stableRequest } from './send-stable-request.js';
1
+ export { stableRequest } from './stable-request.js';
2
2
  export { stableApiGateway } from './stable-api-gateway.js';
3
3
  export { stableWorkflow } from './stable-workflow.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stable-api-gateway.d.ts","sourceRoot":"","sources":["../../src/core/stable-api-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,mBAAmB,EAGtB,MAAM,mBAAmB,CAAC;AAO3B,wBAAsB,gBAAgB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAChF,QAAQ,GAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAO,EACvE,OAAO,GAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAM,iFAyBvE"}
1
+ {"version":3,"file":"stable-api-gateway.d.ts","sourceRoot":"","sources":["../../src/core/stable-api-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,mBAAmB,EAGtB,MAAM,mBAAmB,CAAC;AAO3B,wBAAsB,gBAAgB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAChF,QAAQ,GAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAO,EACvE,OAAO,GAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAM,iFAwBvE"}
@@ -1,13 +1,13 @@
1
1
  import { executeConcurrently, executeSequentially, extractCommonRequestConfigOptions as extractCommonOptions } from '../utilities/index.js';
2
2
  export async function stableApiGateway(requests = [], options = {}) {
3
- const { concurrentExecution = true, stopOnFirstError = false, requestGroups = [], sharedBuffer = {} } = options;
3
+ const { concurrentExecution = true, stopOnFirstError = false, requestGroups = [], } = options;
4
4
  if (!Array.isArray(requests) || requests.length === 0) {
5
5
  return [];
6
6
  }
7
7
  const requestExecutionOptions = {
8
8
  stopOnFirstError,
9
9
  requestGroups,
10
- sharedBuffer,
10
+ sharedBuffer: options.sharedBuffer,
11
11
  ...extractCommonOptions(options)
12
12
  };
13
13
  if (concurrentExecution) {
@@ -1 +1 @@
1
- {"version":3,"file":"stable-api-gateway.js","sourceRoot":"","sources":["../../src/core/stable-api-gateway.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,mBAAmB,EACnB,mBAAmB,EACnB,iCAAiC,IAAI,oBAAoB,EAC5D,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,WAAqE,EAAE,EACvE,UAAkE,EAAE;IAEpE,MAAM,EACF,mBAAmB,GAAG,IAAI,EAC1B,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,EAAE,EAClB,YAAY,GAAG,EAAE,EACpB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,uBAAuB,GAAgF;QACzG,gBAAgB;QAChB,aAAa;QACb,YAAY;QACZ,GAAG,oBAAoB,CAAoC,OAAO,CAAC;KACtE,CAAA;IAED,IAAI,mBAAmB,EAAE,CAAC;QACtB,OAAO,mBAAmB,CAAoC,QAAQ,EAAG,EAAE,GAAG,uBAAuB,EAAE,gBAAgB,EAAE,SAAS,EAA6E,CAAC,CAAC;IACrN,CAAC;SAAM,CAAC;QACJ,OAAO,mBAAmB,CAAoC,QAAQ,EAAE,uBAAkG,CAAC,CAAC;IAChL,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"stable-api-gateway.js","sourceRoot":"","sources":["../../src/core/stable-api-gateway.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,mBAAmB,EACnB,mBAAmB,EACnB,iCAAiC,IAAI,oBAAoB,EAC5D,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,WAAqE,EAAE,EACvE,UAAkE,EAAE;IAEpE,MAAM,EACF,mBAAmB,GAAG,IAAI,EAC1B,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,EAAE,GACrB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,uBAAuB,GAAgF;QACzG,gBAAgB;QAChB,aAAa;QACb,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,GAAG,oBAAoB,CAAoC,OAAO,CAAC;KACtE,CAAA;IAED,IAAI,mBAAmB,EAAE,CAAC;QACtB,OAAO,mBAAmB,CAAoC,QAAQ,EAAG,EAAE,GAAG,uBAAuB,EAAE,gBAAgB,EAAE,SAAS,EAA6E,CAAC,CAAC;IACrN,CAAC;SAAM,CAAC;QACJ,OAAO,mBAAmB,CAAoC,QAAQ,EAAE,uBAAkG,CAAC,CAAC;IAChL,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { STABLE_REQUEST } from '../types/index.js';
2
+ export declare function stableRequest<RequestDataType = any, ResponseDataType = any>(options: STABLE_REQUEST<RequestDataType, ResponseDataType>): Promise<ResponseDataType | boolean>;
3
+ //# sourceMappingURL=stable-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stable-request.d.ts","sourceRoot":"","sources":["../../src/core/stable-request.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAY3B,wBAAsB,aAAa,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAC/E,OAAO,EAAE,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,GACzD,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,CA4OrC"}
@@ -0,0 +1,170 @@
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 stableRequest(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=stable-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stable-request.js","sourceRoot":"","sources":["../../src/core/stable-request.ts"],"names":[],"mappings":"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"}
@@ -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,CA4NnD"}
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"}
@@ -21,6 +21,7 @@ export async function stableWorkflow(phases, options = {}) {
21
21
  ...(phase.commonConfig || {}),
22
22
  concurrentExecution: phase.concurrentExecution ?? true,
23
23
  stopOnFirstError: phase.stopOnFirstError ?? false,
24
+ sharedBuffer: options.workflowBuffer,
24
25
  requestGroups,
25
26
  };
26
27
  try {
@@ -52,7 +53,8 @@ export async function stableWorkflow(phases, options = {}) {
52
53
  workflowId,
53
54
  phaseResult,
54
55
  maxSerializableChars,
55
- params: workflowHookParams?.handlePhaseCompletionParams
56
+ params: workflowHookParams?.handlePhaseCompletionParams,
57
+ workflowBuffer: options.workflowBuffer
56
58
  });
57
59
  }
58
60
  catch (hookError) {
@@ -92,7 +94,8 @@ export async function stableWorkflow(phases, options = {}) {
92
94
  phaseResult,
93
95
  error: phaseError,
94
96
  maxSerializableChars,
95
- params: workflowHookParams?.handlePhaseErrorParams
97
+ params: workflowHookParams?.handlePhaseErrorParams,
98
+ workflowBuffer: options.workflowBuffer
96
99
  });
97
100
  }
98
101
  catch (hookError) {
@@ -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,7 +164,8 @@ 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
- commonConfig?: Omit<API_GATEWAY_OPTIONS<RequestDataType, ResponseDataType>, 'concurrentExecution' | 'stopOnFirstError' | 'requestGroups'>;
167
+ sharedBuffer?: Record<string, any>;
168
+ commonConfig?: Omit<API_GATEWAY_OPTIONS<RequestDataType, ResponseDataType>, 'concurrentExecution' | 'stopOnFirstError' | 'requestGroups' | 'sharedBuffer'>;
168
169
  }
169
170
  export interface STABLE_WORKFLOW_OPTIONS<RequestDataType = any, ResponseDataType = any> extends Omit<API_GATEWAY_OPTIONS<RequestDataType, ResponseDataType>, 'concurrentExecution' | 'stopOnFirstError'> {
170
171
  workflowId?: string;
@@ -174,6 +175,7 @@ export interface STABLE_WORKFLOW_OPTIONS<RequestDataType = any, ResponseDataType
174
175
  handlePhaseError?: (options: HandlePhaseErrorHookOptions<ResponseDataType>) => any | Promise<any>;
175
176
  maxSerializableChars?: number;
176
177
  workflowHookParams?: WorkflowHookParams;
178
+ workflowBuffer?: Record<string, any>;
177
179
  }
178
180
  export interface STABLE_WORKFLOW_PHASE_RESULT<ResponseDataType = any> {
179
181
  phaseId: string;
@@ -209,6 +211,7 @@ export interface HandlePhaseCompletionHookOptions<ResponseDataType = any> {
209
211
  phaseResult: STABLE_WORKFLOW_PHASE_RESULT<ResponseDataType>;
210
212
  maxSerializableChars?: number;
211
213
  params?: any;
214
+ workflowBuffer?: Record<string, any>;
212
215
  }
213
216
  export interface HandlePhaseErrorHookOptions<ResponseDataType = any> extends HandlePhaseCompletionHookOptions<ResponseDataType> {
214
217
  error: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
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.2",
3
+ "version": "1.3.4",
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",