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
@@ -11,6 +11,7 @@
11
11
  // The function never throws. Parse errors, runtime errors, and timeouts are
12
12
  // all returned in the `error` field of the result. Callers that need to
13
13
  // distinguish "the sandbox itself blew up" should check `success === false`.
14
+ import { executeRequest } from "../request/executeRequest.js";
14
15
  import { buildEnvironmentApi } from "./features/environment.js";
15
16
  import { createExpectApi } from "./features/assertions.js";
16
17
  import { buildLabelGlobals, buildNodeApi } from "./features/node.js";
@@ -25,6 +26,14 @@ import { buildCounterFeature } from "./features/counter.js";
25
26
  import { createCryptoJsApi } from "./features/cryptojs.js";
26
27
  import { buildVariablesApi } from "./features/variables.js";
27
28
  import { buildDbApi } from "./features/db.js";
29
+ import { buildTimerFeature } from "./features/timers.js";
30
+ import { buildCollectionVariablesApi } from "./features/collectionVariables.js";
31
+ import { buildInfoApi } from "./features/info.js";
32
+ import { buildExecutionFeature } from "./features/execution.js";
33
+ // Lodash is exposed unconditionally as the `_` global — Postman
34
+ // scripts call `_.filter`, `_.cloneDeep`, `_.get`, `_.merge`, etc.
35
+ // without an import, and we want feature parity.
36
+ import lodash from "lodash";
28
37
  import { compileAndPrepare } from "./sandbox.js";
29
38
  import { toSerializableError } from "./errors.js";
30
39
  import { toHostPromise, withAsyncTimeout } from "./timeout.js";
@@ -68,17 +77,28 @@ const buildSandboxDFeatures = (capabilities, isInsideTestCallback, envValues, gl
68
77
  scopeShortcuts.counter = feature.api;
69
78
  counterSnapshotFn = feature.snapshot;
70
79
  }
71
- if (extensions.cryptojs) {
80
+ // CryptoJS is always exposed at top-level scope — Postman scripts
81
+ // call `CryptoJS.HmacSHA256(...)`, `CryptoJS.AES.encrypt(...)`, etc.
82
+ // unconditionally. The package is bundled (no Buffer / Node deps),
83
+ // so it runs inside the vm sandbox cleanly. pm.cryptojs is
84
+ // intentionally NOT set — Postman never namespaced it under pm.
85
+ {
72
86
  const api = createCryptoJsApi();
73
- // CryptoJS is exposed ONLY at top-level scope (matching electron's
74
- // current surface). pm.cryptojs is intentionally NOT set so the parity
75
- // tests that lock in current behavior continue to pass.
76
87
  scopeShortcuts.CryptoJS = api;
77
88
  }
78
- if (extensions.variables) {
89
+ // pm.variables is always exposed — Postman scripts call
90
+ // `pm.variables.set/get/resolve/replaceIn` unconditionally. When the
91
+ // host opts out of the extension we still bind a working API against
92
+ // the env + globals snapshots so calls don't crash with
93
+ // "Cannot read properties of undefined". The `variables` shortcut
94
+ // (top-level `variables` identifier) is only registered when the
95
+ // extension was explicitly requested, to preserve the prior surface.
96
+ {
79
97
  const api = buildVariablesApi(envValues, globalValues);
80
98
  pm.variables = api;
81
- scopeShortcuts.variables = api;
99
+ if (extensions.variables) {
100
+ scopeShortcuts.variables = api;
101
+ }
82
102
  }
83
103
  if (extensions.db) {
84
104
  const dbEnabled = featurePolicy ? featurePolicy.database : true;
@@ -95,6 +115,190 @@ const buildSandboxDFeatures = (capabilities, isInsideTestCallback, envValues, gl
95
115
  }
96
116
  return { pm, scopeShortcuts, counterSnapshotFn };
97
117
  };
118
+ const buildSendRequestPendingTracker = () => {
119
+ const pending = [];
120
+ return {
121
+ track: (promise) => {
122
+ pending.push(promise.then(() => undefined).catch(() => undefined));
123
+ },
124
+ flush: async () => {
125
+ while (pending.length > 0) {
126
+ const snapshot = pending.splice(0, pending.length);
127
+ await Promise.allSettled(snapshot);
128
+ }
129
+ },
130
+ };
131
+ };
132
+ const isPlainRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
133
+ const normalizeSendHeaderInput = (input) => {
134
+ if (!input)
135
+ return {};
136
+ if (typeof input === "string") {
137
+ const out = {};
138
+ for (const line of input.split(/\r?\n/)) {
139
+ const trimmed = line.trim();
140
+ if (!trimmed)
141
+ continue;
142
+ const idx = trimmed.indexOf(":");
143
+ if (idx === -1) {
144
+ out[trimmed] = "";
145
+ }
146
+ else {
147
+ out[trimmed.slice(0, idx).trim()] = trimmed.slice(idx + 1).trim();
148
+ }
149
+ }
150
+ return out;
151
+ }
152
+ if (Array.isArray(input)) {
153
+ const out = {};
154
+ for (const entry of input) {
155
+ if (!isPlainRecord(entry))
156
+ continue;
157
+ const key = String(entry.key ?? "").trim();
158
+ if (!key)
159
+ continue;
160
+ out[key] = String(entry.value ?? "");
161
+ }
162
+ return out;
163
+ }
164
+ if (isPlainRecord(input)) {
165
+ const out = {};
166
+ for (const [key, value] of Object.entries(input)) {
167
+ out[key] = String(value ?? "");
168
+ }
169
+ return out;
170
+ }
171
+ return {};
172
+ };
173
+ const normalizeSendUrl = (input) => {
174
+ if (typeof input === "string")
175
+ return input;
176
+ if (isPlainRecord(input) && typeof input.raw === "string")
177
+ return input.raw;
178
+ throw new Error("pm.sendRequest: url is required");
179
+ };
180
+ const normalizeSendBody = (body) => {
181
+ if (body === null || body === undefined) {
182
+ return { data: undefined, impliedContentType: null };
183
+ }
184
+ if (typeof body === "string") {
185
+ return { data: body, impliedContentType: null };
186
+ }
187
+ if (isPlainRecord(body)) {
188
+ const mode = body.mode;
189
+ if (mode === "raw") {
190
+ return { data: body.raw ?? "", impliedContentType: null };
191
+ }
192
+ if (mode === "urlencoded" && Array.isArray(body.urlencoded)) {
193
+ const params = new URLSearchParams();
194
+ for (const entry of body.urlencoded) {
195
+ if (!isPlainRecord(entry))
196
+ continue;
197
+ const key = String(entry.key ?? "").trim();
198
+ if (!key)
199
+ continue;
200
+ params.append(key, String(entry.value ?? ""));
201
+ }
202
+ return {
203
+ data: params.toString(),
204
+ impliedContentType: "application/x-www-form-urlencoded",
205
+ };
206
+ }
207
+ if (mode === "formdata" && Array.isArray(body.formdata)) {
208
+ const flat = {};
209
+ for (const entry of body.formdata) {
210
+ if (!isPlainRecord(entry))
211
+ continue;
212
+ const key = String(entry.key ?? "").trim();
213
+ if (!key)
214
+ continue;
215
+ flat[key] = String(entry.value ?? "");
216
+ }
217
+ return { data: flat, impliedContentType: "application/json" };
218
+ }
219
+ }
220
+ return { data: body, impliedContentType: null };
221
+ };
222
+ const createPmSendRequest = (tracker) => {
223
+ return (options, callback) => {
224
+ const promise = (async () => {
225
+ const normalized = typeof options === "string"
226
+ ? { url: options, method: "GET" }
227
+ : isPlainRecord(options)
228
+ ? options
229
+ : {};
230
+ const url = normalizeSendUrl(normalized.url);
231
+ const method = String(normalized.method ?? "GET").toUpperCase();
232
+ const headerInput = normalized.header ?? normalized.headers;
233
+ const headers = normalizeSendHeaderInput(headerInput);
234
+ const { data, impliedContentType } = normalizeSendBody(normalized.body);
235
+ if (impliedContentType &&
236
+ !Object.keys(headers).some((k) => k.toLowerCase() === "content-type")) {
237
+ headers["Content-Type"] = impliedContentType;
238
+ }
239
+ const timeoutMs = typeof normalized.timeout === "number" && normalized.timeout > 0
240
+ ? Number(normalized.timeout)
241
+ : undefined;
242
+ const result = await executeRequest({
243
+ method,
244
+ url,
245
+ headers,
246
+ query: undefined,
247
+ body: data,
248
+ timeoutMs,
249
+ });
250
+ const bodyText = typeof result.data === "string"
251
+ ? result.data
252
+ : (() => {
253
+ try {
254
+ return JSON.stringify(result.data ?? null);
255
+ }
256
+ catch {
257
+ return String(result.data ?? "");
258
+ }
259
+ })();
260
+ return {
261
+ code: result.status,
262
+ status: result.status,
263
+ statusText: "",
264
+ headers: result.headers ?? {},
265
+ body: result.data,
266
+ responseTime: result.duration,
267
+ duration: result.duration,
268
+ json: () => {
269
+ if (typeof result.data === "string") {
270
+ return JSON.parse(result.data);
271
+ }
272
+ return result.data;
273
+ },
274
+ text: () => bodyText,
275
+ };
276
+ })();
277
+ tracker.track(promise);
278
+ if (typeof callback === "function") {
279
+ promise.then((response) => {
280
+ try {
281
+ callback(null, response);
282
+ }
283
+ catch (callbackError) {
284
+ // Surface callback throws to the host log; suppressing
285
+ // would silently hide user mistakes inside refresh logic.
286
+ // eslint-disable-next-line no-console
287
+ console.error("pm.sendRequest callback threw:", callbackError);
288
+ }
289
+ }, (error) => {
290
+ try {
291
+ callback(error instanceof Error ? error : new Error(String(error)), null);
292
+ }
293
+ catch (callbackError) {
294
+ // eslint-disable-next-line no-console
295
+ console.error("pm.sendRequest callback threw:", callbackError);
296
+ }
297
+ });
298
+ }
299
+ return promise;
300
+ };
301
+ };
98
302
  const buildPm = (capabilities, logs, collectors, sandboxDPm) => {
99
303
  const pm = {
100
304
  test: collectors.test.test,
@@ -108,12 +312,24 @@ const buildPm = (capabilities, logs, collectors, sandboxDPm) => {
108
312
  if (collectors.globals) {
109
313
  pm.globals = collectors.globals;
110
314
  }
315
+ if (collectors.collectionVariables) {
316
+ pm.collectionVariables = collectors.collectionVariables;
317
+ }
318
+ if (collectors.info) {
319
+ pm.info = collectors.info;
320
+ }
321
+ if (collectors.execution) {
322
+ pm.execution = collectors.execution.api;
323
+ }
111
324
  if (collectors.request) {
112
325
  pm.request = collectors.request.api;
113
326
  }
114
327
  if (collectors.response) {
115
328
  pm.response = collectors.response;
116
329
  }
330
+ if (collectors.sendRequestTracker) {
331
+ pm.sendRequest = createPmSendRequest(collectors.sendRequestTracker);
332
+ }
117
333
  const extensions = capabilities.extensions ?? {};
118
334
  if (extensions.log) {
119
335
  pm.log = logs.pmLog;
@@ -126,7 +342,7 @@ const buildPm = (capabilities, logs, collectors, sandboxDPm) => {
126
342
  }
127
343
  return pm;
128
344
  };
129
- const buildScopeBindings = ({ pm, capabilities, consoleApi, envValues, environmentApi, request, response, expect, test, sandboxDShortcuts, }) => {
345
+ const buildScopeBindings = ({ pm, capabilities, consoleApi, envValues, environmentApi, request, response, expect, test, sandboxDShortcuts, timers, }) => {
130
346
  const exposeLabels = capabilities.workflowContext &&
131
347
  capabilities.exposeLabelsAsGlobals !== false;
132
348
  const labelGlobals = exposeLabels
@@ -151,6 +367,8 @@ const buildScopeBindings = ({ pm, capabilities, consoleApi, envValues, environme
151
367
  counter: sandboxDShortcuts.counter,
152
368
  variables: sandboxDShortcuts.variables,
153
369
  CryptoJS: sandboxDShortcuts.CryptoJS,
370
+ lodash,
371
+ timers,
154
372
  labelGlobals,
155
373
  };
156
374
  };
@@ -180,11 +398,24 @@ export const executeScript = async (input) => {
180
398
  }
181
399
  const variableMutations = [];
182
400
  const environmentApi = capabilities.environment
183
- ? buildEnvironmentApi(capabilities.environment.values, capabilities.environment.emitMutations !== false ? variableMutations : null, "environment")
401
+ ? buildEnvironmentApi(capabilities.environment.values, capabilities.environment.emitMutations !== false ? variableMutations : null, "environment", { nameOverride: capabilities.environment.name })
184
402
  : undefined;
185
403
  const globalsApi = capabilities.globals
186
- ? buildEnvironmentApi(capabilities.globals.values, capabilities.globals.emitMutations !== false ? variableMutations : null, "global")
404
+ ? buildEnvironmentApi(capabilities.globals.values, capabilities.globals.emitMutations !== false ? variableMutations : null, "global", { nameOverride: capabilities.globals.name })
187
405
  : undefined;
406
+ // Always expose pm.collectionVariables — Postman scripts call
407
+ // `pm.collectionVariables.set(...)` regardless of whether the host
408
+ // wired up persistent storage. When no capability is provided we
409
+ // build an in-memory stub: writes succeed, reads see them within the
410
+ // same script, and mutations are NOT emitted (no log entries to
411
+ // confuse the runner). Same rationale for pm.execution below.
412
+ const collectionVariablesApi = capabilities.collectionVariables
413
+ ? buildCollectionVariablesApi(capabilities.collectionVariables.values, capabilities.collectionVariables.emitMutations !== false
414
+ ? variableMutations
415
+ : null, { nameOverride: capabilities.collectionVariables.name })
416
+ : buildCollectionVariablesApi({}, null);
417
+ const infoApi = buildInfoApi(capabilities.info, stage);
418
+ const executionFeature = buildExecutionFeature(capabilities.execution);
188
419
  const requestBundle = capabilities.request
189
420
  ? buildRequestApi(capabilities.request)
190
421
  : undefined;
@@ -200,13 +431,19 @@ export const executeScript = async (input) => {
200
431
  // Sandbox D feature bundle — depends on env/globals being constructed first
201
432
  // (cryptojs/random/counter don't, but variables/db do).
202
433
  const sandboxD = buildSandboxDFeatures(capabilities, () => tests.isInsideCallback(), environmentApi?.values ?? capabilities.environment?.values ?? {}, globalsApi?.values ?? capabilities.globals?.values ?? {}, capabilities.response ?? null);
434
+ const sendRequestTracker = buildSendRequestPendingTracker();
435
+ const timerFeature = buildTimerFeature();
203
436
  const pm = buildPm(capabilities, { pmLog: logCollector.pmLog }, {
204
437
  test: tests,
205
438
  expect,
206
439
  environment: environmentApi,
207
440
  globals: globalsApi,
441
+ collectionVariables: collectionVariablesApi,
442
+ info: infoApi,
443
+ execution: executionFeature,
208
444
  request: requestBundle,
209
445
  response: responseApi ?? undefined,
446
+ sendRequestTracker,
210
447
  }, sandboxD.pm);
211
448
  const bindings = buildScopeBindings({
212
449
  pm,
@@ -219,6 +456,12 @@ export const executeScript = async (input) => {
219
456
  expect,
220
457
  test: tests.test,
221
458
  sandboxDShortcuts: sandboxD.scopeShortcuts,
459
+ timers: {
460
+ setTimeout: timerFeature.api.setTimeout,
461
+ clearTimeout: timerFeature.api.clearTimeout,
462
+ setInterval: timerFeature.api.setInterval,
463
+ clearInterval: timerFeature.api.clearInterval,
464
+ },
222
465
  });
223
466
  let compiled;
224
467
  try {
@@ -259,12 +502,19 @@ export const executeScript = async (input) => {
259
502
  returnValue = awaited;
260
503
  hasReturnValue = true;
261
504
  }
262
- await withAsyncTimeout(tests.flush(), timeoutMs);
505
+ await withAsyncTimeout(Promise.all([tests.flush(), sendRequestTracker.flush()]), timeoutMs);
263
506
  }
264
507
  catch (error) {
265
- await Promise.allSettled([tests.flush()]);
508
+ await Promise.allSettled([tests.flush(), sendRequestTracker.flush()]);
266
509
  runtimeError = toSerializableError(stage, error);
267
510
  }
511
+ finally {
512
+ // Cancel any timers the script left pending — otherwise their
513
+ // callbacks would fire after the script's result was reported,
514
+ // mutating state nobody can observe and (worse) keeping the host
515
+ // process alive after a CLI run that should have exited.
516
+ timerFeature.dispose();
517
+ }
268
518
  const result = {
269
519
  success: runtimeError === null,
270
520
  error: runtimeError,
@@ -281,6 +531,12 @@ export const executeScript = async (input) => {
281
531
  if (capabilities.allowDeferredKafkaTests) {
282
532
  result.deferredTestNames = [...tests.deferredTestNames];
283
533
  }
534
+ // Only surface executionControl when the host actually wired the
535
+ // capability — keeps the result shape unchanged for callers that
536
+ // don't know about pm.execution yet.
537
+ if (capabilities.execution) {
538
+ result.executionControl = executionFeature.getControl();
539
+ }
284
540
  return result;
285
541
  };
286
542
  // Standalone parse-only check — exposed so the desktop's
@@ -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,16 @@
1
+ import type { ScriptVariableMutation } from "../types.js";
2
+ export interface CollectionVariablesApi {
3
+ values: Record<string, string>;
4
+ name: string;
5
+ get: (key: string) => string | undefined;
6
+ set: (key: string, value: unknown) => void;
7
+ unset: (key: string) => void;
8
+ has: (key: string) => boolean;
9
+ clear: () => void;
10
+ toObject: () => Record<string, string>;
11
+ replaceIn: (template: unknown) => string;
12
+ }
13
+ export declare const buildCollectionVariablesApi: (initial: Record<string, string>, mutations: ScriptVariableMutation[] | null, options?: {
14
+ nameOverride?: string;
15
+ }) => CollectionVariablesApi;
16
+ //# sourceMappingURL=collectionVariables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectionVariables.d.ts","sourceRoot":"","sources":["../../../src/script/features/collectionVariables.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACzC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C;AASD,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,sBAAsB,EAAE,GAAG,IAAI,EAC1C,UAAS;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,KACtC,sBA2DF,CAAC"}
@@ -0,0 +1,83 @@
1
+ // pm.collectionVariables — Postman scope that survives across requests
2
+ // within a single collection run.
3
+ //
4
+ // Shape mirrors `pm.environment` exactly so scripts that already use
5
+ // `pm.environment.set` can swap it out for `pm.collectionVariables.set`
6
+ // without changing the method calls. The only difference is the
7
+ // persistence boundary:
8
+ //
9
+ // - pm.variables.set — request-scoped, gone after the script
10
+ // - pm.collectionVariables.set — collection-run-scoped, survives between
11
+ // requests within the same run but does NOT persist across runs
12
+ // - pm.environment.set — run-scoped, AND propagates back to the host
13
+ // so a follow-up "save environment" sticks
14
+ // - pm.globals.set — same as environment but workspace-wide
15
+ //
16
+ // Mutations are emitted with `scope: "collection"` so the runner can
17
+ // merge them into the next request's `capabilities.collectionVariables`
18
+ // without polluting environment / globals.
19
+ import { resolveTemplate } from "../../variables/resolver.js";
20
+ const coerceToString = (value) => {
21
+ if (value === undefined || value === null) {
22
+ return "";
23
+ }
24
+ return String(value);
25
+ };
26
+ export const buildCollectionVariablesApi = (initial, mutations, options = {}) => {
27
+ const values = { ...initial };
28
+ const name = options.nameOverride ?? "Collection";
29
+ const recordMutation = (mutation) => {
30
+ if (mutations) {
31
+ mutations.push(mutation);
32
+ }
33
+ };
34
+ return {
35
+ values,
36
+ name,
37
+ get: (key) => values[String(key ?? "").trim()],
38
+ set: (key, value) => {
39
+ const normalisedKey = String(key ?? "").trim();
40
+ if (!normalisedKey) {
41
+ return;
42
+ }
43
+ const normalisedValue = coerceToString(value);
44
+ values[normalisedKey] = normalisedValue;
45
+ recordMutation({
46
+ scope: "collection",
47
+ type: "set",
48
+ key: normalisedKey,
49
+ value: normalisedValue,
50
+ });
51
+ },
52
+ unset: (key) => {
53
+ const normalisedKey = String(key ?? "").trim();
54
+ if (!normalisedKey || !(normalisedKey in values)) {
55
+ return;
56
+ }
57
+ delete values[normalisedKey];
58
+ recordMutation({
59
+ scope: "collection",
60
+ type: "unset",
61
+ key: normalisedKey,
62
+ });
63
+ },
64
+ has: (key) => {
65
+ const normalisedKey = String(key ?? "").trim();
66
+ return Boolean(normalisedKey) && normalisedKey in values;
67
+ },
68
+ clear: () => {
69
+ const keys = Object.keys(values);
70
+ for (const key of keys) {
71
+ delete values[key];
72
+ recordMutation({
73
+ scope: "collection",
74
+ type: "unset",
75
+ key,
76
+ });
77
+ }
78
+ },
79
+ toObject: () => ({ ...values }),
80
+ replaceIn: (template) => resolveTemplate(coerceToString(template), { env: values }),
81
+ };
82
+ };
83
+ //# sourceMappingURL=collectionVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectionVariables.js","sourceRoot":"","sources":["../../../src/script/features/collectionVariables.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kCAAkC;AAClC,EAAE;AACF,qEAAqE;AACrE,wEAAwE;AACxE,gEAAgE;AAChE,wBAAwB;AACxB,EAAE;AACF,kEAAkE;AAClE,2EAA2E;AAC3E,oEAAoE;AACpE,wEAAwE;AACxE,+CAA+C;AAC/C,mEAAmE;AACnE,EAAE;AACF,qEAAqE;AACrE,wEAAwE;AACxE,2CAA2C;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAe9D,MAAM,cAAc,GAAG,CAAC,KAAc,EAAU,EAAE;IAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,OAA+B,EAC/B,SAA0C,EAC1C,UAAqC,EAAE,EACf,EAAE;IAC1B,MAAM,MAAM,GAA2B,EAAE,GAAG,OAAO,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC;IAElD,MAAM,cAAc,GAAG,CAAC,QAAgC,EAAQ,EAAE;QAChE,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,IAAI;QACJ,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,GAAG,EAAE,CAAC,GAAW,EAAE,KAAc,EAAE,EAAE;YACnC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC;YACxC,cAAc,CAAC;gBACb,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE;YACrB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,EAAE,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7B,cAAc,CAAC;gBACb,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,aAAa;aACnB,CAAC,CAAC;QACL,CAAC;QACD,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE;YACnB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,MAAM,CAAC;QAC3D,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,cAAc,CAAC;oBACb,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,OAAO;oBACb,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;QAC/B,SAAS,EAAE,CAAC,QAAiB,EAAE,EAAE,CAC/B,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;KAC7D,CAAC;AACJ,CAAC,CAAC"}
@@ -1,14 +1,10 @@
1
- export interface CryptoJsApi {
2
- enc: {
3
- Utf8: {
4
- parse: (input: unknown) => Uint8Array;
5
- stringify: (input: unknown) => string;
6
- };
7
- Base64: {
8
- stringify: (input: unknown) => string;
9
- parse: (input: string) => Uint8Array;
10
- };
11
- };
12
- }
1
+ import CryptoJS from "crypto-js";
2
+ /** Type of the CryptoJS global as exposed to user scripts. We keep
3
+ * this as `unknown`-shaped at the boundary so consumers of the
4
+ * canonical executor don't accidentally couple to crypto-js's
5
+ * (lengthy) type surface. Scripts get full IDE intellisense via the
6
+ * pmanfrontend autocomplete provider, which carries its own ambient
7
+ * type declaration. */
8
+ export type CryptoJsApi = typeof CryptoJS;
13
9
  export declare const createCryptoJsApi: () => CryptoJsApi;
14
10
  //# sourceMappingURL=cryptojs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cryptojs.d.ts","sourceRoot":"","sources":["../../../src/script/features/cryptojs.ts"],"names":[],"mappings":"AA0FA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE;QACH,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;YACtC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;SACvC,CAAC;QACF,MAAM,EAAE;YACN,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;YACtC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;SACtC,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,QAAO,WAmBpC,CAAC"}
1
+ {"version":3,"file":"cryptojs.d.ts","sourceRoot":"","sources":["../../../src/script/features/cryptojs.ts"],"names":[],"mappings":"AAgBA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC;;;;;uBAKuB;AACvB,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC;AAE1C,eAAO,MAAM,iBAAiB,QAAO,WAAuB,CAAC"}