callman-core 1.7.0 → 1.8.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 (115) hide show
  1. package/dist/scenario-runner/runScenario.d.ts.map +1 -1
  2. package/dist/scenario-runner/runScenario.js +8 -0
  3. package/dist/scenario-runner/runScenario.js.map +1 -1
  4. package/dist/scenario-runner/types.d.ts +1 -1
  5. package/dist/scenario-runner/types.d.ts.map +1 -1
  6. package/dist/script/executor.d.ts.map +1 -1
  7. package/dist/script/executor.js +267 -11
  8. package/dist/script/executor.js.map +1 -1
  9. package/dist/script/features/collectionVariables.d.ts +16 -0
  10. package/dist/script/features/collectionVariables.d.ts.map +1 -0
  11. package/dist/script/features/collectionVariables.js +83 -0
  12. package/dist/script/features/collectionVariables.js.map +1 -0
  13. package/dist/script/features/cryptojs.d.ts +8 -12
  14. package/dist/script/features/cryptojs.d.ts.map +1 -1
  15. package/dist/script/features/cryptojs.js +15 -99
  16. package/dist/script/features/cryptojs.js.map +1 -1
  17. package/dist/script/features/environment.d.ts +8 -1
  18. package/dist/script/features/environment.d.ts.map +1 -1
  19. package/dist/script/features/environment.js +25 -1
  20. package/dist/script/features/environment.js.map +1 -1
  21. package/dist/script/features/execution.d.ts +17 -0
  22. package/dist/script/features/execution.d.ts.map +1 -0
  23. package/dist/script/features/execution.js +60 -0
  24. package/dist/script/features/execution.js.map +1 -0
  25. package/dist/script/features/headerList.d.ts +44 -0
  26. package/dist/script/features/headerList.d.ts.map +1 -0
  27. package/dist/script/features/headerList.js +284 -0
  28. package/dist/script/features/headerList.js.map +1 -0
  29. package/dist/script/features/info.d.ts +10 -0
  30. package/dist/script/features/info.d.ts.map +1 -0
  31. package/dist/script/features/info.js +32 -0
  32. package/dist/script/features/info.js.map +1 -0
  33. package/dist/script/features/request.d.ts +3 -2
  34. package/dist/script/features/request.d.ts.map +1 -1
  35. package/dist/script/features/request.js +38 -29
  36. package/dist/script/features/request.js.map +1 -1
  37. package/dist/script/features/response.d.ts +7 -5
  38. package/dist/script/features/response.d.ts.map +1 -1
  39. package/dist/script/features/response.js +16 -8
  40. package/dist/script/features/response.js.map +1 -1
  41. package/dist/script/features/responseAssertions.d.ts +50 -0
  42. package/dist/script/features/responseAssertions.d.ts.map +1 -0
  43. package/dist/script/features/responseAssertions.js +293 -0
  44. package/dist/script/features/responseAssertions.js.map +1 -0
  45. package/dist/script/features/timers.d.ts +17 -0
  46. package/dist/script/features/timers.d.ts.map +1 -0
  47. package/dist/script/features/timers.js +152 -0
  48. package/dist/script/features/timers.js.map +1 -0
  49. package/dist/script/features/variables.d.ts +8 -1
  50. package/dist/script/features/variables.d.ts.map +1 -1
  51. package/dist/script/features/variables.js +57 -11
  52. package/dist/script/features/variables.js.map +1 -1
  53. package/dist/script/pmApi.d.ts +36 -0
  54. package/dist/script/pmApi.d.ts.map +1 -1
  55. package/dist/script/pmApi.js +170 -0
  56. package/dist/script/pmApi.js.map +1 -1
  57. package/dist/script/scope.d.ts +10 -0
  58. package/dist/script/scope.d.ts.map +1 -1
  59. package/dist/script/scope.js +13 -4
  60. package/dist/script/scope.js.map +1 -1
  61. package/dist/script/types.d.ts +51 -1
  62. package/dist/script/types.d.ts.map +1 -1
  63. package/dist/templating/generator-metadata.d.ts +1 -0
  64. package/dist/templating/generator-metadata.d.ts.map +1 -1
  65. package/dist/templating/generator-metadata.js +76 -0
  66. package/dist/templating/generator-metadata.js.map +1 -1
  67. package/dist/templating/postman-generators.d.ts +12 -0
  68. package/dist/templating/postman-generators.d.ts.map +1 -0
  69. package/dist/templating/postman-generators.js +577 -0
  70. package/dist/templating/postman-generators.js.map +1 -0
  71. package/dist/templating/template-engine.d.ts.map +1 -1
  72. package/dist/templating/template-engine.js +16 -0
  73. package/dist/templating/template-engine.js.map +1 -1
  74. package/dist/variables/resolver.d.ts.map +1 -1
  75. package/dist/variables/resolver.js +15 -0
  76. package/dist/variables/resolver.js.map +1 -1
  77. package/dist-cjs/scenario-runner/runScenario.js +8 -0
  78. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  79. package/dist-cjs/script/executor.js +270 -11
  80. package/dist-cjs/script/executor.js.map +1 -1
  81. package/dist-cjs/script/features/collectionVariables.js +87 -0
  82. package/dist-cjs/script/features/collectionVariables.js.map +1 -0
  83. package/dist-cjs/script/features/cryptojs.js +18 -99
  84. package/dist-cjs/script/features/cryptojs.js.map +1 -1
  85. package/dist-cjs/script/features/environment.js +25 -1
  86. package/dist-cjs/script/features/environment.js.map +1 -1
  87. package/dist-cjs/script/features/execution.js +64 -0
  88. package/dist-cjs/script/features/execution.js.map +1 -0
  89. package/dist-cjs/script/features/headerList.js +289 -0
  90. package/dist-cjs/script/features/headerList.js.map +1 -0
  91. package/dist-cjs/script/features/info.js +36 -0
  92. package/dist-cjs/script/features/info.js.map +1 -0
  93. package/dist-cjs/script/features/request.js +38 -29
  94. package/dist-cjs/script/features/request.js.map +1 -1
  95. package/dist-cjs/script/features/response.js +16 -8
  96. package/dist-cjs/script/features/response.js.map +1 -1
  97. package/dist-cjs/script/features/responseAssertions.js +297 -0
  98. package/dist-cjs/script/features/responseAssertions.js.map +1 -0
  99. package/dist-cjs/script/features/timers.js +156 -0
  100. package/dist-cjs/script/features/timers.js.map +1 -0
  101. package/dist-cjs/script/features/variables.js +57 -11
  102. package/dist-cjs/script/features/variables.js.map +1 -1
  103. package/dist-cjs/script/pmApi.js +170 -0
  104. package/dist-cjs/script/pmApi.js.map +1 -1
  105. package/dist-cjs/script/scope.js +13 -4
  106. package/dist-cjs/script/scope.js.map +1 -1
  107. package/dist-cjs/templating/generator-metadata.js +77 -1
  108. package/dist-cjs/templating/generator-metadata.js.map +1 -1
  109. package/dist-cjs/templating/postman-generators.js +581 -0
  110. package/dist-cjs/templating/postman-generators.js.map +1 -0
  111. package/dist-cjs/templating/template-engine.js +16 -0
  112. package/dist-cjs/templating/template-engine.js.map +1 -1
  113. package/dist-cjs/variables/resolver.js +15 -0
  114. package/dist-cjs/variables/resolver.js.map +1 -1
  115. package/package.json +6 -2
@@ -12,8 +12,12 @@
12
12
  // The function never throws. Parse errors, runtime errors, and timeouts are
13
13
  // all returned in the `error` field of the result. Callers that need to
14
14
  // distinguish "the sandbox itself blew up" should check `success === false`.
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
15
18
  Object.defineProperty(exports, "__esModule", { value: true });
16
19
  exports.validateScript = exports.executeScript = void 0;
20
+ const executeRequest_js_1 = require("../request/executeRequest.js");
17
21
  const environment_js_1 = require("./features/environment.js");
18
22
  const assertions_js_1 = require("./features/assertions.js");
19
23
  const node_js_1 = require("./features/node.js");
@@ -28,6 +32,14 @@ const counter_js_1 = require("./features/counter.js");
28
32
  const cryptojs_js_1 = require("./features/cryptojs.js");
29
33
  const variables_js_1 = require("./features/variables.js");
30
34
  const db_js_1 = require("./features/db.js");
35
+ const timers_js_1 = require("./features/timers.js");
36
+ const collectionVariables_js_1 = require("./features/collectionVariables.js");
37
+ const info_js_1 = require("./features/info.js");
38
+ const execution_js_1 = require("./features/execution.js");
39
+ // Lodash is exposed unconditionally as the `_` global — Postman
40
+ // scripts call `_.filter`, `_.cloneDeep`, `_.get`, `_.merge`, etc.
41
+ // without an import, and we want feature parity.
42
+ const lodash_1 = __importDefault(require("lodash"));
31
43
  const sandbox_js_1 = require("./sandbox.js");
32
44
  const errors_js_1 = require("./errors.js");
33
45
  const timeout_js_1 = require("./timeout.js");
@@ -71,17 +83,28 @@ const buildSandboxDFeatures = (capabilities, isInsideTestCallback, envValues, gl
71
83
  scopeShortcuts.counter = feature.api;
72
84
  counterSnapshotFn = feature.snapshot;
73
85
  }
74
- if (extensions.cryptojs) {
86
+ // CryptoJS is always exposed at top-level scope — Postman scripts
87
+ // call `CryptoJS.HmacSHA256(...)`, `CryptoJS.AES.encrypt(...)`, etc.
88
+ // unconditionally. The package is bundled (no Buffer / Node deps),
89
+ // so it runs inside the vm sandbox cleanly. pm.cryptojs is
90
+ // intentionally NOT set — Postman never namespaced it under pm.
91
+ {
75
92
  const api = (0, cryptojs_js_1.createCryptoJsApi)();
76
- // CryptoJS is exposed ONLY at top-level scope (matching electron's
77
- // current surface). pm.cryptojs is intentionally NOT set so the parity
78
- // tests that lock in current behavior continue to pass.
79
93
  scopeShortcuts.CryptoJS = api;
80
94
  }
81
- if (extensions.variables) {
95
+ // pm.variables is always exposed — Postman scripts call
96
+ // `pm.variables.set/get/resolve/replaceIn` unconditionally. When the
97
+ // host opts out of the extension we still bind a working API against
98
+ // the env + globals snapshots so calls don't crash with
99
+ // "Cannot read properties of undefined". The `variables` shortcut
100
+ // (top-level `variables` identifier) is only registered when the
101
+ // extension was explicitly requested, to preserve the prior surface.
102
+ {
82
103
  const api = (0, variables_js_1.buildVariablesApi)(envValues, globalValues);
83
104
  pm.variables = api;
84
- scopeShortcuts.variables = api;
105
+ if (extensions.variables) {
106
+ scopeShortcuts.variables = api;
107
+ }
85
108
  }
86
109
  if (extensions.db) {
87
110
  const dbEnabled = featurePolicy ? featurePolicy.database : true;
@@ -98,6 +121,190 @@ const buildSandboxDFeatures = (capabilities, isInsideTestCallback, envValues, gl
98
121
  }
99
122
  return { pm, scopeShortcuts, counterSnapshotFn };
100
123
  };
124
+ const buildSendRequestPendingTracker = () => {
125
+ const pending = [];
126
+ return {
127
+ track: (promise) => {
128
+ pending.push(promise.then(() => undefined).catch(() => undefined));
129
+ },
130
+ flush: async () => {
131
+ while (pending.length > 0) {
132
+ const snapshot = pending.splice(0, pending.length);
133
+ await Promise.allSettled(snapshot);
134
+ }
135
+ },
136
+ };
137
+ };
138
+ const isPlainRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
139
+ const normalizeSendHeaderInput = (input) => {
140
+ if (!input)
141
+ return {};
142
+ if (typeof input === "string") {
143
+ const out = {};
144
+ for (const line of input.split(/\r?\n/)) {
145
+ const trimmed = line.trim();
146
+ if (!trimmed)
147
+ continue;
148
+ const idx = trimmed.indexOf(":");
149
+ if (idx === -1) {
150
+ out[trimmed] = "";
151
+ }
152
+ else {
153
+ out[trimmed.slice(0, idx).trim()] = trimmed.slice(idx + 1).trim();
154
+ }
155
+ }
156
+ return out;
157
+ }
158
+ if (Array.isArray(input)) {
159
+ const out = {};
160
+ for (const entry of input) {
161
+ if (!isPlainRecord(entry))
162
+ continue;
163
+ const key = String(entry.key ?? "").trim();
164
+ if (!key)
165
+ continue;
166
+ out[key] = String(entry.value ?? "");
167
+ }
168
+ return out;
169
+ }
170
+ if (isPlainRecord(input)) {
171
+ const out = {};
172
+ for (const [key, value] of Object.entries(input)) {
173
+ out[key] = String(value ?? "");
174
+ }
175
+ return out;
176
+ }
177
+ return {};
178
+ };
179
+ const normalizeSendUrl = (input) => {
180
+ if (typeof input === "string")
181
+ return input;
182
+ if (isPlainRecord(input) && typeof input.raw === "string")
183
+ return input.raw;
184
+ throw new Error("pm.sendRequest: url is required");
185
+ };
186
+ const normalizeSendBody = (body) => {
187
+ if (body === null || body === undefined) {
188
+ return { data: undefined, impliedContentType: null };
189
+ }
190
+ if (typeof body === "string") {
191
+ return { data: body, impliedContentType: null };
192
+ }
193
+ if (isPlainRecord(body)) {
194
+ const mode = body.mode;
195
+ if (mode === "raw") {
196
+ return { data: body.raw ?? "", impliedContentType: null };
197
+ }
198
+ if (mode === "urlencoded" && Array.isArray(body.urlencoded)) {
199
+ const params = new URLSearchParams();
200
+ for (const entry of body.urlencoded) {
201
+ if (!isPlainRecord(entry))
202
+ continue;
203
+ const key = String(entry.key ?? "").trim();
204
+ if (!key)
205
+ continue;
206
+ params.append(key, String(entry.value ?? ""));
207
+ }
208
+ return {
209
+ data: params.toString(),
210
+ impliedContentType: "application/x-www-form-urlencoded",
211
+ };
212
+ }
213
+ if (mode === "formdata" && Array.isArray(body.formdata)) {
214
+ const flat = {};
215
+ for (const entry of body.formdata) {
216
+ if (!isPlainRecord(entry))
217
+ continue;
218
+ const key = String(entry.key ?? "").trim();
219
+ if (!key)
220
+ continue;
221
+ flat[key] = String(entry.value ?? "");
222
+ }
223
+ return { data: flat, impliedContentType: "application/json" };
224
+ }
225
+ }
226
+ return { data: body, impliedContentType: null };
227
+ };
228
+ const createPmSendRequest = (tracker) => {
229
+ return (options, callback) => {
230
+ const promise = (async () => {
231
+ const normalized = typeof options === "string"
232
+ ? { url: options, method: "GET" }
233
+ : isPlainRecord(options)
234
+ ? options
235
+ : {};
236
+ const url = normalizeSendUrl(normalized.url);
237
+ const method = String(normalized.method ?? "GET").toUpperCase();
238
+ const headerInput = normalized.header ?? normalized.headers;
239
+ const headers = normalizeSendHeaderInput(headerInput);
240
+ const { data, impliedContentType } = normalizeSendBody(normalized.body);
241
+ if (impliedContentType &&
242
+ !Object.keys(headers).some((k) => k.toLowerCase() === "content-type")) {
243
+ headers["Content-Type"] = impliedContentType;
244
+ }
245
+ const timeoutMs = typeof normalized.timeout === "number" && normalized.timeout > 0
246
+ ? Number(normalized.timeout)
247
+ : undefined;
248
+ const result = await (0, executeRequest_js_1.executeRequest)({
249
+ method,
250
+ url,
251
+ headers,
252
+ query: undefined,
253
+ body: data,
254
+ timeoutMs,
255
+ });
256
+ const bodyText = typeof result.data === "string"
257
+ ? result.data
258
+ : (() => {
259
+ try {
260
+ return JSON.stringify(result.data ?? null);
261
+ }
262
+ catch {
263
+ return String(result.data ?? "");
264
+ }
265
+ })();
266
+ return {
267
+ code: result.status,
268
+ status: result.status,
269
+ statusText: "",
270
+ headers: result.headers ?? {},
271
+ body: result.data,
272
+ responseTime: result.duration,
273
+ duration: result.duration,
274
+ json: () => {
275
+ if (typeof result.data === "string") {
276
+ return JSON.parse(result.data);
277
+ }
278
+ return result.data;
279
+ },
280
+ text: () => bodyText,
281
+ };
282
+ })();
283
+ tracker.track(promise);
284
+ if (typeof callback === "function") {
285
+ promise.then((response) => {
286
+ try {
287
+ callback(null, response);
288
+ }
289
+ catch (callbackError) {
290
+ // Surface callback throws to the host log; suppressing
291
+ // would silently hide user mistakes inside refresh logic.
292
+ // eslint-disable-next-line no-console
293
+ console.error("pm.sendRequest callback threw:", callbackError);
294
+ }
295
+ }, (error) => {
296
+ try {
297
+ callback(error instanceof Error ? error : new Error(String(error)), null);
298
+ }
299
+ catch (callbackError) {
300
+ // eslint-disable-next-line no-console
301
+ console.error("pm.sendRequest callback threw:", callbackError);
302
+ }
303
+ });
304
+ }
305
+ return promise;
306
+ };
307
+ };
101
308
  const buildPm = (capabilities, logs, collectors, sandboxDPm) => {
102
309
  const pm = {
103
310
  test: collectors.test.test,
@@ -111,12 +318,24 @@ const buildPm = (capabilities, logs, collectors, sandboxDPm) => {
111
318
  if (collectors.globals) {
112
319
  pm.globals = collectors.globals;
113
320
  }
321
+ if (collectors.collectionVariables) {
322
+ pm.collectionVariables = collectors.collectionVariables;
323
+ }
324
+ if (collectors.info) {
325
+ pm.info = collectors.info;
326
+ }
327
+ if (collectors.execution) {
328
+ pm.execution = collectors.execution.api;
329
+ }
114
330
  if (collectors.request) {
115
331
  pm.request = collectors.request.api;
116
332
  }
117
333
  if (collectors.response) {
118
334
  pm.response = collectors.response;
119
335
  }
336
+ if (collectors.sendRequestTracker) {
337
+ pm.sendRequest = createPmSendRequest(collectors.sendRequestTracker);
338
+ }
120
339
  const extensions = capabilities.extensions ?? {};
121
340
  if (extensions.log) {
122
341
  pm.log = logs.pmLog;
@@ -129,7 +348,7 @@ const buildPm = (capabilities, logs, collectors, sandboxDPm) => {
129
348
  }
130
349
  return pm;
131
350
  };
132
- const buildScopeBindings = ({ pm, capabilities, consoleApi, envValues, environmentApi, request, response, expect, test, sandboxDShortcuts, }) => {
351
+ const buildScopeBindings = ({ pm, capabilities, consoleApi, envValues, environmentApi, request, response, expect, test, sandboxDShortcuts, timers, }) => {
133
352
  const exposeLabels = capabilities.workflowContext &&
134
353
  capabilities.exposeLabelsAsGlobals !== false;
135
354
  const labelGlobals = exposeLabels
@@ -154,6 +373,8 @@ const buildScopeBindings = ({ pm, capabilities, consoleApi, envValues, environme
154
373
  counter: sandboxDShortcuts.counter,
155
374
  variables: sandboxDShortcuts.variables,
156
375
  CryptoJS: sandboxDShortcuts.CryptoJS,
376
+ lodash: lodash_1.default,
377
+ timers,
157
378
  labelGlobals,
158
379
  };
159
380
  };
@@ -183,11 +404,24 @@ const executeScript = async (input) => {
183
404
  }
184
405
  const variableMutations = [];
185
406
  const environmentApi = capabilities.environment
186
- ? (0, environment_js_1.buildEnvironmentApi)(capabilities.environment.values, capabilities.environment.emitMutations !== false ? variableMutations : null, "environment")
407
+ ? (0, environment_js_1.buildEnvironmentApi)(capabilities.environment.values, capabilities.environment.emitMutations !== false ? variableMutations : null, "environment", { nameOverride: capabilities.environment.name })
187
408
  : undefined;
188
409
  const globalsApi = capabilities.globals
189
- ? (0, environment_js_1.buildEnvironmentApi)(capabilities.globals.values, capabilities.globals.emitMutations !== false ? variableMutations : null, "global")
410
+ ? (0, environment_js_1.buildEnvironmentApi)(capabilities.globals.values, capabilities.globals.emitMutations !== false ? variableMutations : null, "global", { nameOverride: capabilities.globals.name })
190
411
  : undefined;
412
+ // Always expose pm.collectionVariables — Postman scripts call
413
+ // `pm.collectionVariables.set(...)` regardless of whether the host
414
+ // wired up persistent storage. When no capability is provided we
415
+ // build an in-memory stub: writes succeed, reads see them within the
416
+ // same script, and mutations are NOT emitted (no log entries to
417
+ // confuse the runner). Same rationale for pm.execution below.
418
+ const collectionVariablesApi = capabilities.collectionVariables
419
+ ? (0, collectionVariables_js_1.buildCollectionVariablesApi)(capabilities.collectionVariables.values, capabilities.collectionVariables.emitMutations !== false
420
+ ? variableMutations
421
+ : null, { nameOverride: capabilities.collectionVariables.name })
422
+ : (0, collectionVariables_js_1.buildCollectionVariablesApi)({}, null);
423
+ const infoApi = (0, info_js_1.buildInfoApi)(capabilities.info, stage);
424
+ const executionFeature = (0, execution_js_1.buildExecutionFeature)(capabilities.execution);
191
425
  const requestBundle = capabilities.request
192
426
  ? (0, request_js_1.buildRequestApi)(capabilities.request)
193
427
  : undefined;
@@ -203,13 +437,19 @@ const executeScript = async (input) => {
203
437
  // Sandbox D feature bundle — depends on env/globals being constructed first
204
438
  // (cryptojs/random/counter don't, but variables/db do).
205
439
  const sandboxD = buildSandboxDFeatures(capabilities, () => tests.isInsideCallback(), environmentApi?.values ?? capabilities.environment?.values ?? {}, globalsApi?.values ?? capabilities.globals?.values ?? {}, capabilities.response ?? null);
440
+ const sendRequestTracker = buildSendRequestPendingTracker();
441
+ const timerFeature = (0, timers_js_1.buildTimerFeature)();
206
442
  const pm = buildPm(capabilities, { pmLog: logCollector.pmLog }, {
207
443
  test: tests,
208
444
  expect,
209
445
  environment: environmentApi,
210
446
  globals: globalsApi,
447
+ collectionVariables: collectionVariablesApi,
448
+ info: infoApi,
449
+ execution: executionFeature,
211
450
  request: requestBundle,
212
451
  response: responseApi ?? undefined,
452
+ sendRequestTracker,
213
453
  }, sandboxD.pm);
214
454
  const bindings = buildScopeBindings({
215
455
  pm,
@@ -222,6 +462,12 @@ const executeScript = async (input) => {
222
462
  expect,
223
463
  test: tests.test,
224
464
  sandboxDShortcuts: sandboxD.scopeShortcuts,
465
+ timers: {
466
+ setTimeout: timerFeature.api.setTimeout,
467
+ clearTimeout: timerFeature.api.clearTimeout,
468
+ setInterval: timerFeature.api.setInterval,
469
+ clearInterval: timerFeature.api.clearInterval,
470
+ },
225
471
  });
226
472
  let compiled;
227
473
  try {
@@ -262,12 +508,19 @@ const executeScript = async (input) => {
262
508
  returnValue = awaited;
263
509
  hasReturnValue = true;
264
510
  }
265
- await (0, timeout_js_1.withAsyncTimeout)(tests.flush(), timeoutMs);
511
+ await (0, timeout_js_1.withAsyncTimeout)(Promise.all([tests.flush(), sendRequestTracker.flush()]), timeoutMs);
266
512
  }
267
513
  catch (error) {
268
- await Promise.allSettled([tests.flush()]);
514
+ await Promise.allSettled([tests.flush(), sendRequestTracker.flush()]);
269
515
  runtimeError = (0, errors_js_1.toSerializableError)(stage, error);
270
516
  }
517
+ finally {
518
+ // Cancel any timers the script left pending — otherwise their
519
+ // callbacks would fire after the script's result was reported,
520
+ // mutating state nobody can observe and (worse) keeping the host
521
+ // process alive after a CLI run that should have exited.
522
+ timerFeature.dispose();
523
+ }
271
524
  const result = {
272
525
  success: runtimeError === null,
273
526
  error: runtimeError,
@@ -284,6 +537,12 @@ const executeScript = async (input) => {
284
537
  if (capabilities.allowDeferredKafkaTests) {
285
538
  result.deferredTestNames = [...tests.deferredTestNames];
286
539
  }
540
+ // Only surface executionControl when the host actually wired the
541
+ // capability — keeps the result shape unchanged for callers that
542
+ // don't know about pm.execution yet.
543
+ if (capabilities.execution) {
544
+ result.executionControl = executionFeature.getControl();
545
+ }
287
546
  return result;
288
547
  };
289
548
  exports.executeScript = executeScript;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/script/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/script/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ // pm.collectionVariables — Postman scope that survives across requests
3
+ // within a single collection run.
4
+ //
5
+ // Shape mirrors `pm.environment` exactly so scripts that already use
6
+ // `pm.environment.set` can swap it out for `pm.collectionVariables.set`
7
+ // without changing the method calls. The only difference is the
8
+ // persistence boundary:
9
+ //
10
+ // - pm.variables.set — request-scoped, gone after the script
11
+ // - pm.collectionVariables.set — collection-run-scoped, survives between
12
+ // requests within the same run but does NOT persist across runs
13
+ // - pm.environment.set — run-scoped, AND propagates back to the host
14
+ // so a follow-up "save environment" sticks
15
+ // - pm.globals.set — same as environment but workspace-wide
16
+ //
17
+ // Mutations are emitted with `scope: "collection"` so the runner can
18
+ // merge them into the next request's `capabilities.collectionVariables`
19
+ // without polluting environment / globals.
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.buildCollectionVariablesApi = void 0;
22
+ const resolver_js_1 = require("../../variables/resolver.js");
23
+ const coerceToString = (value) => {
24
+ if (value === undefined || value === null) {
25
+ return "";
26
+ }
27
+ return String(value);
28
+ };
29
+ const buildCollectionVariablesApi = (initial, mutations, options = {}) => {
30
+ const values = { ...initial };
31
+ const name = options.nameOverride ?? "Collection";
32
+ const recordMutation = (mutation) => {
33
+ if (mutations) {
34
+ mutations.push(mutation);
35
+ }
36
+ };
37
+ return {
38
+ values,
39
+ name,
40
+ get: (key) => values[String(key ?? "").trim()],
41
+ set: (key, value) => {
42
+ const normalisedKey = String(key ?? "").trim();
43
+ if (!normalisedKey) {
44
+ return;
45
+ }
46
+ const normalisedValue = coerceToString(value);
47
+ values[normalisedKey] = normalisedValue;
48
+ recordMutation({
49
+ scope: "collection",
50
+ type: "set",
51
+ key: normalisedKey,
52
+ value: normalisedValue,
53
+ });
54
+ },
55
+ unset: (key) => {
56
+ const normalisedKey = String(key ?? "").trim();
57
+ if (!normalisedKey || !(normalisedKey in values)) {
58
+ return;
59
+ }
60
+ delete values[normalisedKey];
61
+ recordMutation({
62
+ scope: "collection",
63
+ type: "unset",
64
+ key: normalisedKey,
65
+ });
66
+ },
67
+ has: (key) => {
68
+ const normalisedKey = String(key ?? "").trim();
69
+ return Boolean(normalisedKey) && normalisedKey in values;
70
+ },
71
+ clear: () => {
72
+ const keys = Object.keys(values);
73
+ for (const key of keys) {
74
+ delete values[key];
75
+ recordMutation({
76
+ scope: "collection",
77
+ type: "unset",
78
+ key,
79
+ });
80
+ }
81
+ },
82
+ toObject: () => ({ ...values }),
83
+ replaceIn: (template) => (0, resolver_js_1.resolveTemplate)(coerceToString(template), { env: values }),
84
+ };
85
+ };
86
+ exports.buildCollectionVariablesApi = buildCollectionVariablesApi;
87
+ //# sourceMappingURL=collectionVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectionVariables.js","sourceRoot":"","sources":["../../../src/script/features/collectionVariables.ts"],"names":[],"mappings":"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"}