@emmvish/stable-request 1.5.3 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,399 @@
1
+ import { executePhase } from './execute-phase.js';
2
+ import { safelyExecuteUnknownFunction } from './safely-execute-unknown-function.js';
3
+ import { PHASE_DECISION_ACTIONS } from '../enums/index.js';
4
+ export async function executeNonLinearWorkflow(context) {
5
+ const { phases, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, handlePhaseError, handlePhaseDecision, maxSerializableChars, workflowHookParams, sharedBuffer, stopOnFirstPhaseError, maxWorkflowIterations } = context;
6
+ const phaseResults = [];
7
+ const executionHistory = [];
8
+ const phaseExecutionCounts = new Map();
9
+ let totalRequests = 0;
10
+ let successfulRequests = 0;
11
+ let failedRequests = 0;
12
+ let terminatedEarly = false;
13
+ let terminationReason;
14
+ const phaseMap = new Map();
15
+ phases.forEach((phase, index) => {
16
+ const phaseId = phase.id || `phase-${index + 1}`;
17
+ phaseMap.set(phaseId, { phase, index });
18
+ });
19
+ let currentPhaseId = phases[0]?.id || 'phase-1';
20
+ let iterationCount = 0;
21
+ while (currentPhaseId && iterationCount < maxWorkflowIterations) {
22
+ iterationCount++;
23
+ const phaseData = phaseMap.get(currentPhaseId);
24
+ if (!phaseData) {
25
+ if (logPhaseResults) {
26
+ console.error(`stable-request: [Workflow: ${workflowId}] Phase '${currentPhaseId}' not found. Terminating workflow.`);
27
+ }
28
+ terminatedEarly = true;
29
+ terminationReason = `Phase '${currentPhaseId}' not found`;
30
+ break;
31
+ }
32
+ const { phase, index: phaseIndex } = phaseData;
33
+ if (phase.markConcurrentPhase) {
34
+ const concurrentPhases = [];
35
+ let j = phaseIndex;
36
+ while (j < phases.length && phases[j].markConcurrentPhase) {
37
+ const concurrentPhaseId = phases[j].id || `phase-${j + 1}`;
38
+ concurrentPhases.push({
39
+ phase: phases[j],
40
+ index: j,
41
+ id: concurrentPhaseId
42
+ });
43
+ j++;
44
+ }
45
+ if (logPhaseResults) {
46
+ console.info(`\nstable-request: [Workflow: ${workflowId}] Executing ${concurrentPhases.length} phases in parallel: [${concurrentPhases.map(p => p.id).join(', ')}]`);
47
+ }
48
+ const concurrentPromises = concurrentPhases.map(({ phase: p, index: idx, id }) => {
49
+ const executionNumber = (phaseExecutionCounts.get(id) || 0) + 1;
50
+ phaseExecutionCounts.set(id, executionNumber);
51
+ return executePhase(p, idx, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, maxSerializableChars, workflowHookParams, sharedBuffer).then(result => ({
52
+ ...result,
53
+ executionNumber,
54
+ phaseId: id,
55
+ phaseIndex: idx
56
+ })).catch(error => ({
57
+ phaseId: id,
58
+ phaseIndex: idx,
59
+ success: false,
60
+ executionTime: 0,
61
+ timestamp: new Date().toISOString(),
62
+ totalRequests: 0,
63
+ successfulRequests: 0,
64
+ failedRequests: 0,
65
+ responses: [],
66
+ executionNumber: (phaseExecutionCounts.get(id) || 0),
67
+ error: error?.message || 'Phase execution failed'
68
+ }));
69
+ });
70
+ const concurrentResults = await Promise.all(concurrentPromises);
71
+ for (const phaseResult of concurrentResults) {
72
+ totalRequests += phaseResult.totalRequests;
73
+ successfulRequests += phaseResult.successfulRequests;
74
+ failedRequests += phaseResult.failedRequests;
75
+ phaseResults.push(phaseResult);
76
+ executionHistory.push({
77
+ phaseId: phaseResult.phaseId,
78
+ phaseIndex: phaseResult.phaseIndex,
79
+ executionNumber: phaseResult.executionNumber,
80
+ timestamp: phaseResult.timestamp,
81
+ success: phaseResult.success,
82
+ executionTime: phaseResult.executionTime
83
+ });
84
+ }
85
+ const hasFailures = concurrentResults.some(r => !r.success);
86
+ if (hasFailures && stopOnFirstPhaseError) {
87
+ if (logPhaseResults) {
88
+ console.error(`stable-request: [Workflow: ${workflowId}] One or more concurrent phases failed. Terminating workflow.`);
89
+ }
90
+ terminatedEarly = true;
91
+ terminationReason = `One or more concurrent phases failed`;
92
+ break;
93
+ }
94
+ const lastConcurrentPhase = concurrentPhases[concurrentPhases.length - 1];
95
+ const lastResult = concurrentResults[concurrentResults.length - 1];
96
+ let decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
97
+ if (lastConcurrentPhase.phase.phaseDecisionHook) {
98
+ try {
99
+ decision = await safelyExecuteUnknownFunction(lastConcurrentPhase.phase.phaseDecisionHook, {
100
+ workflowId,
101
+ phaseResult: lastResult,
102
+ phaseId: lastConcurrentPhase.id,
103
+ phaseIndex: lastConcurrentPhase.index,
104
+ executionHistory,
105
+ sharedBuffer,
106
+ params: workflowHookParams?.handlePhaseDecisionParams,
107
+ concurrentPhaseResults: concurrentResults
108
+ });
109
+ if (!decision || typeof decision !== 'object') {
110
+ decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
111
+ }
112
+ if (logPhaseResults) {
113
+ console.info(`stable-request: [Workflow: ${workflowId}] Concurrent group decision: ${decision.action}`, decision.targetPhaseId ? `-> ${decision.targetPhaseId}` : '');
114
+ }
115
+ if (handlePhaseDecision) {
116
+ try {
117
+ await safelyExecuteUnknownFunction(handlePhaseDecision, decision, lastResult);
118
+ }
119
+ catch (hookError) {
120
+ console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseDecision hook:`, hookError);
121
+ }
122
+ }
123
+ }
124
+ catch (decisionError) {
125
+ console.error(`stable-request: [Workflow: ${workflowId}] Error in phaseDecisionHook for concurrent group:`, decisionError);
126
+ decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
127
+ }
128
+ }
129
+ switch (decision.action) {
130
+ case PHASE_DECISION_ACTIONS.TERMINATE:
131
+ if (logPhaseResults) {
132
+ console.info(`stable-request: [Workflow: ${workflowId}] Workflow terminated by decision hook.`, decision.metadata ? `Metadata: ${JSON.stringify(decision.metadata)}` : '');
133
+ }
134
+ terminatedEarly = true;
135
+ terminationReason = decision.metadata?.reason || 'Terminated by phase decision';
136
+ currentPhaseId = null;
137
+ break;
138
+ case PHASE_DECISION_ACTIONS.SKIP:
139
+ if (decision.targetPhaseId) {
140
+ currentPhaseId = decision.targetPhaseId;
141
+ }
142
+ else {
143
+ currentPhaseId = phases[j + 1]?.id || `phase-${j + 2}`;
144
+ if (j + 1 >= phases.length) {
145
+ currentPhaseId = null;
146
+ }
147
+ }
148
+ break;
149
+ case PHASE_DECISION_ACTIONS.REPLAY:
150
+ if (logPhaseResults) {
151
+ console.warn(`stable-request: [Workflow: ${workflowId}] Replay is not supported for concurrent phase groups. Continuing to next phase.`);
152
+ }
153
+ currentPhaseId = phases[j]?.id || `phase-${j + 1}`;
154
+ if (j >= phases.length) {
155
+ currentPhaseId = null;
156
+ }
157
+ break;
158
+ case PHASE_DECISION_ACTIONS.JUMP:
159
+ if (!decision.targetPhaseId) {
160
+ console.error(`stable-request: [Workflow: ${workflowId}] Jump decision requires targetPhaseId. Continuing to next phase.`);
161
+ currentPhaseId = phases[j]?.id || `phase-${j + 1}`;
162
+ if (j >= phases.length) {
163
+ currentPhaseId = null;
164
+ }
165
+ }
166
+ else {
167
+ currentPhaseId = decision.targetPhaseId;
168
+ }
169
+ break;
170
+ case PHASE_DECISION_ACTIONS.CONTINUE:
171
+ default:
172
+ currentPhaseId = phases[j]?.id || `phase-${j + 1}`;
173
+ if (j >= phases.length) {
174
+ currentPhaseId = null;
175
+ }
176
+ break;
177
+ }
178
+ continue;
179
+ }
180
+ const phaseId = currentPhaseId;
181
+ const executionNumber = (phaseExecutionCounts.get(phaseId) || 0) + 1;
182
+ phaseExecutionCounts.set(phaseId, executionNumber);
183
+ const maxReplayCount = phase.maxReplayCount ?? Infinity;
184
+ if (executionNumber > maxReplayCount + 1) {
185
+ if (logPhaseResults) {
186
+ console.warn(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' exceeded max replay count (${maxReplayCount}). Skipping.`);
187
+ }
188
+ const skippedResult = {
189
+ phaseId,
190
+ phaseIndex,
191
+ success: false,
192
+ executionTime: 0,
193
+ timestamp: new Date().toISOString(),
194
+ totalRequests: 0,
195
+ successfulRequests: 0,
196
+ failedRequests: 0,
197
+ responses: [],
198
+ executionNumber,
199
+ skipped: true,
200
+ error: `Exceeded max replay count (${maxReplayCount})`
201
+ };
202
+ phaseResults.push(skippedResult);
203
+ currentPhaseId = phases[phaseIndex + 1]?.id || `phase-${phaseIndex + 2}`;
204
+ if (phaseIndex + 1 >= phases.length) {
205
+ currentPhaseId = null;
206
+ }
207
+ continue;
208
+ }
209
+ if (logPhaseResults) {
210
+ const executionLabel = executionNumber > 1 ? ` (execution #${executionNumber})` : '';
211
+ console.info(`\nstable-request: [Workflow: ${workflowId}] Executing Phase '${phaseId}'${executionLabel}`);
212
+ }
213
+ try {
214
+ const phaseResult = await executePhase(phase, phaseIndex, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, maxSerializableChars, workflowHookParams, sharedBuffer);
215
+ phaseResult.executionNumber = executionNumber;
216
+ totalRequests += phaseResult.totalRequests;
217
+ successfulRequests += phaseResult.successfulRequests;
218
+ failedRequests += phaseResult.failedRequests;
219
+ phaseResults.push(phaseResult);
220
+ const historyRecord = {
221
+ phaseId,
222
+ phaseIndex,
223
+ executionNumber,
224
+ timestamp: phaseResult.timestamp,
225
+ success: phaseResult.success,
226
+ executionTime: phaseResult.executionTime
227
+ };
228
+ let decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
229
+ if (phase.phaseDecisionHook) {
230
+ try {
231
+ decision = await safelyExecuteUnknownFunction(phase.phaseDecisionHook, {
232
+ workflowId,
233
+ phaseResult,
234
+ phaseId,
235
+ phaseIndex,
236
+ executionHistory,
237
+ sharedBuffer,
238
+ params: workflowHookParams?.handlePhaseDecisionParams
239
+ });
240
+ if (!decision || typeof decision !== 'object') {
241
+ decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
242
+ }
243
+ phaseResult.decision = decision;
244
+ historyRecord.decision = decision;
245
+ if (logPhaseResults) {
246
+ console.info(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' decision: ${decision.action}`, decision.targetPhaseId ? `-> ${decision.targetPhaseId}` : '');
247
+ }
248
+ if (handlePhaseDecision) {
249
+ try {
250
+ await safelyExecuteUnknownFunction(handlePhaseDecision, decision, phaseResult);
251
+ }
252
+ catch (hookError) {
253
+ console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseDecision hook:`, hookError);
254
+ }
255
+ }
256
+ }
257
+ catch (decisionError) {
258
+ console.error(`stable-request: [Workflow: ${workflowId}] Error in phaseDecisionHook for phase '${phaseId}':`, decisionError);
259
+ decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
260
+ }
261
+ }
262
+ executionHistory.push(historyRecord);
263
+ if (phaseResult.failedRequests > 0 && stopOnFirstPhaseError) {
264
+ if (logPhaseResults) {
265
+ console.error(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' has failures. Stopping workflow due to stopOnFirstPhaseError.`);
266
+ }
267
+ terminatedEarly = true;
268
+ terminationReason = `Phase '${phaseId}' failed with ${phaseResult.failedRequests} failed requests`;
269
+ break;
270
+ }
271
+ switch (decision.action) {
272
+ case PHASE_DECISION_ACTIONS.TERMINATE:
273
+ if (logPhaseResults) {
274
+ console.info(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' decided to terminate workflow.`);
275
+ }
276
+ terminatedEarly = true;
277
+ terminationReason = decision.metadata?.reason || 'Terminated by phase decision';
278
+ currentPhaseId = null;
279
+ break;
280
+ case PHASE_DECISION_ACTIONS.SKIP:
281
+ if (!phase.allowSkip && phase.allowSkip !== undefined) {
282
+ console.warn(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' attempted to skip but allowSkip is false. Continuing normally.`);
283
+ currentPhaseId = phases[phaseIndex + 1]?.id || `phase-${phaseIndex + 2}`;
284
+ if (phaseIndex + 1 >= phases.length) {
285
+ currentPhaseId = null;
286
+ }
287
+ }
288
+ else {
289
+ if (decision.targetPhaseId) {
290
+ currentPhaseId = decision.targetPhaseId;
291
+ }
292
+ else {
293
+ currentPhaseId = phases[phaseIndex + 2]?.id || `phase-${phaseIndex + 3}`;
294
+ if (phaseIndex + 2 >= phases.length) {
295
+ currentPhaseId = null;
296
+ }
297
+ }
298
+ }
299
+ break;
300
+ case PHASE_DECISION_ACTIONS.REPLAY:
301
+ if (!phase.allowReplay && phase.allowReplay !== undefined) {
302
+ console.warn(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' attempted to replay but allowReplay is false. Continuing normally.`);
303
+ currentPhaseId = phases[phaseIndex + 1]?.id || `phase-${phaseIndex + 2}`;
304
+ if (phaseIndex + 1 >= phases.length) {
305
+ currentPhaseId = null;
306
+ }
307
+ }
308
+ else {
309
+ currentPhaseId = phaseId;
310
+ }
311
+ break;
312
+ case PHASE_DECISION_ACTIONS.JUMP:
313
+ if (decision.targetPhaseId) {
314
+ currentPhaseId = decision.targetPhaseId;
315
+ }
316
+ else {
317
+ console.warn(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' decided to jump but no targetPhaseId provided. Continuing normally.`);
318
+ currentPhaseId = phases[phaseIndex + 1]?.id || `phase-${phaseIndex + 2}`;
319
+ if (phaseIndex + 1 >= phases.length) {
320
+ currentPhaseId = null;
321
+ }
322
+ }
323
+ break;
324
+ case PHASE_DECISION_ACTIONS.CONTINUE:
325
+ default:
326
+ currentPhaseId = phases[phaseIndex + 1]?.id || `phase-${phaseIndex + 2}`;
327
+ if (phaseIndex + 1 >= phases.length) {
328
+ currentPhaseId = null;
329
+ }
330
+ break;
331
+ }
332
+ }
333
+ catch (phaseError) {
334
+ console.error(`stable-request: [Workflow: ${workflowId}] Error executing phase '${phaseId}':`, phaseError);
335
+ const errorResult = {
336
+ phaseId,
337
+ phaseIndex,
338
+ success: false,
339
+ executionTime: 0,
340
+ timestamp: new Date().toISOString(),
341
+ totalRequests: 0,
342
+ successfulRequests: 0,
343
+ failedRequests: 0,
344
+ responses: [],
345
+ executionNumber,
346
+ error: phaseError?.message || 'Phase execution failed'
347
+ };
348
+ phaseResults.push(errorResult);
349
+ failedRequests += 1;
350
+ executionHistory.push({
351
+ phaseId,
352
+ phaseIndex,
353
+ executionNumber,
354
+ timestamp: errorResult.timestamp,
355
+ success: false,
356
+ executionTime: 0
357
+ });
358
+ try {
359
+ await safelyExecuteUnknownFunction(handlePhaseError, {
360
+ workflowId,
361
+ phaseResult: errorResult,
362
+ error: phaseError,
363
+ maxSerializableChars,
364
+ params: workflowHookParams?.handlePhaseErrorParams,
365
+ sharedBuffer
366
+ });
367
+ }
368
+ catch (hookError) {
369
+ console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseError hook:`, hookError);
370
+ }
371
+ if (stopOnFirstPhaseError) {
372
+ terminatedEarly = true;
373
+ terminationReason = `Phase '${phaseId}' encountered an error: ${phaseError?.message}`;
374
+ break;
375
+ }
376
+ currentPhaseId = phases[phaseIndex + 1]?.id || `phase-${phaseIndex + 2}`;
377
+ if (phaseIndex + 1 >= phases.length) {
378
+ currentPhaseId = null;
379
+ }
380
+ }
381
+ }
382
+ if (iterationCount >= maxWorkflowIterations && currentPhaseId) {
383
+ if (logPhaseResults) {
384
+ console.warn(`stable-request: [Workflow: ${workflowId}] Reached max workflow iterations (${maxWorkflowIterations}). Terminating.`);
385
+ }
386
+ terminatedEarly = true;
387
+ terminationReason = `Exceeded maximum workflow iterations (${maxWorkflowIterations})`;
388
+ }
389
+ return {
390
+ phaseResults,
391
+ executionHistory,
392
+ totalRequests,
393
+ successfulRequests,
394
+ failedRequests,
395
+ terminatedEarly,
396
+ terminationReason
397
+ };
398
+ }
399
+ //# sourceMappingURL=execute-non-linear-workflow.js.map
@@ -0,0 +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,13 +1,3 @@
1
- import { STABLE_WORKFLOW_PHASE } from '../types/index.js';
2
- export declare function executePhase<RequestDataType = any, ResponseDataType = any>(phase: STABLE_WORKFLOW_PHASE<RequestDataType, ResponseDataType>, phaseIndex: number, workflowId: string, commonGatewayOptions: any, requestGroups: any[], logPhaseResults: boolean, handlePhaseCompletion: Function, maxSerializableChars: number, workflowHookParams: any, sharedBuffer?: Record<string, any>): Promise<{
3
- phaseId: string;
4
- phaseIndex: number;
5
- success: boolean;
6
- executionTime: number;
7
- timestamp: string;
8
- totalRequests: number;
9
- successfulRequests: number;
10
- failedRequests: number;
11
- responses: import("../types/index.js").API_GATEWAY_RESPONSE<ResponseDataType>[];
12
- }>;
1
+ import { STABLE_WORKFLOW_PHASE, STABLE_WORKFLOW_PHASE_RESULT } from '../types/index.js';
2
+ export declare function executePhase<RequestDataType = any, ResponseDataType = any>(phase: STABLE_WORKFLOW_PHASE<RequestDataType, ResponseDataType>, phaseIndex: number, workflowId: string, commonGatewayOptions: any, requestGroups: any[], logPhaseResults: boolean, handlePhaseCompletion: Function, maxSerializableChars: number, workflowHookParams: any, sharedBuffer?: Record<string, any>): Promise<STABLE_WORKFLOW_PHASE_RESULT<ResponseDataType>>;
13
3
  //# sourceMappingURL=execute-phase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute-phase.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-phase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,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;;;;;;;;;;GA2ErC"}
1
+ {"version":3,"file":"execute-phase.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-phase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAExF,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,2DA2ErC"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute-phase.js","sourceRoot":"","sources":["../../src/utilities/execute-phase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGjF,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,KAA+D,EAC/D,UAAkB,EAClB,UAAkB,EAClB,oBAAyB,EACzB,aAAoB,EACpB,eAAwB,EACxB,qBAA+B,EAC/B,oBAA4B,EAC5B,kBAAuB,EACvB,YAAkC;IAElC,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,SAAS,UAAU,GAAG,CAAC,EAAE,CAAC;IACtD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAElC,MAAM,mBAAmB,GAAG;QACxB,GAAG,oBAAoB;QACvB,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,IAAI,IAAI;QACtD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,KAAK;QACjD,aAAa;QACb,YAAY;KACf,CAAC;IAEF,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC5C,mBAAmB,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;IAC5E,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChC,mBAAmB,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrC,mBAAmB,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC9D,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,gBAAgB,CACzC,KAAK,CAAC,QAAQ,EACd,mBAAmB,CACtB,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;IACvD,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAExE,MAAM,WAAW,GAAG;QAChB,OAAO;QACP,UAAU;QACV,OAAO,EAAE,iBAAiB,KAAK,CAAC;QAChC,aAAa,EAAE,kBAAkB;QACjC,SAAS,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;QACjD,aAAa,EAAE,cAAc,CAAC,MAAM;QACpC,kBAAkB,EAAE,iBAAiB;QACrC,cAAc,EAAE,iBAAiB;QACjC,SAAS,EAAE,cAAc;KAC5B,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CACR,8BAA8B,UAAU,WAAW,OAAO,aAAa,EACvE,GAAG,iBAAiB,IAAI,cAAc,CAAC,MAAM,aAAa,EAC1D,IAAI,kBAAkB,KAAK,CAC9B,CAAC;IACN,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QACxB,IAAI,CAAC;YACD,MAAM,4BAA4B,CAC9B,qBAAqB,EAAE;gBACnB,UAAU;gBACV,WAAW;gBACX,oBAAoB;gBACpB,MAAM,EAAE,kBAAkB,EAAE,2BAA2B;gBACvD,YAAY;aACf,CACJ,CAAC;QACN,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CACT,8BAA8B,UAAU,wCAAwC,EAChF,SAAS,CACZ,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"execute-phase.js","sourceRoot":"","sources":["../../src/utilities/execute-phase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGjF,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,KAA+D,EAC/D,UAAkB,EAClB,UAAkB,EAClB,oBAAyB,EACzB,aAAoB,EACpB,eAAwB,EACxB,qBAA+B,EAC/B,oBAA4B,EAC5B,kBAAuB,EACvB,YAAkC;IAElC,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,SAAS,UAAU,GAAG,CAAC,EAAE,CAAC;IACtD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAElC,MAAM,mBAAmB,GAAG;QACxB,GAAG,oBAAoB;QACvB,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,IAAI,IAAI;QACtD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,KAAK;QACjD,aAAa;QACb,YAAY;KACf,CAAC;IAEF,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC5C,mBAAmB,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;IAC5E,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChC,mBAAmB,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrC,mBAAmB,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC9D,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,gBAAgB,CACzC,KAAK,CAAC,QAAQ,EACd,mBAAmB,CACtB,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;IACvD,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAExE,MAAM,WAAW,GAAmD;QAChE,OAAO;QACP,UAAU;QACV,OAAO,EAAE,iBAAiB,KAAK,CAAC;QAChC,aAAa,EAAE,kBAAkB;QACjC,SAAS,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;QACjD,aAAa,EAAE,cAAc,CAAC,MAAM;QACpC,kBAAkB,EAAE,iBAAiB;QACrC,cAAc,EAAE,iBAAiB;QACjC,SAAS,EAAE,cAAc;KAC5B,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CACR,8BAA8B,UAAU,WAAW,OAAO,aAAa,EACvE,GAAG,iBAAiB,IAAI,cAAc,CAAC,MAAM,aAAa,EAC1D,IAAI,kBAAkB,KAAK,CAC9B,CAAC;IACN,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QACxB,IAAI,CAAC;YACD,MAAM,4BAA4B,CAC9B,qBAAqB,EAAE;gBACnB,UAAU;gBACV,WAAW;gBACX,oBAAoB;gBACpB,MAAM,EAAE,kBAAkB,EAAE,2BAA2B;gBACvD,YAAY;aACf,CACJ,CAAC;QACN,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CACT,8BAA8B,UAAU,wCAAwC,EAChF,SAAS,CACZ,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC"}
@@ -2,7 +2,9 @@ export { CacheManager, getGlobalCacheManager, resetGlobalCacheManager } from './
2
2
  export { CircuitBreaker, CircuitBreakerOpenError } from './circuit-breaker.js';
3
3
  export { ConcurrencyLimiter } from './concurrency-limiter.js';
4
4
  export { delay } from './delay.js';
5
+ export { executeBranchWorkflow } from './execute-branch-workflow.js';
5
6
  export { executeConcurrently } from './execute-concurrently.js';
7
+ export { executeNonLinearWorkflow } from './execute-non-linear-workflow.js';
6
8
  export { executePhase } from './execute-phase.js';
7
9
  export { executeSequentially } from './execute-sequentially.js';
8
10
  export { extractCommonRequestConfigOptions } from './extract-common-request-config-options.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC"}
@@ -2,7 +2,9 @@ export { CacheManager, getGlobalCacheManager, resetGlobalCacheManager } from './
2
2
  export { CircuitBreaker, CircuitBreakerOpenError } from './circuit-breaker.js';
3
3
  export { ConcurrencyLimiter } from './concurrency-limiter.js';
4
4
  export { delay } from './delay.js';
5
+ export { executeBranchWorkflow } from './execute-branch-workflow.js';
5
6
  export { executeConcurrently } from './execute-concurrently.js';
7
+ export { executeNonLinearWorkflow } from './execute-non-linear-workflow.js';
6
8
  export { executePhase } from './execute-phase.js';
7
9
  export { executeSequentially } from './execute-sequentially.js';
8
10
  export { extractCommonRequestConfigOptions } from './extract-common-request-config-options.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emmvish/stable-request",
3
- "version": "1.5.3",
3
+ "version": "1.6.1",
4
4
  "description": "stable-request is a TypeScript-first HTTP workflow execution engine for real-world distributed systems — where HTTP 200 OK does not guarantee business success, and HTTP failures still deserve structured, actionable responses.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",