callman-core 1.43.0 → 1.45.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 (200) hide show
  1. package/dist/ai/prompts/diagram.d.ts.map +1 -1
  2. package/dist/ai/prompts/diagram.js +10 -5
  3. package/dist/ai/prompts/diagram.js.map +1 -1
  4. package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -1
  5. package/dist/ai/prompts/scenarioNodeReference.js +17 -6
  6. package/dist/ai/prompts/scenarioNodeReference.js.map +1 -1
  7. package/dist/diagram/geometry.d.ts +1 -0
  8. package/dist/diagram/geometry.d.ts.map +1 -1
  9. package/dist/diagram/geometry.js +15 -0
  10. package/dist/diagram/geometry.js.map +1 -1
  11. package/dist/diagram/ops.d.ts.map +1 -1
  12. package/dist/diagram/ops.js +25 -12
  13. package/dist/diagram/ops.js.map +1 -1
  14. package/dist/diagram/routing/batch.d.ts +2 -0
  15. package/dist/diagram/routing/batch.d.ts.map +1 -1
  16. package/dist/diagram/routing/batch.js +4 -4
  17. package/dist/diagram/routing/batch.js.map +1 -1
  18. package/dist/diagram/routing/index.d.ts +1 -0
  19. package/dist/diagram/routing/index.d.ts.map +1 -1
  20. package/dist/diagram/routing/index.js +1 -0
  21. package/dist/diagram/routing/index.js.map +1 -1
  22. package/dist/diagram/routing/ports.d.ts +14 -0
  23. package/dist/diagram/routing/ports.d.ts.map +1 -0
  24. package/dist/diagram/routing/ports.js +130 -0
  25. package/dist/diagram/routing/ports.js.map +1 -0
  26. package/dist/diagram/routing/sides.d.ts.map +1 -1
  27. package/dist/diagram/routing/sides.js +4 -3
  28. package/dist/diagram/routing/sides.js.map +1 -1
  29. package/dist/diagram/routing/types.d.ts +1 -0
  30. package/dist/diagram/routing/types.d.ts.map +1 -1
  31. package/dist/diagram/routing/types.js.map +1 -1
  32. package/dist/host/connections.d.ts.map +1 -1
  33. package/dist/host/connections.js +7 -0
  34. package/dist/host/connections.js.map +1 -1
  35. package/dist/host/db/db-query-reference.d.ts.map +1 -1
  36. package/dist/host/db/db-query-reference.js +22 -5
  37. package/dist/host/db/db-query-reference.js.map +1 -1
  38. package/dist/host/db/dbBinds.d.ts +20 -0
  39. package/dist/host/db/dbBinds.d.ts.map +1 -0
  40. package/dist/host/db/dbBinds.js +61 -0
  41. package/dist/host/db/dbBinds.js.map +1 -0
  42. package/dist/host/db/dbSessionManager.d.ts +13 -0
  43. package/dist/host/db/dbSessionManager.d.ts.map +1 -0
  44. package/dist/host/db/dbSessionManager.js +165 -0
  45. package/dist/host/db/dbSessionManager.js.map +1 -0
  46. package/dist/host/db/introspection/index.d.ts +1 -0
  47. package/dist/host/db/introspection/index.d.ts.map +1 -1
  48. package/dist/host/db/introspection/index.js +1 -0
  49. package/dist/host/db/introspection/index.js.map +1 -1
  50. package/dist/host/db/introspection/routines.d.ts +38 -0
  51. package/dist/host/db/introspection/routines.d.ts.map +1 -0
  52. package/dist/host/db/introspection/routines.js +439 -0
  53. package/dist/host/db/introspection/routines.js.map +1 -0
  54. package/dist/host/db/mssqlAdapter.d.ts +10 -4
  55. package/dist/host/db/mssqlAdapter.d.ts.map +1 -1
  56. package/dist/host/db/mssqlAdapter.js +144 -34
  57. package/dist/host/db/mssqlAdapter.js.map +1 -1
  58. package/dist/host/db/mysqlAdapter.d.ts +10 -4
  59. package/dist/host/db/mysqlAdapter.d.ts.map +1 -1
  60. package/dist/host/db/mysqlAdapter.js +66 -16
  61. package/dist/host/db/mysqlAdapter.js.map +1 -1
  62. package/dist/host/db/oracleAdapter.d.ts +10 -4
  63. package/dist/host/db/oracleAdapter.d.ts.map +1 -1
  64. package/dist/host/db/oracleAdapter.js +301 -28
  65. package/dist/host/db/oracleAdapter.js.map +1 -1
  66. package/dist/host/db/pgClientConfig.d.ts +10 -1
  67. package/dist/host/db/pgClientConfig.d.ts.map +1 -1
  68. package/dist/host/db/pgClientConfig.js +59 -0
  69. package/dist/host/db/pgClientConfig.js.map +1 -1
  70. package/dist/host/db/pgSession.d.ts +11 -0
  71. package/dist/host/db/pgSession.d.ts.map +1 -0
  72. package/dist/host/db/pgSession.js +62 -0
  73. package/dist/host/db/pgSession.js.map +1 -0
  74. package/dist/host/db/pgSessionManager.d.ts +5 -14
  75. package/dist/host/db/pgSessionManager.d.ts.map +1 -1
  76. package/dist/host/db/pgSessionManager.js +9 -161
  77. package/dist/host/db/pgSessionManager.js.map +1 -1
  78. package/dist/host/db/postgresAdapter.d.ts +2 -4
  79. package/dist/host/db/postgresAdapter.d.ts.map +1 -1
  80. package/dist/host/db/postgresAdapter.js +26 -6
  81. package/dist/host/db/postgresAdapter.js.map +1 -1
  82. package/dist/host/db/queryExecutor.d.ts +2 -4
  83. package/dist/host/db/queryExecutor.d.ts.map +1 -1
  84. package/dist/host/db/queryExecutor.js +35 -23
  85. package/dist/host/db/queryExecutor.js.map +1 -1
  86. package/dist/host/db/sqlState.d.ts +1 -0
  87. package/dist/host/db/sqlState.d.ts.map +1 -1
  88. package/dist/host/db/sqlState.js +20 -0
  89. package/dist/host/db/sqlState.js.map +1 -1
  90. package/dist/host/db/types.d.ts +38 -0
  91. package/dist/host/db/types.d.ts.map +1 -1
  92. package/dist/host/index.d.ts +5 -3
  93. package/dist/host/index.d.ts.map +1 -1
  94. package/dist/host/index.js +8 -6
  95. package/dist/host/index.js.map +1 -1
  96. package/dist/scenario-runner/adapters/db-executor.d.ts +17 -3
  97. package/dist/scenario-runner/adapters/db-executor.d.ts.map +1 -1
  98. package/dist/scenario-runner/adapters/db-executor.js +57 -22
  99. package/dist/scenario-runner/adapters/db-executor.js.map +1 -1
  100. package/dist/scenario-runner/adapters/index.d.ts +1 -1
  101. package/dist/scenario-runner/adapters/index.d.ts.map +1 -1
  102. package/dist/scenario-runner/adapters/index.js +1 -1
  103. package/dist/scenario-runner/adapters/index.js.map +1 -1
  104. package/dist/scenario-runner/adapters/types.d.ts +7 -0
  105. package/dist/scenario-runner/adapters/types.d.ts.map +1 -1
  106. package/dist/scenario-runner/index.d.ts +1 -1
  107. package/dist/scenario-runner/index.d.ts.map +1 -1
  108. package/dist/scenario-runner/index.js +1 -1
  109. package/dist/scenario-runner/index.js.map +1 -1
  110. package/dist/scenario-runner/nodePolicy.d.ts.map +1 -1
  111. package/dist/scenario-runner/nodePolicy.js +3 -0
  112. package/dist/scenario-runner/nodePolicy.js.map +1 -1
  113. package/dist/scenario-runner/runScenario.d.ts +4 -2
  114. package/dist/scenario-runner/runScenario.d.ts.map +1 -1
  115. package/dist/scenario-runner/runScenario.js +47 -12
  116. package/dist/scenario-runner/runScenario.js.map +1 -1
  117. package/dist/scenario-runner/runScenarioWithDataset.d.ts.map +1 -1
  118. package/dist/scenario-runner/runScenarioWithDataset.js +65 -1
  119. package/dist/scenario-runner/runScenarioWithDataset.js.map +1 -1
  120. package/dist/scenario-runner/types.d.ts +21 -1
  121. package/dist/scenario-runner/types.d.ts.map +1 -1
  122. package/dist/script/features/db.d.ts +7 -0
  123. package/dist/script/features/db.d.ts.map +1 -1
  124. package/dist/script/features/db.js +8 -1
  125. package/dist/script/features/db.js.map +1 -1
  126. package/dist/script/pm-api-declarations.d.ts.map +1 -1
  127. package/dist/script/pm-api-declarations.js +24 -0
  128. package/dist/script/pm-api-declarations.js.map +1 -1
  129. package/dist/script/pm-api-metadata.js +1 -1
  130. package/dist/script/pm-api-metadata.js.map +1 -1
  131. package/dist/script/types.d.ts +7 -0
  132. package/dist/script/types.d.ts.map +1 -1
  133. package/dist-cjs/ai/prompts/diagram.js +10 -5
  134. package/dist-cjs/ai/prompts/diagram.js.map +1 -1
  135. package/dist-cjs/ai/prompts/scenarioNodeReference.js +17 -6
  136. package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -1
  137. package/dist-cjs/diagram/geometry.js +17 -1
  138. package/dist-cjs/diagram/geometry.js.map +1 -1
  139. package/dist-cjs/diagram/ops.js +25 -12
  140. package/dist-cjs/diagram/ops.js.map +1 -1
  141. package/dist-cjs/diagram/routing/batch.js +4 -4
  142. package/dist-cjs/diagram/routing/batch.js.map +1 -1
  143. package/dist-cjs/diagram/routing/index.js +1 -0
  144. package/dist-cjs/diagram/routing/index.js.map +1 -1
  145. package/dist-cjs/diagram/routing/ports.js +135 -0
  146. package/dist-cjs/diagram/routing/ports.js.map +1 -0
  147. package/dist-cjs/diagram/routing/sides.js +3 -2
  148. package/dist-cjs/diagram/routing/sides.js.map +1 -1
  149. package/dist-cjs/diagram/routing/types.js.map +1 -1
  150. package/dist-cjs/host/connections.js +7 -0
  151. package/dist-cjs/host/connections.js.map +1 -1
  152. package/dist-cjs/host/db/db-query-reference.js +22 -5
  153. package/dist-cjs/host/db/db-query-reference.js.map +1 -1
  154. package/dist-cjs/host/db/dbBinds.js +71 -0
  155. package/dist-cjs/host/db/dbBinds.js.map +1 -0
  156. package/dist-cjs/host/db/dbSessionManager.js +172 -0
  157. package/dist-cjs/host/db/dbSessionManager.js.map +1 -0
  158. package/dist-cjs/host/db/introspection/index.js +4 -1
  159. package/dist-cjs/host/db/introspection/index.js.map +1 -1
  160. package/dist-cjs/host/db/introspection/routines.js +444 -0
  161. package/dist-cjs/host/db/introspection/routines.js.map +1 -0
  162. package/dist-cjs/host/db/mssqlAdapter.js +146 -35
  163. package/dist-cjs/host/db/mssqlAdapter.js.map +1 -1
  164. package/dist-cjs/host/db/mysqlAdapter.js +68 -17
  165. package/dist-cjs/host/db/mysqlAdapter.js.map +1 -1
  166. package/dist-cjs/host/db/oracleAdapter.js +303 -29
  167. package/dist-cjs/host/db/oracleAdapter.js.map +1 -1
  168. package/dist-cjs/host/db/pgClientConfig.js +61 -1
  169. package/dist-cjs/host/db/pgClientConfig.js.map +1 -1
  170. package/dist-cjs/host/db/pgSession.js +67 -0
  171. package/dist-cjs/host/db/pgSession.js.map +1 -0
  172. package/dist-cjs/host/db/pgSessionManager.js +10 -166
  173. package/dist-cjs/host/db/pgSessionManager.js.map +1 -1
  174. package/dist-cjs/host/db/postgresAdapter.js +25 -5
  175. package/dist-cjs/host/db/postgresAdapter.js.map +1 -1
  176. package/dist-cjs/host/db/queryExecutor.js +34 -22
  177. package/dist-cjs/host/db/queryExecutor.js.map +1 -1
  178. package/dist-cjs/host/db/sqlState.js +22 -1
  179. package/dist-cjs/host/db/sqlState.js.map +1 -1
  180. package/dist-cjs/host/index.js +15 -6
  181. package/dist-cjs/host/index.js.map +1 -1
  182. package/dist-cjs/scenario-runner/adapters/db-executor.js +57 -21
  183. package/dist-cjs/scenario-runner/adapters/db-executor.js.map +1 -1
  184. package/dist-cjs/scenario-runner/adapters/index.js +3 -1
  185. package/dist-cjs/scenario-runner/adapters/index.js.map +1 -1
  186. package/dist-cjs/scenario-runner/index.js +2 -1
  187. package/dist-cjs/scenario-runner/index.js.map +1 -1
  188. package/dist-cjs/scenario-runner/nodePolicy.js +3 -0
  189. package/dist-cjs/scenario-runner/nodePolicy.js.map +1 -1
  190. package/dist-cjs/scenario-runner/runScenario.js +49 -13
  191. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  192. package/dist-cjs/scenario-runner/runScenarioWithDataset.js +65 -1
  193. package/dist-cjs/scenario-runner/runScenarioWithDataset.js.map +1 -1
  194. package/dist-cjs/script/features/db.js +8 -1
  195. package/dist-cjs/script/features/db.js.map +1 -1
  196. package/dist-cjs/script/pm-api-declarations.js +24 -0
  197. package/dist-cjs/script/pm-api-declarations.js.map +1 -1
  198. package/dist-cjs/script/pm-api-metadata.js +1 -1
  199. package/dist-cjs/script/pm-api-metadata.js.map +1 -1
  200. package/package.json +1 -1
@@ -8,21 +8,48 @@
8
8
  // identically on every host: session capability detection (a `useSession`
9
9
  // node on a host without `databaseSessionRelease` fails fast instead of
10
10
  // silently running autocommit) and expected-error evaluation (pgTAP
11
- // `throws_ok` equivalent — a matching failure PASSES the node).
11
+ // `throws_ok` equivalent — a matching failure PASSES the node), with SQLSTATE
12
+ // or the engine's own code (ORA-20001).
12
13
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.buildDbExecutor = exports.matchDbExpectedError = exports.extractSqlState = void 0;
14
+ exports.buildDbExecutor = exports.matchDbExpectedError = exports.buildDbStatementOutput = exports.extractSqlState = exports.extractDbErrorCode = void 0;
14
15
  const abort_js_1 = require("./helpers/abort.js");
15
16
  const sqlState_js_1 = require("../../host/db/sqlState.js");
17
+ Object.defineProperty(exports, "extractDbErrorCode", { enumerable: true, get: function () { return sqlState_js_1.extractDbErrorCode; } });
16
18
  Object.defineProperty(exports, "extractSqlState", { enumerable: true, get: function () { return sqlState_js_1.extractSqlState; } });
19
+ // Margin between the driver's server-side limit and the runner's own, so the
20
+ // database's answer normally arrives first.
21
+ const DB_TIMEOUT_GRACE_MS = 10_000;
22
+ const matchesExpectedCode = (wanted, message, sqlState, dbErrorCode) => {
23
+ const code = wanted.toUpperCase();
24
+ if (code === (sqlState ?? "").toUpperCase())
25
+ return true;
26
+ const actual = (dbErrorCode ?? "").toUpperCase();
27
+ if (actual && (code === actual || actual.endsWith(`-${code}`)))
28
+ return true;
29
+ // A code wrapped by another error stays in the message's error stack
30
+ // (ORA-06512 frames, re-raised ORA-20xxx).
31
+ return code.includes("-") && message.toUpperCase().includes(code);
32
+ };
33
+ // The node's output: rows plus whatever else the statement returned.
34
+ const statementOutput = (result) => ({
35
+ rows: result.rows,
36
+ rowCount: result.rowCount,
37
+ ...(result.out ? { out: result.out } : {}),
38
+ ...(result.output ? { output: result.output } : {}),
39
+ ...(result.resultSets ? { resultSets: result.resultSets } : {}),
40
+ });
41
+ exports.buildDbStatementOutput = statementOutput;
17
42
  // Shared with hosts that build their own dbExecutor (desktop's IPC-backed
18
43
  // adapter) so expectError semantics never drift between runners.
19
- const matchDbExpectedError = (expectation, message, sqlState) => {
44
+ const matchDbExpectedError = (expectation, message, sqlState, dbErrorCode) => {
20
45
  const wantedState = expectation.sqlState?.trim();
21
46
  const wantedPattern = expectation.messagePattern?.trim();
22
- if (wantedState && wantedState.toUpperCase() !== (sqlState ?? "").toUpperCase()) {
47
+ if (wantedState && !matchesExpectedCode(wantedState, message, sqlState, dbErrorCode)) {
23
48
  return {
24
49
  matched: false,
25
- mismatchReason: `expected SQLSTATE ${wantedState}, got ${sqlState ?? "none"}`,
50
+ mismatchReason: wantedState.includes("-")
51
+ ? `expected error code ${wantedState}, got ${dbErrorCode ?? sqlState ?? "none"}`
52
+ : `expected SQLSTATE ${wantedState}, got ${sqlState ?? dbErrorCode ?? "none"}`,
26
53
  };
27
54
  }
28
55
  if (wantedPattern) {
@@ -63,12 +90,18 @@ const buildDbExecutor = (options) => async (input) => {
63
90
  };
64
91
  }
65
92
  try {
93
+ const nodeConfig = input.node.data.config;
94
+ const timeoutMs = nodeConfig.timeoutMs ?? options.nodeTimeoutMs;
66
95
  const result = await (0, abort_js_1.withAbortAndTimeout)(options.drivers.databaseExecutor({
67
96
  connection,
68
97
  resolvedQuery: input.resolvedQuery,
69
98
  resolvedParams: input.resolvedParams,
99
+ ...(input.resolvedBinds ? { resolvedBinds: input.resolvedBinds } : {}),
100
+ ...(nodeConfig.captureOutput ? { captureOutput: true } : {}),
101
+ timeoutMs,
102
+ ...(input.signal ? { signal: input.signal } : {}),
70
103
  session: input.session,
71
- }), options.nodeTimeoutMs, `Database node ${input.stepId}`, input.signal);
104
+ }), timeoutMs + DB_TIMEOUT_GRACE_MS, `Database node ${input.stepId}`, input.signal);
72
105
  if (hasExpectation) {
73
106
  return {
74
107
  rawResult: {
@@ -78,7 +111,7 @@ const buildDbExecutor = (options) => async (input) => {
78
111
  error: "expected an error but the query succeeded",
79
112
  },
80
113
  dbResult: result.rows,
81
- outputData: { rows: result.rows, rowCount: result.rowCount },
114
+ outputData: statementOutput(result),
82
115
  failureMessage: `Expected the query to fail (${[
83
116
  expectError?.sqlState ? `SQLSTATE ${expectError.sqlState}` : null,
84
117
  expectError?.messagePattern ? `message /${expectError.messagePattern}/` : null,
@@ -90,33 +123,36 @@ const buildDbExecutor = (options) => async (input) => {
90
123
  return {
91
124
  rawResult: {
92
125
  success: true,
93
- rows: result.rows,
94
- rowCount: result.rowCount,
126
+ ...statementOutput(result),
95
127
  },
96
128
  dbResult: result.rows,
97
- outputData: {
98
- rows: result.rows,
99
- rowCount: result.rowCount,
100
- },
129
+ outputData: statementOutput(result),
101
130
  failureMessage: null,
102
131
  };
103
132
  }
104
133
  catch (error) {
105
134
  const message = error instanceof Error ? error.message : String(error);
106
135
  const sqlState = (0, sqlState_js_1.extractSqlState)(error);
136
+ const dbErrorCode = (0, sqlState_js_1.extractDbErrorCode)(error);
137
+ const dbOutput = error?.dbOutput;
138
+ const failureDetails = {
139
+ ...(sqlState ? { sqlState } : {}),
140
+ ...(dbErrorCode ? { dbErrorCode } : {}),
141
+ ...(dbOutput ? { output: dbOutput } : {}),
142
+ };
107
143
  if (hasExpectation && expectError) {
108
- const { matched, mismatchReason } = (0, exports.matchDbExpectedError)(expectError, message, sqlState);
144
+ const { matched, mismatchReason } = (0, exports.matchDbExpectedError)(expectError, message, sqlState, dbErrorCode);
109
145
  if (matched) {
110
- const expectedError = { sqlState: sqlState ?? null, message };
146
+ const expectedError = { sqlState: sqlState ?? null, code: dbErrorCode ?? null, message };
111
147
  return {
112
148
  rawResult: {
113
149
  success: true,
114
150
  rows: [],
115
151
  rowCount: 0,
116
- ...(sqlState ? { sqlState } : {}),
152
+ ...failureDetails,
117
153
  },
118
154
  dbResult: null,
119
- outputData: { expectedError, rows: [], rowCount: 0 },
155
+ outputData: { expectedError, rows: [], rowCount: 0, ...(dbOutput ? { output: dbOutput } : {}) },
120
156
  failureMessage: null,
121
157
  };
122
158
  }
@@ -126,10 +162,10 @@ const buildDbExecutor = (options) => async (input) => {
126
162
  rows: [],
127
163
  rowCount: 0,
128
164
  error: message,
129
- ...(sqlState ? { sqlState } : {}),
165
+ ...failureDetails,
130
166
  },
131
167
  dbResult: null,
132
- outputData: null,
168
+ outputData: dbOutput ? { output: dbOutput } : null,
133
169
  failureMessage: `Query failed, but not as expected (${mismatchReason}). Actual error: ${message}`,
134
170
  };
135
171
  }
@@ -139,10 +175,10 @@ const buildDbExecutor = (options) => async (input) => {
139
175
  rows: [],
140
176
  rowCount: 0,
141
177
  error: message,
142
- ...(sqlState ? { sqlState } : {}),
178
+ ...failureDetails,
143
179
  },
144
180
  dbResult: null,
145
- outputData: null,
181
+ outputData: dbOutput ? { output: dbOutput } : null,
146
182
  failureMessage: sqlState
147
183
  ? `${sqlState}: ${message || "Database query failed."}`
148
184
  : message || "Database query failed.",
@@ -1 +1 @@
1
- {"version":3,"file":"db-executor.js","sourceRoot":"","sources":["../../../src/scenario-runner/adapters/db-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-executor.js","sourceRoot":"","sources":["../../../src/scenario-runner/adapters/db-executor.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  // (HTTP, DB, Redis, Kafka). Script + notification executors default to
9
9
  // canonical core implementations but can be overridden.
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.evaluateRequestNodeOutcome = exports.summarizeContractResults = exports.buildRequestFailureMessage = exports.evaluateScenarioExpectedStatus = exports.buildWebsocketExecutor = exports.buildScriptExecutor = exports.buildRequestExecutor = exports.buildRedisExecutor = exports.buildNotificationExecutor = exports.buildKafkaExecutor = exports.validateAgainstExample = exports.parseJsonExample = exports.deriveSchemaFromExample = exports.buildAiMessages = exports.buildTemporalExecutor = exports.buildAiExecutor = exports.matchDbExpectedError = exports.extractSqlState = exports.buildDbExecutor = exports.clampKafkaCaptureTimeoutMs = exports.buildKafkaCaptureTimeoutMs = exports.KAFKA_MIN_CAPTURE_TIMEOUT_MS = exports.KAFKA_MAX_CAPTURE_TIMEOUT_MS = exports.KAFKA_DEFAULT_CAPTURE_TIMEOUT_MS = exports.buildScenarioRuntimeAdapters = void 0;
11
+ exports.evaluateRequestNodeOutcome = exports.summarizeContractResults = exports.buildRequestFailureMessage = exports.evaluateScenarioExpectedStatus = exports.buildWebsocketExecutor = exports.buildScriptExecutor = exports.buildRequestExecutor = exports.buildRedisExecutor = exports.buildNotificationExecutor = exports.buildKafkaExecutor = exports.validateAgainstExample = exports.parseJsonExample = exports.deriveSchemaFromExample = exports.buildAiMessages = exports.buildTemporalExecutor = exports.buildAiExecutor = exports.matchDbExpectedError = exports.extractSqlState = exports.extractDbErrorCode = exports.buildDbStatementOutput = exports.buildDbExecutor = exports.clampKafkaCaptureTimeoutMs = exports.buildKafkaCaptureTimeoutMs = exports.KAFKA_MIN_CAPTURE_TIMEOUT_MS = exports.KAFKA_MAX_CAPTURE_TIMEOUT_MS = exports.KAFKA_DEFAULT_CAPTURE_TIMEOUT_MS = exports.buildScenarioRuntimeAdapters = void 0;
12
12
  const ai_executor_js_1 = require("./ai-executor.js");
13
13
  const db_executor_js_1 = require("./db-executor.js");
14
14
  const kafka_executor_js_1 = require("./kafka-executor.js");
@@ -53,6 +53,8 @@ Object.defineProperty(exports, "buildKafkaCaptureTimeoutMs", { enumerable: true,
53
53
  Object.defineProperty(exports, "clampKafkaCaptureTimeoutMs", { enumerable: true, get: function () { return kafka_executor_js_2.clampKafkaCaptureTimeoutMs; } });
54
54
  var db_executor_js_2 = require("./db-executor.js");
55
55
  Object.defineProperty(exports, "buildDbExecutor", { enumerable: true, get: function () { return db_executor_js_2.buildDbExecutor; } });
56
+ Object.defineProperty(exports, "buildDbStatementOutput", { enumerable: true, get: function () { return db_executor_js_2.buildDbStatementOutput; } });
57
+ Object.defineProperty(exports, "extractDbErrorCode", { enumerable: true, get: function () { return db_executor_js_2.extractDbErrorCode; } });
56
58
  Object.defineProperty(exports, "extractSqlState", { enumerable: true, get: function () { return db_executor_js_2.extractSqlState; } });
57
59
  Object.defineProperty(exports, "matchDbExpectedError", { enumerable: true, get: function () { return db_executor_js_2.matchDbExpectedError; } });
58
60
  var ai_executor_js_2 = require("./ai-executor.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scenario-runner/adapters/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,EAAE;AACF,gEAAgE;AAChE,6DAA6D;AAC7D,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,wDAAwD;;;AAIxD,qDAAmD;AACnD,qDAAmD;AACnD,2DAAyD;AACzD,yEAAuE;AACvE,2DAAyD;AACzD,+DAA6D;AAC7D,6DAA2D;AAC3D,iEAA+D;AAC/D,mEAAiE;AAI1D,MAAM,4BAA4B,GAAG,CAC1C,OAA6C,EACpB,EAAE,CAAC,CAAC;IAC7B,eAAe,EAAE,IAAA,0CAAoB,EAAC,OAAO,CAAC;IAC9C,UAAU,EAAE,IAAA,gCAAe,EAAC,OAAO,CAAC;IACpC,aAAa,EAAE,IAAA,sCAAkB,EAAC,OAAO,CAAC;IAC1C,aAAa,EAAE,IAAA,sCAAkB,EAAC,OAAO,CAAC;IAC1C,iBAAiB,EAAE,IAAA,8CAAsB,EAAC,OAAO,CAAC;IAClD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAA,wCAAmB,EAAC,OAAO,CAAC;IACtE,oBAAoB,EAClB,OAAO,CAAC,oBAAoB,IAAI,IAAA,oDAAyB,EAAC,OAAO,CAAC;IACpE,UAAU,EAAE,IAAA,gCAAe,EAAC;QAC1B,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe;QAC9C,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IACF,gBAAgB,EAAE,IAAA,4CAAqB,EAAC;QACtC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;QACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IACF,sEAAsE;IACtE,qEAAqE;IACrE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB;QACxC,CAAC,CAAC;YACE,gBAAgB,EAAE,CAAC,KAAwD,EAAE,EAAE,CAC7E,OAAO,CAAC,OAAO,CAAC,sBAAuB,CAAC,KAAK,CAAC;SACjD;QACH,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAC;AA5BU,QAAA,4BAA4B,gCA4BtC;AAEH,iEAAiE;AACjE,yDAM6B;AAL3B,qIAAA,gCAAgC,OAAA;AAChC,iIAAA,4BAA4B,OAAA;AAC5B,iIAAA,4BAA4B,OAAA;AAC5B,+HAAA,0BAA0B,OAAA;AAC1B,+HAAA,0BAA0B,OAAA;AAE5B,mDAI0B;AAHxB,iHAAA,eAAe,OAAA;AACf,iHAAA,eAAe,OAAA;AACf,sHAAA,oBAAoB,OAAA;AAEtB,mDAA2E;AAAlE,iHAAA,eAAe,OAAA;AACxB,+DAA6F;AAApF,6HAAA,qBAAqB,OAAA;AAC9B,uDAMgC;AAL9B,+GAAA,eAAe,OAAA;AACf,uHAAA,uBAAuB,OAAA;AACvB,gHAAA,gBAAgB,OAAA;AAChB,sHAAA,sBAAsB,OAAA;AAGxB,yDAAyD;AAAhD,uHAAA,kBAAkB,OAAA;AAC3B,uEAAuE;AAA9D,qIAAA,yBAAyB,OAAA;AAClC,yDAAyD;AAAhD,uHAAA,kBAAkB,OAAA;AAC3B,6DAA6D;AAApD,2HAAA,oBAAoB,OAAA;AAC7B,2DAA2D;AAAlD,yHAAA,mBAAmB,OAAA;AAC5B,iEAAiE;AAAxD,+HAAA,sBAAsB,OAAA;AAC/B,yEAAyE;AACzE,0EAA0E;AAC1E,sEAAsE;AACtE,mEAGsC;AAFpC,oIAAA,8BAA8B,OAAA;AAGhC,qEAIuC;AAHrC,iIAAA,0BAA0B,OAAA;AAC1B,+HAAA,wBAAwB,OAAA;AAG1B,2EAA2E;AAC3E,6EAA6E;AAC7E,uCAAuC;AACvC,mEAIsC;AAHpC,gIAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scenario-runner/adapters/index.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.isReservedScenarioLabel = exports.RESERVED_SCENARIO_LABELS = exports.scenarioGraphReferencesScenario = exports.mergeLinkedScenarioEnvironments = exports.createScenarioSnapshotId = exports.cloneScenarioGraphWithFreshIds = exports.buildScenarioReferenceConfig = exports.buildScenarioKafkaEventValue = exports.supportsScenarioNodeExpectedFailure = exports.supportsScenarioNodeExecutionPolicy = exports.normalizeScenarioNodeExecutionPolicy = exports.matchScenarioExpectedFailure = exports.getScenarioNodeMaxAttempts = exports.getScenarioNodeExecutionPolicy = exports.STRICT_SCENARIO_NODE_EXECUTION_POLICY = exports.SCENARIO_EXPECT_FAILURE_NODE_TYPES = exports.EXPECT_FAILURE_PATTERN_MAX_LENGTH = exports.renderNotificationTemplate = exports.buildNotificationDeliveryRequest = exports.resolveScenarioTemplateString = exports.resolveScenarioJsonTemplateString = exports.replaceScenarioTemplateTokensForJsonValidation = exports.evaluateScenarioExpression = exports.collectExclusiveBranchNodeIds = exports.buildScenarioExecutionGraph = exports.buildScenarioTemplateValues = exports.runScenarioWithDataset = exports.runScenario = void 0;
17
+ exports.isReservedScenarioLabel = exports.RESERVED_SCENARIO_LABELS = exports.scenarioGraphReferencesScenario = exports.mergeLinkedScenarioEnvironments = exports.createScenarioSnapshotId = exports.cloneScenarioGraphWithFreshIds = exports.buildScenarioReferenceConfig = exports.buildScenarioKafkaEventValue = exports.supportsScenarioNodeExpectedFailure = exports.supportsScenarioNodeExecutionPolicy = exports.normalizeScenarioNodeExecutionPolicy = exports.matchScenarioExpectedFailure = exports.getScenarioNodeMaxAttempts = exports.getScenarioNodeExecutionPolicy = exports.STRICT_SCENARIO_NODE_EXECUTION_POLICY = exports.SCENARIO_EXPECT_FAILURE_NODE_TYPES = exports.EXPECT_FAILURE_PATTERN_MAX_LENGTH = exports.renderNotificationTemplate = exports.buildNotificationDeliveryRequest = exports.resolveScenarioTemplateString = exports.resolveScenarioJsonTemplateString = exports.replaceScenarioTemplateTokensForJsonValidation = exports.evaluateScenarioExpression = exports.collectExclusiveBranchNodeIds = exports.buildScenarioExecutionGraph = exports.buildScenarioTemplateValues = exports.runScenarioWithDataset = exports.runScenario = exports.resolveDbTypedParam = void 0;
18
18
  var runScenario_js_1 = require("./runScenario.js");
19
+ Object.defineProperty(exports, "resolveDbTypedParam", { enumerable: true, get: function () { return runScenario_js_1.resolveDbTypedParam; } });
19
20
  Object.defineProperty(exports, "runScenario", { enumerable: true, get: function () { return runScenario_js_1.runScenario; } });
20
21
  var runScenarioWithDataset_js_1 = require("./runScenarioWithDataset.js");
21
22
  Object.defineProperty(exports, "runScenarioWithDataset", { enumerable: true, get: function () { return runScenarioWithDataset_js_1.runScenarioWithDataset; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scenario-runner/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,yEAAqE;AAA5D,mIAAA,sBAAsB,OAAA;AAC/B,6DAQ+B;AAP7B,kIAAA,2BAA2B,OAAA;AAC3B,kIAAA,2BAA2B,OAAA;AAC3B,oIAAA,6BAA6B,OAAA;AAC7B,iIAAA,0BAA0B,OAAA;AAC1B,qJAAA,8CAA8C,OAAA;AAC9C,wIAAA,iCAAiC,OAAA;AACjC,oIAAA,6BAA6B,OAAA;AAE/B,iEAAiE;AACjE,qEAAqE;AACrE,uEAAuE;AACvE,uEAAuE;AACvE,iCAAiC;AACjC,iDAA+B;AAC/B,2EAA2E;AAC3E,kDAAgC;AAChC,sEAAsE;AACtE,oEAAoE;AACpE,iDAA+B;AAC/B,oDAGiC;AAF/B,4HAAA,gCAAgC,OAAA;AAChC,sHAAA,0BAA0B,OAAA;AAE5B,8EAA8E;AAC9E,6EAA6E;AAC7E,iDAUyB;AATvB,kIAAA,iCAAiC,OAAA;AACjC,mIAAA,kCAAkC,OAAA;AAClC,sIAAA,qCAAqC,OAAA;AACrC,+HAAA,8BAA8B,OAAA;AAC9B,2HAAA,0BAA0B,OAAA;AAC1B,6HAAA,4BAA4B,OAAA;AAC5B,qIAAA,oCAAoC,OAAA;AACpC,oIAAA,mCAAmC,OAAA;AACnC,oIAAA,mCAAmC,OAAA;AAErC,iDAA+D;AAAtD,6HAAA,4BAA4B,OAAA;AACrC,+DAQgC;AAP9B,oIAAA,4BAA4B,OAAA;AAC5B,sIAAA,8BAA8B,OAAA;AAC9B,gIAAA,wBAAwB,OAAA;AACxB,uIAAA,+BAA+B,OAAA;AAC/B,uIAAA,+BAA+B,OAAA;AAIjC,wDAAsC;AACtC,sDAAoC;AACpC,sDAAoC;AACpC,yCAAgF;AAAvE,qHAAA,wBAAwB,OAAA;AAAE,oHAAA,uBAAuB,OAAA;AAC1D,6CAA2B;AAC3B,sDAAoC;AACpC,iDAA+B;AAC/B,6EAA6E;AAC7E,8DAA8D;AAC9D,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scenario-runner/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAAoE;AAA3D,qHAAA,mBAAmB,OAAA;AAAE,6GAAA,WAAW,OAAA;AACzC,yEAAqE;AAA5D,mIAAA,sBAAsB,OAAA;AAC/B,6DAQ+B;AAP7B,kIAAA,2BAA2B,OAAA;AAC3B,kIAAA,2BAA2B,OAAA;AAC3B,oIAAA,6BAA6B,OAAA;AAC7B,iIAAA,0BAA0B,OAAA;AAC1B,qJAAA,8CAA8C,OAAA;AAC9C,wIAAA,iCAAiC,OAAA;AACjC,oIAAA,6BAA6B,OAAA;AAE/B,iEAAiE;AACjE,qEAAqE;AACrE,uEAAuE;AACvE,uEAAuE;AACvE,iCAAiC;AACjC,iDAA+B;AAC/B,2EAA2E;AAC3E,kDAAgC;AAChC,sEAAsE;AACtE,oEAAoE;AACpE,iDAA+B;AAC/B,oDAGiC;AAF/B,4HAAA,gCAAgC,OAAA;AAChC,sHAAA,0BAA0B,OAAA;AAE5B,8EAA8E;AAC9E,6EAA6E;AAC7E,iDAUyB;AATvB,kIAAA,iCAAiC,OAAA;AACjC,mIAAA,kCAAkC,OAAA;AAClC,sIAAA,qCAAqC,OAAA;AACrC,+HAAA,8BAA8B,OAAA;AAC9B,2HAAA,0BAA0B,OAAA;AAC1B,6HAAA,4BAA4B,OAAA;AAC5B,qIAAA,oCAAoC,OAAA;AACpC,oIAAA,mCAAmC,OAAA;AACnC,oIAAA,mCAAmC,OAAA;AAErC,iDAA+D;AAAtD,6HAAA,4BAA4B,OAAA;AACrC,+DAQgC;AAP9B,oIAAA,4BAA4B,OAAA;AAC5B,sIAAA,8BAA8B,OAAA;AAC9B,gIAAA,wBAAwB,OAAA;AACxB,uIAAA,+BAA+B,OAAA;AAC/B,uIAAA,+BAA+B,OAAA;AAIjC,wDAAsC;AACtC,sDAAoC;AACpC,sDAAoC;AACpC,yCAAgF;AAAvE,qHAAA,wBAAwB,OAAA;AAAE,oHAAA,uBAAuB,OAAA;AAC1D,6CAA2B;AAC3B,sDAAoC;AACpC,iDAA+B;AAC/B,6EAA6E;AAC7E,8DAA8D;AAC9D,gDAA8B"}
@@ -169,6 +169,9 @@ const normalizeScenarioNodeExecutionPolicy = (value, fallback = exports.STRICT_S
169
169
  ...(maxDelayMs ? { maxDelayMs } : {}),
170
170
  },
171
171
  ...(expectFailure ? { expectFailure } : {}),
172
+ ...(typeof value === "object" && value !== null && "alwaysRun" in value && value.alwaysRun === true
173
+ ? { alwaysRun: true }
174
+ : {}),
172
175
  };
173
176
  };
174
177
  exports.normalizeScenarioNodeExecutionPolicy = normalizeScenarioNodeExecutionPolicy;
@@ -1 +1 @@
1
- {"version":3,"file":"nodePolicy.js","sourceRoot":"","sources":["../../src/scenario-runner/nodePolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodePolicy.js","sourceRoot":"","sources":["../../src/scenario-runner/nodePolicy.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runScenario = void 0;
3
+ exports.runScenario = exports.resolveDbTypedParam = void 0;
4
4
  const runtime_js_1 = require("../script/postman/runtime.js");
5
5
  const condition_js_1 = require("./condition.js");
6
6
  const extraction_js_1 = require("./extraction.js");
@@ -188,6 +188,20 @@ const applyVariableMutationsToContext = (context, mutations) => {
188
188
  }
189
189
  }
190
190
  };
191
+ // Template-resolves one typed param. `null` becomes SQL NULL and `boolean` a
192
+ // real boolean; everything else stays a string for the driver to bind by type.
193
+ const resolveDbTypedParam = (param, templateValues) => {
194
+ const { value: rawValue, ...rest } = param;
195
+ const resolved = (0, templateResolver_js_1.resolveScenarioTemplateString)(rawValue ?? "", templateValues);
196
+ const value = param.type === "null"
197
+ ? null
198
+ : param.type === "boolean"
199
+ ? ["true", "1", "t", "yes"].includes(resolved.trim().toLowerCase())
200
+ : resolved;
201
+ return { ...rest, value };
202
+ };
203
+ exports.resolveDbTypedParam = resolveDbTypedParam;
204
+ const isDbOutBind = (bind) => bind.direction === "out" || bind.direction === "inout" || bind.type === "cursor";
191
205
  const throwIfStopped = (signal) => {
192
206
  if (signal?.aborted) {
193
207
  throw new ScenarioStopError();
@@ -552,14 +566,20 @@ const callHandler = async (handlers, event) => {
552
566
  return;
553
567
  }
554
568
  };
555
- const runScenario = async ({ scenario, environment = {}, globals = {}, runtimeAdapters, eventHandlers, signal, minNodeVisualStateMs = DEFAULT_MIN_NODE_VISUAL_STATE_MS, eventContextMode = "full", }) => {
569
+ const runScenario = async ({ scenario, environment = {}, globals = {}, runtimeAdapters, eventHandlers, signal: runSignal, minNodeVisualStateMs = DEFAULT_MIN_NODE_VISUAL_STATE_MS, eventContextMode = "full", }) => {
570
+ // Cleared for the cleanup phase: a stopped run must still run its cleanup.
571
+ let signal = runSignal;
556
572
  // {{$randomEmail}}-style tokens are resolved by Postman's own generators.
557
573
  await (0, runtime_js_1.preloadPostmanDynamicVariables)();
558
574
  const runId = createRunId();
559
575
  const startedAtMs = Date.now();
560
576
  const startedAt = new Date(startedAtMs).toISOString();
561
577
  const graph = (0, templateResolver_js_1.buildScenarioExecutionGraph)(scenario.nodes, scenario.edges);
562
- const orderedStartNodeIds = graph.startNodeIds;
578
+ // A cleanup node without an incoming edge waits for the end of the run.
579
+ const isAlwaysRunNode = (node) => (0, nodePolicy_js_1.supportsScenarioNodeExecutionPolicy)(node) &&
580
+ (0, nodePolicy_js_1.getScenarioNodeExecutionPolicy)(node).alwaysRun === true;
581
+ const alwaysRunNodeIds = new Set(scenario.nodes.filter(isAlwaysRunNode).map((node) => node.id));
582
+ const orderedStartNodeIds = graph.startNodeIds.filter((nodeId) => !alwaysRunNodeIds.has(nodeId));
563
583
  const runtimeStepDescriptors = (0, graphTraversal_js_1.buildRuntimeStepDescriptors)(scenario.nodes);
564
584
  const runtimeStepIds = runtimeStepDescriptors.map((entry) => entry.stepId);
565
585
  const localStatuses = new Map(runtimeStepIds.map((stepId) => [stepId, "idle"]));
@@ -1033,21 +1053,19 @@ const runScenario = async ({ scenario, environment = {}, globals = {}, runtimeAd
1033
1053
  // `boolean` → real boolean; everything else stays a string and
1034
1054
  // relies on server-side casts (see DbScenarioParamType docs).
1035
1055
  const typedParams = node.data.config.typedParams;
1036
- const resolvedParams = typedParams
1037
- ? typedParams.map((param) => {
1038
- if (param.type === "null")
1039
- return null;
1040
- const resolved = (0, templateResolver_js_1.resolveScenarioTemplateString)(param.value ?? "", templateValues);
1041
- if (param.type === "boolean") {
1042
- return ["true", "1", "t", "yes"].includes(resolved.trim().toLowerCase());
1043
- }
1044
- return resolved;
1045
- })
1056
+ const resolvedBinds = typedParams?.map((param) => (0, exports.resolveDbTypedParam)(param, templateValues));
1057
+ const resolvedParams = resolvedBinds
1058
+ ? resolvedBinds
1059
+ .filter((bind) => bind.direction !== "out" && bind.type !== "cursor")
1060
+ .map((bind) => bind.value)
1046
1061
  : (node.data.config.params ?? []).map((param) => (0, templateResolver_js_1.resolveScenarioTemplateString)(param, templateValues));
1047
1062
  resolvedInput = {
1048
1063
  connectionId: node.data.config.connectionId,
1049
1064
  query: resolvedQuery,
1050
1065
  params: resolvedParams,
1066
+ ...(resolvedBinds?.some((bind) => bind.name || isDbOutBind(bind))
1067
+ ? { binds: resolvedBinds }
1068
+ : {}),
1051
1069
  useSession: Boolean(node.data.config.useSession),
1052
1070
  };
1053
1071
  const dbResult = await runtimeAdapters.dbExecutor({
@@ -1056,6 +1074,7 @@ const runScenario = async ({ scenario, environment = {}, globals = {}, runtimeAd
1056
1074
  node,
1057
1075
  resolvedQuery,
1058
1076
  resolvedParams,
1077
+ ...(resolvedBinds ? { resolvedBinds } : {}),
1059
1078
  ...(node.data.config.useSession
1060
1079
  ? {
1061
1080
  session: {
@@ -2767,11 +2786,27 @@ const runScenario = async ({ scenario, environment = {}, globals = {}, runtimeAd
2767
2786
  at: startedAt,
2768
2787
  });
2769
2788
  let finalStatus = "success";
2789
+ // Runs every cleanup node the run did not reach, in scenario order. Runs
2790
+ // before the DB sessions are released, so it can work inside the transaction.
2791
+ // A failing cleanup never hides the failure that brought the run here, and it
2792
+ // does not stop the cleanups after it.
2793
+ const runAlwaysRunNodes = async () => {
2794
+ signal = undefined;
2795
+ for (const nodeId of alwaysRunNodeIds) {
2796
+ try {
2797
+ await executeNode(nodeId, null, { force: true });
2798
+ }
2799
+ catch {
2800
+ degradedStepIds.add(rootScope.stepIdForNode(nodeId));
2801
+ }
2802
+ }
2803
+ };
2770
2804
  try {
2771
2805
  for (const startNodeId of orderedStartNodeIds) {
2772
2806
  throwIfStopped(signal);
2773
2807
  await executeNode(startNodeId, null);
2774
2808
  }
2809
+ await runAlwaysRunNodes();
2775
2810
  await markRemainingNodesSkipped("Node was not reached during this run.");
2776
2811
  finalStatus = degradedStepIds.size > 0 ? "completed_with_failures" : "success";
2777
2812
  const endedAt = new Date().toISOString();
@@ -2795,6 +2830,7 @@ const runScenario = async ({ scenario, environment = {}, globals = {}, runtimeAd
2795
2830
  }
2796
2831
  catch (error) {
2797
2832
  const isStopped = error instanceof ScenarioStopError || Boolean(signal?.aborted);
2833
+ await runAlwaysRunNodes();
2798
2834
  await markRemainingNodesSkipped(isStopped ? "Skipped because execution was stopped." : "Skipped after failure.");
2799
2835
  finalStatus = isStopped ? "stopped" : "failed";
2800
2836
  const endedAt = new Date().toISOString();