callman-core 1.28.0 → 1.29.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/ai-packs/scenario-nodes.md +451 -0
- package/dist/ai/index.d.ts +2 -1
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/outputSchemas.d.ts +3 -0
- package/dist/ai/outputSchemas.d.ts.map +1 -1
- package/dist/ai/outputSchemas.js +1 -0
- package/dist/ai/outputSchemas.js.map +1 -1
- package/dist/ai/parse/diagram.d.ts.map +1 -1
- package/dist/ai/parse/diagram.js +6 -3
- package/dist/ai/parse/diagram.js.map +1 -1
- package/dist/ai/prompts/diagram.d.ts +7 -3
- package/dist/ai/prompts/diagram.d.ts.map +1 -1
- package/dist/ai/prompts/diagram.js +44 -5
- package/dist/ai/prompts/diagram.js.map +1 -1
- package/dist/ai/prompts/scenario.d.ts.map +1 -1
- package/dist/ai/prompts/scenario.js +9 -8
- package/dist/ai/prompts/scenario.js.map +1 -1
- package/dist/ai/prompts/scenarioNodeReference.d.ts +16 -0
- package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -0
- package/dist/ai/prompts/scenarioNodeReference.js +882 -0
- package/dist/ai/prompts/scenarioNodeReference.js.map +1 -0
- package/dist/ai/types.d.ts +6 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/diagram/bpmn/derive.d.ts +74 -0
- package/dist/diagram/bpmn/derive.d.ts.map +1 -0
- package/dist/diagram/bpmn/derive.js +392 -0
- package/dist/diagram/bpmn/derive.js.map +1 -0
- package/dist/diagram/bpmn/index.d.ts +7 -0
- package/dist/diagram/bpmn/index.d.ts.map +1 -0
- package/dist/diagram/bpmn/index.js +12 -0
- package/dist/diagram/bpmn/index.js.map +1 -0
- package/dist/diagram/bpmn/patch.d.ts +14 -0
- package/dist/diagram/bpmn/patch.d.ts.map +1 -0
- package/dist/diagram/bpmn/patch.js +770 -0
- package/dist/diagram/bpmn/patch.js.map +1 -0
- package/dist/diagram/bpmn/place.d.ts +4 -0
- package/dist/diagram/bpmn/place.d.ts.map +1 -0
- package/dist/diagram/bpmn/place.js +65 -0
- package/dist/diagram/bpmn/place.js.map +1 -0
- package/dist/diagram/bpmn/serialize.d.ts +12 -0
- package/dist/diagram/bpmn/serialize.d.ts.map +1 -0
- package/dist/diagram/bpmn/serialize.js +292 -0
- package/dist/diagram/bpmn/serialize.js.map +1 -0
- package/dist/diagram/bpmn/types.d.ts +42 -0
- package/dist/diagram/bpmn/types.d.ts.map +1 -0
- package/dist/diagram/bpmn/types.js +84 -0
- package/dist/diagram/bpmn/types.js.map +1 -0
- package/dist/diagram/bpmn/xml.d.ts +60 -0
- package/dist/diagram/bpmn/xml.d.ts.map +1 -0
- package/dist/diagram/bpmn/xml.js +342 -0
- package/dist/diagram/bpmn/xml.js.map +1 -0
- package/dist/diagram/elkGraph.d.ts +1 -3
- package/dist/diagram/elkGraph.d.ts.map +1 -1
- package/dist/diagram/elkGraph.js +1 -0
- package/dist/diagram/elkGraph.js.map +1 -1
- package/dist/diagram/fixtures.d.ts +10 -0
- package/dist/diagram/fixtures.d.ts.map +1 -0
- package/dist/diagram/fixtures.js +113 -0
- package/dist/diagram/fixtures.js.map +1 -0
- package/dist/diagram/geometry.d.ts +27 -0
- package/dist/diagram/geometry.d.ts.map +1 -0
- package/dist/diagram/geometry.js +122 -0
- package/dist/diagram/geometry.js.map +1 -0
- package/dist/diagram/history.d.ts +36 -0
- package/dist/diagram/history.d.ts.map +1 -0
- package/dist/diagram/history.js +54 -0
- package/dist/diagram/history.js.map +1 -0
- package/dist/diagram/ids.d.ts +5 -0
- package/dist/diagram/ids.d.ts.map +1 -0
- package/dist/diagram/ids.js +52 -0
- package/dist/diagram/ids.js.map +1 -0
- package/dist/diagram/index.d.ts +14 -2
- package/dist/diagram/index.d.ts.map +1 -1
- package/dist/diagram/index.js +20 -8
- package/dist/diagram/index.js.map +1 -1
- package/dist/diagram/layout.d.ts +107 -0
- package/dist/diagram/layout.d.ts.map +1 -0
- package/dist/diagram/layout.js +356 -0
- package/dist/diagram/layout.js.map +1 -0
- package/dist/diagram/mermaid/derive.d.ts +55 -0
- package/dist/diagram/mermaid/derive.d.ts.map +1 -0
- package/dist/diagram/mermaid/derive.js +343 -0
- package/dist/diagram/mermaid/derive.js.map +1 -0
- package/dist/diagram/mermaid/index.d.ts +8 -0
- package/dist/diagram/mermaid/index.d.ts.map +1 -0
- package/dist/diagram/mermaid/index.js +24 -0
- package/dist/diagram/mermaid/index.js.map +1 -0
- package/dist/diagram/mermaid/parse.d.ts +96 -0
- package/dist/diagram/mermaid/parse.d.ts.map +1 -0
- package/dist/diagram/mermaid/parse.js +672 -0
- package/dist/diagram/mermaid/parse.js.map +1 -0
- package/dist/diagram/mermaid/patch.d.ts +16 -0
- package/dist/diagram/mermaid/patch.d.ts.map +1 -0
- package/dist/diagram/mermaid/patch.js +463 -0
- package/dist/diagram/mermaid/patch.js.map +1 -0
- package/dist/diagram/mermaid/serialize.d.ts +14 -0
- package/dist/diagram/mermaid/serialize.d.ts.map +1 -0
- package/dist/diagram/mermaid/serialize.js +125 -0
- package/dist/diagram/mermaid/serialize.js.map +1 -0
- package/dist/diagram/mermaid/shapes.d.ts +11 -0
- package/dist/diagram/mermaid/shapes.d.ts.map +1 -0
- package/dist/diagram/mermaid/shapes.js +320 -0
- package/dist/diagram/mermaid/shapes.js.map +1 -0
- package/dist/diagram/migrations.d.ts +1 -0
- package/dist/diagram/migrations.d.ts.map +1 -1
- package/dist/diagram/migrations.js +7 -2
- package/dist/diagram/migrations.js.map +1 -1
- package/dist/diagram/normalize.d.ts +9 -1
- package/dist/diagram/normalize.d.ts.map +1 -1
- package/dist/diagram/normalize.js +194 -0
- package/dist/diagram/normalize.js.map +1 -1
- package/dist/diagram/ops.d.ts +146 -0
- package/dist/diagram/ops.d.ts.map +1 -0
- package/dist/diagram/ops.js +823 -0
- package/dist/diagram/ops.js.map +1 -0
- package/dist/diagram/opsReference.d.ts +3 -0
- package/dist/diagram/opsReference.d.ts.map +1 -0
- package/dist/diagram/opsReference.js +51 -0
- package/dist/diagram/opsReference.js.map +1 -0
- package/dist/diagram/patchInput.d.ts +193 -0
- package/dist/diagram/patchInput.d.ts.map +1 -0
- package/dist/diagram/patchInput.js +621 -0
- package/dist/diagram/patchInput.js.map +1 -0
- package/dist/diagram/routing/batch.d.ts +45 -0
- package/dist/diagram/routing/batch.d.ts.map +1 -0
- package/dist/diagram/routing/batch.js +136 -0
- package/dist/diagram/routing/batch.js.map +1 -0
- package/dist/diagram/routing/curves.d.ts +7 -0
- package/dist/diagram/routing/curves.d.ts.map +1 -0
- package/dist/diagram/routing/curves.js +120 -0
- package/dist/diagram/routing/curves.js.map +1 -0
- package/dist/diagram/routing/grid.d.ts +15 -0
- package/dist/diagram/routing/grid.d.ts.map +1 -0
- package/dist/diagram/routing/grid.js +245 -0
- package/dist/diagram/routing/grid.js.map +1 -0
- package/dist/diagram/routing/index.d.ts +10 -0
- package/dist/diagram/routing/index.d.ts.map +1 -0
- package/dist/diagram/routing/index.js +10 -0
- package/dist/diagram/routing/index.js.map +1 -0
- package/dist/diagram/routing/legacy.d.ts +6 -0
- package/dist/diagram/routing/legacy.d.ts.map +1 -0
- package/dist/diagram/routing/legacy.js +27 -0
- package/dist/diagram/routing/legacy.js.map +1 -0
- package/dist/diagram/routing/nudge.d.ts +4 -0
- package/dist/diagram/routing/nudge.d.ts.map +1 -0
- package/dist/diagram/routing/nudge.js +96 -0
- package/dist/diagram/routing/nudge.js.map +1 -0
- package/dist/diagram/routing/orthogonal.d.ts +6 -0
- package/dist/diagram/routing/orthogonal.d.ts.map +1 -0
- package/dist/diagram/routing/orthogonal.js +56 -0
- package/dist/diagram/routing/orthogonal.js.map +1 -0
- package/dist/diagram/routing/path.d.ts +16 -0
- package/dist/diagram/routing/path.d.ts.map +1 -0
- package/dist/diagram/routing/path.js +128 -0
- package/dist/diagram/routing/path.js.map +1 -0
- package/dist/diagram/routing/sides.d.ts +22 -0
- package/dist/diagram/routing/sides.d.ts.map +1 -0
- package/dist/diagram/routing/sides.js +74 -0
- package/dist/diagram/routing/sides.js.map +1 -0
- package/dist/diagram/routing/types.d.ts +46 -0
- package/dist/diagram/routing/types.d.ts.map +1 -0
- package/dist/diagram/routing/types.js +11 -0
- package/dist/diagram/routing/types.js.map +1 -0
- package/dist/diagram/schema.d.ts +70 -37
- package/dist/diagram/schema.d.ts.map +1 -1
- package/dist/diagram/schema.js +62 -8
- package/dist/diagram/schema.js.map +1 -1
- package/dist/diagram/styleInput.d.ts +41 -0
- package/dist/diagram/styleInput.d.ts.map +1 -0
- package/dist/diagram/styleInput.js +105 -0
- package/dist/diagram/styleInput.js.map +1 -0
- package/dist/diagram/views.d.ts +9 -0
- package/dist/diagram/views.d.ts.map +1 -0
- package/dist/diagram/views.js +42 -0
- package/dist/diagram/views.js.map +1 -0
- package/dist/http-file/flatImport.d.ts +1 -0
- package/dist/http-file/flatImport.d.ts.map +1 -1
- package/dist/http-file/flatImport.js.map +1 -1
- package/dist/http-file/index.d.ts +1 -1
- package/dist/http-file/index.d.ts.map +1 -1
- package/dist/http-file/index.js +1 -1
- package/dist/http-file/index.js.map +1 -1
- package/dist/http-file/parseHttpFile.d.ts +1 -0
- package/dist/http-file/parseHttpFile.d.ts.map +1 -1
- package/dist/http-file/parseHttpFile.js +40 -8
- package/dist/http-file/parseHttpFile.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/request/requestBody.d.ts +55 -0
- package/dist/request/requestBody.d.ts.map +1 -0
- package/dist/request/requestBody.js +198 -0
- package/dist/request/requestBody.js.map +1 -0
- package/dist/runner/requestRunner.d.ts.map +1 -1
- package/dist/runner/requestRunner.js +127 -43
- package/dist/runner/requestRunner.js.map +1 -1
- package/dist/runner/runCollection.d.ts +1 -1
- package/dist/runner/runCollection.d.ts.map +1 -1
- package/dist/runner/runCollection.js +9 -2
- package/dist/runner/runCollection.js.map +1 -1
- package/dist/scenario-runner/adapters/helpers/request-helpers.d.ts +2 -1
- package/dist/scenario-runner/adapters/helpers/request-helpers.d.ts.map +1 -1
- package/dist/scenario-runner/adapters/helpers/request-helpers.js +8 -40
- package/dist/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
- package/dist/scenario-runner/adapters/request-executor.d.ts.map +1 -1
- package/dist/scenario-runner/adapters/request-executor.js +2 -29
- package/dist/scenario-runner/adapters/request-executor.js.map +1 -1
- package/dist/scenario-runner/index.d.ts +1 -0
- package/dist/scenario-runner/index.d.ts.map +1 -1
- package/dist/scenario-runner/index.js +1 -0
- package/dist/scenario-runner/index.js.map +1 -1
- package/dist/scenario-runner/labels.d.ts +3 -0
- package/dist/scenario-runner/labels.d.ts.map +1 -0
- package/dist/scenario-runner/labels.js +20 -0
- package/dist/scenario-runner/labels.js.map +1 -0
- package/dist/scenario-runner/runScenario.d.ts.map +1 -1
- package/dist/scenario-runner/runScenario.js +4 -11
- package/dist/scenario-runner/runScenario.js.map +1 -1
- package/dist/script/legacy.d.ts.map +1 -1
- package/dist/script/legacy.js +24 -9
- package/dist/script/legacy.js.map +1 -1
- package/dist/types/index.d.ts +18 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/variables/resolver.d.ts.map +1 -1
- package/dist/variables/resolver.js +27 -5
- package/dist/variables/resolver.js.map +1 -1
- package/dist-cjs/ai/index.js +4 -1
- package/dist-cjs/ai/index.js.map +1 -1
- package/dist-cjs/ai/outputSchemas.js +1 -0
- package/dist-cjs/ai/outputSchemas.js.map +1 -1
- package/dist-cjs/ai/parse/diagram.js +6 -3
- package/dist-cjs/ai/parse/diagram.js.map +1 -1
- package/dist-cjs/ai/prompts/diagram.js +44 -5
- package/dist-cjs/ai/prompts/diagram.js.map +1 -1
- package/dist-cjs/ai/prompts/scenario.js +9 -8
- package/dist-cjs/ai/prompts/scenario.js.map +1 -1
- package/dist-cjs/ai/prompts/scenarioNodeReference.js +886 -0
- package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -0
- package/dist-cjs/diagram/bpmn/derive.js +398 -0
- package/dist-cjs/diagram/bpmn/derive.js.map +1 -0
- package/dist-cjs/diagram/bpmn/index.js +31 -0
- package/dist-cjs/diagram/bpmn/index.js.map +1 -0
- package/dist-cjs/diagram/bpmn/patch.js +774 -0
- package/dist-cjs/diagram/bpmn/patch.js.map +1 -0
- package/dist-cjs/diagram/bpmn/place.js +69 -0
- package/dist-cjs/diagram/bpmn/place.js.map +1 -0
- package/dist-cjs/diagram/bpmn/serialize.js +299 -0
- package/dist-cjs/diagram/bpmn/serialize.js.map +1 -0
- package/dist-cjs/diagram/bpmn/types.js +99 -0
- package/dist-cjs/diagram/bpmn/types.js.map +1 -0
- package/dist-cjs/diagram/bpmn/xml.js +367 -0
- package/dist-cjs/diagram/bpmn/xml.js.map +1 -0
- package/dist-cjs/diagram/elkGraph.js +1 -0
- package/dist-cjs/diagram/elkGraph.js.map +1 -1
- package/dist-cjs/diagram/fixtures.js +117 -0
- package/dist-cjs/diagram/fixtures.js.map +1 -0
- package/dist-cjs/diagram/geometry.js +143 -0
- package/dist-cjs/diagram/geometry.js.map +1 -0
- package/dist-cjs/diagram/history.js +65 -0
- package/dist-cjs/diagram/history.js.map +1 -0
- package/dist-cjs/diagram/ids.js +58 -0
- package/dist-cjs/diagram/ids.js.map +1 -0
- package/dist-cjs/diagram/index.js +23 -8
- package/dist-cjs/diagram/index.js.map +1 -1
- package/dist-cjs/diagram/layout.js +364 -0
- package/dist-cjs/diagram/layout.js.map +1 -0
- package/dist-cjs/diagram/mermaid/derive.js +353 -0
- package/dist-cjs/diagram/mermaid/derive.js.map +1 -0
- package/dist-cjs/diagram/mermaid/index.js +44 -0
- package/dist-cjs/diagram/mermaid/index.js.map +1 -0
- package/dist-cjs/diagram/mermaid/parse.js +681 -0
- package/dist-cjs/diagram/mermaid/parse.js.map +1 -0
- package/dist-cjs/diagram/mermaid/patch.js +468 -0
- package/dist-cjs/diagram/mermaid/patch.js.map +1 -0
- package/dist-cjs/diagram/mermaid/serialize.js +133 -0
- package/dist-cjs/diagram/mermaid/serialize.js.map +1 -0
- package/dist-cjs/diagram/mermaid/shapes.js +327 -0
- package/dist-cjs/diagram/mermaid/shapes.js.map +1 -0
- package/dist-cjs/diagram/migrations.js +9 -3
- package/dist-cjs/diagram/migrations.js.map +1 -1
- package/dist-cjs/diagram/normalize.js +198 -1
- package/dist-cjs/diagram/normalize.js.map +1 -1
- package/dist-cjs/diagram/ops.js +829 -0
- package/dist-cjs/diagram/ops.js.map +1 -0
- package/dist-cjs/diagram/opsReference.js +55 -0
- package/dist-cjs/diagram/opsReference.js.map +1 -0
- package/dist-cjs/diagram/patchInput.js +636 -0
- package/dist-cjs/diagram/patchInput.js.map +1 -0
- package/dist-cjs/diagram/routing/batch.js +142 -0
- package/dist-cjs/diagram/routing/batch.js.map +1 -0
- package/dist-cjs/diagram/routing/curves.js +127 -0
- package/dist-cjs/diagram/routing/curves.js.map +1 -0
- package/dist-cjs/diagram/routing/grid.js +250 -0
- package/dist-cjs/diagram/routing/grid.js.map +1 -0
- package/dist-cjs/diagram/routing/index.js +29 -0
- package/dist-cjs/diagram/routing/index.js.map +1 -0
- package/dist-cjs/diagram/routing/legacy.js +32 -0
- package/dist-cjs/diagram/routing/legacy.js.map +1 -0
- package/dist-cjs/diagram/routing/nudge.js +100 -0
- package/dist-cjs/diagram/routing/nudge.js.map +1 -0
- package/dist-cjs/diagram/routing/orthogonal.js +62 -0
- package/dist-cjs/diagram/routing/orthogonal.js.map +1 -0
- package/dist-cjs/diagram/routing/path.js +137 -0
- package/dist-cjs/diagram/routing/path.js.map +1 -0
- package/dist-cjs/diagram/routing/sides.js +82 -0
- package/dist-cjs/diagram/routing/sides.js.map +1 -0
- package/dist-cjs/diagram/routing/types.js +15 -0
- package/dist-cjs/diagram/routing/types.js.map +1 -0
- package/dist-cjs/diagram/schema.js +64 -9
- package/dist-cjs/diagram/schema.js.map +1 -1
- package/dist-cjs/diagram/styleInput.js +113 -0
- package/dist-cjs/diagram/styleInput.js.map +1 -0
- package/dist-cjs/diagram/views.js +46 -0
- package/dist-cjs/diagram/views.js.map +1 -0
- package/dist-cjs/http-file/flatImport.js.map +1 -1
- package/dist-cjs/http-file/index.js +2 -1
- package/dist-cjs/http-file/index.js.map +1 -1
- package/dist-cjs/http-file/parseHttpFile.js +42 -9
- package/dist-cjs/http-file/parseHttpFile.js.map +1 -1
- package/dist-cjs/index.js +9 -1
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/request/requestBody.js +206 -0
- package/dist-cjs/request/requestBody.js.map +1 -0
- package/dist-cjs/runner/requestRunner.js +127 -43
- package/dist-cjs/runner/requestRunner.js.map +1 -1
- package/dist-cjs/runner/runCollection.js +9 -2
- package/dist-cjs/runner/runCollection.js.map +1 -1
- package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js +7 -42
- package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
- package/dist-cjs/scenario-runner/adapters/request-executor.js +3 -30
- package/dist-cjs/scenario-runner/adapters/request-executor.js.map +1 -1
- package/dist-cjs/scenario-runner/index.js +4 -1
- package/dist-cjs/scenario-runner/index.js.map +1 -1
- package/dist-cjs/scenario-runner/labels.js +24 -0
- package/dist-cjs/scenario-runner/labels.js.map +1 -0
- package/dist-cjs/scenario-runner/runScenario.js +4 -11
- package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
- package/dist-cjs/script/legacy.js +24 -9
- package/dist-cjs/script/legacy.js.map +1 -1
- package/dist-cjs/variables/resolver.js +27 -5
- package/dist-cjs/variables/resolver.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Persisted request body → what actually goes on the wire. ONE mapping for
|
|
3
|
+
// every host that sends a SAVED request: the collection runner
|
|
4
|
+
// (`runRequest`, used by callme-cli and callman-mcp) and the scenario request
|
|
5
|
+
// executor share the raw Content-Type table and the form builder below.
|
|
6
|
+
//
|
|
7
|
+
// Saved requests keep their body in the persisted shape (see
|
|
8
|
+
// `toPersistedRequestBody` / the desktop's `serializeBodyState`):
|
|
9
|
+
// - a plain JSON value (object, array, string, …) — sent as-is;
|
|
10
|
+
// - `{ mode: "raw", raw, rawLanguage }` — non-JSON raw text (xml/text/html);
|
|
11
|
+
// - `{ mode: "formdata" | "urlencoded", formEntries: [{ key, value, enabled, type? }] }`;
|
|
12
|
+
// - `{ mode: "none" }` — no body.
|
|
13
|
+
// Handing the envelope itself to the HTTP driver sent it as JSON
|
|
14
|
+
// (`{"mode":"raw","raw":"<a/>",...}`), which no server can parse.
|
|
15
|
+
//
|
|
16
|
+
// Isomorphic: `FormData` / `URLSearchParams` exist in Node 18+ and the
|
|
17
|
+
// browser, so this module is safe in the Electron renderer too.
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.describeRequestBody = exports.persistedBodyToWire = exports.buildFormBody = exports.readRequestBodyEnvelope = exports.contentTypeForRawLanguage = void 0;
|
|
20
|
+
const bodyFormat_js_1 = require("../curl/bodyFormat.js");
|
|
21
|
+
const jsonc_js_1 = require("../utils/jsonc.js");
|
|
22
|
+
const FORM_URLENCODED = "application/x-www-form-urlencoded";
|
|
23
|
+
// Keys a scenario-shaped body state carries next to `mode`; a `{mode:"none"}`
|
|
24
|
+
// with anything else is somebody's JSON payload, not an empty body.
|
|
25
|
+
const BODY_STATE_KEYS = new Set(["mode", "raw", "rawLanguage", "formEntries"]);
|
|
26
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
27
|
+
const isJsonContentType = (contentType) => /\bjson\b/i.test(contentType);
|
|
28
|
+
const isValidJsonText = (text) => {
|
|
29
|
+
try {
|
|
30
|
+
JSON.parse((0, jsonc_js_1.sanitizeJsonBody)(text));
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
// Auto Content-Type for a raw body sub-format. Keeps parity with the
|
|
38
|
+
// desktop request builder so an XML/text/html body is not mislabelled as
|
|
39
|
+
// JSON (which would make a server's JSON parser reject it).
|
|
40
|
+
const contentTypeForRawLanguage = (language) => {
|
|
41
|
+
switch (language) {
|
|
42
|
+
case "xml":
|
|
43
|
+
return "application/xml";
|
|
44
|
+
case "html":
|
|
45
|
+
return "text/html";
|
|
46
|
+
case "text":
|
|
47
|
+
return "text/plain";
|
|
48
|
+
case "json":
|
|
49
|
+
default:
|
|
50
|
+
return "application/json";
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
exports.contentTypeForRawLanguage = contentTypeForRawLanguage;
|
|
54
|
+
// Recognise the structured persisted shapes; `null` means "a plain value".
|
|
55
|
+
// Same structural tests as the desktop's `inferBodyState`.
|
|
56
|
+
const readRequestBodyEnvelope = (body) => {
|
|
57
|
+
if (!isRecord(body) || typeof body.mode !== "string") {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
if (body.mode === "raw" && typeof body.raw === "string") {
|
|
61
|
+
return {
|
|
62
|
+
mode: "raw",
|
|
63
|
+
raw: body.raw,
|
|
64
|
+
...(typeof body.rawLanguage === "string" ? { rawLanguage: body.rawLanguage } : {}),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if ((body.mode === "formdata" || body.mode === "urlencoded") &&
|
|
68
|
+
Array.isArray(body.formEntries)) {
|
|
69
|
+
return {
|
|
70
|
+
mode: body.mode,
|
|
71
|
+
formEntries: body.formEntries.filter(isRecord).map((entry) => ({
|
|
72
|
+
key: typeof entry.key === "string" ? entry.key : "",
|
|
73
|
+
value: entry.value === undefined || entry.value === null ? "" : String(entry.value),
|
|
74
|
+
...(typeof entry.enabled === "boolean" ? { enabled: entry.enabled } : {}),
|
|
75
|
+
...(entry.type === "text" || entry.type === "file" ? { type: entry.type } : {}),
|
|
76
|
+
})),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
if (body.mode === "none" && Object.keys(body).every((key) => BODY_STATE_KEYS.has(key))) {
|
|
80
|
+
return { mode: "none" };
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
};
|
|
84
|
+
exports.readRequestBodyEnvelope = readRequestBodyEnvelope;
|
|
85
|
+
// Enabled, keyed TEXT rows of a form body, with keys/values resolved.
|
|
86
|
+
// `append` keeps duplicate keys — valid form semantics an object map cannot
|
|
87
|
+
// express.
|
|
88
|
+
const buildFormBody = (mode, entries, resolve = (text) => text) => {
|
|
89
|
+
const form = mode === "urlencoded" ? new URLSearchParams() : new FormData();
|
|
90
|
+
for (const entry of entries) {
|
|
91
|
+
if (entry.enabled === false || !entry.key.trim() || entry.type === "file")
|
|
92
|
+
continue;
|
|
93
|
+
form.append(resolve(entry.key), resolve(entry.value));
|
|
94
|
+
}
|
|
95
|
+
return form;
|
|
96
|
+
};
|
|
97
|
+
exports.buildFormBody = buildFormBody;
|
|
98
|
+
const findHeaderKey = (headers, name) => Object.keys(headers).find((key) => key.toLowerCase() === name);
|
|
99
|
+
// Set the implied Content-Type when none is present. An existing JSON type is
|
|
100
|
+
// also replaced when the body is demonstrably not JSON: callme-cli and
|
|
101
|
+
// callman-mcp default every bodied request to `application/json` before core
|
|
102
|
+
// sees it, and a urlencoded or XML body under that header is rejected by the
|
|
103
|
+
// server's JSON parser. Any other explicit type is the user's call.
|
|
104
|
+
const reconcileContentType = (headers, contentType, bodyIsJson) => {
|
|
105
|
+
const existingKey = findHeaderKey(headers, "content-type");
|
|
106
|
+
if (!existingKey) {
|
|
107
|
+
return { ...headers, "Content-Type": contentType };
|
|
108
|
+
}
|
|
109
|
+
if (!bodyIsJson && isJsonContentType(headers[existingKey] ?? "")) {
|
|
110
|
+
return { ...headers, [existingKey]: contentType };
|
|
111
|
+
}
|
|
112
|
+
return headers;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Map a persisted request body to its wire form. `resolve` (optional) is
|
|
116
|
+
* applied to the raw text and to form keys/values so `{{var}}` templates
|
|
117
|
+
* resolve inside them; plain values are returned untouched (resolve them
|
|
118
|
+
* yourself — `runRequest` does, deep, as it always has).
|
|
119
|
+
*
|
|
120
|
+
* Multipart FILE parts are not sent (see `WireRequestBody.fileParts`).
|
|
121
|
+
*/
|
|
122
|
+
const persistedBodyToWire = (body, headers = {}, options = {}) => {
|
|
123
|
+
const resolve = options.resolve ?? ((text) => text);
|
|
124
|
+
const envelope = (0, exports.readRequestBodyEnvelope)(body);
|
|
125
|
+
if (!envelope) {
|
|
126
|
+
return { mode: "value", data: body, headers, fileParts: [] };
|
|
127
|
+
}
|
|
128
|
+
if (envelope.mode === "none") {
|
|
129
|
+
return { mode: "none", data: undefined, headers, fileParts: [] };
|
|
130
|
+
}
|
|
131
|
+
if (envelope.mode === "raw") {
|
|
132
|
+
const text = resolve(envelope.raw ?? "");
|
|
133
|
+
if (!text.trim()) {
|
|
134
|
+
return { mode: "raw", data: "", headers, fileParts: [] };
|
|
135
|
+
}
|
|
136
|
+
// An envelope saved without a language gets the desktop's sniff.
|
|
137
|
+
const language = envelope.rawLanguage ?? (0, bodyFormat_js_1.sniffRawBodyLanguage)(text);
|
|
138
|
+
const contentType = (0, exports.contentTypeForRawLanguage)(language);
|
|
139
|
+
return {
|
|
140
|
+
mode: "raw",
|
|
141
|
+
data: text,
|
|
142
|
+
contentType,
|
|
143
|
+
headers: reconcileContentType(headers, contentType, language === "json" || isValidJsonText(text)),
|
|
144
|
+
fileParts: [],
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const entries = envelope.formEntries ?? [];
|
|
148
|
+
const fileParts = entries
|
|
149
|
+
.filter((entry) => entry.type === "file" && entry.enabled !== false && entry.key.trim())
|
|
150
|
+
.map((entry) => entry.key);
|
|
151
|
+
if (envelope.mode === "urlencoded") {
|
|
152
|
+
return {
|
|
153
|
+
mode: "urlencoded",
|
|
154
|
+
data: (0, exports.buildFormBody)("urlencoded", entries, resolve).toString(),
|
|
155
|
+
contentType: FORM_URLENCODED,
|
|
156
|
+
headers: reconcileContentType(headers, FORM_URLENCODED, false),
|
|
157
|
+
fileParts,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
// Multipart Content-Type must come from the driver — a user-set header
|
|
161
|
+
// carries no (or a stale) boundary and breaks the receiving parser.
|
|
162
|
+
const multipartHeaders = { ...headers };
|
|
163
|
+
const contentTypeKey = findHeaderKey(multipartHeaders, "content-type");
|
|
164
|
+
if (contentTypeKey)
|
|
165
|
+
delete multipartHeaders[contentTypeKey];
|
|
166
|
+
return {
|
|
167
|
+
mode: "formdata",
|
|
168
|
+
data: (0, exports.buildFormBody)("formdata", entries, resolve),
|
|
169
|
+
headers: multipartHeaders,
|
|
170
|
+
fileParts,
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
exports.persistedBodyToWire = persistedBodyToWire;
|
|
174
|
+
// Serialisable picture of a wire body for reports (a scenario step's
|
|
175
|
+
// `resolvedInput`, a collection run's `result.request`). Multipart bodies are
|
|
176
|
+
// described part by part rather than copied, and anything non-JSON collapses
|
|
177
|
+
// to a label.
|
|
178
|
+
const describeRequestBody = (body) => {
|
|
179
|
+
if (body === null || body === undefined)
|
|
180
|
+
return null;
|
|
181
|
+
if (typeof body === "string")
|
|
182
|
+
return body;
|
|
183
|
+
if (typeof FormData !== "undefined" && body instanceof FormData) {
|
|
184
|
+
const parts = [];
|
|
185
|
+
body.forEach((value, key) => {
|
|
186
|
+
parts.push({
|
|
187
|
+
key,
|
|
188
|
+
value: typeof value === "string"
|
|
189
|
+
? value
|
|
190
|
+
: `[file${value.name ? `: ${value.name}` : ""}]`,
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
return { mode: "formdata", parts };
|
|
194
|
+
}
|
|
195
|
+
if (typeof URLSearchParams !== "undefined" && body instanceof URLSearchParams) {
|
|
196
|
+
return body.toString();
|
|
197
|
+
}
|
|
198
|
+
if (typeof body === "object") {
|
|
199
|
+
if (ArrayBuffer.isView(body) || body instanceof ArrayBuffer)
|
|
200
|
+
return "[binary]";
|
|
201
|
+
return body;
|
|
202
|
+
}
|
|
203
|
+
return String(body);
|
|
204
|
+
};
|
|
205
|
+
exports.describeRequestBody = describeRequestBody;
|
|
206
|
+
//# sourceMappingURL=requestBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestBody.js","sourceRoot":"","sources":["../../src/request/requestBody.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.runRequest = void 0;
|
|
|
4
4
|
const contractValidator_js_1 = require("../contract/contractValidator.js");
|
|
5
5
|
const connections_js_1 = require("../host/connections.js");
|
|
6
6
|
const executeRequest_js_1 = require("../request/executeRequest.js");
|
|
7
|
+
const requestBody_js_1 = require("../request/requestBody.js");
|
|
7
8
|
const applyRequestAuth_js_1 = require("./applyRequestAuth.js");
|
|
8
9
|
const executor_js_1 = require("../script/executor.js");
|
|
9
10
|
const scriptEngine_js_1 = require("../script/scriptEngine.js");
|
|
@@ -32,28 +33,61 @@ const scriptPairsToRecord = (pairs) => {
|
|
|
32
33
|
}
|
|
33
34
|
return out;
|
|
34
35
|
};
|
|
36
|
+
// A structured persisted body keeps its mode/language/rows in the sandbox
|
|
37
|
+
// (so `pm.request.body` shows the real body, not the storage envelope); a
|
|
38
|
+
// plain value is raw text, as it always was.
|
|
39
|
+
const toScriptBodyState = (body) => {
|
|
40
|
+
const envelope = (0, requestBody_js_1.readRequestBodyEnvelope)(body);
|
|
41
|
+
if (!envelope) {
|
|
42
|
+
return {
|
|
43
|
+
mode: "raw",
|
|
44
|
+
raw: typeof body === "string" ? body : body != null ? JSON.stringify(body) : "",
|
|
45
|
+
formEntries: [],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
mode: envelope.mode,
|
|
50
|
+
raw: envelope.raw ?? "",
|
|
51
|
+
...(envelope.rawLanguage ? { rawLanguage: envelope.rawLanguage } : {}),
|
|
52
|
+
formEntries: (envelope.formEntries ?? []).map((entry) => ({
|
|
53
|
+
...entry,
|
|
54
|
+
enabled: entry.enabled ?? true,
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
// The script's (possibly mutated) body back into the persisted shape the
|
|
59
|
+
// rest of the runner reads. A plain-value body that stays raw becomes the
|
|
60
|
+
// raw text — the historical behaviour.
|
|
61
|
+
const fromScriptBodyState = (state, original) => {
|
|
62
|
+
const envelope = (0, requestBody_js_1.readRequestBodyEnvelope)(original);
|
|
63
|
+
if (state.mode === "raw") {
|
|
64
|
+
return envelope
|
|
65
|
+
? { mode: "raw", raw: state.raw, ...(state.rawLanguage ? { rawLanguage: state.rawLanguage } : {}) }
|
|
66
|
+
: state.raw;
|
|
67
|
+
}
|
|
68
|
+
if (state.mode === "formdata" || state.mode === "urlencoded") {
|
|
69
|
+
return { mode: state.mode, formEntries: state.formEntries };
|
|
70
|
+
}
|
|
71
|
+
if (state.mode === "none") {
|
|
72
|
+
return { mode: "none" };
|
|
73
|
+
}
|
|
74
|
+
return original;
|
|
75
|
+
};
|
|
35
76
|
const toScriptRequestState = (request) => ({
|
|
36
77
|
method: request.method,
|
|
37
78
|
url: request.url,
|
|
38
79
|
headers: headersToScriptPairs(request.headers),
|
|
39
80
|
query: headersToScriptPairs(request.query),
|
|
40
|
-
body:
|
|
41
|
-
mode: "raw",
|
|
42
|
-
raw: typeof request.body === "string"
|
|
43
|
-
? request.body
|
|
44
|
-
: request.body != null
|
|
45
|
-
? JSON.stringify(request.body)
|
|
46
|
-
: "",
|
|
47
|
-
formEntries: [],
|
|
48
|
-
},
|
|
81
|
+
body: toScriptBodyState(request.body),
|
|
49
82
|
});
|
|
50
|
-
// Apply a script's environment writes back onto the shared
|
|
51
|
-
// template resolution (and later requests) see
|
|
52
|
-
const applyScriptEnvMutations = (env, mutations) => {
|
|
83
|
+
// Apply a script's environment (and globals) writes back onto the shared
|
|
84
|
+
// EnvStores so later template resolution (and later requests) see them.
|
|
85
|
+
const applyScriptEnvMutations = (env, mutations, globals) => {
|
|
53
86
|
for (const mutation of mutations) {
|
|
54
|
-
|
|
87
|
+
const target = mutation.scope === "environment" ? env : mutation.scope === "global" ? globals : undefined;
|
|
88
|
+
if (!target)
|
|
55
89
|
continue;
|
|
56
|
-
|
|
90
|
+
target.set(mutation.key, mutation.type === "unset" ? "" : (mutation.value ?? ""));
|
|
57
91
|
}
|
|
58
92
|
};
|
|
59
93
|
// Build a `{{response.*}}` template root from an HTTP result so pre/post DB +
|
|
@@ -126,11 +160,13 @@ const buildExecutionFailureResult = (error) => {
|
|
|
126
160
|
],
|
|
127
161
|
};
|
|
128
162
|
};
|
|
129
|
-
const normalizeRequestForExecution = ({ request, env, previousResponse,
|
|
163
|
+
const normalizeRequestForExecution = ({ request, env, globals, previousResponse }, onUnresolved) => {
|
|
130
164
|
const resolveContext = {
|
|
131
165
|
env,
|
|
166
|
+
...(globals ? { globals } : {}),
|
|
132
167
|
response: previousResponse,
|
|
133
168
|
request,
|
|
169
|
+
...(onUnresolved ? { onUnresolved } : {}),
|
|
134
170
|
};
|
|
135
171
|
// URL ↔ query parity with the desktop resolver (and the scenario path in
|
|
136
172
|
// scenario-runner/adapters/helpers/request-helpers.ts): the URL leaves
|
|
@@ -153,14 +189,44 @@ const normalizeRequestForExecution = ({ request, env, previousResponse, }) => {
|
|
|
153
189
|
...urlPairs,
|
|
154
190
|
...Object.entries(explicitQuery ?? {}),
|
|
155
191
|
];
|
|
192
|
+
// A structured persisted body (raw text / form rows / none) leaves in its
|
|
193
|
+
// wire form, templates resolved inside the text and rows; a plain value is
|
|
194
|
+
// resolved deep and sent as-is, exactly as before.
|
|
195
|
+
const headers = resolveHeaders(request.headers, resolveContext);
|
|
196
|
+
const isEnvelope = (0, requestBody_js_1.readRequestBodyEnvelope)(request.body) !== null;
|
|
197
|
+
const wire = (0, requestBody_js_1.persistedBodyToWire)(isEnvelope ? request.body : (0, resolver_js_1.resolveTemplateValue)(request.body, resolveContext), headers, { resolve: (text) => (0, resolver_js_1.resolveTemplateValue)(text, resolveContext) });
|
|
156
198
|
return {
|
|
157
199
|
method: (0, resolver_js_1.resolveTemplateValue)(request.method, resolveContext).toUpperCase(),
|
|
158
200
|
url: (0, urlQuery_js_1.stripUrlQuery)(resolvedBase),
|
|
159
|
-
headers:
|
|
201
|
+
headers: headers !== undefined || isEnvelope ? wire.headers : undefined,
|
|
160
202
|
query: queryPairs.length > 0 ? Object.fromEntries(queryPairs) : explicitQuery,
|
|
161
|
-
body:
|
|
203
|
+
body: wire.data,
|
|
162
204
|
};
|
|
163
205
|
};
|
|
206
|
+
// Multipart FILE parts need a fixture store, which only scenario hosts have.
|
|
207
|
+
// Fail the request up front, naming the parts, rather than send a form the
|
|
208
|
+
// server will reject for a missing file.
|
|
209
|
+
const assertNoFileParts = (body) => {
|
|
210
|
+
const { fileParts } = (0, requestBody_js_1.persistedBodyToWire)(body);
|
|
211
|
+
if (fileParts.length > 0) {
|
|
212
|
+
throw new Error(`Multipart file part${fileParts.length === 1 ? "" : "s"} ${fileParts
|
|
213
|
+
.map((key) => `"${key}"`)
|
|
214
|
+
.join(", ")} cannot be sent by a local run — only text form fields are supported here. Run it from the desktop app or as a server scenario with an uploaded fixture.`);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
// Diagnostics on the result, each present only when non-empty so results
|
|
218
|
+
// without them keep their exact historical shape.
|
|
219
|
+
const withDiagnostics = (result, unresolved, logs) => ({
|
|
220
|
+
...result,
|
|
221
|
+
...(unresolved.size > 0 ? { unresolvedVariables: [...unresolved] } : {}),
|
|
222
|
+
...(logs.length > 0 ? { logs } : {}),
|
|
223
|
+
});
|
|
224
|
+
const tagLogs = (stage, entries) => entries.map((entry) => ({ stage, ...entry }));
|
|
225
|
+
// `result.request` is a report, not the driver input: describe a FormData
|
|
226
|
+
// body part by part instead of letting it serialize to `{}`.
|
|
227
|
+
const toReportedRequest = (request) => typeof FormData !== "undefined" && request.body instanceof FormData
|
|
228
|
+
? { ...request, body: (0, requestBody_js_1.describeRequestBody)(request.body) }
|
|
229
|
+
: request;
|
|
164
230
|
// Wires the resolved connections + request DB/Redis config into the script
|
|
165
231
|
// capabilities. Runs the pre-request DB node + pre Redis commands before this
|
|
166
232
|
// is called, the post ones after the response. Returns the capabilities to
|
|
@@ -191,19 +257,30 @@ const buildScriptExtensions = (input) => {
|
|
|
191
257
|
return { db, redis };
|
|
192
258
|
};
|
|
193
259
|
const runRequest = async (input) => {
|
|
260
|
+
// Tokens that resolved to nothing in the request as finally sent (reset
|
|
261
|
+
// when the pre-request script re-resolves — it may define them), and the
|
|
262
|
+
// scripts' console / pm.log output.
|
|
263
|
+
let unresolved = new Set();
|
|
264
|
+
const onUnresolved = (expression) => {
|
|
265
|
+
unresolved.add(expression);
|
|
266
|
+
};
|
|
267
|
+
const scriptLogs = [];
|
|
194
268
|
// `let` so the pre-request script can re-resolve after mutating env/request;
|
|
195
269
|
// the initial value also covers the catch block if something throws early.
|
|
196
|
-
let runtimeRequest = normalizeRequestForExecution(input);
|
|
270
|
+
let runtimeRequest = normalizeRequestForExecution(input, onUnresolved);
|
|
271
|
+
// The request as the pre-request script left it (or as given).
|
|
272
|
+
let requestToSend = input.request;
|
|
197
273
|
const connections = input.connections ?? {};
|
|
198
274
|
const featurePolicy = input.featurePolicy;
|
|
199
275
|
const databaseEnabled = featurePolicy ? featurePolicy.database : true;
|
|
200
276
|
const redisConfig = input.request.redis;
|
|
201
277
|
try {
|
|
202
278
|
const envBefore = stringifyEnv(input.env.all());
|
|
279
|
+
const globalsBefore = stringifyEnv(input.globals?.all() ?? {});
|
|
203
280
|
// ── Pre-request script: runs BEFORE the HTTP call (and before template
|
|
204
281
|
// resolution) so `pm.environment.set` tokens and `pm.request.setHeader`
|
|
205
|
-
// mutations reach the outgoing request. Its console output
|
|
206
|
-
//
|
|
282
|
+
// mutations reach the outgoing request. Its console output lands in
|
|
283
|
+
// `result.logs`; test assertions surface in scriptResults.
|
|
207
284
|
let preRequestTestResults = [];
|
|
208
285
|
if (input.request.preRequestScript?.trim()) {
|
|
209
286
|
const preResult = await (0, executor_js_1.executeScript)({
|
|
@@ -212,6 +289,7 @@ const runRequest = async (input) => {
|
|
|
212
289
|
filename: "callman-request.script.js",
|
|
213
290
|
capabilities: {
|
|
214
291
|
environment: { values: envBefore, emitMutations: true },
|
|
292
|
+
...(input.globals ? { globals: { values: globalsBefore, emitMutations: true } } : {}),
|
|
215
293
|
request: toScriptRequestState(input.request),
|
|
216
294
|
extensions: {
|
|
217
295
|
log: true,
|
|
@@ -223,33 +301,31 @@ const runRequest = async (input) => {
|
|
|
223
301
|
},
|
|
224
302
|
},
|
|
225
303
|
});
|
|
226
|
-
applyScriptEnvMutations(input.env, preResult.variableMutations);
|
|
304
|
+
applyScriptEnvMutations(input.env, preResult.variableMutations, input.globals);
|
|
227
305
|
preRequestTestResults = preResult.testResults;
|
|
228
|
-
|
|
229
|
-
|
|
306
|
+
scriptLogs.push(...tagLogs("pre-request", preResult.logs));
|
|
307
|
+
if (preResult.request) {
|
|
308
|
+
requestToSend = {
|
|
230
309
|
...input.request,
|
|
231
310
|
method: preResult.request.method,
|
|
232
311
|
url: preResult.request.url,
|
|
233
312
|
headers: scriptPairsToRecord(preResult.request.headers),
|
|
234
313
|
query: scriptPairsToRecord(preResult.request.query),
|
|
235
|
-
body: preResult.request.body.
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}
|
|
239
|
-
: input.request;
|
|
314
|
+
body: fromScriptBodyState(preResult.request.body, input.request.body),
|
|
315
|
+
};
|
|
316
|
+
}
|
|
240
317
|
// Re-resolve templates against the updated env + mutated request.
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
request: mutatedRequest,
|
|
244
|
-
});
|
|
318
|
+
unresolved = new Set();
|
|
319
|
+
runtimeRequest = normalizeRequestForExecution({ ...input, request: requestToSend }, onUnresolved);
|
|
245
320
|
}
|
|
321
|
+
assertNoFileParts(requestToSend.body);
|
|
246
322
|
// ── Pre-request phase: DB node + Redis commands run before the HTTP call.
|
|
247
323
|
const preDbResult = databaseEnabled
|
|
248
324
|
? await (0, connections_js_1.runConfiguredDbQuery)({
|
|
249
325
|
connections,
|
|
250
326
|
config: input.request.database?.preRequest,
|
|
251
327
|
phase: "pre",
|
|
252
|
-
context: { response: null, env: envBefore, global:
|
|
328
|
+
context: { response: null, env: envBefore, global: globalsBefore },
|
|
253
329
|
})
|
|
254
330
|
: null;
|
|
255
331
|
const redisPre = await (0, connections_js_1.runRedisCommandsForPhase)({
|
|
@@ -257,15 +333,17 @@ const runRequest = async (input) => {
|
|
|
257
333
|
connectionId: redisConfig?.connectionId,
|
|
258
334
|
commands: redisConfig?.preCommands ?? [],
|
|
259
335
|
phase: "pre",
|
|
260
|
-
context: { response: null, env: envBefore, global:
|
|
336
|
+
context: { response: null, env: envBefore, global: globalsBefore },
|
|
261
337
|
});
|
|
262
338
|
// ── Auth: apply the request's Auth tab (bearer/basic/apikey/oauth2) to the
|
|
263
339
|
// resolved request. For oauth2 the token is fetched (+ cached) via a POST
|
|
264
340
|
// through `executeRequest`, so it shares the same HTTP path.
|
|
265
341
|
const authResolveContext = {
|
|
266
342
|
env: input.env,
|
|
343
|
+
...(input.globals ? { globals: input.globals } : {}),
|
|
267
344
|
response: input.previousResponse,
|
|
268
345
|
request: input.request,
|
|
346
|
+
onUnresolved,
|
|
269
347
|
};
|
|
270
348
|
runtimeRequest = await (0, applyRequestAuth_js_1.applyRequestAuth)(runtimeRequest, input.request.auth, (value) => (0, resolver_js_1.resolveTemplateValue)(value, authResolveContext), {
|
|
271
349
|
oauthPost: async (tokenRequest) => {
|
|
@@ -284,12 +362,13 @@ const runRequest = async (input) => {
|
|
|
284
362
|
const responseRoot = buildResponseRoot(response);
|
|
285
363
|
// ── Post-response phase: DB node + Redis commands run after the response.
|
|
286
364
|
const envAfter = stringifyEnv(input.env.all());
|
|
365
|
+
const globalsAfter = stringifyEnv(input.globals?.all() ?? {});
|
|
287
366
|
const postDbResult = databaseEnabled
|
|
288
367
|
? await (0, connections_js_1.runConfiguredDbQuery)({
|
|
289
368
|
connections,
|
|
290
369
|
config: input.request.database?.postResponse,
|
|
291
370
|
phase: "post",
|
|
292
|
-
context: { response: responseRoot, env: envAfter, global:
|
|
371
|
+
context: { response: responseRoot, env: envAfter, global: globalsAfter },
|
|
293
372
|
})
|
|
294
373
|
: null;
|
|
295
374
|
const redisPost = await (0, connections_js_1.runRedisCommandsForPhase)({
|
|
@@ -297,7 +376,7 @@ const runRequest = async (input) => {
|
|
|
297
376
|
connectionId: redisConfig?.connectionId,
|
|
298
377
|
commands: redisConfig?.postCommands ?? [],
|
|
299
378
|
phase: "post",
|
|
300
|
-
context: { response: responseRoot, env: envAfter, global:
|
|
379
|
+
context: { response: responseRoot, env: envAfter, global: globalsAfter },
|
|
301
380
|
});
|
|
302
381
|
const { db, redis } = buildScriptExtensions({
|
|
303
382
|
connections,
|
|
@@ -308,42 +387,47 @@ const runRequest = async (input) => {
|
|
|
308
387
|
redisPre,
|
|
309
388
|
redisPost,
|
|
310
389
|
});
|
|
390
|
+
const reportedRequest = toReportedRequest(runtimeRequest);
|
|
391
|
+
const testsLogs = [];
|
|
311
392
|
const testsScriptResults = await (0, scriptEngine_js_1.runScript)(input.request.tests, {
|
|
312
393
|
env: input.env,
|
|
394
|
+
...(input.globals ? { globals: input.globals } : {}),
|
|
313
395
|
response,
|
|
314
|
-
request:
|
|
396
|
+
request: reportedRequest,
|
|
315
397
|
db,
|
|
316
398
|
redis,
|
|
317
399
|
featurePolicy,
|
|
400
|
+
logs: testsLogs,
|
|
318
401
|
});
|
|
402
|
+
scriptLogs.push(...tagLogs("tests", testsLogs));
|
|
319
403
|
return {
|
|
320
404
|
response,
|
|
321
|
-
result: {
|
|
405
|
+
result: withDiagnostics({
|
|
322
406
|
requestId: input.request.id,
|
|
323
407
|
requestName: input.request.name,
|
|
324
408
|
status: response.status,
|
|
325
409
|
duration: response.duration,
|
|
326
410
|
response,
|
|
327
|
-
request:
|
|
411
|
+
request: reportedRequest,
|
|
328
412
|
scriptResults: [...preRequestTestResults, ...testsScriptResults],
|
|
329
413
|
contractResults,
|
|
330
|
-
},
|
|
414
|
+
}, unresolved, scriptLogs),
|
|
331
415
|
};
|
|
332
416
|
}
|
|
333
417
|
catch (error) {
|
|
334
418
|
const failure = buildExecutionFailureResult(error);
|
|
335
419
|
return {
|
|
336
420
|
response: failure.response,
|
|
337
|
-
result: {
|
|
421
|
+
result: withDiagnostics({
|
|
338
422
|
requestId: input.request.id,
|
|
339
423
|
requestName: input.request.name,
|
|
340
424
|
status: failure.response.status,
|
|
341
425
|
duration: failure.response.duration,
|
|
342
426
|
response: failure.response,
|
|
343
|
-
request: runtimeRequest,
|
|
427
|
+
request: toReportedRequest(runtimeRequest),
|
|
344
428
|
scriptResults: failure.scriptResults,
|
|
345
429
|
contractResults: [],
|
|
346
|
-
},
|
|
430
|
+
}, unresolved, scriptLogs),
|
|
347
431
|
};
|
|
348
432
|
}
|
|
349
433
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestRunner.js","sourceRoot":"","sources":["../../src/runner/requestRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"requestRunner.js","sourceRoot":"","sources":["../../src/runner/requestRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,8 +26,9 @@ const isRequestPassed = (result, expectedStatusExpression) => {
|
|
|
26
26
|
}
|
|
27
27
|
return result.status >= 200 && result.status < 400;
|
|
28
28
|
};
|
|
29
|
-
const runCollection = async ({ collection, env, connections, featurePolicy, onRequestStart, onRequestComplete, }) => {
|
|
29
|
+
const runCollection = async ({ collection, env, globals, connections, featurePolicy, onRequestStart, onRequestComplete, }) => {
|
|
30
30
|
const envStore = getEnvStore(env);
|
|
31
|
+
const globalsStore = globals === undefined ? undefined : getEnvStore(globals);
|
|
31
32
|
const results = [];
|
|
32
33
|
let previousResponse = null;
|
|
33
34
|
const runnableRequests = collection.requests.filter((request) => request.isEnabledInRunner !== false);
|
|
@@ -40,10 +41,16 @@ const runCollection = async ({ collection, env, connections, featurePolicy, onRe
|
|
|
40
41
|
});
|
|
41
42
|
// The scope the request itself resolves against — captured before the
|
|
42
43
|
// call, because `previousResponse` advances to THIS request's response.
|
|
43
|
-
const resolveContext = {
|
|
44
|
+
const resolveContext = {
|
|
45
|
+
env: envStore,
|
|
46
|
+
...(globalsStore ? { globals: globalsStore } : {}),
|
|
47
|
+
response: previousResponse,
|
|
48
|
+
request,
|
|
49
|
+
};
|
|
44
50
|
const runResult = await (0, requestRunner_js_1.runRequest)({
|
|
45
51
|
request,
|
|
46
52
|
env: envStore,
|
|
53
|
+
...(globalsStore ? { globals: globalsStore } : {}),
|
|
47
54
|
previousResponse,
|
|
48
55
|
connections,
|
|
49
56
|
featurePolicy,
|