callman-core 1.0.6 → 1.1.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.
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/script/errors.d.ts +3 -0
- package/dist/script/errors.d.ts.map +1 -0
- package/dist/script/errors.js +68 -0
- package/dist/script/errors.js.map +1 -0
- package/dist/script/executor.d.ts +5 -0
- package/dist/script/executor.d.ts.map +1 -0
- package/dist/script/executor.js +192 -0
- package/dist/script/executor.js.map +1 -0
- package/dist/script/features/assertions.d.ts +46 -0
- package/dist/script/features/assertions.d.ts.map +1 -0
- package/dist/script/features/assertions.js +264 -0
- package/dist/script/features/assertions.js.map +1 -0
- package/dist/script/features/environment.d.ts +11 -0
- package/dist/script/features/environment.d.ts.map +1 -0
- package/dist/script/features/environment.js +61 -0
- package/dist/script/features/environment.js.map +1 -0
- package/dist/script/features/log.d.ts +15 -0
- package/dist/script/features/log.d.ts.map +1 -0
- package/dist/script/features/log.js +59 -0
- package/dist/script/features/log.js.map +1 -0
- package/dist/script/features/node.d.ts +14 -0
- package/dist/script/features/node.d.ts.map +1 -0
- package/dist/script/features/node.js +82 -0
- package/dist/script/features/node.js.map +1 -0
- package/dist/script/features/request.d.ts +23 -0
- package/dist/script/features/request.d.ts.map +1 -0
- package/dist/script/features/request.js +105 -0
- package/dist/script/features/request.js.map +1 -0
- package/dist/script/features/response.d.ts +25 -0
- package/dist/script/features/response.d.ts.map +1 -0
- package/dist/script/features/response.js +43 -0
- package/dist/script/features/response.js.map +1 -0
- package/dist/script/features/tests.d.ts +9 -0
- package/dist/script/features/tests.d.ts.map +1 -0
- package/dist/script/features/tests.js +62 -0
- package/dist/script/features/tests.js.map +1 -0
- package/dist/script/legacy.d.ts +4 -0
- package/dist/script/legacy.d.ts.map +1 -0
- package/dist/script/legacy.js +128 -0
- package/dist/script/legacy.js.map +1 -0
- package/dist/script/sandbox.d.ts +16 -0
- package/dist/script/sandbox.d.ts.map +1 -0
- package/dist/script/sandbox.js +51 -0
- package/dist/script/sandbox.js.map +1 -0
- package/dist/script/scope.d.ts +16 -0
- package/dist/script/scope.d.ts.map +1 -0
- package/dist/script/scope.js +151 -0
- package/dist/script/scope.js.map +1 -0
- package/dist/script/scriptEngine.d.ts +2 -2
- package/dist/script/scriptEngine.d.ts.map +1 -1
- package/dist/script/scriptEngine.js +7 -105
- package/dist/script/scriptEngine.js.map +1 -1
- package/dist/script/timeout.d.ts +3 -0
- package/dist/script/timeout.d.ts.map +1 -0
- package/dist/script/timeout.js +38 -0
- package/dist/script/timeout.js.map +1 -0
- package/dist/script/types.d.ts +94 -0
- package/dist/script/types.d.ts.map +1 -0
- package/dist/script/types.js +7 -0
- package/dist/script/types.js.map +1 -0
- package/dist-cjs/contract/contractValidator.js +236 -0
- package/dist-cjs/contract/contractValidator.js.map +1 -0
- package/dist-cjs/index.js +41 -0
- package/dist-cjs/index.js.map +1 -0
- package/dist-cjs/package.json +1 -0
- package/dist-cjs/request/executeRequest.js +33 -0
- package/dist-cjs/request/executeRequest.js.map +1 -0
- package/dist-cjs/runner/requestRunner.js +102 -0
- package/dist-cjs/runner/requestRunner.js.map +1 -0
- package/dist-cjs/runner/runCollection.js +53 -0
- package/dist-cjs/runner/runCollection.js.map +1 -0
- package/dist-cjs/scenario-runner/condition.js +1735 -0
- package/dist-cjs/scenario-runner/condition.js.map +1 -0
- package/dist-cjs/scenario-runner/conditionTypes.js +3 -0
- package/dist-cjs/scenario-runner/conditionTypes.js.map +1 -0
- package/dist-cjs/scenario-runner/executionPolicyRunner.js +53 -0
- package/dist-cjs/scenario-runner/executionPolicyRunner.js.map +1 -0
- package/dist-cjs/scenario-runner/graphTraversal.js +27 -0
- package/dist-cjs/scenario-runner/graphTraversal.js.map +1 -0
- package/dist-cjs/scenario-runner/index.js +39 -0
- package/dist-cjs/scenario-runner/index.js.map +1 -0
- package/dist-cjs/scenario-runner/nodePolicy.js +127 -0
- package/dist-cjs/scenario-runner/nodePolicy.js.map +1 -0
- package/dist-cjs/scenario-runner/notification/index.js +18 -0
- package/dist-cjs/scenario-runner/notification/index.js.map +1 -0
- package/dist-cjs/scenario-runner/notification/providers/provider.interface.js +3 -0
- package/dist-cjs/scenario-runner/notification/providers/provider.interface.js.map +1 -0
- package/dist-cjs/scenario-runner/notification/providers/slack.provider.js +88 -0
- package/dist-cjs/scenario-runner/notification/providers/slack.provider.js.map +1 -0
- package/dist-cjs/scenario-runner/notification/template.js +13 -0
- package/dist-cjs/scenario-runner/notification/template.js.map +1 -0
- package/dist-cjs/scenario-runner/retryExecutor.js +57 -0
- package/dist-cjs/scenario-runner/retryExecutor.js.map +1 -0
- package/dist-cjs/scenario-runner/runScenario.js +1545 -0
- package/dist-cjs/scenario-runner/runScenario.js.map +1 -0
- package/dist-cjs/scenario-runner/templateResolver.js +468 -0
- package/dist-cjs/scenario-runner/templateResolver.js.map +1 -0
- package/dist-cjs/scenario-runner/types.js +3 -0
- package/dist-cjs/scenario-runner/types.js.map +1 -0
- package/dist-cjs/scenario-runner/waitNodeExecutor.js +71 -0
- package/dist-cjs/scenario-runner/waitNodeExecutor.js.map +1 -0
- package/dist-cjs/script/errors.js +72 -0
- package/dist-cjs/script/errors.js.map +1 -0
- package/dist-cjs/script/executor.js +197 -0
- package/dist-cjs/script/executor.js.map +1 -0
- package/dist-cjs/script/features/assertions.js +269 -0
- package/dist-cjs/script/features/assertions.js.map +1 -0
- package/dist-cjs/script/features/environment.js +65 -0
- package/dist-cjs/script/features/environment.js.map +1 -0
- package/dist-cjs/script/features/log.js +64 -0
- package/dist-cjs/script/features/log.js.map +1 -0
- package/dist-cjs/script/features/node.js +89 -0
- package/dist-cjs/script/features/node.js.map +1 -0
- package/dist-cjs/script/features/request.js +109 -0
- package/dist-cjs/script/features/request.js.map +1 -0
- package/dist-cjs/script/features/response.js +47 -0
- package/dist-cjs/script/features/response.js.map +1 -0
- package/dist-cjs/script/features/tests.js +66 -0
- package/dist-cjs/script/features/tests.js.map +1 -0
- package/dist-cjs/script/legacy.js +132 -0
- package/dist-cjs/script/legacy.js.map +1 -0
- package/dist-cjs/script/pmApi.js +353 -0
- package/dist-cjs/script/pmApi.js.map +1 -0
- package/dist-cjs/script/sandbox.js +91 -0
- package/dist-cjs/script/sandbox.js.map +1 -0
- package/dist-cjs/script/scope.js +156 -0
- package/dist-cjs/script/scope.js.map +1 -0
- package/dist-cjs/script/scriptEngine.js +12 -0
- package/dist-cjs/script/scriptEngine.js.map +1 -0
- package/dist-cjs/script/timeout.js +43 -0
- package/dist-cjs/script/timeout.js.map +1 -0
- package/dist-cjs/script/types.js +8 -0
- package/dist-cjs/script/types.js.map +1 -0
- package/dist-cjs/types/index.js +3 -0
- package/dist-cjs/types/index.js.map +1 -0
- package/dist-cjs/utils/get.js +52 -0
- package/dist-cjs/utils/get.js.map +1 -0
- package/dist-cjs/utils/random.js +87 -0
- package/dist-cjs/utils/random.js.map +1 -0
- package/dist-cjs/variables/envStore.js +24 -0
- package/dist-cjs/variables/envStore.js.map +1 -0
- package/dist-cjs/variables/resolver.js +95 -0
- package/dist-cjs/variables/resolver.js.map +1 -0
- package/package.json +19 -3
- package/samples/runSample.mjs +0 -128
- package/tests/waitNode.test.mjs +0 -311
- package/tsconfig.json +0 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../../src/script/features/assertions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ScriptVariableMutation } from "../types.js";
|
|
2
|
+
export interface EnvironmentApi {
|
|
3
|
+
values: Record<string, string>;
|
|
4
|
+
get: (key: string) => string | undefined;
|
|
5
|
+
set: (key: string, value: unknown) => void;
|
|
6
|
+
unset: (key: string) => void;
|
|
7
|
+
has: (key: string) => boolean;
|
|
8
|
+
toObject: () => Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
export declare const buildEnvironmentApi: (initial: Record<string, string>, mutations: ScriptVariableMutation[] | null, scope: ScriptVariableMutation["scope"]) => EnvironmentApi;
|
|
11
|
+
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/script/features/environment.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,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,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AASD,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,sBAAsB,EAAE,GAAG,IAAI,EAC1C,OAAO,sBAAsB,CAAC,OAAO,CAAC,KACrC,cA8CF,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// pm.environment / pm.globals — variable-scoped key/value API.
|
|
2
|
+
//
|
|
3
|
+
// Two operating modes:
|
|
4
|
+
// - emitMutations=true: every set/unset is recorded into the shared
|
|
5
|
+
// mutation log. Callers (backend/electron scenario runner) replay this
|
|
6
|
+
// log onto persistent state outside the sandbox.
|
|
7
|
+
// - emitMutations=false: the API mutates the in-memory `values` record
|
|
8
|
+
// directly without producing a log. Used by callman-core's legacy
|
|
9
|
+
// `runScript` shim where EnvStore is the source of truth.
|
|
10
|
+
const coerceToString = (value) => {
|
|
11
|
+
if (value === undefined || value === null) {
|
|
12
|
+
return "";
|
|
13
|
+
}
|
|
14
|
+
return String(value);
|
|
15
|
+
};
|
|
16
|
+
export const buildEnvironmentApi = (initial, mutations, scope) => {
|
|
17
|
+
// Copy so the caller's record is never mutated in-place when the
|
|
18
|
+
// sandbox is configured to emit mutations.
|
|
19
|
+
const values = { ...initial };
|
|
20
|
+
const recordMutation = (mutation) => {
|
|
21
|
+
if (mutations) {
|
|
22
|
+
mutations.push(mutation);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
values,
|
|
27
|
+
get: (key) => values[String(key ?? "").trim()],
|
|
28
|
+
set: (key, value) => {
|
|
29
|
+
const normalizedKey = String(key ?? "").trim();
|
|
30
|
+
if (!normalizedKey) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const normalizedValue = coerceToString(value);
|
|
34
|
+
values[normalizedKey] = normalizedValue;
|
|
35
|
+
recordMutation({
|
|
36
|
+
scope,
|
|
37
|
+
type: "set",
|
|
38
|
+
key: normalizedKey,
|
|
39
|
+
value: normalizedValue,
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
unset: (key) => {
|
|
43
|
+
const normalizedKey = String(key ?? "").trim();
|
|
44
|
+
if (!normalizedKey || !(normalizedKey in values)) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
delete values[normalizedKey];
|
|
48
|
+
recordMutation({
|
|
49
|
+
scope,
|
|
50
|
+
type: "unset",
|
|
51
|
+
key: normalizedKey,
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
has: (key) => {
|
|
55
|
+
const normalizedKey = String(key ?? "").trim();
|
|
56
|
+
return Boolean(normalizedKey) && normalizedKey in values;
|
|
57
|
+
},
|
|
58
|
+
toObject: () => ({ ...values }),
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/script/features/environment.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,uBAAuB;AACvB,sEAAsE;AACtE,2EAA2E;AAC3E,qDAAqD;AACrD,yEAAyE;AACzE,sEAAsE;AACtE,8DAA8D;AAa9D,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,mBAAmB,GAAG,CACjC,OAA+B,EAC/B,SAA0C,EAC1C,KAAsC,EACtB,EAAE;IAClB,iEAAiE;IACjE,2CAA2C;IAC3C,MAAM,MAAM,GAA2B,EAAE,GAAG,OAAO,EAAE,CAAC;IAEtD,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,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;gBACL,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;gBACL,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,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ScriptLogEntry } from "../types.js";
|
|
2
|
+
export interface LogCollector {
|
|
3
|
+
pmLog: (...args: unknown[]) => void;
|
|
4
|
+
consoleApi: {
|
|
5
|
+
log: (...args: unknown[]) => void;
|
|
6
|
+
info: (...args: unknown[]) => void;
|
|
7
|
+
warn: (...args: unknown[]) => void;
|
|
8
|
+
error: (...args: unknown[]) => void;
|
|
9
|
+
debug: (...args: unknown[]) => void;
|
|
10
|
+
};
|
|
11
|
+
logs: ScriptLogEntry[];
|
|
12
|
+
}
|
|
13
|
+
export declare const createLogCollector: () => LogCollector;
|
|
14
|
+
export declare const createSilentLogCollector: () => LogCollector;
|
|
15
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/script/features/log.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsBlD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE;QACV,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAClC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACpC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KACrC,CAAC;IACF,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,QAAO,YAqBrC,CAAC;AAKF,eAAO,MAAM,wBAAwB,QAAO,YAU1C,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// Log collector for pm.log + console.{log,info,warn,error,debug}.
|
|
2
|
+
// Captures user-script output as structured entries so callers can render
|
|
3
|
+
// them in scenario UIs / CLI reports without granting the script real
|
|
4
|
+
// access to the host's stdio.
|
|
5
|
+
const stringifyArgument = (value) => {
|
|
6
|
+
if (typeof value === "string") {
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
if (typeof value === "number" || typeof value === "boolean" || value === null) {
|
|
10
|
+
return String(value);
|
|
11
|
+
}
|
|
12
|
+
if (typeof value === "undefined") {
|
|
13
|
+
return "undefined";
|
|
14
|
+
}
|
|
15
|
+
if (value instanceof Error) {
|
|
16
|
+
return value.stack ?? value.message;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
return JSON.stringify(value, null, 2);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return String(value);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
export const createLogCollector = () => {
|
|
26
|
+
const logs = [];
|
|
27
|
+
const append = (level, args) => {
|
|
28
|
+
logs.push({
|
|
29
|
+
level,
|
|
30
|
+
message: args.map((entry) => stringifyArgument(entry)).join(" "),
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
return {
|
|
34
|
+
pmLog: (...args) => append("log", args),
|
|
35
|
+
consoleApi: {
|
|
36
|
+
log: (...args) => append("log", args),
|
|
37
|
+
info: (...args) => append("info", args),
|
|
38
|
+
warn: (...args) => append("warn", args),
|
|
39
|
+
error: (...args) => append("error", args),
|
|
40
|
+
debug: (...args) => append("debug", args),
|
|
41
|
+
},
|
|
42
|
+
logs,
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
// Silent collector — used when the caller did not enable the `log` extension.
|
|
46
|
+
// pm.log and console.* still need to exist on the scope (so user scripts
|
|
47
|
+
// don't throw ReferenceError); they just become no-ops with no output.
|
|
48
|
+
export const createSilentLogCollector = () => ({
|
|
49
|
+
pmLog: () => undefined,
|
|
50
|
+
consoleApi: {
|
|
51
|
+
log: () => undefined,
|
|
52
|
+
info: () => undefined,
|
|
53
|
+
warn: () => undefined,
|
|
54
|
+
error: () => undefined,
|
|
55
|
+
debug: () => undefined,
|
|
56
|
+
},
|
|
57
|
+
logs: [],
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/script/features/log.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,0EAA0E;AAC1E,sEAAsE;AACtE,8BAA8B;AAI9B,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAU,EAAE;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9E,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;IACtC,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AAcF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAiB,EAAE;IACnD,MAAM,IAAI,GAAqB,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,CAAC,KAA8B,EAAE,IAAe,EAAQ,EAAE;QACvE,IAAI,CAAC,IAAI,CAAC;YACR,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACjE,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;QAClD,UAAU,EAAE;YACV,GAAG,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;YAChD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;YAClD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;YAClD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;YACpD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;SACrD;QACD,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,8EAA8E;AAC9E,yEAAyE;AACzE,uEAAuE;AACvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAiB,EAAE,CAAC,CAAC;IAC3D,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;IACtB,UAAU,EAAE;QACV,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;QACrB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;QACrB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;QACtB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;KACvB;IACD,IAAI,EAAE,EAAE;CACT,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ScenarioNodeExecutionMeta } from "../../scenario-runner/types.js";
|
|
2
|
+
export declare const attachMetaToScriptValue: (value: unknown, meta: ScenarioNodeExecutionMeta | undefined) => unknown;
|
|
3
|
+
export declare const canExposeLabelAsGlobal: (label: string) => boolean;
|
|
4
|
+
export interface BuildLabelGlobalsInput {
|
|
5
|
+
workflowContext: Record<string, unknown>;
|
|
6
|
+
nodeMetaByLabel?: Record<string, ScenarioNodeExecutionMeta>;
|
|
7
|
+
}
|
|
8
|
+
export declare const buildLabelGlobals: ({ workflowContext, nodeMetaByLabel, }: BuildLabelGlobalsInput) => Record<string, unknown>;
|
|
9
|
+
export interface BuildNodeApiInput {
|
|
10
|
+
workflowContext: Record<string, unknown>;
|
|
11
|
+
nodeMetaByLabel?: Record<string, ScenarioNodeExecutionMeta>;
|
|
12
|
+
}
|
|
13
|
+
export declare const buildNodeApi: ({ workflowContext, nodeMetaByLabel, }: BuildNodeApiInput) => ((label: string) => unknown);
|
|
14
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/script/features/node.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAmBhF,eAAO,MAAM,uBAAuB,GAClC,OAAO,OAAO,EACd,MAAM,yBAAyB,GAAG,SAAS,KAC1C,OAmCF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,OAOtD,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,iBAAiB,GAAI,uCAG/B,sBAAsB,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAYjD,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,YAAY,GAAI,uCAG1B,iBAAiB,KAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAWjD,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// pm.node + label-as-global helpers for scenario scripts.
|
|
2
|
+
//
|
|
3
|
+
// In a scenario, each prior node's output is available under its label.
|
|
4
|
+
// Two access paths are exposed to the user script:
|
|
5
|
+
// 1. pm.node("Login") — explicit, never collides
|
|
6
|
+
// 2. Login.token — top-level binding (only when the label
|
|
7
|
+
// is a valid JS identifier and not
|
|
8
|
+
// reserved by the sandbox)
|
|
9
|
+
//
|
|
10
|
+
// Both paths attach `__meta` to the returned value (status/timing) when the
|
|
11
|
+
// caller supplies nodeMetaByLabel — this lets scripts inspect the upstream
|
|
12
|
+
// node's execution metadata directly (e.g., login.__meta.status === "success").
|
|
13
|
+
import { RESERVED_LABEL_NAMES, VALID_LABEL_IDENTIFIER_PATTERN, } from "../scope.js";
|
|
14
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
15
|
+
const cloneMeta = (meta) => meta
|
|
16
|
+
? {
|
|
17
|
+
...meta,
|
|
18
|
+
...(meta.error ? { error: { ...meta.error } } : {}),
|
|
19
|
+
}
|
|
20
|
+
: undefined;
|
|
21
|
+
export const attachMetaToScriptValue = (value, meta) => {
|
|
22
|
+
if (!meta) {
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
const normalizedMeta = cloneMeta(meta);
|
|
26
|
+
if (Array.isArray(value)) {
|
|
27
|
+
const nextValue = [...value];
|
|
28
|
+
nextValue.__meta = normalizedMeta;
|
|
29
|
+
return nextValue;
|
|
30
|
+
}
|
|
31
|
+
if (isRecord(value)) {
|
|
32
|
+
return { ...value, __meta: normalizedMeta };
|
|
33
|
+
}
|
|
34
|
+
if (value === null || typeof value === "undefined") {
|
|
35
|
+
return { __meta: normalizedMeta };
|
|
36
|
+
}
|
|
37
|
+
if (typeof value === "string") {
|
|
38
|
+
const boxed = new String(value);
|
|
39
|
+
boxed.__meta = normalizedMeta;
|
|
40
|
+
return boxed;
|
|
41
|
+
}
|
|
42
|
+
if (typeof value === "number") {
|
|
43
|
+
const boxed = new Number(value);
|
|
44
|
+
boxed.__meta = normalizedMeta;
|
|
45
|
+
return boxed;
|
|
46
|
+
}
|
|
47
|
+
if (typeof value === "boolean") {
|
|
48
|
+
const boxed = new Boolean(value);
|
|
49
|
+
boxed.__meta = normalizedMeta;
|
|
50
|
+
return boxed;
|
|
51
|
+
}
|
|
52
|
+
return { value, __meta: normalizedMeta };
|
|
53
|
+
};
|
|
54
|
+
export const canExposeLabelAsGlobal = (label) => {
|
|
55
|
+
const trimmed = label.trim();
|
|
56
|
+
return (Boolean(trimmed) &&
|
|
57
|
+
VALID_LABEL_IDENTIFIER_PATTERN.test(trimmed) &&
|
|
58
|
+
!RESERVED_LABEL_NAMES.has(trimmed));
|
|
59
|
+
};
|
|
60
|
+
export const buildLabelGlobals = ({ workflowContext, nodeMetaByLabel, }) => {
|
|
61
|
+
const labelGlobals = {};
|
|
62
|
+
for (const [label, value] of Object.entries(workflowContext)) {
|
|
63
|
+
if (!canExposeLabelAsGlobal(label)) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
labelGlobals[label] = attachMetaToScriptValue(value, nodeMetaByLabel?.[label]);
|
|
67
|
+
}
|
|
68
|
+
// The reserved key `workflow` is forwarded as-is when present (without
|
|
69
|
+
// __meta attachment) — backend/electron both expose this.
|
|
70
|
+
labelGlobals.workflow = workflowContext.workflow ?? null;
|
|
71
|
+
return labelGlobals;
|
|
72
|
+
};
|
|
73
|
+
export const buildNodeApi = ({ workflowContext, nodeMetaByLabel, }) => {
|
|
74
|
+
return (label) => {
|
|
75
|
+
const normalizedLabel = String(label ?? "").trim();
|
|
76
|
+
if (!normalizedLabel) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
return attachMetaToScriptValue(workflowContext[normalizedLabel] ?? null, nodeMetaByLabel?.[normalizedLabel]);
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/script/features/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ScriptRequestBodyState, ScriptRequestState } from "../types.js";
|
|
2
|
+
export interface RequestApi {
|
|
3
|
+
method: string;
|
|
4
|
+
url: string;
|
|
5
|
+
headers: Record<string, string>;
|
|
6
|
+
query: Record<string, string>;
|
|
7
|
+
body: ScriptRequestBodyState;
|
|
8
|
+
getHeader: (key: string) => string | undefined;
|
|
9
|
+
setHeader: (key: string, value: unknown) => void;
|
|
10
|
+
unsetHeader: (key: string) => void;
|
|
11
|
+
getQueryParam: (key: string) => string | undefined;
|
|
12
|
+
setQueryParam: (key: string, value: unknown) => void;
|
|
13
|
+
unsetQueryParam: (key: string) => void;
|
|
14
|
+
setMethod: (nextMethod: unknown) => void;
|
|
15
|
+
setUrl: (nextUrl: unknown) => void;
|
|
16
|
+
setRawBody: (value: unknown) => void;
|
|
17
|
+
}
|
|
18
|
+
export interface RequestApiBundle {
|
|
19
|
+
api: RequestApi;
|
|
20
|
+
toRequestState: () => ScriptRequestState;
|
|
21
|
+
}
|
|
22
|
+
export declare const buildRequestApi: (request: ScriptRequestState) => RequestApiBundle;
|
|
23
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/script/features/request.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACnD,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAqCD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,UAAU,CAAC;IAChB,cAAc,EAAE,MAAM,kBAAkB,CAAC;CAC1C;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,kBAAkB,KAAG,gBAqE7D,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// pm.request — read + mutate request state for pre-request and tests stages.
|
|
2
|
+
//
|
|
3
|
+
// The API mirrors the backend's surface: getHeader/setHeader/unsetHeader,
|
|
4
|
+
// getQueryParam/setQueryParam/unsetQueryParam, setMethod/setUrl/setRawBody.
|
|
5
|
+
// Mutations are applied to a working copy; callers retrieve the final
|
|
6
|
+
// state via `toRequestState()` after the script completes.
|
|
7
|
+
const cloneBody = (body) => ({
|
|
8
|
+
mode: body.mode,
|
|
9
|
+
raw: body.raw,
|
|
10
|
+
formEntries: body.formEntries.map((entry) => ({ ...entry })),
|
|
11
|
+
});
|
|
12
|
+
const toRecord = (entries) => {
|
|
13
|
+
const record = {};
|
|
14
|
+
for (const entry of entries) {
|
|
15
|
+
if (entry.enabled === false) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const key = entry.key.trim();
|
|
19
|
+
if (!key) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
record[key] = entry.value;
|
|
23
|
+
}
|
|
24
|
+
return record;
|
|
25
|
+
};
|
|
26
|
+
const toEntries = (record) => Object.entries(record).map(([key, value]) => ({
|
|
27
|
+
key,
|
|
28
|
+
value,
|
|
29
|
+
enabled: true,
|
|
30
|
+
}));
|
|
31
|
+
const stringifyHeaderValue = (value) => {
|
|
32
|
+
if (value === undefined || value === null) {
|
|
33
|
+
return "";
|
|
34
|
+
}
|
|
35
|
+
return String(value);
|
|
36
|
+
};
|
|
37
|
+
export const buildRequestApi = (request) => {
|
|
38
|
+
const headers = toRecord(request.headers);
|
|
39
|
+
const query = toRecord(request.query);
|
|
40
|
+
const body = cloneBody(request.body);
|
|
41
|
+
const api = {
|
|
42
|
+
method: request.method,
|
|
43
|
+
url: request.url,
|
|
44
|
+
headers,
|
|
45
|
+
query,
|
|
46
|
+
body,
|
|
47
|
+
getHeader: (key) => headers[String(key ?? "").trim()],
|
|
48
|
+
setHeader: (key, value) => {
|
|
49
|
+
const normalizedKey = String(key ?? "").trim();
|
|
50
|
+
if (!normalizedKey) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
headers[normalizedKey] = stringifyHeaderValue(value);
|
|
54
|
+
},
|
|
55
|
+
unsetHeader: (key) => {
|
|
56
|
+
const normalizedKey = String(key ?? "").trim();
|
|
57
|
+
if (!normalizedKey) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
delete headers[normalizedKey];
|
|
61
|
+
},
|
|
62
|
+
getQueryParam: (key) => query[String(key ?? "").trim()],
|
|
63
|
+
setQueryParam: (key, value) => {
|
|
64
|
+
const normalizedKey = String(key ?? "").trim();
|
|
65
|
+
if (!normalizedKey) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
query[normalizedKey] = stringifyHeaderValue(value);
|
|
69
|
+
},
|
|
70
|
+
unsetQueryParam: (key) => {
|
|
71
|
+
const normalizedKey = String(key ?? "").trim();
|
|
72
|
+
if (!normalizedKey) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
delete query[normalizedKey];
|
|
76
|
+
},
|
|
77
|
+
setMethod(nextMethod) {
|
|
78
|
+
const normalizedValue = String(nextMethod ?? "")
|
|
79
|
+
.trim()
|
|
80
|
+
.toUpperCase();
|
|
81
|
+
if (normalizedValue) {
|
|
82
|
+
this.method = normalizedValue;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
setUrl(nextUrl) {
|
|
86
|
+
this.url = String(nextUrl ?? "");
|
|
87
|
+
},
|
|
88
|
+
setRawBody(value) {
|
|
89
|
+
this.body.mode = "raw";
|
|
90
|
+
this.body.raw = value === undefined || value === null ? "" : String(value);
|
|
91
|
+
this.body.formEntries = [];
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
return {
|
|
95
|
+
api,
|
|
96
|
+
toRequestState: () => ({
|
|
97
|
+
method: api.method,
|
|
98
|
+
url: api.url,
|
|
99
|
+
headers: toEntries(api.headers),
|
|
100
|
+
query: toEntries(api.query),
|
|
101
|
+
body: cloneBody(api.body),
|
|
102
|
+
}),
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/script/features/request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PmAssertion } from "./assertions.js";
|
|
2
|
+
import type { ScriptResponseState } from "../types.js";
|
|
3
|
+
export interface ResponseApi {
|
|
4
|
+
ok: boolean;
|
|
5
|
+
status: number;
|
|
6
|
+
code: number;
|
|
7
|
+
statusText: string;
|
|
8
|
+
headers: Record<string, string>;
|
|
9
|
+
data: unknown;
|
|
10
|
+
body: unknown;
|
|
11
|
+
rawBody: string;
|
|
12
|
+
raw: string;
|
|
13
|
+
contentType: string;
|
|
14
|
+
durationMs: number;
|
|
15
|
+
responseTime: number;
|
|
16
|
+
sizeBytes: number;
|
|
17
|
+
cookies: string[];
|
|
18
|
+
json: () => unknown;
|
|
19
|
+
text: () => string;
|
|
20
|
+
to?: PmAssertion;
|
|
21
|
+
be?: PmAssertion;
|
|
22
|
+
have?: PmAssertion;
|
|
23
|
+
}
|
|
24
|
+
export declare const buildResponseApi: (response: ScriptResponseState | null) => ResponseApi | null;
|
|
25
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/script/features/response.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIhC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,mBAAmB,GAAG,IAAI,KAAG,WAAW,GAAG,IAqCrF,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// pm.response — read-only view of the captured response, plus the classic
|
|
2
|
+
// Postman fluent assertion entry points (.to / .be / .have).
|
|
3
|
+
//
|
|
4
|
+
// We return a plain object with the assertion getters spliced on so user
|
|
5
|
+
// scripts can write `pm.response.to.have.status(200)` exactly like Postman.
|
|
6
|
+
// The PmAssertion is a fresh instance bound to the response itself so the
|
|
7
|
+
// chain can drill into headers / status / body via .property() etc.
|
|
8
|
+
import { PmAssertion } from "./assertions.js";
|
|
9
|
+
export const buildResponseApi = (response) => {
|
|
10
|
+
if (!response) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
// Legacy callman-core stored the parsed body under `data`. Newer
|
|
14
|
+
// scenario-runner uses `body` (parsed) + `rawBody` (string). Pick whichever
|
|
15
|
+
// upstream gave us, preferring the parsed JSON body when available.
|
|
16
|
+
const parsedBody = response.jsonBody ?? response.body;
|
|
17
|
+
const api = {
|
|
18
|
+
ok: response.ok,
|
|
19
|
+
status: response.status,
|
|
20
|
+
code: response.status,
|
|
21
|
+
statusText: response.statusText,
|
|
22
|
+
headers: response.headers,
|
|
23
|
+
data: parsedBody,
|
|
24
|
+
body: parsedBody,
|
|
25
|
+
rawBody: response.rawBody,
|
|
26
|
+
raw: response.rawBody,
|
|
27
|
+
contentType: response.contentType,
|
|
28
|
+
durationMs: response.durationMs,
|
|
29
|
+
responseTime: response.durationMs,
|
|
30
|
+
sizeBytes: response.sizeBytes,
|
|
31
|
+
cookies: [...response.cookies],
|
|
32
|
+
json: () => response.jsonBody,
|
|
33
|
+
text: () => response.rawBody,
|
|
34
|
+
};
|
|
35
|
+
// Splice fluent assertion getters onto the same object so chains like
|
|
36
|
+
// `pm.response.to.have.status(200)` work without a helper wrapper.
|
|
37
|
+
const assertion = new PmAssertion(api);
|
|
38
|
+
api.to = assertion;
|
|
39
|
+
api.be = assertion;
|
|
40
|
+
api.have = assertion;
|
|
41
|
+
return api;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/script/features/response.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,6DAA6D;AAC7D,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,0EAA0E;AAC1E,oEAAoE;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA4B9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAoC,EAAsB,EAAE;IAC3F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iEAAiE;IACjE,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC;IAEtD,MAAM,GAAG,GAAgB;QACvB,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,OAAO;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,YAAY,EAAE,QAAQ,CAAC,UAAU;QACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ;QAC7B,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO;KAC7B,CAAC;IAEF,sEAAsE;IACtE,mEAAmE;IACnE,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IACnB,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IACnB,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;IAErB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ScriptStage, ScriptTestResult } from "../types.js";
|
|
2
|
+
export interface TestCollector {
|
|
3
|
+
test: (name: string, fn: ((() => unknown | Promise<unknown>) | undefined)) => Promise<void>;
|
|
4
|
+
skip: (name: string, reason?: string) => void;
|
|
5
|
+
testResults: ScriptTestResult[];
|
|
6
|
+
flush: () => Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const buildTestCollector: (_stage: ScriptStage) => TestCollector;
|
|
9
|
+
//# sourceMappingURL=tests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/script/features/tests.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAqBjE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,KACjD,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAOD,eAAO,MAAM,kBAAkB,GAAI,QAAQ,WAAW,KAAG,aAyCxD,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// pm.test collector — runs each callback as a fire-and-forget Promise that
|
|
2
|
+
// resolves to PASS/FAIL/SKIP and surfaces the result via `flush()`.
|
|
3
|
+
//
|
|
4
|
+
// The collector is shared by the script's `pm.test` and the script-level
|
|
5
|
+
// SKIP path. Errors thrown synchronously inside the callback or rejected
|
|
6
|
+
// from an async callback land in the FAIL branch with the error message.
|
|
7
|
+
// Errors thrown inside the vm context cross a realm boundary, which means
|
|
8
|
+
// `error instanceof Error` from the host's perspective is FALSE even when
|
|
9
|
+
// the value has a real .message property. Read the message structurally
|
|
10
|
+
// to keep the recorded text identical to what user scripts see.
|
|
11
|
+
const extractErrorMessage = (error) => {
|
|
12
|
+
if (error instanceof Error) {
|
|
13
|
+
return error.message;
|
|
14
|
+
}
|
|
15
|
+
if (error &&
|
|
16
|
+
typeof error === "object" &&
|
|
17
|
+
"message" in error &&
|
|
18
|
+
typeof error.message === "string") {
|
|
19
|
+
return error.message;
|
|
20
|
+
}
|
|
21
|
+
return String(error);
|
|
22
|
+
};
|
|
23
|
+
const normalizeName = (name) => {
|
|
24
|
+
const trimmed = String(name ?? "").trim();
|
|
25
|
+
return trimmed || "Unnamed test";
|
|
26
|
+
};
|
|
27
|
+
export const buildTestCollector = (_stage) => {
|
|
28
|
+
const testResults = [];
|
|
29
|
+
const pending = [];
|
|
30
|
+
const test = (name, fn) => {
|
|
31
|
+
const normalizedName = normalizeName(name);
|
|
32
|
+
const task = Promise.resolve()
|
|
33
|
+
.then(async () => {
|
|
34
|
+
if (typeof fn !== "function") {
|
|
35
|
+
throw new Error("pm.test requires a callback function");
|
|
36
|
+
}
|
|
37
|
+
await fn();
|
|
38
|
+
testResults.push({ name: normalizedName, status: "PASS" });
|
|
39
|
+
})
|
|
40
|
+
.catch((error) => {
|
|
41
|
+
testResults.push({
|
|
42
|
+
name: normalizedName,
|
|
43
|
+
status: "FAIL",
|
|
44
|
+
error: extractErrorMessage(error),
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
pending.push(task);
|
|
48
|
+
return task;
|
|
49
|
+
};
|
|
50
|
+
const skip = (name, reason) => {
|
|
51
|
+
testResults.push({
|
|
52
|
+
name: normalizeName(name),
|
|
53
|
+
status: "SKIP",
|
|
54
|
+
...(reason ? { error: reason } : {}),
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
const flush = async () => {
|
|
58
|
+
await Promise.allSettled(pending);
|
|
59
|
+
};
|
|
60
|
+
return { test, skip, testResults, flush };
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tests.js","sourceRoot":"","sources":["../../../src/script/features/tests.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,oEAAoE;AACpE,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AAIzE,0EAA0E;AAC1E,0EAA0E;AAC1E,wEAAwE;AACxE,gEAAgE;AAChE,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAU,EAAE;IACrD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,SAAS,IAAI,KAAK;QAClB,OAAQ,KAA8B,CAAC,OAAO,KAAK,QAAQ,EAC3D,CAAC;QACD,OAAQ,KAA6B,CAAC,OAAO,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAYF,MAAM,aAAa,GAAG,CAAC,IAAa,EAAU,EAAE;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO,OAAO,IAAI,cAAc,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAmB,EAAiB,EAAE;IACvE,MAAM,WAAW,GAAuB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,MAAM,IAAI,GAAG,CACX,IAAY,EACZ,EAAoD,EACrC,EAAE;QACjB,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE;aAC3B,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,EAAE,EAAE,CAAC;YACX,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACL,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,MAAe,EAAQ,EAAE;QACnD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;YACzB,MAAM,EAAE,MAAM;YACd,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACtC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC5C,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/script/legacy.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAGV,gBAAgB,EAChB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAS3B,YAAY,EAAE,gBAAgB,EAAE,CAAC;AA0FjC,eAAO,MAAM,SAAS,GACpB,QAAQ,MAAM,GAAG,SAAS,EAC1B,SAAS,gBAAgB,KACxB,OAAO,CAAC,UAAU,EAAE,CA0CtB,CAAC"}
|