callman-core 1.0.2 → 1.0.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.
Files changed (52) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/runner/runCollection.d.ts.map +1 -1
  6. package/dist/runner/runCollection.js.map +1 -1
  7. package/dist/scenario-runner/condition.d.ts +67 -0
  8. package/dist/scenario-runner/condition.d.ts.map +1 -0
  9. package/dist/scenario-runner/condition.js +1514 -0
  10. package/dist/scenario-runner/condition.js.map +1 -0
  11. package/dist/scenario-runner/conditionTypes.d.ts +78 -0
  12. package/dist/scenario-runner/conditionTypes.d.ts.map +1 -0
  13. package/dist/scenario-runner/conditionTypes.js +2 -0
  14. package/dist/scenario-runner/conditionTypes.js.map +1 -0
  15. package/dist/scenario-runner/executionPolicyRunner.d.ts +25 -0
  16. package/dist/scenario-runner/executionPolicyRunner.d.ts.map +1 -0
  17. package/dist/scenario-runner/executionPolicyRunner.js +49 -0
  18. package/dist/scenario-runner/executionPolicyRunner.js.map +1 -0
  19. package/dist/scenario-runner/graphTraversal.d.ts +12 -0
  20. package/dist/scenario-runner/graphTraversal.d.ts.map +1 -0
  21. package/dist/scenario-runner/graphTraversal.js +21 -0
  22. package/dist/scenario-runner/graphTraversal.js.map +1 -0
  23. package/dist/scenario-runner/index.d.ts +8 -0
  24. package/dist/scenario-runner/index.d.ts.map +1 -0
  25. package/dist/scenario-runner/index.js +8 -0
  26. package/dist/scenario-runner/index.js.map +1 -0
  27. package/dist/scenario-runner/nodePolicy.d.ts +11 -0
  28. package/dist/scenario-runner/nodePolicy.d.ts.map +1 -0
  29. package/dist/scenario-runner/nodePolicy.js +108 -0
  30. package/dist/scenario-runner/nodePolicy.js.map +1 -0
  31. package/dist/scenario-runner/retryExecutor.d.ts +31 -0
  32. package/dist/scenario-runner/retryExecutor.d.ts.map +1 -0
  33. package/dist/scenario-runner/retryExecutor.js +53 -0
  34. package/dist/scenario-runner/retryExecutor.js.map +1 -0
  35. package/dist/scenario-runner/runScenario.d.ts +3 -0
  36. package/dist/scenario-runner/runScenario.d.ts.map +1 -0
  37. package/dist/scenario-runner/runScenario.js +1161 -0
  38. package/dist/scenario-runner/runScenario.js.map +1 -0
  39. package/dist/scenario-runner/templateResolver.d.ts +36 -0
  40. package/dist/scenario-runner/templateResolver.d.ts.map +1 -0
  41. package/dist/scenario-runner/templateResolver.js +440 -0
  42. package/dist/scenario-runner/templateResolver.js.map +1 -0
  43. package/dist/scenario-runner/types.d.ts +609 -0
  44. package/dist/scenario-runner/types.d.ts.map +1 -0
  45. package/dist/scenario-runner/types.js +2 -0
  46. package/dist/scenario-runner/types.js.map +1 -0
  47. package/dist/scenario-runner/waitNodeExecutor.d.ts +16 -0
  48. package/dist/scenario-runner/waitNodeExecutor.d.ts.map +1 -0
  49. package/dist/scenario-runner/waitNodeExecutor.js +65 -0
  50. package/dist/scenario-runner/waitNodeExecutor.js.map +1 -0
  51. package/package.json +3 -2
  52. package/tests/waitNode.test.mjs +311 -0
@@ -0,0 +1,609 @@
1
+ import type { ConditionGroupEvaluation, ConditionMode, ConditionNodeConfig } from "./conditionTypes.js";
2
+ export type ScenarioNodeType = "request" | "condition" | "wait" | "script" | "db" | "kafka" | "redis" | "end" | "aggregator" | "subscenario";
3
+ export type ScenarioEdgeType = "default" | "yes" | "no";
4
+ export type ScenarioNodeFailurePolicy = "stop" | "continue";
5
+ export type ScenarioRequestContractValueType = "string" | "number" | "boolean" | "object" | "array" | "null";
6
+ export interface ScenarioRequestContractRules {
7
+ required?: boolean;
8
+ type?: ScenarioRequestContractValueType;
9
+ notEmpty?: boolean;
10
+ min?: number;
11
+ max?: number;
12
+ minLength?: number;
13
+ maxLength?: number;
14
+ minItems?: number;
15
+ maxItems?: number;
16
+ enumValues?: string[];
17
+ pattern?: string;
18
+ contains?: string;
19
+ }
20
+ export interface ScenarioRequestContractAssertion {
21
+ id: string;
22
+ path: string;
23
+ enabled: boolean;
24
+ rules: ScenarioRequestContractRules;
25
+ }
26
+ export interface ScenarioNodeRetryPolicy {
27
+ enabled: boolean;
28
+ maxAttempts: number;
29
+ delayMs: number;
30
+ }
31
+ export interface ScenarioNodeExecutionPolicy {
32
+ onFailure: ScenarioNodeFailurePolicy;
33
+ retry: ScenarioNodeRetryPolicy;
34
+ }
35
+ interface ScenarioNodeConfigWithExecutionPolicy {
36
+ executionPolicy?: ScenarioNodeExecutionPolicy;
37
+ }
38
+ export interface ScenarioNodePosition {
39
+ x: number;
40
+ y: number;
41
+ }
42
+ export interface ScenarioKeyValuePair {
43
+ key: string;
44
+ value: string;
45
+ enabled?: boolean;
46
+ }
47
+ export interface ScenarioRequestBodyConfig {
48
+ mode: "none" | "raw" | "formdata" | "urlencoded" | string;
49
+ raw: string;
50
+ formEntries: ScenarioKeyValuePair[];
51
+ }
52
+ export interface ScenarioRequestAuthConfig {
53
+ type: "none" | "bearer" | "basic" | "apikey";
54
+ bearerToken: string;
55
+ basicUsername: string;
56
+ basicPassword: string;
57
+ apiKeyKey: string;
58
+ apiKeyValue: string;
59
+ apiKeyLocation: "header" | "query";
60
+ }
61
+ export interface RequestScenarioNodeConfig extends ScenarioNodeConfigWithExecutionPolicy {
62
+ method: string;
63
+ url: string;
64
+ headers: ScenarioKeyValuePair[];
65
+ query: ScenarioKeyValuePair[];
66
+ body: ScenarioRequestBodyConfig;
67
+ auth?: ScenarioRequestAuthConfig;
68
+ preRequestScript?: string;
69
+ postResponseScript?: string;
70
+ testsScript?: string;
71
+ contractAssertions?: ScenarioRequestContractAssertion[];
72
+ }
73
+ export interface DbScenarioNodeConfig extends ScenarioNodeConfigWithExecutionPolicy {
74
+ connectionId: string;
75
+ query: string;
76
+ }
77
+ export interface ScriptScenarioNodeConfig extends ScenarioNodeConfigWithExecutionPolicy {
78
+ script: string;
79
+ timeoutMs?: number;
80
+ }
81
+ export interface WaitScenarioNodeConfig extends ScenarioNodeConfigWithExecutionPolicy {
82
+ durationMs: number;
83
+ }
84
+ export interface KafkaScenarioNodeConfig extends ScenarioNodeConfigWithExecutionPolicy {
85
+ connectionId: string;
86
+ topic: string;
87
+ matchMode: "regex" | "rules";
88
+ rules?: string[];
89
+ }
90
+ export interface RedisScenarioNodeConfig extends ScenarioNodeConfigWithExecutionPolicy {
91
+ connectionId: string;
92
+ commands: string[];
93
+ }
94
+ export interface EndScenarioNodeConfig extends ScenarioNodeConfigWithExecutionPolicy {
95
+ loop: boolean;
96
+ loopTargetNodeId: string | null;
97
+ loopIterations: number;
98
+ loopDelayMs: number;
99
+ }
100
+ export interface AggregatorScenarioNodeConfig extends ScenarioNodeConfigWithExecutionPolicy {
101
+ template: string;
102
+ }
103
+ export interface SubScenarioUngroupIncomingEdge {
104
+ edgeId: string;
105
+ externalSourceId: string;
106
+ internalTargetId: string;
107
+ branch: ScenarioEdgeType;
108
+ }
109
+ export interface SubScenarioUngroupOutgoingEdge {
110
+ edgeId: string;
111
+ internalSourceId: string;
112
+ externalTargetId: string;
113
+ branch: ScenarioEdgeType;
114
+ }
115
+ export interface SubScenarioUngroupSnapshot {
116
+ internalOffset: ScenarioNodePosition;
117
+ incoming: SubScenarioUngroupIncomingEdge[];
118
+ outgoing: SubScenarioUngroupOutgoingEdge[];
119
+ }
120
+ export interface SubScenarioNodeConfig extends ScenarioNodeConfigWithExecutionPolicy {
121
+ nodes: ScenarioNode[];
122
+ edges: ScenarioEdge[];
123
+ reusableGroupId?: string;
124
+ reusableSourceScenarioId?: string | null;
125
+ reusableSourceNodeId?: string | null;
126
+ ungroupSnapshot?: SubScenarioUngroupSnapshot;
127
+ }
128
+ export type ScenarioNodeConfig = RequestScenarioNodeConfig | DbScenarioNodeConfig | WaitScenarioNodeConfig | ScriptScenarioNodeConfig | KafkaScenarioNodeConfig | RedisScenarioNodeConfig | ConditionNodeConfig | EndScenarioNodeConfig | AggregatorScenarioNodeConfig | SubScenarioNodeConfig;
129
+ interface BaseScenarioNode<TType extends ScenarioNodeType, TConfig extends ScenarioNodeConfig> {
130
+ id: string;
131
+ type: TType;
132
+ position: ScenarioNodePosition;
133
+ data: {
134
+ label: string;
135
+ config: TConfig;
136
+ };
137
+ }
138
+ export type RequestScenarioNode = BaseScenarioNode<"request", RequestScenarioNodeConfig>;
139
+ export type DbScenarioNode = BaseScenarioNode<"db", DbScenarioNodeConfig>;
140
+ export type WaitScenarioNode = BaseScenarioNode<"wait", WaitScenarioNodeConfig>;
141
+ export type ScriptScenarioNode = BaseScenarioNode<"script", ScriptScenarioNodeConfig>;
142
+ export type KafkaScenarioNode = BaseScenarioNode<"kafka", KafkaScenarioNodeConfig>;
143
+ export type RedisScenarioNode = BaseScenarioNode<"redis", RedisScenarioNodeConfig>;
144
+ export type ConditionScenarioNode = BaseScenarioNode<"condition", ConditionNodeConfig>;
145
+ export type EndScenarioNode = BaseScenarioNode<"end", EndScenarioNodeConfig>;
146
+ export type AggregatorScenarioNode = BaseScenarioNode<"aggregator", AggregatorScenarioNodeConfig>;
147
+ export type SubScenarioNode = BaseScenarioNode<"subscenario", SubScenarioNodeConfig>;
148
+ export type ScenarioPolicyCapableNodeType = Exclude<ScenarioNodeType, "condition">;
149
+ export type ScenarioNode = RequestScenarioNode | DbScenarioNode | WaitScenarioNode | ScriptScenarioNode | KafkaScenarioNode | RedisScenarioNode | ConditionScenarioNode | EndScenarioNode | AggregatorScenarioNode | SubScenarioNode;
150
+ export type ScenarioPolicyCapableNode = Exclude<ScenarioNode, ConditionScenarioNode>;
151
+ export interface ScenarioEdge {
152
+ id: string;
153
+ source: string;
154
+ target: string;
155
+ type?: ScenarioEdgeType;
156
+ }
157
+ export interface ScenarioEnvVariable {
158
+ id: string;
159
+ key: string;
160
+ value: string;
161
+ enabled: boolean;
162
+ }
163
+ export interface ScenarioEnvironmentDefinition {
164
+ id: string;
165
+ name: string;
166
+ variables: ScenarioEnvVariable[];
167
+ }
168
+ export interface ScenarioDefinition {
169
+ id: string;
170
+ name: string;
171
+ description?: string | null;
172
+ workspaceId?: string;
173
+ projectId?: string;
174
+ createdBy?: string;
175
+ version?: number;
176
+ nodes: ScenarioNode[];
177
+ edges: ScenarioEdge[];
178
+ environments?: ScenarioEnvironmentDefinition[];
179
+ }
180
+ export interface AbortLikeSignal {
181
+ aborted: boolean;
182
+ addEventListener?: (type: "abort", listener: () => void, options?: {
183
+ once?: boolean;
184
+ }) => void;
185
+ removeEventListener?: (type: "abort", listener: () => void) => void;
186
+ }
187
+ export interface ScenarioRuntimeContextState {
188
+ environment: Record<string, string>;
189
+ globals: Record<string, string>;
190
+ workflowContext: Record<string, unknown>;
191
+ responseRoot: Record<string, unknown> | null;
192
+ lastResponse: ScenarioRequestResponse | null;
193
+ dbResult: unknown;
194
+ kafkaEvent: unknown;
195
+ kafkaCapture: ScenarioKafkaCaptureResult | null;
196
+ redisResult: unknown;
197
+ }
198
+ export type ScenarioWaitExecutionStatus = "success" | "failed" | "cancelled";
199
+ export interface ScenarioWaitExecutionSummary {
200
+ type: "wait";
201
+ configuredDurationMs: number;
202
+ actualDurationMs: number;
203
+ status: ScenarioWaitExecutionStatus;
204
+ }
205
+ export interface ScenarioStepExecutionErrorEntry {
206
+ attempt: number;
207
+ at: string;
208
+ message: string;
209
+ }
210
+ export type ScenarioRunStatus = "idle" | "running" | "success" | "failed" | "completed_with_failures" | "stopped";
211
+ export type ScenarioStepExecutionStatus = "idle" | "running" | "retrying" | "success" | "failed" | "failed_continued" | "skipped" | "partial_success";
212
+ export type ScenarioBranchKey = "if" | "else";
213
+ export interface ScenarioScriptLogEntry {
214
+ level: "log" | "info" | "warn" | "error" | "debug";
215
+ message: string;
216
+ }
217
+ export interface ScenarioScriptExecutionError {
218
+ stage: string;
219
+ message: string;
220
+ lineNumber: number | null;
221
+ column: number | null;
222
+ stack: string | null;
223
+ }
224
+ export interface ScenarioVariableMutation {
225
+ scope: "environment" | "global";
226
+ type: "set" | "unset";
227
+ key: string;
228
+ value?: string;
229
+ }
230
+ export interface ScenarioScriptTestResult {
231
+ name: string;
232
+ status: "PASS" | "FAIL" | "SKIP";
233
+ error?: string;
234
+ message?: string;
235
+ }
236
+ export interface ScenarioKafkaCapturedMessage {
237
+ key: string | null;
238
+ valueText: string;
239
+ valueJson: unknown | null;
240
+ partition: number;
241
+ offset: string;
242
+ timestamp: string;
243
+ headers: ScenarioKeyValuePair[];
244
+ }
245
+ export interface ScenarioKafkaCaptureResult {
246
+ topic: string;
247
+ durationMs: number;
248
+ timeoutMs: number;
249
+ messages: ScenarioKafkaCapturedMessage[];
250
+ timeline?: Array<{
251
+ at: string;
252
+ stage: string;
253
+ detail: string;
254
+ }>;
255
+ isListening?: boolean;
256
+ timedOut: boolean;
257
+ errorMessage: string | null;
258
+ }
259
+ export interface ScenarioRequestResponse {
260
+ ok: boolean;
261
+ status: number;
262
+ statusText: string;
263
+ durationMs: number;
264
+ sizeBytes: number;
265
+ headers: ScenarioKeyValuePair[];
266
+ cookies: string[];
267
+ contentType: string;
268
+ bodyText: string;
269
+ bodyJson: unknown | null;
270
+ kafkaResult: ScenarioKafkaCaptureResult | null;
271
+ redisResult: unknown | null;
272
+ cancelled?: boolean;
273
+ errorMessage?: string;
274
+ }
275
+ export interface ScenarioKafkaCapturePlan {
276
+ stepId: string;
277
+ connectionId: string | null;
278
+ topic: string;
279
+ }
280
+ export interface ScenarioRequestExecutionResult {
281
+ cancelled?: boolean;
282
+ response: ScenarioRequestResponse;
283
+ responseRoot: Record<string, unknown> | null;
284
+ environment: Record<string, string>;
285
+ globals: Record<string, string>;
286
+ outputData: unknown;
287
+ testResults: ScenarioScriptTestResult[];
288
+ contractResults: unknown[];
289
+ contractSummary: unknown;
290
+ contractValidationError: string | null;
291
+ dbAssertionResults: unknown[];
292
+ redisAssertionResults: unknown[];
293
+ prefetchedKafkaResults?: Array<{
294
+ stepId: string;
295
+ result: ScenarioKafkaCaptureResult;
296
+ }>;
297
+ failureMessage?: string | null;
298
+ }
299
+ export interface ScenarioDbQueryExecutionResult {
300
+ success: boolean;
301
+ rows: unknown[];
302
+ rowCount: number;
303
+ error?: string;
304
+ }
305
+ export interface ScenarioDbExecutionResult {
306
+ rawResult: ScenarioDbQueryExecutionResult;
307
+ dbResult: unknown;
308
+ outputData: unknown;
309
+ failureMessage?: string | null;
310
+ }
311
+ export interface ScenarioRedisCommandExecutionResult {
312
+ success: boolean;
313
+ result?: unknown;
314
+ resultText: string;
315
+ error?: string;
316
+ }
317
+ export interface ScenarioRedisExecutionResult {
318
+ commandResults: ScenarioRedisCommandExecutionResult[];
319
+ redisResult: unknown;
320
+ outputData: unknown;
321
+ failureMessage?: string | null;
322
+ }
323
+ export interface ScenarioScriptExecutionResult {
324
+ variableMutations: ScenarioVariableMutation[];
325
+ testResults: ScenarioScriptTestResult[];
326
+ logs: ScenarioScriptLogEntry[];
327
+ error: ScenarioScriptExecutionError | null;
328
+ hasReturnValue: boolean;
329
+ returnValue: unknown;
330
+ outputData: unknown;
331
+ scriptSource: string;
332
+ timeoutMs: number;
333
+ failureMessage?: string | null;
334
+ }
335
+ export interface ScenarioKafkaExecutionResult {
336
+ captureResult: ScenarioKafkaCaptureResult;
337
+ }
338
+ export interface ScenarioRequestExecutionInput {
339
+ runId: string;
340
+ stepId: string;
341
+ node: RequestScenarioNode;
342
+ context: Readonly<ScenarioRuntimeContextState>;
343
+ kafkaCapturePlans: ScenarioKafkaCapturePlan[];
344
+ signal?: AbortLikeSignal;
345
+ }
346
+ export interface ScenarioDbExecutionInput {
347
+ runId: string;
348
+ stepId: string;
349
+ node: DbScenarioNode;
350
+ resolvedQuery: string;
351
+ context: Readonly<ScenarioRuntimeContextState>;
352
+ signal?: AbortLikeSignal;
353
+ }
354
+ export interface ScenarioRedisExecutionInput {
355
+ runId: string;
356
+ stepId: string;
357
+ node: RedisScenarioNode;
358
+ resolvedCommands: string[];
359
+ context: Readonly<ScenarioRuntimeContextState>;
360
+ signal?: AbortLikeSignal;
361
+ }
362
+ export interface ScenarioScriptExecutionInput {
363
+ runId: string;
364
+ stepId: string;
365
+ node: ScriptScenarioNode;
366
+ context: Readonly<ScenarioRuntimeContextState>;
367
+ signal?: AbortLikeSignal;
368
+ }
369
+ export interface ScenarioKafkaExecutionInput {
370
+ runId: string;
371
+ stepId: string;
372
+ node: KafkaScenarioNode;
373
+ resolvedTopic: string;
374
+ matcher: {
375
+ mode: "regex" | "rules";
376
+ rules: string[];
377
+ templateValues: Record<string, string>;
378
+ } | null;
379
+ signal?: AbortLikeSignal;
380
+ }
381
+ export interface ScenarioRuntimeAdapters {
382
+ requestExecutor: (input: ScenarioRequestExecutionInput) => Promise<ScenarioRequestExecutionResult>;
383
+ dbExecutor: (input: ScenarioDbExecutionInput) => Promise<ScenarioDbExecutionResult>;
384
+ redisExecutor: (input: ScenarioRedisExecutionInput) => Promise<ScenarioRedisExecutionResult>;
385
+ scriptExecutor: (input: ScenarioScriptExecutionInput) => Promise<ScenarioScriptExecutionResult>;
386
+ kafkaExecutor: (input: ScenarioKafkaExecutionInput) => Promise<ScenarioKafkaExecutionResult>;
387
+ }
388
+ export interface ScenarioStepBaseEvent {
389
+ runId: string;
390
+ scenarioId: string;
391
+ stepId: string;
392
+ stepType: ScenarioNodeType;
393
+ title: string;
394
+ at: string;
395
+ inputData?: unknown;
396
+ incomingEdgeId?: string | null;
397
+ }
398
+ export type ScenarioRunEvent = {
399
+ type: "scenario:start";
400
+ runId: string;
401
+ scenarioId: string;
402
+ scenarioName: string;
403
+ totalSteps: number;
404
+ stepIds: string[];
405
+ at: string;
406
+ } | {
407
+ type: "scenario:end";
408
+ runId: string;
409
+ scenarioId: string;
410
+ status: Exclude<ScenarioRunStatus, "idle" | "running">;
411
+ at: string;
412
+ durationMs: number;
413
+ } | (ScenarioStepBaseEvent & {
414
+ type: "step:start";
415
+ attempt?: number;
416
+ maxAttempts?: number;
417
+ retryEnabled?: boolean;
418
+ retryDelayMs?: number;
419
+ failurePolicy?: ScenarioNodeExecutionPolicy["onFailure"];
420
+ }) | (ScenarioStepBaseEvent & {
421
+ type: "step:retry";
422
+ attempt: number;
423
+ maxAttempts: number;
424
+ retryDelayMs: number;
425
+ retryAt: string | null;
426
+ failurePolicy: ScenarioNodeExecutionPolicy["onFailure"];
427
+ errorMessage: string;
428
+ errors: ScenarioStepExecutionErrorEntry[];
429
+ }) | (ScenarioStepBaseEvent & {
430
+ type: "step:success";
431
+ status?: Extract<ScenarioStepExecutionStatus, "success" | "partial_success">;
432
+ attempts?: number;
433
+ currentAttempt?: number | null;
434
+ maxAttempts?: number;
435
+ retryCount?: number;
436
+ retryEnabled?: boolean;
437
+ retryDelayMs?: number;
438
+ failurePolicy?: ScenarioNodeExecutionPolicy["onFailure"];
439
+ continuedAfterFailure?: boolean;
440
+ errors?: ScenarioStepExecutionErrorEntry[];
441
+ durationMs?: number | null;
442
+ statusCode?: number | null;
443
+ response?: ScenarioRequestResponse | null;
444
+ testResults?: ScenarioScriptTestResult[];
445
+ contractResults?: unknown[];
446
+ contractSummary?: unknown;
447
+ contractValidationError?: string | null;
448
+ dbAssertionResults?: unknown[];
449
+ redisAssertionResults?: unknown[];
450
+ scriptSource?: string | null;
451
+ scriptTimeoutMs?: number | null;
452
+ scriptLogs?: ScenarioScriptLogEntry[];
453
+ conditionExpression?: string | null;
454
+ conditionPreview?: string | null;
455
+ conditionMode?: ConditionMode | null;
456
+ conditionResult?: boolean | null;
457
+ conditionDebug?: ConditionGroupEvaluation | null;
458
+ activeBranch?: ScenarioBranchKey | null;
459
+ outputData?: unknown;
460
+ }) | (ScenarioStepBaseEvent & {
461
+ type: "step:fail";
462
+ status?: Extract<ScenarioStepExecutionStatus, "failed" | "failed_continued">;
463
+ attempts?: number;
464
+ currentAttempt?: number | null;
465
+ maxAttempts?: number;
466
+ retryCount?: number;
467
+ retryEnabled?: boolean;
468
+ retryDelayMs?: number;
469
+ failurePolicy?: ScenarioNodeExecutionPolicy["onFailure"];
470
+ continuedAfterFailure?: boolean;
471
+ errors?: ScenarioStepExecutionErrorEntry[];
472
+ errorMessage: string;
473
+ durationMs?: number | null;
474
+ statusCode?: number | null;
475
+ response?: ScenarioRequestResponse | null;
476
+ testResults?: ScenarioScriptTestResult[];
477
+ contractResults?: unknown[];
478
+ contractSummary?: unknown;
479
+ contractValidationError?: string | null;
480
+ dbAssertionResults?: unknown[];
481
+ redisAssertionResults?: unknown[];
482
+ scriptSource?: string | null;
483
+ scriptTimeoutMs?: number | null;
484
+ scriptLogs?: ScenarioScriptLogEntry[];
485
+ conditionExpression?: string | null;
486
+ conditionPreview?: string | null;
487
+ conditionMode?: ConditionMode | null;
488
+ conditionResult?: boolean | null;
489
+ conditionDebug?: ConditionGroupEvaluation | null;
490
+ activeBranch?: ScenarioBranchKey | null;
491
+ outputData?: unknown;
492
+ }) | (ScenarioStepBaseEvent & {
493
+ type: "step:skip";
494
+ reason?: string | null;
495
+ durationMs?: number | null;
496
+ outputData?: unknown;
497
+ }) | {
498
+ type: "step:reset";
499
+ runId: string;
500
+ scenarioId: string;
501
+ stepIds: string[];
502
+ at: string;
503
+ reason?: string | null;
504
+ } | {
505
+ type: "step:condition";
506
+ runId: string;
507
+ scenarioId: string;
508
+ stepId: string;
509
+ title: string;
510
+ at: string;
511
+ conditionExpression: string;
512
+ conditionPreview: string;
513
+ conditionMode: ConditionMode;
514
+ conditionDebug: ConditionGroupEvaluation;
515
+ result: boolean;
516
+ activeBranch: ScenarioBranchKey;
517
+ };
518
+ export interface ScenarioRuntimeHandlers {
519
+ onEvent?: (event: ScenarioRunEvent) => Promise<void> | void;
520
+ onScenarioStart?: (event: Extract<ScenarioRunEvent, {
521
+ type: "scenario:start";
522
+ }>) => Promise<void> | void;
523
+ onNodeStart?: (event: Extract<ScenarioRunEvent, {
524
+ type: "step:start";
525
+ }>) => Promise<void> | void;
526
+ onNodeRetry?: (event: Extract<ScenarioRunEvent, {
527
+ type: "step:retry";
528
+ }>) => Promise<void> | void;
529
+ onNodeSuccess?: (event: Extract<ScenarioRunEvent, {
530
+ type: "step:success";
531
+ }>) => Promise<void> | void;
532
+ onNodeFail?: (event: Extract<ScenarioRunEvent, {
533
+ type: "step:fail";
534
+ }>) => Promise<void> | void;
535
+ onNodeSkip?: (event: Extract<ScenarioRunEvent, {
536
+ type: "step:skip";
537
+ }>) => Promise<void> | void;
538
+ onNodeReset?: (event: Extract<ScenarioRunEvent, {
539
+ type: "step:reset";
540
+ }>) => Promise<void> | void;
541
+ onConditionEvaluated?: (event: Extract<ScenarioRunEvent, {
542
+ type: "step:condition";
543
+ }>) => Promise<void> | void;
544
+ onScenarioComplete?: (report: ScenarioRunReport) => Promise<void> | void;
545
+ }
546
+ export interface ScenarioNodeExecutionRecord {
547
+ stepId: string;
548
+ stepType: ScenarioNodeType;
549
+ title: string;
550
+ status: ScenarioStepExecutionStatus;
551
+ attempts: number;
552
+ currentAttempt: number | null;
553
+ maxAttempts: number;
554
+ retryCount: number;
555
+ retryEnabled: boolean;
556
+ retryDelayMs: number;
557
+ failurePolicy: ScenarioNodeExecutionPolicy["onFailure"] | null;
558
+ continuedAfterFailure: boolean;
559
+ errors: ScenarioStepExecutionErrorEntry[];
560
+ durationMs: number | null;
561
+ statusCode: number | null;
562
+ errorMessage: string | null;
563
+ response: ScenarioRequestResponse | null;
564
+ testResults: ScenarioScriptTestResult[];
565
+ contractResults: unknown[];
566
+ contractSummary: unknown;
567
+ contractValidationError: string | null;
568
+ dbAssertionResults: unknown[];
569
+ redisAssertionResults: unknown[];
570
+ scriptSource: string | null;
571
+ scriptTimeoutMs: number | null;
572
+ scriptLogs: ScenarioScriptLogEntry[];
573
+ conditionExpression: string | null;
574
+ conditionPreview: string | null;
575
+ conditionMode: ConditionMode | null;
576
+ conditionResult: boolean | null;
577
+ conditionDebug: ConditionGroupEvaluation | null;
578
+ activeBranch: ScenarioBranchKey | null;
579
+ inputData: unknown | null;
580
+ outputData: unknown | null;
581
+ incomingEdgeId: string | null;
582
+ startedAt: string | null;
583
+ completedAt: string | null;
584
+ }
585
+ export interface ScenarioRunReport {
586
+ runId: string;
587
+ scenarioId: string;
588
+ scenarioName: string;
589
+ scenarioStatus: Exclude<ScenarioRunStatus, "idle" | "running">;
590
+ startedAt: string;
591
+ endedAt: string;
592
+ durationMs: number;
593
+ totalSteps: number;
594
+ completedSteps: number;
595
+ context: ScenarioRuntimeContextState;
596
+ nodeExecutions: ScenarioNodeExecutionRecord[];
597
+ events: ScenarioRunEvent[];
598
+ }
599
+ export interface RunScenarioOptions {
600
+ scenario: ScenarioDefinition;
601
+ environment?: Record<string, string>;
602
+ globals?: Record<string, string>;
603
+ runtimeAdapters: ScenarioRuntimeAdapters;
604
+ eventHandlers?: ScenarioRuntimeHandlers;
605
+ signal?: AbortLikeSignal;
606
+ minNodeVisualStateMs?: number;
607
+ }
608
+ export {};
609
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scenario-runner/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/scenario-runner/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { AbortLikeSignal, ScenarioWaitExecutionSummary } from "./types.js";
2
+ export declare const MIN_SCENARIO_WAIT_DURATION_MS = 1;
3
+ export declare const MAX_SCENARIO_WAIT_DURATION_MS = 2147483647;
4
+ export declare class ScenarioWaitNodeValidationError extends Error {
5
+ readonly summary: ScenarioWaitExecutionSummary;
6
+ constructor(durationMs: number);
7
+ }
8
+ export declare class ScenarioWaitNodeCancelledError extends Error {
9
+ readonly summary: ScenarioWaitExecutionSummary;
10
+ constructor(durationMs: number, actualDurationMs: number);
11
+ }
12
+ export declare const executeWaitNode: ({ durationMs, signal, }: {
13
+ durationMs: number;
14
+ signal?: AbortLikeSignal;
15
+ }) => Promise<ScenarioWaitExecutionSummary>;
16
+ //# sourceMappingURL=waitNodeExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitNodeExecutor.d.ts","sourceRoot":"","sources":["../../src/scenario-runner/waitNodeExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,6BAA6B,aAAgB,CAAC;AAoB3D,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;gBAEnC,UAAU,EAAE,MAAM;CAW/B;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;gBAEnC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;CASzD;AA6BD,eAAO,MAAM,eAAe,GAAU,yBAGnC;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B,KAAG,OAAO,CAAC,4BAA4B,CAmBvC,CAAC"}