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
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ // Timer registry — exposes `setTimeout` / `clearTimeout` /
3
+ // `setInterval` / `clearInterval` inside the sandbox without leaking
4
+ // pending callbacks past the script's lifetime.
5
+ //
6
+ // Why this matters: Postman scripts routinely use
7
+ // await new Promise(r => setTimeout(r, 1000))
8
+ // for retry / poll patterns. We had this BLOCKED, so any such script
9
+ // died with `ReferenceError: setTimeout is not defined`. Re-enabling
10
+ // the globals naively would let a runaway `setInterval(fn, 100)`
11
+ // keep firing long after the script completed.
12
+ //
13
+ // The feature builds per-execution wrappers that:
14
+ // • register each timer id in a Map
15
+ // • cap each delay at MAX_TIMER_DELAY_MS (60 s) so a buggy script
16
+ // can't park work forever
17
+ // • cap the number of in-flight timers at MAX_TIMERS_PER_EXEC so a
18
+ // `for (;;) setTimeout(...)` loop can't drown the runtime
19
+ // • are torn down by `dispose()` once the script's outer Promise
20
+ // resolves/rejects (called from the executor's flush path)
21
+ //
22
+ // Each call returns a numeric id (1, 2, 3, ...) — opaque to the user
23
+ // script but unique per execution so clearTimeout works correctly even
24
+ // across nested feature builds.
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.buildTimerFeature = void 0;
27
+ const MAX_TIMER_DELAY_MS = 60_000;
28
+ const MAX_TIMERS_PER_EXEC = 1_000;
29
+ const clampDelay = (raw) => {
30
+ const n = Number(raw);
31
+ if (!Number.isFinite(n) || n < 0)
32
+ return 0;
33
+ return Math.min(n, MAX_TIMER_DELAY_MS);
34
+ };
35
+ const buildTimerFeature = () => {
36
+ const handles = new Map();
37
+ let nextId = 1;
38
+ let totalCreated = 0;
39
+ let disposed = false;
40
+ const allocId = () => {
41
+ const id = nextId;
42
+ nextId += 1;
43
+ return id;
44
+ };
45
+ const clear = (id, alsoActive = true) => {
46
+ const handle = handles.get(id);
47
+ if (!handle)
48
+ return;
49
+ if (alsoActive) {
50
+ if (handle.kind === "timeout") {
51
+ clearTimeout(handle.hostId);
52
+ }
53
+ else {
54
+ clearInterval(handle.hostId);
55
+ }
56
+ }
57
+ handles.delete(id);
58
+ };
59
+ const api = {
60
+ setTimeout: (handler, delay, ...args) => {
61
+ if (disposed) {
62
+ // Once the script has been disposed, any further timer
63
+ // requests are no-ops. Returning 0 (never a valid id) makes
64
+ // a stray `clearTimeout(...)` after disposal harmless too.
65
+ return 0;
66
+ }
67
+ if (typeof handler !== "function") {
68
+ throw new TypeError("setTimeout(handler) — handler must be a function");
69
+ }
70
+ if (handles.size >= MAX_TIMERS_PER_EXEC) {
71
+ throw new Error(`setTimeout: exceeded the per-script timer limit (${MAX_TIMERS_PER_EXEC}). ` +
72
+ `Use a single retry loop instead of scheduling many timers.`);
73
+ }
74
+ const id = allocId();
75
+ totalCreated += 1;
76
+ const ms = clampDelay(delay);
77
+ const hostId = setTimeout(() => {
78
+ // Remove from registry BEFORE firing so the handler can call
79
+ // clearTimeout(id) on itself without throwing on a stale entry.
80
+ handles.delete(id);
81
+ try {
82
+ handler(...args);
83
+ }
84
+ catch (error) {
85
+ // The vm context already routes uncaught script errors back
86
+ // to the executor's catch via Promise rejection. A timer
87
+ // callback that throws after the script's main promise has
88
+ // resolved is logged but doesn't blow up the host.
89
+ // eslint-disable-next-line no-console
90
+ console.error("Script timer callback threw:", error);
91
+ }
92
+ }, ms);
93
+ handles.set(id, { hostId, kind: "timeout" });
94
+ return id;
95
+ },
96
+ clearTimeout: (id) => {
97
+ if (disposed)
98
+ return;
99
+ const numeric = Number(id);
100
+ if (!Number.isInteger(numeric))
101
+ return;
102
+ clear(numeric);
103
+ },
104
+ setInterval: (handler, delay, ...args) => {
105
+ if (disposed)
106
+ return 0;
107
+ if (typeof handler !== "function") {
108
+ throw new TypeError("setInterval(handler) — handler must be a function");
109
+ }
110
+ if (handles.size >= MAX_TIMERS_PER_EXEC) {
111
+ throw new Error(`setInterval: exceeded the per-script timer limit (${MAX_TIMERS_PER_EXEC}).`);
112
+ }
113
+ const id = allocId();
114
+ totalCreated += 1;
115
+ // Intervals must have a positive delay — a 0 ms interval would
116
+ // spin a fire-hose. Clamp to at least 1 ms; the upper bound is
117
+ // the same MAX_TIMER_DELAY_MS cap.
118
+ const ms = Math.max(1, clampDelay(delay));
119
+ const hostId = setInterval(() => {
120
+ try {
121
+ handler(...args);
122
+ }
123
+ catch (error) {
124
+ // eslint-disable-next-line no-console
125
+ console.error("Script interval callback threw:", error);
126
+ }
127
+ }, ms);
128
+ handles.set(id, { hostId, kind: "interval" });
129
+ return id;
130
+ },
131
+ clearInterval: (id) => {
132
+ if (disposed)
133
+ return;
134
+ const numeric = Number(id);
135
+ if (!Number.isInteger(numeric))
136
+ return;
137
+ clear(numeric);
138
+ },
139
+ };
140
+ const dispose = () => {
141
+ if (disposed)
142
+ return;
143
+ disposed = true;
144
+ for (const id of [...handles.keys()]) {
145
+ clear(id);
146
+ }
147
+ };
148
+ return {
149
+ api,
150
+ dispose,
151
+ totalCreated: () => totalCreated,
152
+ activeCount: () => handles.size,
153
+ };
154
+ };
155
+ exports.buildTimerFeature = buildTimerFeature;
156
+ //# sourceMappingURL=timers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timers.js","sourceRoot":"","sources":["../../../src/script/features/timers.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,20 @@
1
1
  "use strict";
2
- // pm.variables — collection-runner template resolver.
2
+ // pm.variables — Postman-compatible variable scope.
3
3
  //
4
- // Bridges the script sandbox to callman-core's existing template resolver
5
- // (callman_core/src/variables/resolver.ts). Merges env + globals into a
6
- // single lookup table so user scripts can call:
7
- // pm.variables.resolve("Hello {{name}}")
8
- // regardless of which scope `name` lives in.
4
+ // Postman's `pm.variables` exposes:
5
+ // • `.has(key)` / `.get(key)` / `.set(key, value)` / `.unset(key)` /
6
+ // `.toObject()` — operate on the merged scope (iteration row >
7
+ // environment > globals). Writes go to a transient local store that
8
+ // survives the request's scripts but does NOT mutate the env / globals
9
+ // records visible to other requests in the same run.
10
+ // • `.resolve(template)` / `.replaceIn(template)` — both names supported
11
+ // for compatibility; substitutes `{{var}}` against the merged scope
12
+ // and ALL Postman dynamic tokens (`$randomUUID`, `$timestamp`, etc.).
13
+ //
14
+ // Earlier Callman releases only exposed `.resolve` / `.replaceIn`. The
15
+ // has/get/set/unset/toObject methods are added now so scripts that use
16
+ // `pm.variables.set(...)` and `pm.variables.get(...)` (a very common
17
+ // Postman pattern) work without rewrites.
9
18
  Object.defineProperty(exports, "__esModule", { value: true });
10
19
  exports.buildVariablesApi = void 0;
11
20
  const resolver_js_1 = require("../../variables/resolver.js");
@@ -15,12 +24,49 @@ const stringifyInput = (value) => {
15
24
  }
16
25
  return String(value);
17
26
  };
18
- const buildVariablesApi = (environment, globals) => {
19
- // Merge with environment taking precedence over globals (matches the
20
- // electron runtime.ts behavior where env was spread after globals).
21
- const mergedScope = { ...globals, ...environment };
22
- const resolve = (input) => (0, resolver_js_1.resolveTemplate)(stringifyInput(input), { env: mergedScope });
27
+ const buildVariablesApi = (environment, globals, options = {}) => {
28
+ // Local (request-scoped) overlay. Writes via `pm.variables.set` land
29
+ // here so they take precedence over env / globals for subsequent reads
30
+ // in the same script execution, without polluting persistent state.
31
+ const local = {};
32
+ const collection = options.collectionVariables ?? {};
33
+ // Precedence on read: local > collection > environment > globals.
34
+ // This mirrors Postman's documented order.
35
+ const readMerged = () => ({
36
+ ...globals,
37
+ ...environment,
38
+ ...collection,
39
+ ...local,
40
+ });
41
+ const resolve = (input) => (0, resolver_js_1.resolveTemplate)(stringifyInput(input), { env: readMerged() });
23
42
  return {
43
+ has: (key) => {
44
+ const normalisedKey = String(key ?? "").trim();
45
+ if (!normalisedKey)
46
+ return false;
47
+ const merged = readMerged();
48
+ return Object.prototype.hasOwnProperty.call(merged, normalisedKey);
49
+ },
50
+ get: (key) => {
51
+ const normalisedKey = String(key ?? "").trim();
52
+ if (!normalisedKey)
53
+ return undefined;
54
+ const merged = readMerged();
55
+ return merged[normalisedKey];
56
+ },
57
+ set: (key, value) => {
58
+ const normalisedKey = String(key ?? "").trim();
59
+ if (!normalisedKey)
60
+ return;
61
+ local[normalisedKey] = stringifyInput(value);
62
+ },
63
+ unset: (key) => {
64
+ const normalisedKey = String(key ?? "").trim();
65
+ if (!normalisedKey)
66
+ return;
67
+ delete local[normalisedKey];
68
+ },
69
+ toObject: () => readMerged(),
24
70
  resolve,
25
71
  replaceIn: resolve,
26
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/script/features/variables.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,gDAAgD;AAChD,2CAA2C;AAC3C,6CAA6C;;;AAE7C,6DAA8D;AAO9D,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;AAEK,MAAM,iBAAiB,GAAG,CAC/B,WAAmC,EACnC,OAA+B,EACjB,EAAE;IAChB,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,WAAW,GAA2B,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;IAE3E,MAAM,OAAO,GAAG,CAAC,KAAc,EAAU,EAAE,CACzC,IAAA,6BAAe,EAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAE/D,OAAO;QACL,OAAO;QACP,SAAS,EAAE,OAAO;KACnB,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,iBAAiB,qBAe5B"}
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/script/features/variables.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,EAAE;AACF,oCAAoC;AACpC,uEAAuE;AACvE,mEAAmE;AACnE,wEAAwE;AACxE,2EAA2E;AAC3E,yDAAyD;AACzD,2EAA2E;AAC3E,wEAAwE;AACxE,0EAA0E;AAC1E,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AACvE,qEAAqE;AACrE,0CAA0C;;;AAE1C,6DAA8D;AAY9D,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;AAEK,MAAM,iBAAiB,GAAG,CAC/B,WAAmC,EACnC,OAA+B,EAC/B,UAA4D,EAAE,EAChD,EAAE;IAChB,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;IAErD,kEAAkE;IAClE,2CAA2C;IAC3C,MAAM,UAAU,GAAG,GAA2B,EAAE,CAAC,CAAC;QAChD,GAAG,OAAO;QACV,GAAG,WAAW;QACd,GAAG,UAAU;QACb,GAAG,KAAK;KACT,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,KAAc,EAAU,EAAE,CACzC,IAAA,6BAAe,EAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa;gBAAE,OAAO,KAAK,CAAC;YACjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrE,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa;gBAAE,OAAO,SAAS,CAAC;YACrC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa;gBAAE,OAAO;YAC3B,KAAK,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa;gBAAE,OAAO;YAC3B,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;QAC5B,OAAO;QACP,SAAS,EAAE,OAAO;KACnB,CAAC;AACJ,CAAC,CAAC;AAlDW,QAAA,iBAAiB,qBAkD5B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createPmApi = exports.createExpectApi = exports.PmAssertion = void 0;
4
+ const executeRequest_js_1 = require("../request/executeRequest.js");
4
5
  const get_js_1 = require("../utils/get.js");
5
6
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
6
7
  const formatValue = (value) => {
@@ -297,10 +298,178 @@ const createRequestApi = (request) => {
297
298
  },
298
299
  };
299
300
  };
301
+ const normalizeHeaderInput = (input) => {
302
+ if (!input)
303
+ return {};
304
+ if (typeof input === "string") {
305
+ // Postman shorthand: "Content-Type: application/json\nAuth: ..."
306
+ return Object.fromEntries(input
307
+ .split(/\r?\n/)
308
+ .map((line) => line.trim())
309
+ .filter(Boolean)
310
+ .map((line) => {
311
+ const idx = line.indexOf(":");
312
+ if (idx === -1)
313
+ return [line, ""];
314
+ return [line.slice(0, idx).trim(), line.slice(idx + 1).trim()];
315
+ }));
316
+ }
317
+ if (Array.isArray(input)) {
318
+ const result = {};
319
+ for (const entry of input) {
320
+ if (!isRecord(entry))
321
+ continue;
322
+ const key = String(entry.key ?? "").trim();
323
+ if (!key)
324
+ continue;
325
+ result[key] = String(entry.value ?? "");
326
+ }
327
+ return result;
328
+ }
329
+ if (isRecord(input)) {
330
+ return Object.fromEntries(Object.entries(input).map(([key, value]) => [key, String(value ?? "")]));
331
+ }
332
+ return {};
333
+ };
334
+ const normalizeUrl = (input) => {
335
+ if (typeof input === "string")
336
+ return input;
337
+ if (isRecord(input) && typeof input.raw === "string")
338
+ return input.raw;
339
+ throw new Error("pm.sendRequest: url is required and must be a string");
340
+ };
341
+ const normalizeBody = (body) => {
342
+ if (body === null || body === undefined) {
343
+ return { data: undefined, impliedContentType: null };
344
+ }
345
+ if (typeof body === "string") {
346
+ return { data: body, impliedContentType: null };
347
+ }
348
+ if (isRecord(body)) {
349
+ const mode = body.mode;
350
+ if (mode === "raw") {
351
+ return { data: body.raw ?? "", impliedContentType: null };
352
+ }
353
+ if (mode === "urlencoded") {
354
+ const params = new URLSearchParams();
355
+ for (const entry of body.urlencoded ?? []) {
356
+ if (!isRecord(entry))
357
+ continue;
358
+ const key = String(entry.key ?? "").trim();
359
+ if (!key)
360
+ continue;
361
+ params.append(key, String(entry.value ?? ""));
362
+ }
363
+ return {
364
+ data: params.toString(),
365
+ impliedContentType: "application/x-www-form-urlencoded",
366
+ };
367
+ }
368
+ if (mode === "formdata") {
369
+ // Node FormData is in undici (Node 18+) but the sandbox can't
370
+ // import. Fall back to a multipart-like JSON payload — most
371
+ // refresh-token endpoints use raw/urlencoded anyway.
372
+ const flat = {};
373
+ for (const entry of body.formdata ?? []) {
374
+ if (!isRecord(entry))
375
+ continue;
376
+ const key = String(entry.key ?? "").trim();
377
+ if (!key)
378
+ continue;
379
+ flat[key] = String(entry.value ?? "");
380
+ }
381
+ return { data: flat, impliedContentType: "application/json" };
382
+ }
383
+ }
384
+ return { data: body, impliedContentType: null };
385
+ };
386
+ const createSendRequest = (collector) => {
387
+ return (options, callback) => {
388
+ const normalized = typeof options === "string" ? { url: options, method: "GET" } : options ?? {};
389
+ const promise = (async () => {
390
+ const url = normalizeUrl(normalized.url);
391
+ const method = String(normalized.method ?? "GET").toUpperCase();
392
+ const headerInput = normalized.header ?? normalized.headers;
393
+ const headers = normalizeHeaderInput(headerInput);
394
+ const { data, impliedContentType } = normalizeBody(normalized.body);
395
+ if (impliedContentType &&
396
+ !Object.keys(headers).some((key) => key.toLowerCase() === "content-type")) {
397
+ headers["Content-Type"] = impliedContentType;
398
+ }
399
+ const timeoutMs = typeof normalized.timeout === "number" && normalized.timeout > 0
400
+ ? normalized.timeout
401
+ : undefined;
402
+ const result = await (0, executeRequest_js_1.executeRequest)({
403
+ method,
404
+ url,
405
+ headers,
406
+ query: undefined,
407
+ body: data,
408
+ timeoutMs,
409
+ });
410
+ const responseHeaders = result.headers && typeof result.headers === "object"
411
+ ? result.headers
412
+ : {};
413
+ const bodyText = typeof result.data === "string"
414
+ ? result.data
415
+ : (() => {
416
+ try {
417
+ return JSON.stringify(result.data ?? null);
418
+ }
419
+ catch {
420
+ return String(result.data ?? "");
421
+ }
422
+ })();
423
+ return {
424
+ code: result.status,
425
+ status: result.status,
426
+ statusText: "",
427
+ headers: responseHeaders,
428
+ body: result.data,
429
+ responseTime: result.duration,
430
+ duration: result.duration,
431
+ json: () => {
432
+ if (typeof result.data === "string") {
433
+ return JSON.parse(result.data);
434
+ }
435
+ return result.data;
436
+ },
437
+ text: () => bodyText,
438
+ };
439
+ })();
440
+ // Bind the callback. We swallow rejections on the callback branch
441
+ // (Postman semantics: the callback receives the error) but keep
442
+ // the Promise rejection intact for `await pm.sendRequest(...)`.
443
+ if (typeof callback === "function") {
444
+ promise.then((response) => {
445
+ try {
446
+ callback(null, response);
447
+ }
448
+ catch (error) {
449
+ // Callback threw — surface, don't swallow.
450
+ console.error("pm.sendRequest callback threw:", error);
451
+ }
452
+ }, (error) => {
453
+ try {
454
+ callback(error instanceof Error ? error : new Error(String(error)), null);
455
+ }
456
+ catch (callbackError) {
457
+ console.error("pm.sendRequest callback threw:", callbackError);
458
+ }
459
+ });
460
+ }
461
+ // Track for script-execution lifecycle. The error swallow here is
462
+ // intentional — if no `await` and no callback, we don't want a
463
+ // single failed send to nuke the whole script result.
464
+ collector.addPending(promise.then(() => undefined).catch(() => undefined));
465
+ return promise;
466
+ };
467
+ };
300
468
  const createPmApi = (context, collector) => {
301
469
  const expect = (0, exports.createExpectApi)();
302
470
  const response = createResponseApi(context.response);
303
471
  const request = createRequestApi(context.request);
472
+ const sendRequest = createSendRequest(collector);
304
473
  const environment = {
305
474
  values: context.env.all(),
306
475
  get: (key) => context.env.get(String(key ?? "")),
@@ -339,6 +508,7 @@ const createPmApi = (context, collector) => {
339
508
  env: environment,
340
509
  test,
341
510
  expect,
511
+ sendRequest,
342
512
  };
343
513
  if (response) {
344
514
  Object.assign(response, {
@@ -1 +1 @@
1
- {"version":3,"file":"pmApi.js","sourceRoot":"","sources":["../../src/script/pmApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pmApi.js","sourceRoot":"","sources":["../../src/script/pmApi.ts"],"names":[],"mappings":"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"}
@@ -88,10 +88,10 @@ const BLOCKED_GLOBALS = [
88
88
  "eval",
89
89
  "Function",
90
90
  "Buffer",
91
- "setTimeout",
92
- "clearTimeout",
93
- "setInterval",
94
- "clearInterval",
91
+ // setTimeout / clearTimeout / setInterval / clearInterval are NOT
92
+ // blocked here — the executor injects safe per-execution wrappers
93
+ // via `bindings.timers` (see `features/timers.ts`). Disposal on
94
+ // script completion guarantees no callbacks fire past the run.
95
95
  "fetch",
96
96
  "XMLHttpRequest",
97
97
  "WebSocket",
@@ -177,6 +177,15 @@ const buildScopeTarget = (bindings) => {
177
177
  if (bindings.CryptoJS !== undefined) {
178
178
  target.CryptoJS = bindings.CryptoJS;
179
179
  }
180
+ if (bindings.lodash !== undefined) {
181
+ target._ = bindings.lodash;
182
+ }
183
+ if (bindings.timers !== undefined) {
184
+ target.setTimeout = bindings.timers.setTimeout;
185
+ target.clearTimeout = bindings.timers.clearTimeout;
186
+ target.setInterval = bindings.timers.setInterval;
187
+ target.clearInterval = bindings.timers.clearInterval;
188
+ }
180
189
  if (bindings.labelGlobals) {
181
190
  for (const [name, value] of Object.entries(bindings.labelGlobals)) {
182
191
  target[name] = value;
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"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"}