@emmvish/stable-request 1.8.1 → 2.0.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 (87) hide show
  1. package/README.md +72 -0
  2. package/dist/core/index.d.ts +2 -0
  3. package/dist/core/index.d.ts.map +1 -1
  4. package/dist/core/index.js +2 -0
  5. package/dist/core/index.js.map +1 -1
  6. package/dist/core/stable-api-gateway.d.ts +3 -2
  7. package/dist/core/stable-api-gateway.d.ts.map +1 -1
  8. package/dist/core/stable-api-gateway.js +34 -13
  9. package/dist/core/stable-api-gateway.js.map +1 -1
  10. package/dist/core/stable-function.d.ts +3 -0
  11. package/dist/core/stable-function.d.ts.map +1 -0
  12. package/dist/core/stable-function.js +280 -0
  13. package/dist/core/stable-function.js.map +1 -0
  14. package/dist/core/stable-request.d.ts.map +1 -1
  15. package/dist/core/stable-request.js +3 -3
  16. package/dist/core/stable-request.js.map +1 -1
  17. package/dist/core/stable-workflow-graph.d.ts +3 -0
  18. package/dist/core/stable-workflow-graph.d.ts.map +1 -0
  19. package/dist/core/stable-workflow-graph.js +5 -0
  20. package/dist/core/stable-workflow-graph.js.map +1 -0
  21. package/dist/core/stable-workflow.d.ts.map +1 -1
  22. package/dist/core/stable-workflow.js +20 -19
  23. package/dist/core/stable-workflow.js.map +1 -1
  24. package/dist/enums/index.d.ts +17 -0
  25. package/dist/enums/index.d.ts.map +1 -1
  26. package/dist/enums/index.js +20 -0
  27. package/dist/enums/index.js.map +1 -1
  28. package/dist/index.d.ts +4 -4
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/types/index.d.ts +220 -2
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/dist/utilities/circuit-breaker.js +1 -1
  35. package/dist/utilities/circuit-breaker.js.map +1 -1
  36. package/dist/utilities/execute-concurrently.d.ts +2 -2
  37. package/dist/utilities/execute-concurrently.d.ts.map +1 -1
  38. package/dist/utilities/execute-concurrently.js +39 -62
  39. package/dist/utilities/execute-concurrently.js.map +1 -1
  40. package/dist/utilities/execute-gateway-item.d.ts +6 -0
  41. package/dist/utilities/execute-gateway-item.d.ts.map +1 -0
  42. package/dist/utilities/execute-gateway-item.js +117 -0
  43. package/dist/utilities/execute-gateway-item.js.map +1 -0
  44. package/dist/utilities/execute-non-linear-workflow.js +3 -3
  45. package/dist/utilities/execute-non-linear-workflow.js.map +1 -1
  46. package/dist/utilities/execute-phase.d.ts.map +1 -1
  47. package/dist/utilities/execute-phase.js +15 -1
  48. package/dist/utilities/execute-phase.js.map +1 -1
  49. package/dist/utilities/execute-sequentially.d.ts +2 -2
  50. package/dist/utilities/execute-sequentially.d.ts.map +1 -1
  51. package/dist/utilities/execute-sequentially.js +27 -42
  52. package/dist/utilities/execute-sequentially.js.map +1 -1
  53. package/dist/utilities/execute-workflow-graph.d.ts +3 -0
  54. package/dist/utilities/execute-workflow-graph.d.ts.map +1 -0
  55. package/dist/utilities/execute-workflow-graph.js +326 -0
  56. package/dist/utilities/execute-workflow-graph.js.map +1 -0
  57. package/dist/utilities/fn-exec.d.ts +3 -0
  58. package/dist/utilities/fn-exec.d.ts.map +1 -0
  59. package/dist/utilities/fn-exec.js +66 -0
  60. package/dist/utilities/fn-exec.js.map +1 -0
  61. package/dist/utilities/function-cache-manager.d.ts +30 -0
  62. package/dist/utilities/function-cache-manager.d.ts.map +1 -0
  63. package/dist/utilities/function-cache-manager.js +106 -0
  64. package/dist/utilities/function-cache-manager.js.map +1 -0
  65. package/dist/utilities/index.d.ts +7 -0
  66. package/dist/utilities/index.d.ts.map +1 -1
  67. package/dist/utilities/index.js +7 -0
  68. package/dist/utilities/index.js.map +1 -1
  69. package/dist/utilities/metrics-aggregator.d.ts +4 -0
  70. package/dist/utilities/metrics-aggregator.d.ts.map +1 -1
  71. package/dist/utilities/metrics-aggregator.js +29 -0
  72. package/dist/utilities/metrics-aggregator.js.map +1 -1
  73. package/dist/utilities/prepare-api-function-options.d.ts +3 -0
  74. package/dist/utilities/prepare-api-function-options.d.ts.map +1 -0
  75. package/dist/utilities/prepare-api-function-options.js +50 -0
  76. package/dist/utilities/prepare-api-function-options.js.map +1 -0
  77. package/dist/utilities/req-fn.js +2 -2
  78. package/dist/utilities/req-fn.js.map +1 -1
  79. package/dist/utilities/validate-workflow-graph.d.ts +7 -0
  80. package/dist/utilities/validate-workflow-graph.d.ts.map +1 -0
  81. package/dist/utilities/validate-workflow-graph.js +235 -0
  82. package/dist/utilities/validate-workflow-graph.js.map +1 -0
  83. package/dist/utilities/workflow-graph-builder.d.ts +37 -0
  84. package/dist/utilities/workflow-graph-builder.d.ts.map +1 -0
  85. package/dist/utilities/workflow-graph-builder.js +225 -0
  86. package/dist/utilities/workflow-graph-builder.js.map +1 -0
  87. package/package.json +1 -1
@@ -1,10 +1,9 @@
1
- import { stableRequest } from "../core/index.js";
2
- import { prepareApiRequestData } from "./prepare-api-request-data.js";
3
- import { prepareApiRequestOptions } from "./prepare-api-request-options.js";
1
+ import { RequestOrFunction } from '../enums/index.js';
2
+ import { executeGatewayItem } from "./execute-gateway-item.js";
4
3
  import { ConcurrencyLimiter } from "./concurrency-limiter.js";
5
4
  import { RateLimiter } from "./rate-limiter.js";
6
5
  import { CircuitBreaker, CircuitBreakerOpenError } from "./circuit-breaker.js";
7
- export async function executeConcurrently(requests = [], requestExecutionOptions = {}) {
6
+ export async function executeConcurrently(items = [], requestExecutionOptions = {}) {
8
7
  const responses = [];
9
8
  const stopOnFirstError = requestExecutionOptions.stopOnFirstError || false;
10
9
  const circuitBreaker = requestExecutionOptions.circuitBreaker
@@ -12,48 +11,29 @@ export async function executeConcurrently(requests = [], requestExecutionOptions
12
11
  ? requestExecutionOptions.circuitBreaker
13
12
  : new CircuitBreaker(requestExecutionOptions.circuitBreaker))
14
13
  : null;
15
- const requestFunctions = requests.map((req) => {
16
- return async () => {
17
- if (circuitBreaker && !circuitBreaker.getState().config.trackIndividualAttempts) {
18
- const canExecute = await circuitBreaker.canExecute();
19
- if (!canExecute) {
20
- throw new CircuitBreakerOpenError(`stable-request: Circuit breaker is ${circuitBreaker.getState().state}. Request blocked.`);
21
- }
22
- }
23
- const finalRequestOptions = {
24
- reqData: prepareApiRequestData(req, requestExecutionOptions),
25
- ...prepareApiRequestOptions(req, requestExecutionOptions),
26
- commonBuffer: requestExecutionOptions.sharedBuffer ?? req.requestOptions.commonBuffer,
27
- ...(circuitBreaker ? { circuitBreaker } : {}),
28
- executionContext: {
29
- ...requestExecutionOptions.executionContext,
30
- requestId: req.id
31
- }
14
+ const unifiedItems = items.map(item => {
15
+ if ('type' in item) {
16
+ return item;
17
+ }
18
+ else {
19
+ return {
20
+ type: RequestOrFunction.REQUEST,
21
+ request: item
32
22
  };
33
- try {
34
- const result = await stableRequest(finalRequestOptions);
35
- if (circuitBreaker && !circuitBreaker.getState().config.trackIndividualAttempts) {
36
- circuitBreaker.recordSuccess();
37
- }
38
- return result;
39
- }
40
- catch (error) {
41
- if (circuitBreaker &&
42
- !(error instanceof CircuitBreakerOpenError) &&
43
- !circuitBreaker.getState().config.trackIndividualAttempts) {
44
- circuitBreaker.recordFailure();
45
- }
46
- throw error;
47
- }
23
+ }
24
+ });
25
+ const itemFunctions = unifiedItems.map((item) => {
26
+ return async () => {
27
+ return await executeGatewayItem(item, requestExecutionOptions, circuitBreaker);
48
28
  };
49
29
  });
50
30
  const hasConcurrencyLimit = requestExecutionOptions.maxConcurrentRequests &&
51
31
  requestExecutionOptions.maxConcurrentRequests > 0 &&
52
- requestExecutionOptions.maxConcurrentRequests < requests.length;
32
+ requestExecutionOptions.maxConcurrentRequests < unifiedItems.length;
53
33
  const hasRateLimit = requestExecutionOptions.rateLimit &&
54
34
  requestExecutionOptions.rateLimit.maxRequests > 0 &&
55
35
  requestExecutionOptions.rateLimit.windowMs > 0;
56
- let stableRequests;
36
+ let itemResults;
57
37
  let settledResponses;
58
38
  if (stopOnFirstError) {
59
39
  const results = [];
@@ -77,25 +57,28 @@ export async function executeConcurrently(requests = [], requestExecutionOptions
77
57
  }
78
58
  return fn;
79
59
  };
80
- for (let i = 0; i < requestFunctions.length; i++) {
60
+ for (let i = 0; i < itemFunctions.length; i++) {
81
61
  if (errorDetected) {
82
62
  break;
83
63
  }
84
- const executor = createExecutor(requestFunctions[i]);
85
- const executeRequest = async (index) => {
64
+ const executor = createExecutor(itemFunctions[i]);
65
+ const executeItem = async (index) => {
86
66
  try {
87
67
  const result = await executor();
88
68
  results[index] = { status: 'fulfilled', value: result };
69
+ if (!result.success) {
70
+ errorDetected = true;
71
+ }
89
72
  }
90
73
  catch (error) {
91
74
  results[index] = { status: 'rejected', reason: error };
92
75
  errorDetected = true;
93
76
  }
94
77
  };
95
- const promise = executeRequest(i);
78
+ const promise = executeItem(i);
96
79
  activePromises.add(promise);
97
80
  promise.finally(() => activePromises.delete(promise));
98
- if (i < requestFunctions.length - 1) {
81
+ if (i < itemFunctions.length - 1) {
99
82
  await Promise.race([
100
83
  promise,
101
84
  new Promise(resolve => setTimeout(resolve, 0))
@@ -111,46 +94,40 @@ export async function executeConcurrently(requests = [], requestExecutionOptions
111
94
  if (hasConcurrencyLimit && hasRateLimit) {
112
95
  const concurrencyLimiter = new ConcurrencyLimiter(requestExecutionOptions.maxConcurrentRequests);
113
96
  const rateLimiter = new RateLimiter(requestExecutionOptions.rateLimit.maxRequests, requestExecutionOptions.rateLimit.windowMs);
114
- stableRequests = requestFunctions.map(fn => concurrencyLimiter.execute(() => rateLimiter.execute(fn)));
97
+ itemResults = itemFunctions.map(fn => concurrencyLimiter.execute(() => rateLimiter.execute(fn)));
115
98
  }
116
99
  else if (hasConcurrencyLimit) {
117
100
  const concurrencyLimiter = new ConcurrencyLimiter(requestExecutionOptions.maxConcurrentRequests);
118
- stableRequests = requestFunctions.map(fn => concurrencyLimiter.execute(fn));
101
+ itemResults = itemFunctions.map(fn => concurrencyLimiter.execute(fn));
119
102
  }
120
103
  else if (hasRateLimit) {
121
104
  const rateLimiter = new RateLimiter(requestExecutionOptions.rateLimit.maxRequests, requestExecutionOptions.rateLimit.windowMs);
122
- stableRequests = requestFunctions.map(fn => rateLimiter.execute(fn));
105
+ itemResults = itemFunctions.map(fn => rateLimiter.execute(fn));
123
106
  }
124
107
  else {
125
- stableRequests = requestFunctions.map(fn => fn());
108
+ itemResults = itemFunctions.map(fn => fn());
126
109
  }
127
- settledResponses = await Promise.allSettled(stableRequests);
110
+ settledResponses = await Promise.allSettled(itemResults);
128
111
  }
129
112
  for (let i = 0; i < settledResponses.length; i++) {
130
113
  const res = settledResponses[i];
131
- const req = requests[i];
132
114
  if (res.status === 'fulfilled') {
133
- const requestResult = res.value;
134
- responses.push({
135
- requestId: req.id,
136
- ...(req.groupId && { groupId: req.groupId }),
137
- success: requestResult.success,
138
- ...(requestResult.data !== undefined && { data: requestResult.data }),
139
- ...(!requestResult.success && {
140
- error: requestResult.error || 'Request was unsuccessful, but the error was analyzed successfully!'
141
- })
142
- });
115
+ responses.push(res.value);
143
116
  }
144
117
  else {
145
118
  const error = res.reason;
119
+ const item = unifiedItems[i];
120
+ const itemId = item.type === RequestOrFunction.REQUEST ? item.request.id : item.function.id;
121
+ const groupId = item.type === RequestOrFunction.REQUEST ? item.request.groupId : item.function.groupId;
146
122
  const isCircuitBreakerError = error instanceof CircuitBreakerOpenError;
147
123
  responses.push({
148
- requestId: req.id,
149
- ...(req.groupId && { groupId: req.groupId }),
124
+ requestId: itemId,
125
+ ...(groupId && { groupId }),
150
126
  success: false,
151
127
  error: isCircuitBreakerError
152
128
  ? `Circuit breaker open: ${error.message}`
153
- : (error?.message || 'An error occurred! Error description is unavailable.')
129
+ : (error?.message || 'An error occurred! Error description is unavailable.'),
130
+ type: item.type
154
131
  });
155
132
  }
156
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execute-concurrently.js","sourceRoot":"","sources":["../../src/utilities/execute-concurrently.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,WAAqE,EAAE,EACvE,0BAAmG,EAAE;IAErG,MAAM,SAAS,GAA6C,EAAE,CAAC;IAC/D,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,gBAAgB,IAAI,KAAK,CAAC;IAE3E,MAAM,cAAc,GAAG,uBAAuB,CAAC,cAAc;QACzD,CAAC,CAAC,CAAC,uBAAuB,CAAC,cAAc,YAAY,cAAc;YAC/D,CAAC,CAAC,uBAAuB,CAAC,cAAc;YACxC,CAAC,CAAC,IAAI,cAAc,CAAC,uBAAuB,CAAC,cAAqB,CAAC,CAAC;QACxE,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1C,OAAO,KAAK,IAAI,EAAE;YACd,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;gBAC9E,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;gBACrD,IAAI,CAAC,UAAU,EAAE,CAAC;oBACd,MAAM,IAAI,uBAAuB,CAC7B,sCAAsC,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,oBAAoB,CAC5F,CAAC;gBACN,CAAC;YACL,CAAC;YAED,MAAM,mBAAmB,GAAG;gBACxB,OAAO,EAAE,qBAAqB,CAAoC,GAAG,EAAE,uBAAuB,CAAC;gBAC/F,GAAG,wBAAwB,CAAoC,GAAG,EAAE,uBAAuB,CAAC;gBAC5F,YAAY,EAAE,uBAAuB,CAAC,YAAY,IAAI,GAAG,CAAC,cAAc,CAAC,YAAY;gBACrF,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,gBAAgB,EAAE;oBACd,GAAG,uBAAuB,CAAC,gBAAgB;oBAC3C,SAAS,EAAE,GAAG,CAAC,EAAE;iBACpB;aACJ,CAAC;YAEF,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAoC,mBAAmB,CAAC,CAAC;gBAE3F,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;oBAC9E,cAAc,CAAC,aAAa,EAAE,CAAC;gBACnC,CAAC;gBAED,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,cAAc;oBACd,CAAC,CAAC,KAAK,YAAY,uBAAuB,CAAC;oBAC3C,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;oBAC5D,cAAc,CAAC,aAAa,EAAE,CAAC;gBACnC,CAAC;gBACD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,qBAAqB;QACrE,uBAAuB,CAAC,qBAAqB,GAAG,CAAC;QACjD,uBAAuB,CAAC,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEpE,MAAM,YAAY,GAAG,uBAAuB,CAAC,SAAS;QAClD,uBAAuB,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC;QACjD,uBAAuB,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;IAEnD,IAAI,cAAkE,CAAC;IACvE,IAAI,gBAAiF,CAAC;IAEtF,IAAI,gBAAgB,EAAE,CAAC;QACnB,MAAM,OAAO,GAAoE,EAAE,CAAC;QACpF,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;QAEhD,MAAM,kBAAkB,GAAG,mBAAmB;YAC1C,CAAC,CAAC,IAAI,kBAAkB,CAAC,uBAAuB,CAAC,qBAAsB,CAAC;YACxE,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,WAAW,GAAG,YAAY;YAC5B,CAAC,CAAC,IAAI,WAAW,CACb,uBAAuB,CAAC,SAAU,CAAC,WAAW,EAC9C,uBAAuB,CAAC,SAAU,CAAC,QAAQ,CAC9C;YACD,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,cAAc,GAAG,CAAC,EAA0D,EAAE,EAAE;YAClF,IAAI,kBAAkB,IAAI,WAAW,EAAE,CAAC;gBACpC,OAAO,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC5B,OAAO,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACrB,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM;YACV,CAAC;YAED,MAAM,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,cAAc,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;gBAC3C,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;oBAChC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC5D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBACvD,aAAa,GAAG,IAAI,CAAC;gBACzB,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAClC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE5B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtD,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,OAAO,CAAC,IAAI,CAAC;oBACf,OAAO;oBACP,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBACjD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACJ,IAAI,mBAAmB,IAAI,YAAY,EAAE,CAAC;YACtC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,uBAAuB,CAAC,qBAAsB,CAAC,CAAC;YAClG,MAAM,WAAW,GAAG,IAAI,WAAW,CAC/B,uBAAuB,CAAC,SAAU,CAAC,WAAW,EAC9C,uBAAuB,CAAC,SAAU,CAAC,QAAQ,CAC9C,CAAC;YAEF,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACvC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAC5D,CAAC;QACN,CAAC;aAAM,IAAI,mBAAmB,EAAE,CAAC;YAC7B,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,uBAAuB,CAAC,qBAAsB,CAAC,CAAC;YAClG,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,IAAI,WAAW,CAC/B,uBAAuB,CAAC,SAAU,CAAC,WAAW,EAC9C,uBAAuB,CAAC,SAAU,CAAC,QAAQ,CAC9C,CAAC;YACF,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACJ,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,gBAAgB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAExB,IAAG,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,GAAG,CAAC,EAAE;gBACjB,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5C,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,GAAG,CAAC,aAAa,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC;gBACrE,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,IAAI;oBAC1B,KAAK,EAAE,aAAa,CAAC,KAAK,IAAI,oEAAoE;iBACrG,CAAC;aACL,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;YACzB,MAAM,qBAAqB,GAAG,KAAK,YAAY,uBAAuB,CAAC;YAEvE,SAAS,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,GAAG,CAAC,EAAE;gBACjB,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5C,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qBAAqB;oBACxB,CAAC,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE;oBAC1C,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,sDAAsD,CAAC;aACnF,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"execute-concurrently.js","sourceRoot":"","sources":["../../src/utilities/execute-concurrently.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { API_GATEWAY_REQUEST, API_GATEWAY_FUNCTION, API_GATEWAY_ITEM, API_GATEWAY_RESPONSE, API_GATEWAY_OPTIONS } from '../types/index.js';
2
+ import { CircuitBreaker } from "./circuit-breaker.js";
3
+ export declare function executeGatewayItem<RequestDataType = any, ResponseDataType = any>(item: API_GATEWAY_ITEM<RequestDataType, ResponseDataType, any[], any>, gatewayOptions: API_GATEWAY_OPTIONS<RequestDataType, ResponseDataType>, circuitBreaker: CircuitBreaker | null): Promise<API_GATEWAY_RESPONSE<ResponseDataType>>;
4
+ export declare function executeGatewayRequest<RequestDataType = any, ResponseDataType = any>(req: API_GATEWAY_REQUEST<RequestDataType, ResponseDataType>, gatewayOptions: API_GATEWAY_OPTIONS<RequestDataType, ResponseDataType>, circuitBreaker: CircuitBreaker | null): Promise<API_GATEWAY_RESPONSE<ResponseDataType>>;
5
+ export declare function executeGatewayFunction<TArgs extends any[] = any[], TReturn = any>(func: API_GATEWAY_FUNCTION<TArgs, TReturn>, gatewayOptions: API_GATEWAY_OPTIONS<any, any>, circuitBreaker: CircuitBreaker | null): Promise<API_GATEWAY_RESPONSE<TReturn>>;
6
+ //# sourceMappingURL=execute-gateway-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-gateway-item.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-gateway-item.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EAGtB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,cAAc,EAA2B,MAAM,sBAAsB,CAAC;AAG/E,wBAAsB,kBAAkB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAClF,IAAI,EAAE,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EACrE,cAAc,EAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EACtE,cAAc,EAAE,cAAc,GAAG,IAAI,GACtC,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAMjD;AAED,wBAAsB,qBAAqB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EACrF,GAAG,EAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAC3D,cAAc,EAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EACtE,cAAc,EAAE,cAAc,GAAG,IAAI,GACtC,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAmDjD;AAED,wBAAsB,sBAAsB,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,EACnF,IAAI,EAAE,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,EAC1C,cAAc,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC7C,cAAc,EAAE,cAAc,GAAG,IAAI,GACtC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CA8DxC"}
@@ -0,0 +1,117 @@
1
+ import { stableRequest, stableFunction } from "../core/index.js";
2
+ import { prepareApiRequestData } from "./prepare-api-request-data.js";
3
+ import { prepareApiRequestOptions } from "./prepare-api-request-options.js";
4
+ import { prepareApiFunctionOptions } from "./prepare-api-function-options.js";
5
+ import { CircuitBreakerOpenError } from "./circuit-breaker.js";
6
+ import { RequestOrFunction } from "../enums/index.js";
7
+ export async function executeGatewayItem(item, gatewayOptions, circuitBreaker) {
8
+ if (item.type === RequestOrFunction.REQUEST) {
9
+ return await executeGatewayRequest(item.request, gatewayOptions, circuitBreaker);
10
+ }
11
+ else {
12
+ return await executeGatewayFunction(item.function, gatewayOptions, circuitBreaker);
13
+ }
14
+ }
15
+ export async function executeGatewayRequest(req, gatewayOptions, circuitBreaker) {
16
+ if (circuitBreaker && !circuitBreaker.getState().config.trackIndividualAttempts) {
17
+ const canExecute = await circuitBreaker.canExecute();
18
+ if (!canExecute) {
19
+ throw new CircuitBreakerOpenError(`stable-request: Circuit breaker is ${circuitBreaker.getState().state}. Request blocked.`);
20
+ }
21
+ }
22
+ const finalRequestOptions = {
23
+ reqData: prepareApiRequestData(req, gatewayOptions),
24
+ ...prepareApiRequestOptions(req, gatewayOptions),
25
+ commonBuffer: gatewayOptions.sharedBuffer ?? req.requestOptions.commonBuffer,
26
+ ...(circuitBreaker ? { circuitBreaker } : {}),
27
+ executionContext: {
28
+ ...gatewayOptions.executionContext,
29
+ requestId: req.id
30
+ }
31
+ };
32
+ try {
33
+ const result = await stableRequest(finalRequestOptions);
34
+ if (circuitBreaker && !circuitBreaker.getState().config.trackIndividualAttempts) {
35
+ circuitBreaker.recordSuccess();
36
+ }
37
+ return {
38
+ requestId: req.id,
39
+ groupId: req.groupId,
40
+ success: result.success,
41
+ data: result.data,
42
+ error: result.error,
43
+ type: RequestOrFunction.REQUEST
44
+ };
45
+ }
46
+ catch (error) {
47
+ if (circuitBreaker &&
48
+ !(error instanceof CircuitBreakerOpenError) &&
49
+ !circuitBreaker.getState().config.trackIndividualAttempts) {
50
+ circuitBreaker.recordFailure();
51
+ }
52
+ return {
53
+ requestId: req.id,
54
+ groupId: req.groupId,
55
+ success: false,
56
+ error: error.message || String(error),
57
+ type: RequestOrFunction.REQUEST
58
+ };
59
+ }
60
+ }
61
+ export async function executeGatewayFunction(func, gatewayOptions, circuitBreaker) {
62
+ if (!func.functionOptions.fn || !func.functionOptions.args) {
63
+ return {
64
+ requestId: func.id,
65
+ groupId: func.groupId,
66
+ success: false,
67
+ error: 'Function or args not provided',
68
+ type: RequestOrFunction.FUNCTION
69
+ };
70
+ }
71
+ if (circuitBreaker && !circuitBreaker.getState().config.trackIndividualAttempts) {
72
+ const canExecute = await circuitBreaker.canExecute();
73
+ if (!canExecute) {
74
+ throw new CircuitBreakerOpenError(`stable-request: Circuit breaker is ${circuitBreaker.getState().state}. Function execution blocked.`);
75
+ }
76
+ }
77
+ const finalFunctionOptions = {
78
+ fn: func.functionOptions.fn,
79
+ args: func.functionOptions.args,
80
+ ...prepareApiFunctionOptions(func, gatewayOptions),
81
+ commonBuffer: gatewayOptions.sharedBuffer ?? func.functionOptions.commonBuffer,
82
+ ...(circuitBreaker ? { circuitBreaker } : {}),
83
+ executionContext: {
84
+ ...gatewayOptions.executionContext,
85
+ requestId: func.id
86
+ }
87
+ };
88
+ try {
89
+ const result = await stableFunction(finalFunctionOptions);
90
+ if (circuitBreaker && !circuitBreaker.getState().config.trackIndividualAttempts) {
91
+ circuitBreaker.recordSuccess();
92
+ }
93
+ return {
94
+ requestId: func.id,
95
+ groupId: func.groupId,
96
+ success: result.success,
97
+ data: result.data,
98
+ error: result.error,
99
+ type: RequestOrFunction.FUNCTION
100
+ };
101
+ }
102
+ catch (error) {
103
+ if (circuitBreaker &&
104
+ !(error instanceof CircuitBreakerOpenError) &&
105
+ !circuitBreaker.getState().config.trackIndividualAttempts) {
106
+ circuitBreaker.recordFailure();
107
+ }
108
+ return {
109
+ requestId: func.id,
110
+ groupId: func.groupId,
111
+ success: false,
112
+ error: error.message || String(error),
113
+ type: RequestOrFunction.FUNCTION
114
+ };
115
+ }
116
+ }
117
+ //# sourceMappingURL=execute-gateway-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-gateway-item.js","sourceRoot":"","sources":["../../src/utilities/execute-gateway-item.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAkB,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,IAAqE,EACrE,cAAsE,EACtE,cAAqC;IAErC,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACrF,CAAC;SAAM,CAAC;QACJ,OAAO,MAAM,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACvF,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,GAA2D,EAC3D,cAAsE,EACtE,cAAqC;IAErC,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,uBAAuB,CAC7B,sCAAsC,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,oBAAoB,CAC5F,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,mBAAmB,GAAG;QACxB,OAAO,EAAE,qBAAqB,CAAoC,GAAG,EAAE,cAAc,CAAC;QACtF,GAAG,wBAAwB,CAAoC,GAAG,EAAE,cAAc,CAAC;QACnF,YAAY,EAAE,cAAc,CAAC,YAAY,IAAI,GAAG,CAAC,cAAc,CAAC,YAAY;QAC5E,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,gBAAgB,EAAE;YACd,GAAG,cAAc,CAAC,gBAAgB;YAClC,SAAS,EAAE,GAAG,CAAC,EAAE;SACpB;KACJ,CAAC;IAEF,IAAI,CAAC;QACD,MAAM,MAAM,GAA4C,MAAM,aAAa,CAAoC,mBAAmB,CAAC,CAAC;QAEpI,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;YAC9E,cAAc,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC;QAED,OAAO;YACH,SAAS,EAAE,GAAG,CAAC,EAAE;YACjB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,iBAAiB,CAAC,OAAO;SAClC,CAAC;IACN,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,cAAc;YACd,CAAC,CAAC,KAAK,YAAY,uBAAuB,CAAC;YAC3C,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;YAC5D,cAAc,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC;QAED,OAAO;YACH,SAAS,EAAE,GAAG,CAAC,EAAE;YACjB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,iBAAiB,CAAC,OAAO;SAClC,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,IAA0C,EAC1C,cAA6C,EAC7C,cAAqC;IAErC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACzD,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,+BAA+B;YACtC,IAAI,EAAE,iBAAiB,CAAC,QAAQ;SACnC,CAAC;IACN,CAAC;IAED,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,uBAAuB,CAC7B,sCAAsC,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,+BAA+B,CACvG,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,oBAAoB,GAAG;QACzB,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE;QAC3B,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;QAC/B,GAAG,yBAAyB,CAAC,IAAI,EAAE,cAAc,CAAC;QAClD,YAAY,EAAE,cAAc,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY;QAC9E,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,gBAAgB,EAAE;YACd,GAAG,cAAc,CAAC,gBAAgB;YAClC,SAAS,EAAE,IAAI,CAAC,EAAE;SACrB;KACJ,CAAC;IAEF,IAAI,CAAC;QACD,MAAM,MAAM,GAAoC,MAAM,cAAc,CAAiB,oBAAoB,CAAC,CAAC;QAE3G,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;YAC9E,cAAc,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC;QAED,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,iBAAiB,CAAC,QAAQ;SACnC,CAAC;IACN,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,cAAc;YACd,CAAC,CAAC,KAAK,YAAY,uBAAuB,CAAC;YAC3C,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;YAC5D,cAAc,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC;QAED,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,iBAAiB,CAAC,QAAQ;SACnC,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -121,7 +121,7 @@ export async function executeNonLinearWorkflow(context) {
121
121
  await executeWithPersistence(handlePhaseDecision, { decision, phaseResult: lastResult, maxSerializableChars }, workflowHookParams?.statePersistence, { workflowId, ...(branchId && { branchId }) }, sharedBuffer || {});
122
122
  }
123
123
  catch (hookError) {
124
- console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseDecision hook:`, hookError);
124
+ console.error(`${formatLogContext({ workflowId, branchId })}stable-request: [Workflow: ${workflowId}] Error in handlePhaseDecision hook:`, hookError);
125
125
  }
126
126
  }
127
127
  }
@@ -279,7 +279,7 @@ export async function executeNonLinearWorkflow(context) {
279
279
  await executeWithPersistence(handlePhaseDecision, { decision, phaseResult, maxSerializableChars }, workflowHookParams?.statePersistence, { workflowId, ...(branchId && { branchId }), phaseId }, sharedBuffer || {});
280
280
  }
281
281
  catch (hookError) {
282
- console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseDecision hook:`, hookError);
282
+ console.error(`${formatLogContext({ workflowId, branchId, phaseId })}stable-request: [Workflow: ${workflowId}] Error in handlePhaseDecision hook:`, hookError);
283
283
  }
284
284
  }
285
285
  }
@@ -313,7 +313,7 @@ export async function executeNonLinearWorkflow(context) {
313
313
  }
314
314
  if (phaseResult.failedRequests > 0 && stopOnFirstPhaseError) {
315
315
  if (logPhaseResults) {
316
- console.error(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' has failures. Stopping workflow due to stopOnFirstPhaseError.`);
316
+ console.error(`${formatLogContext({ workflowId, branchId, phaseId })}stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' has failures. Stopping workflow due to stopOnFirstPhaseError.`);
317
317
  }
318
318
  terminatedEarly = true;
319
319
  terminationReason = `Phase '${phaseId}' failed with ${phaseResult.failedRequests} failed requests`;
@@ -1 +1 @@
1
- {"version":3,"file":"execute-non-linear-workflow.js","sourceRoot":"","sources":["../../src/utilities/execute-non-linear-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-non-linear-workflow.js","sourceRoot":"","sources":["../../src/utilities/execute-non-linear-workflow.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute-phase.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-phase.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAgC,MAAM,mBAAmB,CAAC;AAEtH,wBAAsB,YAAY,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAC5E,KAAK,EAAE,qBAAqB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAC/D,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,oBAAoB,EAAE,GAAG,EACzB,aAAa,EAAE,GAAG,EAAE,EACpB,eAAe,EAAE,OAAO,EACxB,qBAAqB,EAAE,QAAQ,EAC/B,oBAAoB,EAAE,MAAM,EAC5B,kBAAkB,EAAE,GAAG,EACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,QAAQ,CAAC,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,QAAQ,2DAiInC"}
1
+ {"version":3,"file":"execute-phase.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-phase.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAgC,MAAM,mBAAmB,CAAC;AAEtH,wBAAsB,YAAY,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAC5E,KAAK,EAAE,qBAAqB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAC/D,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,oBAAoB,EAAE,GAAG,EACzB,aAAa,EAAE,GAAG,EAAE,EACpB,eAAe,EAAE,OAAO,EACxB,qBAAqB,EAAE,QAAQ,EAC/B,oBAAoB,EAAE,MAAM,EAC5B,kBAAkB,EAAE,GAAG,EACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,QAAQ,CAAC,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,QAAQ,2DA8InC"}
@@ -2,6 +2,7 @@ import { stableApiGateway } from '../core/index.js';
2
2
  import { executeWithPersistence } from './execute-with-persistence.js';
3
3
  import { formatLogContext } from './format-log-context';
4
4
  import { MetricsAggregator } from './metrics-aggregator.js';
5
+ import { RequestOrFunction } from '../enums/index.js';
5
6
  export async function executePhase(phase, phaseIndex, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, maxSerializableChars, workflowHookParams, sharedBuffer, branchId, prePhaseExecutionHook) {
6
7
  const phaseId = phase.id || `phase-${phaseIndex + 1}`;
7
8
  let modifiedPhase = phase;
@@ -49,7 +50,20 @@ export async function executePhase(phase, phaseIndex, workflowId, commonGatewayO
49
50
  if (modifiedPhase.circuitBreaker !== undefined) {
50
51
  phaseGatewayOptions.circuitBreaker = modifiedPhase.circuitBreaker;
51
52
  }
52
- const phaseResponses = await stableApiGateway(modifiedPhase.requests, phaseGatewayOptions);
53
+ let items = [];
54
+ if (modifiedPhase.items) {
55
+ items = modifiedPhase.items;
56
+ }
57
+ else if (modifiedPhase.functions) {
58
+ items = modifiedPhase.functions.map(fn => ({
59
+ type: RequestOrFunction.FUNCTION,
60
+ function: fn
61
+ }));
62
+ }
63
+ else if (modifiedPhase.requests) {
64
+ items = modifiedPhase.requests;
65
+ }
66
+ const phaseResponses = await stableApiGateway(items, phaseGatewayOptions);
53
67
  const phaseExecutionTime = Date.now() - phaseStartTime;
54
68
  const responses = Array.from(phaseResponses);
55
69
  const phaseSuccessCount = responses.filter(r => r.success).length;
@@ -1 +1 @@
1
- {"version":3,"file":"execute-phase.js","sourceRoot":"","sources":["../../src/utilities/execute-phase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-phase.js","sourceRoot":"","sources":["../../src/utilities/execute-phase.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { API_GATEWAY_REQUEST, API_GATEWAY_RESPONSE, SEQUENTIAL_REQUEST_EXECUTION_OPTIONS } from '../types/index.js';
2
- export declare function executeSequentially<RequestDataType = any, ResponseDataType = any>(requests?: API_GATEWAY_REQUEST<RequestDataType, ResponseDataType>[], requestExecutionOptions?: SEQUENTIAL_REQUEST_EXECUTION_OPTIONS<RequestDataType, ResponseDataType>): Promise<API_GATEWAY_RESPONSE<ResponseDataType>[]>;
1
+ import { API_GATEWAY_REQUEST, API_GATEWAY_ITEM, API_GATEWAY_RESPONSE, SEQUENTIAL_REQUEST_EXECUTION_OPTIONS } from '../types/index.js';
2
+ export declare function executeSequentially<RequestDataType = any, ResponseDataType = any>(items?: API_GATEWAY_REQUEST<RequestDataType, ResponseDataType>[] | API_GATEWAY_ITEM<RequestDataType, ResponseDataType, any[], any>[], requestExecutionOptions?: SEQUENTIAL_REQUEST_EXECUTION_OPTIONS<RequestDataType, ResponseDataType>): Promise<API_GATEWAY_RESPONSE<ResponseDataType>[]>;
3
3
  //# sourceMappingURL=execute-sequentially.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute-sequentially.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-sequentially.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EAEpB,oCAAoC,EACvC,MAAM,mBAAmB,CAAC;AAG3B,wBAAsB,mBAAmB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EACnF,QAAQ,GAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAO,EACvE,uBAAuB,GAAE,oCAAoC,CAAC,eAAe,EAAE,gBAAgB,CAAM,GACtG,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CA0EnD"}
1
+ {"version":3,"file":"execute-sequentially.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-sequentially.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oCAAoC,EACvC,MAAM,mBAAmB,CAAC;AAG3B,wBAAsB,mBAAmB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EACnF,KAAK,GAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAO,EACxI,uBAAuB,GAAE,oCAAoC,CAAC,eAAe,EAAE,gBAAgB,CAAM,GACtG,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAqDnD"}