neuron-inspector 1.2.1 → 1.3.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 (85) hide show
  1. package/dist/collections/assertions.js +11 -0
  2. package/dist/collections/assertions.js.map +1 -1
  3. package/dist/collections/dynamic-vars-core.d.ts +79 -0
  4. package/dist/collections/dynamic-vars-core.js +214 -0
  5. package/dist/collections/dynamic-vars-core.js.map +1 -0
  6. package/dist/collections/dynamic-vars.d.ts +2 -61
  7. package/dist/collections/dynamic-vars.js +6 -146
  8. package/dist/collections/dynamic-vars.js.map +1 -1
  9. package/dist/collections/encoding.d.ts +3 -0
  10. package/dist/collections/encoding.js +20 -0
  11. package/dist/collections/encoding.js.map +1 -0
  12. package/dist/collections/executor.d.ts +114 -5
  13. package/dist/collections/executor.js +315 -91
  14. package/dist/collections/executor.js.map +1 -1
  15. package/dist/collections/index.d.ts +11 -3
  16. package/dist/collections/index.js +7 -1
  17. package/dist/collections/index.js.map +1 -1
  18. package/dist/collections/masking.d.ts +42 -0
  19. package/dist/collections/masking.js +188 -0
  20. package/dist/collections/masking.js.map +1 -0
  21. package/dist/collections/resolver-core.d.ts +74 -0
  22. package/dist/collections/resolver-core.js +309 -0
  23. package/dist/collections/resolver-core.js.map +1 -0
  24. package/dist/collections/resolver.d.ts +9 -62
  25. package/dist/collections/resolver.js +21 -281
  26. package/dist/collections/resolver.js.map +1 -1
  27. package/dist/collections/scenario-run.d.ts +33 -0
  28. package/dist/collections/scenario-run.js +68 -0
  29. package/dist/collections/scenario-run.js.map +1 -0
  30. package/dist/collections/script-api.d.ts +18 -0
  31. package/dist/collections/script-api.js +208 -0
  32. package/dist/collections/script-api.js.map +1 -0
  33. package/dist/collections/scripts.d.ts +1 -8
  34. package/dist/collections/scripts.js +6 -196
  35. package/dist/collections/scripts.js.map +1 -1
  36. package/dist/collections/slug.d.ts +2 -0
  37. package/dist/collections/slug.js +8 -0
  38. package/dist/collections/slug.js.map +1 -0
  39. package/dist/collections/store.d.ts +5 -2
  40. package/dist/collections/store.js +6 -6
  41. package/dist/collections/store.js.map +1 -1
  42. package/dist/collections/tools.d.ts +8 -1
  43. package/dist/collections/tools.js +253 -90
  44. package/dist/collections/tools.js.map +1 -1
  45. package/dist/collections/types.d.ts +42 -3
  46. package/dist/correlation.js +10 -0
  47. package/dist/correlation.js.map +1 -1
  48. package/dist/extension-slot.d.ts +45 -0
  49. package/dist/extension-slot.js +81 -0
  50. package/dist/extension-slot.js.map +1 -0
  51. package/dist/monitor.d.ts +5 -0
  52. package/dist/monitor.js +7 -2
  53. package/dist/monitor.js.map +1 -1
  54. package/dist/server.js +113 -25
  55. package/dist/server.js.map +1 -1
  56. package/dist/tools.js +1 -1
  57. package/dist/tools.js.map +1 -1
  58. package/package.json +3 -2
  59. package/dist/collections/__tests__/assertions.test.d.ts +0 -1
  60. package/dist/collections/__tests__/assertions.test.js +0 -203
  61. package/dist/collections/__tests__/assertions.test.js.map +0 -1
  62. package/dist/collections/__tests__/dynamic-vars.test.d.ts +0 -1
  63. package/dist/collections/__tests__/dynamic-vars.test.js +0 -169
  64. package/dist/collections/__tests__/dynamic-vars.test.js.map +0 -1
  65. package/dist/collections/__tests__/execution.test.d.ts +0 -1
  66. package/dist/collections/__tests__/execution.test.js +0 -271
  67. package/dist/collections/__tests__/execution.test.js.map +0 -1
  68. package/dist/collections/__tests__/integration.test.d.ts +0 -1
  69. package/dist/collections/__tests__/integration.test.js +0 -478
  70. package/dist/collections/__tests__/integration.test.js.map +0 -1
  71. package/dist/collections/__tests__/merge.test.d.ts +0 -1
  72. package/dist/collections/__tests__/merge.test.js +0 -411
  73. package/dist/collections/__tests__/merge.test.js.map +0 -1
  74. package/dist/collections/__tests__/resolver.test.d.ts +0 -1
  75. package/dist/collections/__tests__/resolver.test.js +0 -282
  76. package/dist/collections/__tests__/resolver.test.js.map +0 -1
  77. package/dist/collections/__tests__/scenario.test.d.ts +0 -1
  78. package/dist/collections/__tests__/scenario.test.js +0 -367
  79. package/dist/collections/__tests__/scenario.test.js.map +0 -1
  80. package/dist/collections/__tests__/scripts.test.d.ts +0 -1
  81. package/dist/collections/__tests__/scripts.test.js +0 -245
  82. package/dist/collections/__tests__/scripts.test.js.map +0 -1
  83. package/dist/collections/__tests__/store.test.d.ts +0 -1
  84. package/dist/collections/__tests__/store.test.js +0 -313
  85. package/dist/collections/__tests__/store.test.js.map +0 -1
@@ -1,44 +1,83 @@
1
- import { buildResolvedRequest, checkUnresolved } from "./resolver.js";
2
- import { dotGet } from "./assertions.js";
1
+ import { buildResolvedRequest, checkUnresolved, resolveDeep, withInputResolver } from "./resolver-core.js";
2
+ import { dotGet, extractCheckValue } from "./assertions.js";
3
+ import { SecretMasker, extractRule } from "./masking.js";
4
+ // ── Templated expectations ──────────────────────────────────────
5
+ const PURE_TEMPLATE = /^\{\{[^}]+\}\}$/;
6
+ /**
7
+ * Resolve {{var}} in each assertion's `expect` (each element for array expects)
8
+ * with the same resolver chain as requests. A value that was a single
9
+ * template and resolves to the string form of a non-string actual (e.g.
10
+ * "42" vs 42) takes the actual's type, since templates always yield strings.
11
+ */
12
+ export function resolveAssertionTemplates(assertions, target, pipeline, context) {
13
+ const steps = withInputResolver(pipeline);
14
+ return assertions.map((a) => {
15
+ if (a.expect === undefined)
16
+ return a;
17
+ const actual = extractCheckValue(target, a.check);
18
+ const one = (v) => {
19
+ if (typeof v !== "string" || !v.includes("{{"))
20
+ return v;
21
+ const resolved = resolveDeep(v, steps, context);
22
+ if (PURE_TEMPLATE.test(v.trim()) && actual !== null && typeof actual !== "string" && typeof actual !== "object" && String(actual) === resolved) {
23
+ return actual;
24
+ }
25
+ return resolved;
26
+ };
27
+ const expect = Array.isArray(a.expect) ? a.expect.map(one) : one(a.expect);
28
+ return { ...a, expect };
29
+ });
30
+ }
3
31
  // ── Single endpoint execution ───────────────────────────────────
4
32
  export async function executeEndpoint(opts) {
5
33
  let { collection, environment, folder, endpoint, httpExecutor, pipeline, assertionEvaluator, scriptRunner, extracted } = opts;
34
+ const inputs = opts.inputs ?? {};
35
+ const environmentName = opts.environmentName ?? collection.active_environment ?? "";
6
36
  let scriptVars = {};
7
37
  let preScriptLogs;
8
- // Run pre-request script
9
- if (scriptRunner && endpoint.pre_request) {
10
- const preResult = scriptRunner.runPreRequest(endpoint.pre_request, {
11
- variables: { ...(extracted ?? {}) },
12
- request: {
13
- method: endpoint.method,
14
- path: endpoint.path,
15
- headers: { ...(endpoint.headers ?? {}) },
16
- body: endpoint.body,
17
- cookies: { ...(endpoint.cookies ?? {}) },
18
- },
19
- environment: {
20
- name: collection.active_environment ?? "",
21
- base_url: environment.base_url,
22
- variables: environment.variables,
23
- },
24
- });
25
- scriptVars = preResult.variables;
26
- if (preResult.logs?.length)
27
- preScriptLogs = preResult.logs;
28
- // Apply mutations from pre-request script to the endpoint
29
- if (preResult.mutations) {
30
- const m = preResult.mutations;
31
- if (m.method)
32
- endpoint = { ...endpoint, method: m.method };
33
- if (m.path)
34
- endpoint = { ...endpoint, path: m.path };
35
- if (m.headers)
36
- endpoint = { ...endpoint, headers: { ...(endpoint.headers ?? {}), ...m.headers } };
37
- if (m.body !== undefined)
38
- endpoint = { ...endpoint, body: m.body };
39
- if (m.cookies)
40
- endpoint = { ...endpoint, cookies: { ...(endpoint.cookies ?? {}), ...m.cookies } };
38
+ // Run pre-request scripts: collection defaults first, then the endpoint's own,
39
+ // so the endpoint sees (and can override) whatever the defaults set.
40
+ const preScripts = [collection.defaults?.pre_request, endpoint.pre_request].filter((sc) => !!sc && (!!sc.code || !!sc.set || !!sc.extract));
41
+ if (scriptRunner && preScripts.length) {
42
+ let variables = { ...inputs, ...(extracted ?? {}) };
43
+ const logs = [];
44
+ for (const script of preScripts) {
45
+ const preResult = await scriptRunner.runPreRequest(script, {
46
+ variables,
47
+ request: {
48
+ method: endpoint.method,
49
+ path: endpoint.path,
50
+ headers: { ...(endpoint.headers ?? {}) },
51
+ body: endpoint.body,
52
+ cookies: { ...(endpoint.cookies ?? {}) },
53
+ },
54
+ environment: {
55
+ name: environmentName,
56
+ base_url: environment.base_url,
57
+ variables: environment.variables,
58
+ },
59
+ });
60
+ variables = preResult.variables;
61
+ if (preResult.logs?.length)
62
+ logs.push(...preResult.logs);
63
+ // Apply mutations from this script before the next one sees the request
64
+ if (preResult.mutations) {
65
+ const m = preResult.mutations;
66
+ if (m.method)
67
+ endpoint = { ...endpoint, method: m.method };
68
+ if (m.path)
69
+ endpoint = { ...endpoint, path: m.path };
70
+ if (m.headers)
71
+ endpoint = { ...endpoint, headers: { ...(endpoint.headers ?? {}), ...m.headers } };
72
+ if (m.body !== undefined)
73
+ endpoint = { ...endpoint, body: m.body };
74
+ if (m.cookies)
75
+ endpoint = { ...endpoint, cookies: { ...(endpoint.cookies ?? {}), ...m.cookies } };
76
+ }
41
77
  }
78
+ scriptVars = variables;
79
+ if (logs.length)
80
+ preScriptLogs = logs;
42
81
  }
43
82
  // Build resolved request (includes script-set vars)
44
83
  const resolved = buildResolvedRequest({
@@ -49,13 +88,15 @@ export async function executeEndpoint(opts) {
49
88
  pipeline,
50
89
  extracted,
51
90
  scriptVars,
91
+ inputs,
52
92
  });
93
+ const requestView = { url: resolved.url, method: resolved.method, headers: resolved.headers, body: resolved.body };
53
94
  // Check for unresolved variables (skip $-prefixed dynamic vars that returned placeholder text)
54
95
  const unresolved = checkUnresolved(resolved);
55
96
  if (unresolved.length > 0) {
56
97
  return {
57
98
  endpoint: { method: endpoint.method, path: endpoint.path, name: endpoint.name },
58
- request: { url: resolved.url, method: resolved.method },
99
+ request: requestView,
59
100
  response: { status: 0, statusText: "error", headers: {}, body: null, timing: { total_ms: 0, ttfb_ms: 0 } },
60
101
  error: `Unresolved variables: ${unresolved.join(", ")}`,
61
102
  };
@@ -81,49 +122,71 @@ export async function executeEndpoint(opts) {
81
122
  // Run post-response script
82
123
  let postScriptTests;
83
124
  let postScriptLogs;
84
- if (scriptRunner && endpoint.post_response) {
85
- const postResult = scriptRunner.runPostResponse(endpoint.post_response, target, {
86
- variables: { ...(extracted ?? {}), ...scriptVars },
87
- request: {
88
- method: endpoint.method,
89
- path: endpoint.path,
90
- headers: { ...(endpoint.headers ?? {}) },
91
- body: endpoint.body,
92
- cookies: { ...(endpoint.cookies ?? {}) },
93
- },
94
- environment: {
95
- name: collection.active_environment ?? "",
96
- base_url: environment.base_url,
97
- variables: environment.variables,
98
- },
99
- });
100
- Object.assign(scriptVars, postResult.variables);
101
- if (postResult.tests?.length)
102
- postScriptTests = postResult.tests;
103
- if (postResult.logs?.length)
104
- postScriptLogs = postResult.logs;
125
+ const postScripts = [collection.defaults?.post_response, endpoint.post_response].filter((sc) => !!sc && (!!sc.code || !!sc.set || !!sc.extract));
126
+ if (scriptRunner && postScripts.length) {
127
+ const tests = [];
128
+ const logs = [];
129
+ for (const script of postScripts) {
130
+ const postResult = await scriptRunner.runPostResponse(script, target, {
131
+ variables: { ...inputs, ...(extracted ?? {}), ...scriptVars },
132
+ request: {
133
+ method: endpoint.method,
134
+ path: endpoint.path,
135
+ headers: { ...(endpoint.headers ?? {}) },
136
+ body: endpoint.body,
137
+ cookies: { ...(endpoint.cookies ?? {}) },
138
+ },
139
+ environment: {
140
+ name: environmentName,
141
+ base_url: environment.base_url,
142
+ variables: environment.variables,
143
+ },
144
+ });
145
+ Object.assign(scriptVars, postResult.variables);
146
+ if (postResult.tests?.length)
147
+ tests.push(...postResult.tests);
148
+ if (postResult.logs?.length)
149
+ logs.push(...postResult.logs);
150
+ }
151
+ if (tests.length)
152
+ postScriptTests = tests;
153
+ if (logs.length)
154
+ postScriptLogs = logs;
105
155
  }
106
156
  // Run assertions
107
157
  let assertions;
108
158
  if (endpoint.tests?.length) {
109
- assertions = endpoint.tests.map((t) => assertionEvaluator.evaluate(t, target));
159
+ const ctx = { environment, collection, folder, endpoint, extracted: extracted ?? {}, scriptVars, inputs };
160
+ assertions = resolveAssertionTemplates(endpoint.tests, target, pipeline, ctx)
161
+ .map((t) => assertionEvaluator.evaluate(t, target));
110
162
  }
111
163
  // Extract variables
112
164
  let extractedVars;
113
165
  if (endpoint.extract) {
114
166
  extractedVars = {};
115
- for (const [varName, path] of Object.entries(endpoint.extract)) {
116
- const value = dotGet(parsedBody, path.replace(/^body\./, ""));
167
+ for (const [varName, raw] of Object.entries(endpoint.extract)) {
168
+ const rule = extractRule(raw);
169
+ if (!rule)
170
+ continue;
171
+ const value = dotGet(parsedBody, rule.path.replace(/^body\./, ""));
117
172
  if (value !== undefined && value !== null) {
118
173
  extractedVars[varName] = String(value);
174
+ if (rule.mask)
175
+ opts.onSecret?.(String(value));
119
176
  }
120
177
  }
121
178
  }
122
179
  // Merge script logs
123
180
  const allLogs = [...(preScriptLogs ?? []), ...(postScriptLogs ?? [])];
181
+ // Script vars start as a copy of their input variables; only hand back what
182
+ // the scripts actually set, so run inputs aren't re-exported as "extracted".
183
+ for (const [k, v] of Object.entries(inputs)) {
184
+ if (scriptVars[k] === v && extracted?.[k] !== v)
185
+ delete scriptVars[k];
186
+ }
124
187
  return {
125
188
  endpoint: { method: endpoint.method, path: endpoint.path, name: endpoint.name },
126
- request: { url: resolved.url, method: resolved.method },
189
+ request: requestView,
127
190
  response: {
128
191
  status: response.status,
129
192
  statusText: response.statusText,
@@ -160,6 +223,9 @@ export async function executeFolder(opts) {
160
223
  assertionEvaluator,
161
224
  scriptRunner,
162
225
  extracted,
226
+ environmentName: opts.environmentName,
227
+ inputs: opts.inputs,
228
+ onSecret: opts.onSecret,
163
229
  });
164
230
  // Accumulate extracted variables for subsequent endpoints
165
231
  if (result.extracted) {
@@ -197,6 +263,9 @@ export async function executeCollection(opts) {
197
263
  pipeline,
198
264
  assertionEvaluator,
199
265
  scriptRunner,
266
+ environmentName: opts.environmentName,
267
+ inputs: opts.inputs,
268
+ onSecret: opts.onSecret,
200
269
  });
201
270
  folders.push(result);
202
271
  totalPassed += result.passed;
@@ -205,7 +274,7 @@ export async function executeCollection(opts) {
205
274
  }
206
275
  return {
207
276
  collection: collectionId,
208
- environment: collection.active_environment ?? "unknown",
277
+ environment: opts.environmentName ?? collection.active_environment ?? "unknown",
209
278
  folders,
210
279
  total_passed: totalPassed,
211
280
  total_failed: totalFailed,
@@ -213,41 +282,111 @@ export async function executeCollection(opts) {
213
282
  };
214
283
  }
215
284
  // ── Scenario execution ──────────────────────────────────────────
216
- function resolveStepRef(collection, ref) {
217
- // ref format: "folder/endpoint-name"
218
- const slashIdx = ref.indexOf("/");
219
- if (slashIdx < 0)
220
- return null;
221
- const folderKey = ref.slice(0, slashIdx);
222
- const endpointName = ref.slice(slashIdx + 1);
223
- const folder = collection.folders?.[folderKey];
224
- if (!folder)
225
- return null;
226
- const endpoint = folder.endpoints?.find((ep) => ep.name === endpointName);
227
- if (!endpoint)
228
- return null;
229
- return { folderKey, folder, endpoint };
285
+ /**
286
+ * Resolve a scenario step ref. Accepted forms, tried in order:
287
+ * "folder/<endpoint name>"
288
+ * "folder/METHOD /path" (method is case-insensitive)
289
+ * Folder keys may themselves contain "/", so the longest matching folder wins.
290
+ * More than one matching endpoint is an error, never a guess.
291
+ */
292
+ export function resolveStepRef(collection, ref) {
293
+ const folders = collection.folders ?? {};
294
+ const candidates = Object.keys(folders)
295
+ .filter((key) => ref.startsWith(`${key}/`))
296
+ .sort((a, b) => b.length - a.length);
297
+ if (candidates.length === 0) {
298
+ const slash = ref.indexOf("/");
299
+ if (slash < 0)
300
+ return { error: `Step ref '${ref}' must look like 'folder/endpoint-name' or 'folder/METHOD /path'` };
301
+ return { error: `Could not resolve step ref '${ref}': no folder '${ref.slice(0, slash)}'` };
302
+ }
303
+ for (const folderKey of candidates) {
304
+ const folder = folders[folderKey];
305
+ const rest = ref.slice(folderKey.length + 1).trim();
306
+ const endpoints = folder.endpoints ?? [];
307
+ const byName = endpoints.filter((ep) => ep.name === rest);
308
+ if (byName.length === 1)
309
+ return { folderKey, folder, endpoint: byName[0] };
310
+ if (byName.length > 1) {
311
+ return { error: `Step ref '${ref}' is ambiguous: ${byName.length} endpoints in '${folderKey}' are named '${rest}'` };
312
+ }
313
+ const m = /^([A-Za-z]+)\s+(\S.*)$/.exec(rest);
314
+ if (m) {
315
+ const method = m[1].toUpperCase();
316
+ const path = m[2].trim();
317
+ const byRoute = endpoints.filter((ep) => ep.method.toUpperCase() === method && ep.path === path);
318
+ if (byRoute.length === 1)
319
+ return { folderKey, folder, endpoint: byRoute[0] };
320
+ if (byRoute.length > 1) {
321
+ const names = byRoute.map((ep) => ep.name).join(", ");
322
+ return { error: `Step ref '${ref}' is ambiguous: ${byRoute.length} endpoints in '${folderKey}' are ${method} ${path} (${names}). Use 'folder/<endpoint name>'.` };
323
+ }
324
+ }
325
+ }
326
+ return { error: `Could not resolve step ref '${ref}'` };
230
327
  }
328
+ function failedStep(step, ref, error) {
329
+ return {
330
+ step,
331
+ ref,
332
+ endpoint: { method: "?", path: "?", name: ref },
333
+ request: { url: "", method: "" },
334
+ response: { status: 0, statusText: "error", headers: {}, body: null, timing: { total_ms: 0, ttfb_ms: 0 } },
335
+ error,
336
+ };
337
+ }
338
+ export const POLL_DEFAULTS = { interval_ms: 2000, max_attempts: 10 };
339
+ export const POLL_LIMITS = { min_interval_ms: 100, max_interval_ms: 60_000, max_attempts: 120 };
340
+ export function normalizePoll(poll) {
341
+ if (!poll || !Array.isArray(poll.until) || poll.until.length === 0) {
342
+ throw new Error("poll.until must be a non-empty array of { check, op, expect }");
343
+ }
344
+ const interval = Number(poll.interval_ms ?? POLL_DEFAULTS.interval_ms);
345
+ const attempts = Number(poll.max_attempts ?? POLL_DEFAULTS.max_attempts);
346
+ if (!Number.isFinite(interval) || !Number.isFinite(attempts))
347
+ throw new Error("poll.interval_ms and poll.max_attempts must be numbers");
348
+ return {
349
+ until: poll.until,
350
+ interval_ms: Math.min(POLL_LIMITS.max_interval_ms, Math.max(POLL_LIMITS.min_interval_ms, Math.round(interval))),
351
+ max_attempts: Math.min(POLL_LIMITS.max_attempts, Math.max(1, Math.round(attempts))),
352
+ };
353
+ }
354
+ const defaultSleep = (ms) => new Promise((r) => setTimeout(r, ms));
231
355
  export async function executeScenario(opts) {
232
356
  const { scenarioKey, steps, collectionId, collection, environment, httpExecutor, pipeline, assertionEvaluator, scriptRunner } = opts;
357
+ const environmentName = opts.environmentName ?? collection.active_environment ?? "unknown";
358
+ const masker = new SecretMasker(opts.secrets ?? []);
359
+ const sleep = opts.sleep ?? defaultSleep;
360
+ const emit = (event) => {
361
+ if (!opts.onEvent)
362
+ return;
363
+ try {
364
+ opts.onEvent(masker.mask(event));
365
+ }
366
+ catch {
367
+ // A broken listener must never break the run
368
+ }
369
+ };
233
370
  const extracted = {};
234
371
  const results = [];
235
372
  let halted = false;
236
373
  let haltedAt;
374
+ emit({ type: "run_start", scenario: scenarioKey, environment: environmentName, total_steps: steps.length });
237
375
  for (let i = 0; i < steps.length; i++) {
238
376
  const step = steps[i];
377
+ if (opts.isCancelled?.()) {
378
+ results.push(failedStep(i, step.ref, "Run cancelled"));
379
+ halted = true;
380
+ haltedAt = i;
381
+ emit({ type: "step_done", step: i, result: results[results.length - 1] });
382
+ break;
383
+ }
239
384
  const resolved = resolveStepRef(collection, step.ref);
240
- if (!resolved) {
241
- results.push({
242
- step: i,
243
- ref: step.ref,
244
- endpoint: { method: "?", path: "?", name: step.ref },
245
- request: { url: "", method: "" },
246
- response: { status: 0, statusText: "error", headers: {}, body: null, timing: { total_ms: 0, ttfb_ms: 0 } },
247
- error: `Could not resolve step ref '${step.ref}'`,
248
- });
385
+ if ("error" in resolved) {
386
+ results.push(failedStep(i, step.ref, resolved.error));
249
387
  halted = true;
250
388
  haltedAt = i;
389
+ emit({ type: "step_done", step: i, result: results[results.length - 1] });
251
390
  break;
252
391
  }
253
392
  // Apply step overrides
@@ -264,9 +403,11 @@ export async function executeScenario(opts) {
264
403
  if (step.overrides.variables)
265
404
  endpoint.variables = { ...endpoint.variables, ...step.overrides.variables };
266
405
  }
267
- const result = await executeEndpoint({
406
+ emit({ type: "step_start", step: i, ref: step.ref, method: endpoint.method.toUpperCase(), path: endpoint.path });
407
+ const run = () => executeEndpoint({
268
408
  collection,
269
409
  environment,
410
+ environmentName,
270
411
  folder: resolved.folder,
271
412
  endpoint,
272
413
  httpExecutor,
@@ -274,28 +415,111 @@ export async function executeScenario(opts) {
274
415
  pipeline,
275
416
  assertionEvaluator,
276
417
  extracted,
418
+ inputs: opts.inputs,
419
+ onSecret: (value) => masker.add(value),
277
420
  });
421
+ let result;
422
+ let pollInfo;
423
+ let pollError;
424
+ if (step.poll) {
425
+ let poll;
426
+ try {
427
+ poll = normalizePoll(step.poll);
428
+ }
429
+ catch (err) {
430
+ results.push(failedStep(i, step.ref, err.message));
431
+ halted = true;
432
+ haltedAt = i;
433
+ emit({ type: "step_done", step: i, result: results[results.length - 1] });
434
+ break;
435
+ }
436
+ const attempts = [];
437
+ let satisfied = false;
438
+ let last;
439
+ for (let a = 1; a <= poll.max_attempts; a++) {
440
+ if (a > 1) {
441
+ if (opts.isCancelled?.())
442
+ break;
443
+ await sleep(poll.interval_ms);
444
+ if (opts.isCancelled?.())
445
+ break;
446
+ }
447
+ last = await run();
448
+ const target = {
449
+ status: last.response.status,
450
+ headers: last.response.headers,
451
+ body: last.response.body,
452
+ timing: last.response.timing,
453
+ };
454
+ const until = last.error && last.response.status === 0
455
+ ? poll.until.map((u) => ({ passed: false, check: u.check, op: u.op ?? "equals", expected: u.expect, actual: undefined }))
456
+ : resolveAssertionTemplates(poll.until, target, pipeline, {
457
+ environment,
458
+ collection,
459
+ folder: resolved.folder,
460
+ endpoint,
461
+ extracted: { ...extracted, ...(last.extracted ?? {}) },
462
+ inputs: opts.inputs ?? {},
463
+ }).map((u) => assertionEvaluator.evaluate(u, target));
464
+ satisfied = until.every((u) => u.passed);
465
+ const attempt = {
466
+ attempt: a,
467
+ status: last.response.status,
468
+ timing: last.response.timing,
469
+ until,
470
+ satisfied,
471
+ body: last.response.body,
472
+ ...(last.error ? { error: last.error } : {}),
473
+ };
474
+ attempts.push(attempt);
475
+ emit({ type: "poll_attempt", step: i, ref: step.ref, attempt, max_attempts: poll.max_attempts });
476
+ if (satisfied)
477
+ break;
478
+ }
479
+ result = last;
480
+ pollInfo = { satisfied, attempts, max_attempts: poll.max_attempts, interval_ms: poll.interval_ms };
481
+ if (!satisfied) {
482
+ pollError = opts.isCancelled?.()
483
+ ? `Run cancelled while polling (after ${attempts.length} attempt${attempts.length === 1 ? "" : "s"})`
484
+ : `Poll condition not met after ${attempts.length} attempt${attempts.length === 1 ? "" : "s"}`;
485
+ }
486
+ }
487
+ else {
488
+ result = await run();
489
+ }
278
490
  // Accumulate extracted variables
279
491
  if (result.extracted) {
280
492
  Object.assign(extracted, result.extracted);
281
493
  }
282
- results.push({ ...result, step: i, ref: step.ref });
283
- // Check if this step failed (HTTP error or assertion failure)
284
- const stepFailed = result.error || result.assertions?.some((a) => !a.passed);
494
+ const stepResult = {
495
+ ...result,
496
+ step: i,
497
+ ref: step.ref,
498
+ ...(pollInfo ? { poll: pollInfo } : {}),
499
+ ...(pollError && !result.error ? { error: pollError } : {}),
500
+ };
501
+ results.push(stepResult);
502
+ emit({ type: "step_done", step: i, result: stepResult });
503
+ // Check if this step failed (HTTP error, assertion failure, or unmet poll)
504
+ const stepFailed = stepResult.error || result.assertions?.some((a) => !a.passed);
285
505
  if (stepFailed) {
286
506
  halted = true;
287
507
  haltedAt = i;
288
508
  break;
289
509
  }
290
510
  }
291
- return {
511
+ emit({ type: "run_done", passed: !halted, halted_at: haltedAt });
512
+ const out = {
292
513
  scenario: scenarioKey,
293
514
  collection: collectionId,
294
- environment: collection.active_environment ?? "unknown",
515
+ environment: environmentName,
295
516
  steps: results,
296
517
  passed: !halted,
297
518
  halted_at: haltedAt,
298
519
  extracted,
299
520
  };
521
+ if (!masker.active)
522
+ return out;
523
+ return { ...masker.mask(out), masked: true };
300
524
  }
301
525
  //# sourceMappingURL=executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/collections/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/collections/executor.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,22 @@
1
1
  export type { CollectionToolDef } from "./tools.js";
2
2
  export declare const COLLECTION_TOOLS: import("./tools.js").CollectionToolDef[];
3
- export declare const handleCollectionTool: (name: string, args: Record<string, unknown>) => Promise<unknown>;
4
- export type { Collection, CollectionStore, CollectionSummary, Endpoint, Folder, Environment, Scenario, HttpExecutor, ResolverStep, ResolverContext, ResolvedRequest, HttpResponse, AssertionEvaluator, AssertionResult, AssertionTarget, DynamicVarProvider, ScriptRunner, } from "./types.js";
3
+ export declare const handleCollectionTool: (name: string, args: Record<string, unknown>, hooks?: import("./tools.js").CollectionCallHooks) => Promise<unknown>;
4
+ export type { Collection, CollectionStore, CollectionSummary, Endpoint, Folder, Environment, Scenario, ScenarioStep, RunInput, PollConfig, HttpExecutor, ResolverStep, ResolverContext, ResolvedRequest, HttpResponse, AssertionEvaluator, AssertionResult, AssertionTarget, DynamicVarProvider, ScriptRunner, } from "./types.js";
5
5
  export { YamlCollectionStore, slugify, generateEndpointName } from "./store.js";
6
6
  export { FetchHttpExecutor } from "./http.js";
7
7
  export { buildDefaultPipeline, buildResolvedRequest, resolveTemplate, checkUnresolved } from "./resolver.js";
8
8
  export { OperatorRegistry, dotGet, extractCheckValue } from "./assertions.js";
9
9
  export { buildDefaultRegistry, DynamicVarRegistry } from "./dynamic-vars.js";
10
10
  export { DeclarativeScriptRunner, JsScriptRunner } from "./scripts.js";
11
- export { executeEndpoint, executeFolder, executeCollection, executeScenario } from "./executor.js";
11
+ export { createScriptScope } from "./script-api.js";
12
+ export { runScenario, pickEnvironment, runInputsFor } from "./scenario-run.js";
13
+ export { buildCorePipeline } from "./resolver-core.js";
14
+ export { buildCoreRegistry } from "./dynamic-vars-core.js";
15
+ export { toBase64, fromBase64 } from "./encoding.js";
16
+ export { executeEndpoint, executeFolder, executeCollection, executeScenario, resolveStepRef } from "./executor.js";
17
+ export type { ScenarioEvent, ScenarioResult, ScenarioStepResult, PollAttempt } from "./executor.js";
18
+ export { SecretMasker, MASK, sanitizeInputDeclarations, prepareInputs } from "./masking.js";
19
+ export type { CollectionCallHooks } from "./tools.js";
12
20
  export { fromPostmanV21, toPostmanV21 } from "./postman.js";
13
21
  export { mergeCollections } from "./merge.js";
14
22
  export type { MergeConflict, MergeStats, MergeResult } from "./merge.js";
@@ -22,7 +22,13 @@ export { buildDefaultPipeline, buildResolvedRequest, resolveTemplate, checkUnres
22
22
  export { OperatorRegistry, dotGet, extractCheckValue } from "./assertions.js";
23
23
  export { buildDefaultRegistry, DynamicVarRegistry } from "./dynamic-vars.js";
24
24
  export { DeclarativeScriptRunner, JsScriptRunner } from "./scripts.js";
25
- export { executeEndpoint, executeFolder, executeCollection, executeScenario } from "./executor.js";
25
+ export { createScriptScope } from "./script-api.js";
26
+ export { runScenario, pickEnvironment, runInputsFor } from "./scenario-run.js";
27
+ export { buildCorePipeline } from "./resolver-core.js";
28
+ export { buildCoreRegistry } from "./dynamic-vars-core.js";
29
+ export { toBase64, fromBase64 } from "./encoding.js";
30
+ export { executeEndpoint, executeFolder, executeCollection, executeScenario, resolveStepRef } from "./executor.js";
31
+ export { SecretMasker, MASK, sanitizeInputDeclarations, prepareInputs } from "./masking.js";
26
32
  export { fromPostmanV21, toPostmanV21 } from "./postman.js";
27
33
  export { mergeCollections } from "./merge.js";
28
34
  //# sourceMappingURL=index.js.map