callman-core 1.0.6 → 1.2.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 (199) hide show
  1. package/dist/index.d.ts +6 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/script/errors.d.ts +3 -0
  6. package/dist/script/errors.d.ts.map +1 -0
  7. package/dist/script/errors.js +68 -0
  8. package/dist/script/errors.js.map +1 -0
  9. package/dist/script/executor.d.ts +5 -0
  10. package/dist/script/executor.d.ts.map +1 -0
  11. package/dist/script/executor.js +301 -0
  12. package/dist/script/executor.js.map +1 -0
  13. package/dist/script/features/assertions.d.ts +46 -0
  14. package/dist/script/features/assertions.d.ts.map +1 -0
  15. package/dist/script/features/assertions.js +264 -0
  16. package/dist/script/features/assertions.js.map +1 -0
  17. package/dist/script/features/counter.d.ts +11 -0
  18. package/dist/script/features/counter.d.ts.map +1 -0
  19. package/dist/script/features/counter.js +43 -0
  20. package/dist/script/features/counter.js.map +1 -0
  21. package/dist/script/features/cryptojs.d.ts +13 -0
  22. package/dist/script/features/cryptojs.d.ts.map +1 -0
  23. package/dist/script/features/cryptojs.js +63 -0
  24. package/dist/script/features/cryptojs.js.map +1 -0
  25. package/dist/script/features/db.d.ts +36 -0
  26. package/dist/script/features/db.d.ts.map +1 -0
  27. package/dist/script/features/db.js +165 -0
  28. package/dist/script/features/db.js.map +1 -0
  29. package/dist/script/features/environment.d.ts +11 -0
  30. package/dist/script/features/environment.d.ts.map +1 -0
  31. package/dist/script/features/environment.js +61 -0
  32. package/dist/script/features/environment.js.map +1 -0
  33. package/dist/script/features/feature-policy.d.ts +8 -0
  34. package/dist/script/features/feature-policy.d.ts.map +1 -0
  35. package/dist/script/features/feature-policy.js +88 -0
  36. package/dist/script/features/feature-policy.js.map +1 -0
  37. package/dist/script/features/kafka.d.ts +11 -0
  38. package/dist/script/features/kafka.d.ts.map +1 -0
  39. package/dist/script/features/kafka.js +71 -0
  40. package/dist/script/features/kafka.js.map +1 -0
  41. package/dist/script/features/log.d.ts +15 -0
  42. package/dist/script/features/log.d.ts.map +1 -0
  43. package/dist/script/features/log.js +59 -0
  44. package/dist/script/features/log.js.map +1 -0
  45. package/dist/script/features/node.d.ts +14 -0
  46. package/dist/script/features/node.d.ts.map +1 -0
  47. package/dist/script/features/node.js +82 -0
  48. package/dist/script/features/node.js.map +1 -0
  49. package/dist/script/features/random.d.ts +13 -0
  50. package/dist/script/features/random.d.ts.map +1 -0
  51. package/dist/script/features/random.js +111 -0
  52. package/dist/script/features/random.js.map +1 -0
  53. package/dist/script/features/redis.d.ts +10 -0
  54. package/dist/script/features/redis.d.ts.map +1 -0
  55. package/dist/script/features/redis.js +22 -0
  56. package/dist/script/features/redis.js.map +1 -0
  57. package/dist/script/features/request.d.ts +23 -0
  58. package/dist/script/features/request.d.ts.map +1 -0
  59. package/dist/script/features/request.js +105 -0
  60. package/dist/script/features/request.js.map +1 -0
  61. package/dist/script/features/response.d.ts +25 -0
  62. package/dist/script/features/response.d.ts.map +1 -0
  63. package/dist/script/features/response.js +43 -0
  64. package/dist/script/features/response.js.map +1 -0
  65. package/dist/script/features/tests.d.ts +15 -0
  66. package/dist/script/features/tests.d.ts.map +1 -0
  67. package/dist/script/features/tests.js +147 -0
  68. package/dist/script/features/tests.js.map +1 -0
  69. package/dist/script/features/variables.d.ts +6 -0
  70. package/dist/script/features/variables.d.ts.map +1 -0
  71. package/dist/script/features/variables.js +25 -0
  72. package/dist/script/features/variables.js.map +1 -0
  73. package/dist/script/legacy.d.ts +4 -0
  74. package/dist/script/legacy.d.ts.map +1 -0
  75. package/dist/script/legacy.js +128 -0
  76. package/dist/script/legacy.js.map +1 -0
  77. package/dist/script/sandbox.d.ts +16 -0
  78. package/dist/script/sandbox.d.ts.map +1 -0
  79. package/dist/script/sandbox.js +51 -0
  80. package/dist/script/sandbox.js.map +1 -0
  81. package/dist/script/scope.d.ts +23 -0
  82. package/dist/script/scope.d.ts.map +1 -0
  83. package/dist/script/scope.js +172 -0
  84. package/dist/script/scope.js.map +1 -0
  85. package/dist/script/scriptEngine.d.ts +2 -2
  86. package/dist/script/scriptEngine.d.ts.map +1 -1
  87. package/dist/script/scriptEngine.js +7 -105
  88. package/dist/script/scriptEngine.js.map +1 -1
  89. package/dist/script/timeout.d.ts +3 -0
  90. package/dist/script/timeout.d.ts.map +1 -0
  91. package/dist/script/timeout.js +38 -0
  92. package/dist/script/timeout.js.map +1 -0
  93. package/dist/script/types.d.ts +167 -0
  94. package/dist/script/types.d.ts.map +1 -0
  95. package/dist/script/types.js +7 -0
  96. package/dist/script/types.js.map +1 -0
  97. package/dist-cjs/contract/contractValidator.js +236 -0
  98. package/dist-cjs/contract/contractValidator.js.map +1 -0
  99. package/dist-cjs/index.js +47 -0
  100. package/dist-cjs/index.js.map +1 -0
  101. package/dist-cjs/package.json +1 -0
  102. package/dist-cjs/request/executeRequest.js +33 -0
  103. package/dist-cjs/request/executeRequest.js.map +1 -0
  104. package/dist-cjs/runner/requestRunner.js +102 -0
  105. package/dist-cjs/runner/requestRunner.js.map +1 -0
  106. package/dist-cjs/runner/runCollection.js +53 -0
  107. package/dist-cjs/runner/runCollection.js.map +1 -0
  108. package/dist-cjs/scenario-runner/condition.js +1735 -0
  109. package/dist-cjs/scenario-runner/condition.js.map +1 -0
  110. package/dist-cjs/scenario-runner/conditionTypes.js +3 -0
  111. package/dist-cjs/scenario-runner/conditionTypes.js.map +1 -0
  112. package/dist-cjs/scenario-runner/executionPolicyRunner.js +53 -0
  113. package/dist-cjs/scenario-runner/executionPolicyRunner.js.map +1 -0
  114. package/dist-cjs/scenario-runner/graphTraversal.js +27 -0
  115. package/dist-cjs/scenario-runner/graphTraversal.js.map +1 -0
  116. package/dist-cjs/scenario-runner/index.js +39 -0
  117. package/dist-cjs/scenario-runner/index.js.map +1 -0
  118. package/dist-cjs/scenario-runner/nodePolicy.js +127 -0
  119. package/dist-cjs/scenario-runner/nodePolicy.js.map +1 -0
  120. package/dist-cjs/scenario-runner/notification/index.js +18 -0
  121. package/dist-cjs/scenario-runner/notification/index.js.map +1 -0
  122. package/dist-cjs/scenario-runner/notification/providers/provider.interface.js +3 -0
  123. package/dist-cjs/scenario-runner/notification/providers/provider.interface.js.map +1 -0
  124. package/dist-cjs/scenario-runner/notification/providers/slack.provider.js +88 -0
  125. package/dist-cjs/scenario-runner/notification/providers/slack.provider.js.map +1 -0
  126. package/dist-cjs/scenario-runner/notification/template.js +13 -0
  127. package/dist-cjs/scenario-runner/notification/template.js.map +1 -0
  128. package/dist-cjs/scenario-runner/retryExecutor.js +57 -0
  129. package/dist-cjs/scenario-runner/retryExecutor.js.map +1 -0
  130. package/dist-cjs/scenario-runner/runScenario.js +1545 -0
  131. package/dist-cjs/scenario-runner/runScenario.js.map +1 -0
  132. package/dist-cjs/scenario-runner/templateResolver.js +468 -0
  133. package/dist-cjs/scenario-runner/templateResolver.js.map +1 -0
  134. package/dist-cjs/scenario-runner/types.js +3 -0
  135. package/dist-cjs/scenario-runner/types.js.map +1 -0
  136. package/dist-cjs/scenario-runner/waitNodeExecutor.js +71 -0
  137. package/dist-cjs/scenario-runner/waitNodeExecutor.js.map +1 -0
  138. package/dist-cjs/script/errors.js +72 -0
  139. package/dist-cjs/script/errors.js.map +1 -0
  140. package/dist-cjs/script/executor.js +306 -0
  141. package/dist-cjs/script/executor.js.map +1 -0
  142. package/dist-cjs/script/features/assertions.js +269 -0
  143. package/dist-cjs/script/features/assertions.js.map +1 -0
  144. package/dist-cjs/script/features/counter.js +47 -0
  145. package/dist-cjs/script/features/counter.js.map +1 -0
  146. package/dist-cjs/script/features/cryptojs.js +67 -0
  147. package/dist-cjs/script/features/cryptojs.js.map +1 -0
  148. package/dist-cjs/script/features/db.js +169 -0
  149. package/dist-cjs/script/features/db.js.map +1 -0
  150. package/dist-cjs/script/features/environment.js +65 -0
  151. package/dist-cjs/script/features/environment.js.map +1 -0
  152. package/dist-cjs/script/features/feature-policy.js +94 -0
  153. package/dist-cjs/script/features/feature-policy.js.map +1 -0
  154. package/dist-cjs/script/features/kafka.js +77 -0
  155. package/dist-cjs/script/features/kafka.js.map +1 -0
  156. package/dist-cjs/script/features/log.js +64 -0
  157. package/dist-cjs/script/features/log.js.map +1 -0
  158. package/dist-cjs/script/features/node.js +89 -0
  159. package/dist-cjs/script/features/node.js.map +1 -0
  160. package/dist-cjs/script/features/random.js +115 -0
  161. package/dist-cjs/script/features/random.js.map +1 -0
  162. package/dist-cjs/script/features/redis.js +26 -0
  163. package/dist-cjs/script/features/redis.js.map +1 -0
  164. package/dist-cjs/script/features/request.js +109 -0
  165. package/dist-cjs/script/features/request.js.map +1 -0
  166. package/dist-cjs/script/features/response.js +47 -0
  167. package/dist-cjs/script/features/response.js.map +1 -0
  168. package/dist-cjs/script/features/tests.js +151 -0
  169. package/dist-cjs/script/features/tests.js.map +1 -0
  170. package/dist-cjs/script/features/variables.js +29 -0
  171. package/dist-cjs/script/features/variables.js.map +1 -0
  172. package/dist-cjs/script/legacy.js +132 -0
  173. package/dist-cjs/script/legacy.js.map +1 -0
  174. package/dist-cjs/script/pmApi.js +353 -0
  175. package/dist-cjs/script/pmApi.js.map +1 -0
  176. package/dist-cjs/script/sandbox.js +91 -0
  177. package/dist-cjs/script/sandbox.js.map +1 -0
  178. package/dist-cjs/script/scope.js +177 -0
  179. package/dist-cjs/script/scope.js.map +1 -0
  180. package/dist-cjs/script/scriptEngine.js +12 -0
  181. package/dist-cjs/script/scriptEngine.js.map +1 -0
  182. package/dist-cjs/script/timeout.js +43 -0
  183. package/dist-cjs/script/timeout.js.map +1 -0
  184. package/dist-cjs/script/types.js +8 -0
  185. package/dist-cjs/script/types.js.map +1 -0
  186. package/dist-cjs/types/index.js +3 -0
  187. package/dist-cjs/types/index.js.map +1 -0
  188. package/dist-cjs/utils/get.js +52 -0
  189. package/dist-cjs/utils/get.js.map +1 -0
  190. package/dist-cjs/utils/random.js +87 -0
  191. package/dist-cjs/utils/random.js.map +1 -0
  192. package/dist-cjs/variables/envStore.js +24 -0
  193. package/dist-cjs/variables/envStore.js.map +1 -0
  194. package/dist-cjs/variables/resolver.js +95 -0
  195. package/dist-cjs/variables/resolver.js.map +1 -0
  196. package/package.json +19 -3
  197. package/samples/runSample.mjs +0 -128
  198. package/tests/waitNode.test.mjs +0 -311
  199. package/tsconfig.json +0 -18
@@ -0,0 +1,353 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPmApi = exports.createExpectApi = exports.PmAssertion = void 0;
4
+ const get_js_1 = require("../utils/get.js");
5
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
6
+ const formatValue = (value) => {
7
+ if (typeof value === "string") {
8
+ return `"${value}"`;
9
+ }
10
+ if (value === undefined) {
11
+ return "undefined";
12
+ }
13
+ try {
14
+ return JSON.stringify(value);
15
+ }
16
+ catch {
17
+ return String(value);
18
+ }
19
+ };
20
+ const getValueType = (value) => {
21
+ if (value === null) {
22
+ return "null";
23
+ }
24
+ if (Array.isArray(value)) {
25
+ return "array";
26
+ }
27
+ return typeof value;
28
+ };
29
+ const isDeepEqual = (left, right) => {
30
+ if (Object.is(left, right)) {
31
+ return true;
32
+ }
33
+ if (Array.isArray(left) && Array.isArray(right)) {
34
+ return left.length === right.length &&
35
+ left.every((value, index) => isDeepEqual(value, right[index]));
36
+ }
37
+ if (isRecord(left) && isRecord(right)) {
38
+ const leftKeys = Object.keys(left);
39
+ const rightKeys = Object.keys(right);
40
+ return leftKeys.length === rightKeys.length &&
41
+ leftKeys.every((key) => Object.prototype.hasOwnProperty.call(right, key) &&
42
+ isDeepEqual(left[key], right[key]));
43
+ }
44
+ return false;
45
+ };
46
+ class PmAssertion {
47
+ actual;
48
+ constructor(actual) {
49
+ this.actual = actual;
50
+ }
51
+ get to() {
52
+ return this;
53
+ }
54
+ get be() {
55
+ return this;
56
+ }
57
+ get been() {
58
+ return this;
59
+ }
60
+ get is() {
61
+ return this;
62
+ }
63
+ get that() {
64
+ return this;
65
+ }
66
+ get which() {
67
+ return this;
68
+ }
69
+ get and() {
70
+ return this;
71
+ }
72
+ get has() {
73
+ return this;
74
+ }
75
+ get have() {
76
+ return this;
77
+ }
78
+ get with() {
79
+ return this;
80
+ }
81
+ get same() {
82
+ return this;
83
+ }
84
+ get deep() {
85
+ return this;
86
+ }
87
+ get ok() {
88
+ return this.toBeTruthy();
89
+ }
90
+ get true() {
91
+ if (this.actual !== true) {
92
+ throw new Error(`Expected ${formatValue(this.actual)} to be true`);
93
+ }
94
+ return this;
95
+ }
96
+ get false() {
97
+ if (this.actual !== false) {
98
+ throw new Error(`Expected ${formatValue(this.actual)} to be false`);
99
+ }
100
+ return this;
101
+ }
102
+ get exist() {
103
+ if (this.actual === null || this.actual === undefined) {
104
+ throw new Error(`Expected ${formatValue(this.actual)} to exist`);
105
+ }
106
+ return this;
107
+ }
108
+ equal(expected) {
109
+ if (!Object.is(this.actual, expected)) {
110
+ throw new Error(`Expected ${formatValue(this.actual)} to equal ${formatValue(expected)}`);
111
+ }
112
+ return this;
113
+ }
114
+ toBe(expected) {
115
+ return this.equal(expected);
116
+ }
117
+ toBeDefined() {
118
+ if (this.actual === undefined) {
119
+ throw new Error(`Expected ${formatValue(this.actual)} to be defined`);
120
+ }
121
+ return this;
122
+ }
123
+ equals(expected) {
124
+ return this.equal(expected);
125
+ }
126
+ eql(expected) {
127
+ return this.toEqual(expected);
128
+ }
129
+ toEqual(expected) {
130
+ if (!isDeepEqual(this.actual, expected)) {
131
+ throw new Error(`Expected ${formatValue(this.actual)} to deeply equal ${formatValue(expected)}`);
132
+ }
133
+ return this;
134
+ }
135
+ a(expectedType) {
136
+ const actualType = getValueType(this.actual);
137
+ const normalizedExpectedType = expectedType.trim().toLowerCase();
138
+ if (actualType !== normalizedExpectedType) {
139
+ throw new Error(`Expected type ${normalizedExpectedType} but got ${actualType}`);
140
+ }
141
+ return this;
142
+ }
143
+ an(expectedType) {
144
+ return this.a(expectedType);
145
+ }
146
+ property(key, expectedValue) {
147
+ const property = (0, get_js_1.safeGet)(this.actual, key);
148
+ if (!property.exists) {
149
+ throw new Error(`Expected ${formatValue(this.actual)} to have property "${key}"`);
150
+ }
151
+ const nextAssertion = new PmAssertion(property.value);
152
+ if (arguments.length > 1) {
153
+ nextAssertion.toEqual(expectedValue);
154
+ }
155
+ return nextAssertion;
156
+ }
157
+ contain(expected) {
158
+ return this.toContain(expected);
159
+ }
160
+ include(expected) {
161
+ return this.toContain(expected);
162
+ }
163
+ toContain(expected) {
164
+ if (typeof this.actual === "string") {
165
+ if (!this.actual.includes(String(expected))) {
166
+ throw new Error(`Expected ${formatValue(this.actual)} to contain ${formatValue(expected)}`);
167
+ }
168
+ return this;
169
+ }
170
+ if (Array.isArray(this.actual)) {
171
+ if (!this.actual.some((entry) => isDeepEqual(entry, expected))) {
172
+ throw new Error(`Expected ${formatValue(this.actual)} to contain ${formatValue(expected)}`);
173
+ }
174
+ return this;
175
+ }
176
+ throw new Error("toContain supports only strings and arrays");
177
+ }
178
+ match(pattern) {
179
+ if (typeof this.actual !== "string") {
180
+ throw new Error(`Expected ${formatValue(this.actual)} to be a string`);
181
+ }
182
+ const matcher = typeof pattern === "string" ? new RegExp(pattern) : pattern;
183
+ if (!matcher.test(this.actual)) {
184
+ throw new Error(`Expected ${formatValue(this.actual)} to match ${String(matcher)}`);
185
+ }
186
+ return this;
187
+ }
188
+ status(expected) {
189
+ return this.property("status", expected);
190
+ }
191
+ header(name, expectedValue) {
192
+ const headers = (0, get_js_1.safeGet)(this.actual, "headers");
193
+ if (!headers.exists || !isRecord(headers.value)) {
194
+ throw new Error("Expected a response-like object with headers");
195
+ }
196
+ const normalizedName = name.toLowerCase();
197
+ const entry = Object.entries(headers.value).find(([key]) => key.toLowerCase() === normalizedName);
198
+ if (!entry) {
199
+ throw new Error(`Expected response headers to contain "${name}"`);
200
+ }
201
+ const nextAssertion = new PmAssertion(entry[1]);
202
+ if (arguments.length > 1) {
203
+ nextAssertion.toEqual(expectedValue);
204
+ }
205
+ return nextAssertion;
206
+ }
207
+ greaterThan(expected) {
208
+ return this.toBeGreaterThan(expected);
209
+ }
210
+ lessThan(expected) {
211
+ return this.toBeLessThan(expected);
212
+ }
213
+ toBeGreaterThan(expected) {
214
+ const actualNumber = Number(this.actual);
215
+ const expectedNumber = Number(expected);
216
+ if (!Number.isFinite(actualNumber) || !Number.isFinite(expectedNumber)) {
217
+ throw new Error("toBeGreaterThan supports only finite numbers");
218
+ }
219
+ if (actualNumber <= expectedNumber) {
220
+ throw new Error(`Expected ${formatValue(this.actual)} to be greater than ${formatValue(expected)}`);
221
+ }
222
+ return this;
223
+ }
224
+ toBeLessThan(expected) {
225
+ const actualNumber = Number(this.actual);
226
+ const expectedNumber = Number(expected);
227
+ if (!Number.isFinite(actualNumber) || !Number.isFinite(expectedNumber)) {
228
+ throw new Error("toBeLessThan supports only finite numbers");
229
+ }
230
+ if (actualNumber >= expectedNumber) {
231
+ throw new Error(`Expected ${formatValue(this.actual)} to be less than ${formatValue(expected)}`);
232
+ }
233
+ return this;
234
+ }
235
+ toBeTruthy() {
236
+ if (!this.actual) {
237
+ throw new Error(`Expected ${formatValue(this.actual)} to be truthy`);
238
+ }
239
+ return this;
240
+ }
241
+ toBeFalsy() {
242
+ if (this.actual) {
243
+ throw new Error(`Expected ${formatValue(this.actual)} to be falsy`);
244
+ }
245
+ return this;
246
+ }
247
+ }
248
+ exports.PmAssertion = PmAssertion;
249
+ const createExpectApi = () => {
250
+ const expect = ((actual) => new PmAssertion(actual));
251
+ expect.fail = (message) => {
252
+ throw new Error(message === undefined || message === null ? "Expectation failed" : String(message));
253
+ };
254
+ return expect;
255
+ };
256
+ exports.createExpectApi = createExpectApi;
257
+ const createResponseApi = (response) => {
258
+ if (!response) {
259
+ return null;
260
+ }
261
+ return {
262
+ status: response.status,
263
+ code: response.status,
264
+ headers: response.headers,
265
+ data: response.data,
266
+ body: response.data,
267
+ responseTime: response.duration,
268
+ duration: response.duration,
269
+ json: () => {
270
+ if (typeof response.data === "string") {
271
+ return JSON.parse(response.data);
272
+ }
273
+ return response.data;
274
+ },
275
+ text: () => typeof response.data === "string"
276
+ ? response.data
277
+ : JSON.stringify(response.data ?? null),
278
+ };
279
+ };
280
+ const createRequestApi = (request) => {
281
+ if (!request) {
282
+ return null;
283
+ }
284
+ const headers = { ...(request.headers ?? {}) };
285
+ return {
286
+ method: request.method,
287
+ url: request.url,
288
+ headers,
289
+ body: request.body,
290
+ getHeader: (key) => headers[key],
291
+ setHeader: (key, value) => {
292
+ const normalizedKey = key.trim();
293
+ if (!normalizedKey) {
294
+ return;
295
+ }
296
+ headers[normalizedKey] = value === undefined || value === null ? "" : String(value);
297
+ },
298
+ };
299
+ };
300
+ const createPmApi = (context, collector) => {
301
+ const expect = (0, exports.createExpectApi)();
302
+ const response = createResponseApi(context.response);
303
+ const request = createRequestApi(context.request);
304
+ const environment = {
305
+ values: context.env.all(),
306
+ get: (key) => context.env.get(String(key ?? "")),
307
+ set: (key, value) => {
308
+ context.env.set(String(key ?? ""), value);
309
+ environment.values = context.env.all();
310
+ },
311
+ };
312
+ const test = (name, fn) => {
313
+ const normalizedName = String(name ?? "").trim() || "Unnamed test";
314
+ const task = Promise.resolve()
315
+ .then(async () => {
316
+ if (typeof fn !== "function") {
317
+ throw new Error("pm.test requires a callback function");
318
+ }
319
+ await fn();
320
+ collector.addResult({
321
+ name: normalizedName,
322
+ status: "PASS",
323
+ });
324
+ })
325
+ .catch((error) => {
326
+ collector.addResult({
327
+ name: normalizedName,
328
+ status: "FAIL",
329
+ message: error instanceof Error ? error.message : String(error),
330
+ });
331
+ });
332
+ collector.addPending(task);
333
+ return task;
334
+ };
335
+ const pm = {
336
+ request,
337
+ response,
338
+ environment,
339
+ env: environment,
340
+ test,
341
+ expect,
342
+ };
343
+ if (response) {
344
+ Object.assign(response, {
345
+ to: new PmAssertion(response),
346
+ be: new PmAssertion(response),
347
+ have: new PmAssertion(response),
348
+ });
349
+ }
350
+ return pm;
351
+ };
352
+ exports.createPmApi = createPmApi;
353
+ //# sourceMappingURL=pmApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pmApi.js","sourceRoot":"","sources":["../../src/script/pmApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ // vm-based sandbox for the canonical script executor.
3
+ //
4
+ // Compiles the user's script wrapped in an async IIFE + `with(scope)` block,
5
+ // then runs it inside a vm.createContext with codeGeneration disabled to
6
+ // neutralize `eval` / `new Function(...)` attempts. NOTE: Node's `vm` module
7
+ // is explicitly *not* a security boundary — this provides isolation against
8
+ // accidental cross-contamination, not against hostile scripts. A future
9
+ // `isolated-vm` migration should be tracked separately.
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.compileAndPrepare = exports.createSandbox = exports.compileScript = exports.wrapScriptSource = exports.SCRIPT_LINE_OFFSET = void 0;
45
+ const vm = __importStar(require("node:vm"));
46
+ const scope_js_1 = require("./scope.js");
47
+ exports.SCRIPT_LINE_OFFSET = -2;
48
+ const wrapScriptSource = (script) => [
49
+ "(async function () {",
50
+ "with (scope) {",
51
+ script,
52
+ "}",
53
+ "}).call(context)",
54
+ ].join("\n");
55
+ exports.wrapScriptSource = wrapScriptSource;
56
+ const compileScript = (script, filename) => new vm.Script((0, exports.wrapScriptSource)(script), {
57
+ filename,
58
+ lineOffset: exports.SCRIPT_LINE_OFFSET,
59
+ });
60
+ exports.compileScript = compileScript;
61
+ const createSandbox = (bindings, filename) => {
62
+ const scopeTarget = (0, scope_js_1.buildScopeTarget)(bindings);
63
+ const scope = (0, scope_js_1.createScopeProxy)(scopeTarget);
64
+ // NOTE: We deliberately omit `microtaskMode: "afterEvaluate"` here. With
65
+ // that mode, microtasks scheduled inside the vm context are drained once
66
+ // (right after the synchronous portion of the script completes) but not
67
+ // again. That breaks fire-and-forget `pm.test(async () => {...})` because
68
+ // the host-side `tests.flush()` then awaits a Promise whose continuation
69
+ // is parked on a microtask queue that no one is draining. Backend and
70
+ // electron sandboxes both used afterEvaluate and would have hit the same
71
+ // bug; keeping it off here is the right canonical default.
72
+ const vmContext = vm.createContext({
73
+ scope,
74
+ context: Object.create(null),
75
+ }, {
76
+ name: filename,
77
+ codeGeneration: {
78
+ strings: false,
79
+ wasm: false,
80
+ },
81
+ });
82
+ return { scope, vmContext };
83
+ };
84
+ exports.createSandbox = createSandbox;
85
+ const compileAndPrepare = (script, bindings, filename) => {
86
+ const { scope, vmContext } = (0, exports.createSandbox)(bindings, filename);
87
+ const vmScript = (0, exports.compileScript)(script, filename);
88
+ return { vmScript, scope, vmContext };
89
+ };
90
+ exports.compileAndPrepare = compileAndPrepare;
91
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/script/sandbox.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,wDAAwD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExD,4CAA8B;AAG9B,yCAAgE;AAEnD,QAAA,kBAAkB,GAAG,CAAC,CAAC,CAAC;AAE9B,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAU,EAAE,CACzD;IACE,sBAAsB;IACtB,gBAAgB;IAChB,MAAM;IACN,GAAG;IACH,kBAAkB;CACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAPF,QAAA,gBAAgB,oBAOd;AAQR,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAa,EAAE,CAC3E,IAAI,EAAE,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,MAAM,CAAC,EAAE;IACtC,QAAQ;IACR,UAAU,EAAE,0BAAkB;CAC/B,CAAC,CAAC;AAJQ,QAAA,aAAa,iBAIrB;AAEE,MAAM,aAAa,GAAG,CAC3B,QAAuB,EACvB,QAAgB,EAC2C,EAAE;IAC7D,MAAM,WAAW,GAAG,IAAA,2BAAgB,EAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC,WAAW,CAAC,CAAC;IAC5C,yEAAyE;IACzE,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAChC;QACE,KAAK;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;KAC7B,EACD;QACE,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE;YACd,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,KAAK;SACZ;KACF,CACF,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC,CAAC;AA7BW,QAAA,aAAa,iBA6BxB;AAEK,MAAM,iBAAiB,GAAG,CAC/B,MAAc,EACd,QAAuB,EACvB,QAAgB,EACO,EAAE;IACzB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAA,qBAAa,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAA,qBAAa,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACxC,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ // Reserved globals + scope target builder for the canonical sandbox.
3
+ //
4
+ // The "allowed" list is intentionally larger than callman-core's legacy
5
+ // scriptEngine — it adopts the union seen in the backend/electron sandboxes
6
+ // (Error subclasses, Map/Set, Symbol, BigInt, TextEncoder/Decoder). This
7
+ // is documented as an intentional behavior change for callers that came
8
+ // from the older A path.
9
+ //
10
+ // The "blocked" set is the safety floor: these names are always undefined
11
+ // in user scripts, regardless of what the caller passes in `bindings`.
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.createScopeProxy = exports.buildScopeTarget = exports.VALID_LABEL_IDENTIFIER_PATTERN = exports.RESERVED_LABEL_NAMES = void 0;
14
+ const ALLOWED_GLOBALS = {
15
+ JSON,
16
+ Math,
17
+ Number,
18
+ String,
19
+ Boolean,
20
+ Array,
21
+ Object,
22
+ Date,
23
+ RegExp,
24
+ Promise,
25
+ Error,
26
+ TypeError,
27
+ ReferenceError,
28
+ SyntaxError,
29
+ RangeError,
30
+ EvalError,
31
+ URIError,
32
+ AggregateError,
33
+ Map,
34
+ Set,
35
+ WeakMap,
36
+ WeakSet,
37
+ Symbol,
38
+ BigInt,
39
+ URL,
40
+ URLSearchParams,
41
+ TextEncoder,
42
+ TextDecoder,
43
+ parseInt,
44
+ parseFloat,
45
+ encodeURIComponent,
46
+ decodeURIComponent,
47
+ isFinite,
48
+ isNaN,
49
+ // Sentinel values — these are not constructors but are safe to expose
50
+ undefined,
51
+ NaN,
52
+ Infinity,
53
+ };
54
+ const BLOCKED_GLOBALS = [
55
+ "eval",
56
+ "Function",
57
+ "Buffer",
58
+ "setTimeout",
59
+ "clearTimeout",
60
+ "setInterval",
61
+ "clearInterval",
62
+ "fetch",
63
+ "XMLHttpRequest",
64
+ "WebSocket",
65
+ "Worker",
66
+ "window",
67
+ "document",
68
+ "self",
69
+ "globalThis",
70
+ "global",
71
+ "process",
72
+ "require",
73
+ "module",
74
+ "exports",
75
+ "navigator",
76
+ "importScripts",
77
+ ];
78
+ // Names that the caller cannot use as a "label-as-global" workflow key.
79
+ // Exposing a workflow node named `pm` or `eval` would shadow the built-in
80
+ // API or reintroduce a blocked global, so we reject these reservations
81
+ // when building label globals.
82
+ exports.RESERVED_LABEL_NAMES = new Set([
83
+ ...Object.keys(ALLOWED_GLOBALS),
84
+ ...BLOCKED_GLOBALS,
85
+ "pm",
86
+ "env",
87
+ "console",
88
+ "request",
89
+ "response",
90
+ "test",
91
+ "expect",
92
+ "workflow",
93
+ // Backend reserves these specifically to keep label globals from clashing
94
+ // with planned db/kafka/redis runtime APIs (Sandbox D / future).
95
+ "db",
96
+ "kafka",
97
+ "redis",
98
+ ]);
99
+ exports.VALID_LABEL_IDENTIFIER_PATTERN = /^[A-Za-z_$][\w$]*$/;
100
+ const buildScopeTarget = (bindings) => {
101
+ const target = {
102
+ ...ALLOWED_GLOBALS,
103
+ pm: bindings.pm,
104
+ };
105
+ if (bindings.env !== undefined) {
106
+ target.env = bindings.env;
107
+ }
108
+ if (bindings.environment !== undefined) {
109
+ target.environment = bindings.environment;
110
+ }
111
+ if (bindings.request !== undefined) {
112
+ target.request = bindings.request;
113
+ }
114
+ if (bindings.response !== undefined) {
115
+ target.response = bindings.response;
116
+ }
117
+ if (bindings.test !== undefined) {
118
+ target.test = bindings.test;
119
+ }
120
+ if (bindings.expect !== undefined) {
121
+ target.expect = bindings.expect;
122
+ }
123
+ if (bindings.console !== undefined) {
124
+ target.console = bindings.console;
125
+ }
126
+ if (bindings.db !== undefined) {
127
+ target.db = bindings.db;
128
+ }
129
+ if (bindings.kafka !== undefined) {
130
+ target.kafka = bindings.kafka;
131
+ }
132
+ if (bindings.redis !== undefined) {
133
+ target.redis = bindings.redis;
134
+ }
135
+ if (bindings.random !== undefined) {
136
+ target.random = bindings.random;
137
+ }
138
+ if (bindings.counter !== undefined) {
139
+ target.counter = bindings.counter;
140
+ }
141
+ if (bindings.variables !== undefined) {
142
+ target.variables = bindings.variables;
143
+ }
144
+ if (bindings.CryptoJS !== undefined) {
145
+ target.CryptoJS = bindings.CryptoJS;
146
+ }
147
+ if (bindings.labelGlobals) {
148
+ for (const [name, value] of Object.entries(bindings.labelGlobals)) {
149
+ target[name] = value;
150
+ }
151
+ }
152
+ // Always blocked — overwrite anything labelGlobals tried to slip in.
153
+ for (const name of BLOCKED_GLOBALS) {
154
+ target[name] = undefined;
155
+ }
156
+ return target;
157
+ };
158
+ exports.buildScopeTarget = buildScopeTarget;
159
+ const createScopeProxy = (target) => new Proxy(target, {
160
+ has: () => true,
161
+ get(scopeTarget, property) {
162
+ if (property === Symbol.unscopables) {
163
+ return undefined;
164
+ }
165
+ return scopeTarget[property];
166
+ },
167
+ set(scopeTarget, property, value) {
168
+ scopeTarget[property] = value;
169
+ return true;
170
+ },
171
+ deleteProperty(scopeTarget, property) {
172
+ delete scopeTarget[property];
173
+ return true;
174
+ },
175
+ });
176
+ exports.createScopeProxy = createScopeProxy;
177
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runScript = void 0;
4
+ // Backwards-compatibility re-export. The real implementation now lives in
5
+ // `legacy.ts` (which calls the canonical `executeScript`). Direct imports
6
+ // from this path stay working for any consumer that pinned to the
7
+ // pre-1.1.0 module layout.
8
+ //
9
+ // Prefer the package entry: `import { runScript } from "callman-core";`
10
+ var legacy_js_1 = require("./legacy.js");
11
+ Object.defineProperty(exports, "runScript", { enumerable: true, get: function () { return legacy_js_1.runScript; } });
12
+ //# sourceMappingURL=scriptEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scriptEngine.js","sourceRoot":"","sources":["../../src/script/scriptEngine.ts"],"names":[],"mappings":";;;AAAA,0EAA0E;AAC1E,0EAA0E;AAC1E,kEAAkE;AAClE,2BAA2B;AAC3B,EAAE;AACF,wEAAwE;AACxE,yCAAwC;AAA/B,sGAAA,SAAS,OAAA"}