callman-core 1.44.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.
- package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -1
- package/dist/ai/prompts/scenarioNodeReference.js +17 -6
- package/dist/ai/prompts/scenarioNodeReference.js.map +1 -1
- package/dist/host/connections.d.ts.map +1 -1
- package/dist/host/connections.js +7 -0
- package/dist/host/connections.js.map +1 -1
- package/dist/host/db/db-query-reference.d.ts.map +1 -1
- package/dist/host/db/db-query-reference.js +22 -5
- package/dist/host/db/db-query-reference.js.map +1 -1
- package/dist/host/db/dbBinds.d.ts +20 -0
- package/dist/host/db/dbBinds.d.ts.map +1 -0
- package/dist/host/db/dbBinds.js +61 -0
- package/dist/host/db/dbBinds.js.map +1 -0
- package/dist/host/db/dbSessionManager.d.ts +13 -0
- package/dist/host/db/dbSessionManager.d.ts.map +1 -0
- package/dist/host/db/dbSessionManager.js +165 -0
- package/dist/host/db/dbSessionManager.js.map +1 -0
- package/dist/host/db/introspection/index.d.ts +1 -0
- package/dist/host/db/introspection/index.d.ts.map +1 -1
- package/dist/host/db/introspection/index.js +1 -0
- package/dist/host/db/introspection/index.js.map +1 -1
- package/dist/host/db/introspection/routines.d.ts +38 -0
- package/dist/host/db/introspection/routines.d.ts.map +1 -0
- package/dist/host/db/introspection/routines.js +439 -0
- package/dist/host/db/introspection/routines.js.map +1 -0
- package/dist/host/db/mssqlAdapter.d.ts +10 -4
- package/dist/host/db/mssqlAdapter.d.ts.map +1 -1
- package/dist/host/db/mssqlAdapter.js +144 -34
- package/dist/host/db/mssqlAdapter.js.map +1 -1
- package/dist/host/db/mysqlAdapter.d.ts +10 -4
- package/dist/host/db/mysqlAdapter.d.ts.map +1 -1
- package/dist/host/db/mysqlAdapter.js +66 -16
- package/dist/host/db/mysqlAdapter.js.map +1 -1
- package/dist/host/db/oracleAdapter.d.ts +10 -4
- package/dist/host/db/oracleAdapter.d.ts.map +1 -1
- package/dist/host/db/oracleAdapter.js +301 -28
- package/dist/host/db/oracleAdapter.js.map +1 -1
- package/dist/host/db/pgClientConfig.d.ts +10 -1
- package/dist/host/db/pgClientConfig.d.ts.map +1 -1
- package/dist/host/db/pgClientConfig.js +59 -0
- package/dist/host/db/pgClientConfig.js.map +1 -1
- package/dist/host/db/pgSession.d.ts +11 -0
- package/dist/host/db/pgSession.d.ts.map +1 -0
- package/dist/host/db/pgSession.js +62 -0
- package/dist/host/db/pgSession.js.map +1 -0
- package/dist/host/db/pgSessionManager.d.ts +5 -14
- package/dist/host/db/pgSessionManager.d.ts.map +1 -1
- package/dist/host/db/pgSessionManager.js +9 -161
- package/dist/host/db/pgSessionManager.js.map +1 -1
- package/dist/host/db/postgresAdapter.d.ts +2 -4
- package/dist/host/db/postgresAdapter.d.ts.map +1 -1
- package/dist/host/db/postgresAdapter.js +26 -6
- package/dist/host/db/postgresAdapter.js.map +1 -1
- package/dist/host/db/queryExecutor.d.ts +2 -4
- package/dist/host/db/queryExecutor.d.ts.map +1 -1
- package/dist/host/db/queryExecutor.js +35 -23
- package/dist/host/db/queryExecutor.js.map +1 -1
- package/dist/host/db/sqlState.d.ts +1 -0
- package/dist/host/db/sqlState.d.ts.map +1 -1
- package/dist/host/db/sqlState.js +20 -0
- package/dist/host/db/sqlState.js.map +1 -1
- package/dist/host/db/types.d.ts +38 -0
- package/dist/host/db/types.d.ts.map +1 -1
- package/dist/host/index.d.ts +5 -3
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +8 -6
- package/dist/host/index.js.map +1 -1
- package/dist/scenario-runner/adapters/db-executor.d.ts +17 -3
- package/dist/scenario-runner/adapters/db-executor.d.ts.map +1 -1
- package/dist/scenario-runner/adapters/db-executor.js +57 -22
- package/dist/scenario-runner/adapters/db-executor.js.map +1 -1
- package/dist/scenario-runner/adapters/index.d.ts +1 -1
- package/dist/scenario-runner/adapters/index.d.ts.map +1 -1
- package/dist/scenario-runner/adapters/index.js +1 -1
- package/dist/scenario-runner/adapters/index.js.map +1 -1
- package/dist/scenario-runner/adapters/types.d.ts +7 -0
- package/dist/scenario-runner/adapters/types.d.ts.map +1 -1
- package/dist/scenario-runner/index.d.ts +1 -1
- package/dist/scenario-runner/index.d.ts.map +1 -1
- package/dist/scenario-runner/index.js +1 -1
- package/dist/scenario-runner/index.js.map +1 -1
- package/dist/scenario-runner/nodePolicy.d.ts.map +1 -1
- package/dist/scenario-runner/nodePolicy.js +3 -0
- package/dist/scenario-runner/nodePolicy.js.map +1 -1
- package/dist/scenario-runner/runScenario.d.ts +4 -2
- package/dist/scenario-runner/runScenario.d.ts.map +1 -1
- package/dist/scenario-runner/runScenario.js +47 -12
- package/dist/scenario-runner/runScenario.js.map +1 -1
- package/dist/scenario-runner/runScenarioWithDataset.d.ts.map +1 -1
- package/dist/scenario-runner/runScenarioWithDataset.js +65 -1
- package/dist/scenario-runner/runScenarioWithDataset.js.map +1 -1
- package/dist/scenario-runner/types.d.ts +21 -1
- package/dist/scenario-runner/types.d.ts.map +1 -1
- package/dist/script/features/db.d.ts +7 -0
- package/dist/script/features/db.d.ts.map +1 -1
- package/dist/script/features/db.js +8 -1
- package/dist/script/features/db.js.map +1 -1
- package/dist/script/pm-api-declarations.d.ts.map +1 -1
- package/dist/script/pm-api-declarations.js +24 -0
- package/dist/script/pm-api-declarations.js.map +1 -1
- package/dist/script/pm-api-metadata.js +1 -1
- package/dist/script/pm-api-metadata.js.map +1 -1
- package/dist/script/types.d.ts +7 -0
- package/dist/script/types.d.ts.map +1 -1
- package/dist-cjs/ai/prompts/scenarioNodeReference.js +17 -6
- package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -1
- package/dist-cjs/host/connections.js +7 -0
- package/dist-cjs/host/connections.js.map +1 -1
- package/dist-cjs/host/db/db-query-reference.js +22 -5
- package/dist-cjs/host/db/db-query-reference.js.map +1 -1
- package/dist-cjs/host/db/dbBinds.js +71 -0
- package/dist-cjs/host/db/dbBinds.js.map +1 -0
- package/dist-cjs/host/db/dbSessionManager.js +172 -0
- package/dist-cjs/host/db/dbSessionManager.js.map +1 -0
- package/dist-cjs/host/db/introspection/index.js +4 -1
- package/dist-cjs/host/db/introspection/index.js.map +1 -1
- package/dist-cjs/host/db/introspection/routines.js +444 -0
- package/dist-cjs/host/db/introspection/routines.js.map +1 -0
- package/dist-cjs/host/db/mssqlAdapter.js +146 -35
- package/dist-cjs/host/db/mssqlAdapter.js.map +1 -1
- package/dist-cjs/host/db/mysqlAdapter.js +68 -17
- package/dist-cjs/host/db/mysqlAdapter.js.map +1 -1
- package/dist-cjs/host/db/oracleAdapter.js +303 -29
- package/dist-cjs/host/db/oracleAdapter.js.map +1 -1
- package/dist-cjs/host/db/pgClientConfig.js +61 -1
- package/dist-cjs/host/db/pgClientConfig.js.map +1 -1
- package/dist-cjs/host/db/pgSession.js +67 -0
- package/dist-cjs/host/db/pgSession.js.map +1 -0
- package/dist-cjs/host/db/pgSessionManager.js +10 -166
- package/dist-cjs/host/db/pgSessionManager.js.map +1 -1
- package/dist-cjs/host/db/postgresAdapter.js +25 -5
- package/dist-cjs/host/db/postgresAdapter.js.map +1 -1
- package/dist-cjs/host/db/queryExecutor.js +34 -22
- package/dist-cjs/host/db/queryExecutor.js.map +1 -1
- package/dist-cjs/host/db/sqlState.js +22 -1
- package/dist-cjs/host/db/sqlState.js.map +1 -1
- package/dist-cjs/host/index.js +15 -6
- package/dist-cjs/host/index.js.map +1 -1
- package/dist-cjs/scenario-runner/adapters/db-executor.js +57 -21
- package/dist-cjs/scenario-runner/adapters/db-executor.js.map +1 -1
- package/dist-cjs/scenario-runner/adapters/index.js +3 -1
- package/dist-cjs/scenario-runner/adapters/index.js.map +1 -1
- package/dist-cjs/scenario-runner/index.js +2 -1
- package/dist-cjs/scenario-runner/index.js.map +1 -1
- package/dist-cjs/scenario-runner/nodePolicy.js +3 -0
- package/dist-cjs/scenario-runner/nodePolicy.js.map +1 -1
- package/dist-cjs/scenario-runner/runScenario.js +49 -13
- package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
- package/dist-cjs/scenario-runner/runScenarioWithDataset.js +65 -1
- package/dist-cjs/scenario-runner/runScenarioWithDataset.js.map +1 -1
- package/dist-cjs/script/features/db.js +8 -1
- package/dist-cjs/script/features/db.js.map +1 -1
- package/dist-cjs/script/pm-api-declarations.js +24 -0
- package/dist-cjs/script/pm-api-declarations.js.map +1 -1
- package/dist-cjs/script/pm-api-metadata.js +1 -1
- package/dist-cjs/script/pm-api-metadata.js.map +1 -1
- 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
|
|
47
|
+
if (wantedState && !matchesExpectedCode(wantedState, message, sqlState, dbErrorCode)) {
|
|
23
48
|
return {
|
|
24
49
|
matched: false,
|
|
25
|
-
mismatchReason:
|
|
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
|
-
}),
|
|
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:
|
|
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
|
-
|
|
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
|
-
...
|
|
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
|
-
...
|
|
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
|
-
...
|
|
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":";AAAA,wEAAwE;AACxE,uEAAuE;AACvE,wEAAwE;AACxE,oEAAoE;AACpE,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,wEAAwE;AACxE,oEAAoE;AACpE,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
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();
|