callman-core 1.45.1 → 1.45.3
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/ai/jsonRepair.d.ts.map +1 -1
- package/dist/ai/jsonRepair.js +49 -8
- package/dist/ai/jsonRepair.js.map +1 -1
- package/dist/ai/parse/shared.d.ts.map +1 -1
- package/dist/ai/parse/shared.js +15 -2
- package/dist/ai/parse/shared.js.map +1 -1
- package/dist/ai/prompts/assistant.d.ts.map +1 -1
- package/dist/ai/prompts/assistant.js +6 -0
- package/dist/ai/prompts/assistant.js.map +1 -1
- package/dist/ai/prompts/scenario.d.ts.map +1 -1
- package/dist/ai/prompts/scenario.js +3 -2
- package/dist/ai/prompts/scenario.js.map +1 -1
- package/dist/loadtest/report.d.ts.map +1 -1
- package/dist/loadtest/report.js +12 -3
- package/dist/loadtest/report.js.map +1 -1
- package/dist-cjs/ai/jsonRepair.js +49 -8
- package/dist-cjs/ai/jsonRepair.js.map +1 -1
- package/dist-cjs/ai/parse/shared.js +15 -2
- package/dist-cjs/ai/parse/shared.js.map +1 -1
- package/dist-cjs/ai/prompts/assistant.js +6 -0
- package/dist-cjs/ai/prompts/assistant.js.map +1 -1
- package/dist-cjs/ai/prompts/scenario.js +3 -2
- package/dist-cjs/ai/prompts/scenario.js.map +1 -1
- package/dist-cjs/loadtest/report.js +12 -3
- package/dist-cjs/loadtest/report.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonRepair.d.ts","sourceRoot":"","sources":["../../src/ai/jsonRepair.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jsonRepair.d.ts","sourceRoot":"","sources":["../../src/ai/jsonRepair.ts"],"names":[],"mappings":"AAwFA,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MAUhD,CAAC"}
|
package/dist/ai/jsonRepair.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// from callman-desktop `src/shared/ai-local/jsonRepair.ts` so scenario AI
|
|
3
3
|
// nodes behave identically on every host (desktop re-exports this copy).
|
|
4
4
|
// Models may wrap JSON in a fenced block, prepend a sentence of prose, or
|
|
5
|
-
// leave a trailing comma — this pulls out the
|
|
6
|
-
// lightly repairs it so JSON.parse can succeed.
|
|
5
|
+
// leave a trailing comma — this pulls out the JSON object (else the first
|
|
6
|
+
// balanced array) and lightly repairs it so JSON.parse can succeed.
|
|
7
7
|
//
|
|
8
8
|
// If nothing JSON-shaped is found, the (fence-stripped) text is returned as-is
|
|
9
9
|
// so the caller's JSON.parse throws a plain "malformed JSON" error.
|
|
@@ -16,12 +16,9 @@ const stripFences = (text) => {
|
|
|
16
16
|
// Drop commas that immediately precede a closing brace/bracket — a common
|
|
17
17
|
// small-model slip that JSON.parse rejects.
|
|
18
18
|
const stripTrailingCommas = (text) => text.replace(/,(\s*[}\]])/g, "$1");
|
|
19
|
-
//
|
|
20
|
-
// braces inside strings don't miscount. Null if
|
|
21
|
-
const
|
|
22
|
-
const start = text.search(/[{[]/);
|
|
23
|
-
if (start === -1)
|
|
24
|
-
return null;
|
|
19
|
+
// The balanced {...} or [...] block opening at `start`, honouring string
|
|
20
|
+
// literals so braces inside strings don't miscount. Null if it never closes.
|
|
21
|
+
const balancedBlockAt = (text, start) => {
|
|
25
22
|
const open = text[start];
|
|
26
23
|
const close = open === "{" ? "}" : "]";
|
|
27
24
|
let depth = 0;
|
|
@@ -52,8 +49,52 @@ const extractBalanced = (text) => {
|
|
|
52
49
|
}
|
|
53
50
|
return null; // unbalanced — never closed
|
|
54
51
|
};
|
|
52
|
+
// Return the first balanced {...} or [...] block. Null if none is found.
|
|
53
|
+
const extractBalanced = (text) => {
|
|
54
|
+
const start = text.search(/[{[]/);
|
|
55
|
+
return start === -1 ? null : balancedBlockAt(text, start);
|
|
56
|
+
};
|
|
57
|
+
const parsed = (text) => {
|
|
58
|
+
try {
|
|
59
|
+
return JSON.parse(text);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
// The first top-level block that really is a JSON object, however much prose
|
|
66
|
+
// or how many "[1]"-style brackets come before it.
|
|
67
|
+
const firstObjectBlock = (text) => {
|
|
68
|
+
let from = 0;
|
|
69
|
+
while (from < text.length) {
|
|
70
|
+
const offset = text.slice(from).search(/[{[]/);
|
|
71
|
+
if (offset === -1)
|
|
72
|
+
return null;
|
|
73
|
+
const start = from + offset;
|
|
74
|
+
const block = balancedBlockAt(text, start);
|
|
75
|
+
if (block === null) {
|
|
76
|
+
from = start + 1;
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (block.startsWith("{")) {
|
|
80
|
+
const repaired = stripTrailingCommas(block);
|
|
81
|
+
if (typeof parsed(block) === "object" || typeof parsed(repaired) === "object") {
|
|
82
|
+
return parsed(block) === undefined ? repaired : block;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
from = start + block.length;
|
|
86
|
+
}
|
|
87
|
+
return null;
|
|
88
|
+
};
|
|
55
89
|
export const extractJsonPayload = (raw) => {
|
|
56
90
|
const trimmed = (raw ?? "").trim();
|
|
91
|
+
// Valid as it stands: a code fence or a bracket inside its strings is content
|
|
92
|
+
// and must not be mistaken for a wrapper around the JSON.
|
|
93
|
+
if (parsed(trimmed) !== undefined)
|
|
94
|
+
return trimmed;
|
|
95
|
+
const object = firstObjectBlock(trimmed);
|
|
96
|
+
if (object !== null)
|
|
97
|
+
return object;
|
|
57
98
|
const unfenced = stripFences(trimmed).trim();
|
|
58
99
|
const balanced = extractBalanced(unfenced);
|
|
59
100
|
return stripTrailingCommas(balanced ?? unfenced).trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonRepair.js","sourceRoot":"","sources":["../../src/ai/jsonRepair.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"jsonRepair.js","sourceRoot":"","sources":["../../src/ai/jsonRepair.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/ai/parse/shared.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACH,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/ai/parse/shared.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACH,CAAC;AAgBvE,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAkBjE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MACD,CAAC;AAgBlE,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,OAQnD,CAAC"}
|
package/dist/ai/parse/shared.js
CHANGED
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
// generation). Hosts add their own stricter gates at their own boundaries.
|
|
5
5
|
import { extractJsonPayload } from "../jsonRepair.js";
|
|
6
6
|
export const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
7
|
+
// The start of the model's reply, for error messages that say what came back.
|
|
8
|
+
const replyStart = (raw) => {
|
|
9
|
+
const text = (raw ?? "").replace(/\s+/g, " ").trim();
|
|
10
|
+
return text.length > 160 ? `${text.slice(0, 160)}…` : text;
|
|
11
|
+
};
|
|
12
|
+
const kindOf = (json) => {
|
|
13
|
+
if (Array.isArray(json))
|
|
14
|
+
return "a list";
|
|
15
|
+
return json === null ? "null" : `a ${typeof json}`;
|
|
16
|
+
};
|
|
7
17
|
// Parse the raw model text into the { reply, ... } envelope record. Throws a
|
|
8
18
|
// plain Error (hosts map it: backend → AppError 502 AI_BAD_OUTPUT, desktop →
|
|
9
19
|
// toast) when the text is not JSON even after repair, or not an object.
|
|
@@ -13,10 +23,13 @@ export const parseEnvelope = (raw) => {
|
|
|
13
23
|
json = JSON.parse(extractJsonPayload(raw));
|
|
14
24
|
}
|
|
15
25
|
catch {
|
|
16
|
-
|
|
26
|
+
const start = replyStart(raw);
|
|
27
|
+
throw new Error(start
|
|
28
|
+
? `The AI model returned malformed JSON. Its reply began: "${start}"`
|
|
29
|
+
: "The AI model returned an empty reply.");
|
|
17
30
|
}
|
|
18
31
|
if (!isRecord(json)) {
|
|
19
|
-
throw new Error(
|
|
32
|
+
throw new Error(`The AI model output did not match the expected shape: expected a JSON object, got ${kindOf(json)}. Its reply began: "${replyStart(raw)}"`);
|
|
20
33
|
}
|
|
21
34
|
return json;
|
|
22
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/ai/parse/shared.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,yEAAyE;AACzE,sEAAsE;AACtE,2EAA2E;AAE3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAC3E,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAA2B,EAAE;IACpE,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/ai/parse/shared.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,yEAAyE;AACzE,sEAAsE;AACtE,2EAA2E;AAE3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAC3E,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,8EAA8E;AAC9E,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE;IACzC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,IAAa,EAAU,EAAE;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,EAAE,CAAC;AACrD,CAAC,CAAC;AAEF,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAA2B,EAAE;IACpE,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,KAAK;YACH,CAAC,CAAC,2DAA2D,KAAK,GAAG;YACrE,CAAC,CAAC,uCAAuC,CAC5C,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,qFAAqF,MAAM,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,GAAG,CAAC,GAAG,CAC3I,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAiC,EAAU,EAAE,CACzE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAElE,yEAAyE;AACzE,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,iBAAiB;AACjB,MAAM,oBAAoB,GAAG,CAAC,GAAY,EAAE;IAC1C,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAW,EAAE;IAC5D,IAAI,CAAC,oBAAoB;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,0BAA0B,IAAI,OAAO,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/assistant.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAQxD,eAAO,MAAM,0BAA0B,QAAO,
|
|
1
|
+
{"version":3,"file":"assistant.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/assistant.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAQxD,eAAO,MAAM,0BAA0B,QAAO,MA8IhC,CAAC;AAEf,eAAO,MAAM,wBAAwB,GAAI,OAAO,oBAAoB,KAAG,MAsCtE,CAAC"}
|
|
@@ -61,6 +61,8 @@ export const buildAssistantSystemPrompt = () => [
|
|
|
61
61
|
'- {"type":"move_requests","args":{"requestIds":[string],"targetCollectionId":string,"targetFolderId"?:string}}',
|
|
62
62
|
'- {"type":"copy_requests","args":{"requestIds":[string],"targetCollectionId":string,"targetFolderId"?:string}}',
|
|
63
63
|
'- {"type":"rename_item","args":{"kind":"collection"|"folder"|"request","id":string,"name":string}}',
|
|
64
|
+
'- {"type":"add_request_tests","args":{"requestId":string,"script":string}} — add assertions to an',
|
|
65
|
+
" EXISTING request: the app appends `script` to that request's post-response script.",
|
|
64
66
|
'- {"type":"open_request","args":{"requestId":string},"note"?:string} — a clickable link that',
|
|
65
67
|
" opens the request directly in the editor (no approval step).",
|
|
66
68
|
'- {"type":"invite_member","args":{"email":string,"role"?:"editor"|"viewer"}} — invite someone',
|
|
@@ -77,6 +79,10 @@ export const buildAssistantSystemPrompt = () => [
|
|
|
77
79
|
" name from list_scenarios. The app opens the new scenario in the builder afterwards.",
|
|
78
80
|
"",
|
|
79
81
|
"RULES:",
|
|
82
|
+
'- "write / add tests for <a request that exists>" → find it, then ONE add_request_tests action',
|
|
83
|
+
" whose script holds every check as a pm.test. NEVER create a copy of the request or new requests",
|
|
84
|
+
" named after the test cases: a test is an assertion inside the request. Use testsScript on",
|
|
85
|
+
" create_request only for a request you are creating anyway.",
|
|
80
86
|
'- "build / create a scenario (flow, test) that …" → ONE create_scenario action. Editing or',
|
|
81
87
|
" running an EXISTING scenario is NOT supported here — say so briefly and suggest opening",
|
|
82
88
|
" it (the scenario builder has its own assistant).",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant.js","sourceRoot":"","sources":["../../../src/ai/prompts/assistant.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assistant.js","sourceRoot":"","sources":["../../../src/ai/prompts/assistant.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOvD,eAAO,MAAM,2BAA2B,6LAkB9B,CAAC;AA0CX,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAqBD,eAAO,MAAM,yBAAyB,GACpC,UAAS,gCAAqC,KAC7C,
|
|
1
|
+
{"version":3,"file":"scenario.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOvD,eAAO,MAAM,2BAA2B,6LAkB9B,CAAC;AA0CX,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAqBD,eAAO,MAAM,yBAAyB,GACpC,UAAS,gCAAqC,KAC7C,MA0FW,CAAC;AAEf,eAAO,MAAM,uBAAuB,GAAI,OAAO,mBAAmB,KAAG,MA+CpE,CAAC"}
|
|
@@ -84,7 +84,7 @@ const buildNodeReference = (defaultConfigFor) => SCENARIO_AI_REFERENCE_TYPES.map
|
|
|
84
84
|
export const buildScenarioSystemPrompt = (options = {}) => [
|
|
85
85
|
"You are the scenario builder assistant for an API testing app. You design COMPLETE, ready-to-run API test scenarios as a directed graph of nodes and edges. The user runs the result once and it should just work — so every node must be fully configured, with valid syntax.",
|
|
86
86
|
"",
|
|
87
|
-
"Reply with ONE JSON object and NOTHING else (no prose, no markdown fences):",
|
|
87
|
+
"Reply with ONE JSON object and NOTHING else (no prose, no markdown fences). Write it on a single line with no indentation, the shape below is only spread out to read it:",
|
|
88
88
|
"```",
|
|
89
89
|
JSON.stringify({
|
|
90
90
|
reply: "one or two sentences: what you built + which default/placeholder values the user must replace with real values",
|
|
@@ -115,7 +115,8 @@ export const buildScenarioSystemPrompt = (options = {}) => [
|
|
|
115
115
|
"NODE ENVELOPE — every node is:",
|
|
116
116
|
'{ "id": string (unique), "type": <one below>, "position": { "x": number, "y": number }, "data": { "label": string, "config": { ... } } }',
|
|
117
117
|
`- \`label\` is REQUIRED, non-empty, UNIQUE across the scenario, and must NOT be a reserved name (${RESERVED_SCENARIO_LABELS.map((label) => `"${label}"`).join(", ")}) — the engine drops such a node's output. Downstream nodes read a node's output by its label: {{Login.data.token}}.`,
|
|
118
|
-
"-
|
|
118
|
+
"- Keep the answer short: the app fills in everything you leave out. In `config`, write only the fields you set to something other than the canonical default below, and skip empty strings and empty arrays.",
|
|
119
|
+
"- `executionPolicy` (every config EXCEPT `condition`): a node without one stops on failure with no retry. Leave it out when that is what you want. Write it when you want anything else, including when the canonical default below differs from that (redis, kafka and others).",
|
|
119
120
|
"- NEGATIVE checks (\"this must NOT happen / must fail\"): set executionPolicy.expectFailure = { messagePattern?: regex } on the node (request, db, redis, kafka, websocket, script, assertion, poll, ai, notification) — it then PASSES only when it fails (e.g. a Kafka consume that must time out). Do not model them with error edges: an error-routed failure always ends the run completed_with_failures.",
|
|
120
121
|
"- position: the app AUTO-ARRANGES the whole graph (top-to-bottom flow, branches fanned out side-by-side, centered, never overlapping), so layout is NOT your concern — just give each node any distinct {x,y} (e.g. step y by 150). Focus on correct edges + config, not coordinates. Model the flow by EDGES (branches, merges), not by stacking every node in one long line.",
|
|
121
122
|
"",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,oEAAoE;AACpE,8EAA8E;AAC9E,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,yCAAyC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,iFAAiF;AACjF,gFAAgF;AAChF,mCAAmC;AACnC,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,SAAS;IACT,IAAI;IACJ,OAAO;IACP,OAAO;IACP,WAAW;IACX,WAAW;IACX,QAAQ;IACR,UAAU;IACV,MAAM;IACN,SAAS;IACT,WAAW;IACX,IAAI;IACJ,UAAU;IACV,MAAM;IACN,cAAc;IACd,YAAY;IACZ,KAAK;CACG,CAAC;AAEX,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,kDAAkD;AAClD,MAAM,UAAU,GAA2B;IACzC,OAAO,EACL,syEAAsyE;IAExyE,EAAE,EAAE,oaAAoa;IACxa,KAAK;IACH,qEAAqE;IACrE,sDAAsD;IACtD,8KAA8K,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4OAA4O;IACvc,KAAK,EACH,6rCAA6rC;IAC/rC,SAAS,EACP,ilBAAilB;IACnlB,SAAS,EACP,yUAAyU;IAC3U,MAAM,EACJ,0WAA0W;IAC5W,UAAU,EACR,m+BAAm+B;IACr+B,IAAI,EACF,85CAA85C;IACh6C,OAAO,EACL,ssEAAssE;IACxsE,SAAS,EACP,m0CAAm0C;IACr0C,EAAE,EAAE,umBAAumB;IAC3mB,QAAQ,EACN,m1EAAm1E;IACr1E,IAAI,EAAE,+GAA+G;IACrH,YAAY,EACV,gQAAgQ;IAClQ,UAAU,EACR,iNAAiN;IACnN,GAAG,EAAE,0KAA0K;CAChL,CAAC;AAUF,MAAM,kBAAkB,GAAG,CAAC,gBAA2C,EAAU,EAAE,CACjF,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IACvC,IAAI,MAAM,GAAY,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO;QACL,cAAc,IAAI,GAAG;QACrB,IAAI;QACJ,+DAA+D;QAC/D,SAAS;QACT,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,KAAK;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAElB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,UAA4C,EAAE,EACtC,EAAE,CACV;IACE,gRAAgR;IAChR,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/loadtest/report.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,iBAAiB,EACjB,cAAc,EACd,cAAc,EAEf,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,mBAAmB,GAAI,QAAQ,cAAc,EAAE,QAAQ,iBAAiB,KAAG,cAevF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,KAAG,MAI3C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAK3C,CAAC;AAcF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,iBAAiB,EAAE,OAAO,MAAM,KAAG,MAgD5E,CAAC;AAOF,eAAO,MAAM,WAAW,GAAI,QAAQ,iBAAiB,EAAE,aAAkB,KAAG,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/loadtest/report.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,iBAAiB,EACjB,cAAc,EACd,cAAc,EAEf,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,mBAAmB,GAAI,QAAQ,cAAc,EAAE,QAAQ,iBAAiB,KAAG,cAevF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,KAAG,MAI3C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAK3C,CAAC;AAcF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,iBAAiB,EAAE,OAAO,MAAM,KAAG,MAgD5E,CAAC;AAOF,eAAO,MAAM,WAAW,GAAI,QAAQ,iBAAiB,EAAE,aAAkB,KAAG,MAsB3E,CAAC;AAiCF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,cAAc,GAAG,IAAI,EAAE,QAAQ,iBAAiB,EAAE,cAA0B,KAAG,MAwFvH,CAAC"}
|
package/dist/loadtest/report.js
CHANGED
|
@@ -102,7 +102,16 @@ export const renderJUnit = (result, name = "Load test") => {
|
|
|
102
102
|
return ` <testcase classname="${xml(name)}" name="${label}" time="0">\n <failure message="${xml(`${verdict.metric}:${verdict.aggregate} was ${actual}, expected ${verdict.operator} ${verdict.limit}`)}"/>\n </testcase>`;
|
|
103
103
|
})
|
|
104
104
|
.join("\n");
|
|
105
|
-
|
|
105
|
+
// Steps are reported, not judged: pass or fail stays with the thresholds.
|
|
106
|
+
const steps = result.steps.length
|
|
107
|
+
? `\n <testsuite name="${xml(`${name} — steps`)}" tests="${result.steps.length}" failures="0" time="${time}">\n${result.steps
|
|
108
|
+
.map((step) => {
|
|
109
|
+
const metrics = `${step.requests} requests, ${(step.failedRate * 100).toFixed(2)}% failed, ${fmt(step.rps)}/s, p50 ${fmt(step.duration.p50)} ms, p95 ${fmt(step.duration.p95)} ms, p99 ${fmt(step.duration.p99)} ms`;
|
|
110
|
+
return ` <testcase classname="${xml(name)}" name="${xml(`${step.method} ${step.name}`)}" time="0">\n <system-out>${xml(metrics)}</system-out>\n </testcase>`;
|
|
111
|
+
})
|
|
112
|
+
.join("\n")}\n </testsuite>`
|
|
113
|
+
: "";
|
|
114
|
+
return `<?xml version="1.0" encoding="UTF-8"?>\n<testsuites>\n <testsuite name="${xml(name)}" tests="${cases.length}" failures="${failures}" time="${time}">\n${body}\n </testsuite>${steps}\n</testsuites>\n`;
|
|
106
115
|
};
|
|
107
116
|
// ── HTML ─────────────────────────────────────────────────────────────────────
|
|
108
117
|
const esc = (value) => String(value).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
@@ -150,8 +159,8 @@ export const renderHtmlReport = (config, result, title = "Load test report") =>
|
|
|
150
159
|
.join("")}</tbody></table>`
|
|
151
160
|
: "";
|
|
152
161
|
const steps = result.steps.length
|
|
153
|
-
? `<h2>Steps</h2><table><thead><tr><th>Step</th><th>Requests</th><th>/s</th><th>Failed</th><th>avg</th><th>p95</th><th>p99</th><th>max</th></tr></thead><tbody>${result.steps
|
|
154
|
-
.map((st) => `<tr><td>${esc(st.name)}<div class="muted">${esc(st.method)} ${esc(st.url)}</div></td><td>${st.requests.toLocaleString("en-US")}</td><td>${fmt(st.rps)}</td><td>${percentText(st.failedRate)}</td><td>${fmt(st.duration.avg)}</td><td>${fmt(st.duration.p95)}</td><td>${fmt(st.duration.p99)}</td><td>${fmt(st.duration.max)}</td></tr>`)
|
|
162
|
+
? `<h2>Steps</h2><table><thead><tr><th>Step</th><th>Requests</th><th>/s</th><th>Failed</th><th>avg</th><th>p50</th><th>p90</th><th>p95</th><th>p99</th><th>max</th><th>Status codes</th></tr></thead><tbody>${result.steps
|
|
163
|
+
.map((st) => `<tr><td>${esc(st.name)}<div class="muted">${esc(st.method)} ${esc(st.url)}</div></td><td>${st.requests.toLocaleString("en-US")}</td><td>${fmt(st.rps)}</td><td>${percentText(st.failedRate)}</td><td>${fmt(st.duration.avg)}</td><td>${fmt(st.duration.p50)}</td><td>${fmt(st.duration.p90)}</td><td>${fmt(st.duration.p95)}</td><td>${fmt(st.duration.p99)}</td><td>${fmt(st.duration.max)}</td><td>${esc(Object.entries(st.statusCodes).map(([code, count]) => `${code}: ${count.toLocaleString("en-US")}`).join(", "))}</td></tr>`)
|
|
155
164
|
.join("")}</tbody></table>`
|
|
156
165
|
: "";
|
|
157
166
|
const checks = result.steps.flatMap((st) => st.checks.map((c) => ({ step: st.name, ...c })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/loadtest/report.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/loadtest/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// from callman-desktop `src/shared/ai-local/jsonRepair.ts` so scenario AI
|
|
4
4
|
// nodes behave identically on every host (desktop re-exports this copy).
|
|
5
5
|
// Models may wrap JSON in a fenced block, prepend a sentence of prose, or
|
|
6
|
-
// leave a trailing comma — this pulls out the
|
|
7
|
-
// lightly repairs it so JSON.parse can succeed.
|
|
6
|
+
// leave a trailing comma — this pulls out the JSON object (else the first
|
|
7
|
+
// balanced array) and lightly repairs it so JSON.parse can succeed.
|
|
8
8
|
//
|
|
9
9
|
// If nothing JSON-shaped is found, the (fence-stripped) text is returned as-is
|
|
10
10
|
// so the caller's JSON.parse throws a plain "malformed JSON" error.
|
|
@@ -19,12 +19,9 @@ const stripFences = (text) => {
|
|
|
19
19
|
// Drop commas that immediately precede a closing brace/bracket — a common
|
|
20
20
|
// small-model slip that JSON.parse rejects.
|
|
21
21
|
const stripTrailingCommas = (text) => text.replace(/,(\s*[}\]])/g, "$1");
|
|
22
|
-
//
|
|
23
|
-
// braces inside strings don't miscount. Null if
|
|
24
|
-
const
|
|
25
|
-
const start = text.search(/[{[]/);
|
|
26
|
-
if (start === -1)
|
|
27
|
-
return null;
|
|
22
|
+
// The balanced {...} or [...] block opening at `start`, honouring string
|
|
23
|
+
// literals so braces inside strings don't miscount. Null if it never closes.
|
|
24
|
+
const balancedBlockAt = (text, start) => {
|
|
28
25
|
const open = text[start];
|
|
29
26
|
const close = open === "{" ? "}" : "]";
|
|
30
27
|
let depth = 0;
|
|
@@ -55,8 +52,52 @@ const extractBalanced = (text) => {
|
|
|
55
52
|
}
|
|
56
53
|
return null; // unbalanced — never closed
|
|
57
54
|
};
|
|
55
|
+
// Return the first balanced {...} or [...] block. Null if none is found.
|
|
56
|
+
const extractBalanced = (text) => {
|
|
57
|
+
const start = text.search(/[{[]/);
|
|
58
|
+
return start === -1 ? null : balancedBlockAt(text, start);
|
|
59
|
+
};
|
|
60
|
+
const parsed = (text) => {
|
|
61
|
+
try {
|
|
62
|
+
return JSON.parse(text);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
// The first top-level block that really is a JSON object, however much prose
|
|
69
|
+
// or how many "[1]"-style brackets come before it.
|
|
70
|
+
const firstObjectBlock = (text) => {
|
|
71
|
+
let from = 0;
|
|
72
|
+
while (from < text.length) {
|
|
73
|
+
const offset = text.slice(from).search(/[{[]/);
|
|
74
|
+
if (offset === -1)
|
|
75
|
+
return null;
|
|
76
|
+
const start = from + offset;
|
|
77
|
+
const block = balancedBlockAt(text, start);
|
|
78
|
+
if (block === null) {
|
|
79
|
+
from = start + 1;
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
if (block.startsWith("{")) {
|
|
83
|
+
const repaired = stripTrailingCommas(block);
|
|
84
|
+
if (typeof parsed(block) === "object" || typeof parsed(repaired) === "object") {
|
|
85
|
+
return parsed(block) === undefined ? repaired : block;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
from = start + block.length;
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
};
|
|
58
92
|
const extractJsonPayload = (raw) => {
|
|
59
93
|
const trimmed = (raw ?? "").trim();
|
|
94
|
+
// Valid as it stands: a code fence or a bracket inside its strings is content
|
|
95
|
+
// and must not be mistaken for a wrapper around the JSON.
|
|
96
|
+
if (parsed(trimmed) !== undefined)
|
|
97
|
+
return trimmed;
|
|
98
|
+
const object = firstObjectBlock(trimmed);
|
|
99
|
+
if (object !== null)
|
|
100
|
+
return object;
|
|
60
101
|
const unfenced = stripFences(trimmed).trim();
|
|
61
102
|
const balanced = extractBalanced(unfenced);
|
|
62
103
|
return stripTrailingCommas(balanced ?? unfenced).trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonRepair.js","sourceRoot":"","sources":["../../src/ai/jsonRepair.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"jsonRepair.js","sourceRoot":"","sources":["../../src/ai/jsonRepair.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,16 @@ exports.scriptHasSyntaxError = exports.envelopeReply = exports.parseEnvelope = e
|
|
|
8
8
|
const jsonRepair_js_1 = require("../jsonRepair.js");
|
|
9
9
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
10
10
|
exports.isRecord = isRecord;
|
|
11
|
+
// The start of the model's reply, for error messages that say what came back.
|
|
12
|
+
const replyStart = (raw) => {
|
|
13
|
+
const text = (raw ?? "").replace(/\s+/g, " ").trim();
|
|
14
|
+
return text.length > 160 ? `${text.slice(0, 160)}…` : text;
|
|
15
|
+
};
|
|
16
|
+
const kindOf = (json) => {
|
|
17
|
+
if (Array.isArray(json))
|
|
18
|
+
return "a list";
|
|
19
|
+
return json === null ? "null" : `a ${typeof json}`;
|
|
20
|
+
};
|
|
11
21
|
// Parse the raw model text into the { reply, ... } envelope record. Throws a
|
|
12
22
|
// plain Error (hosts map it: backend → AppError 502 AI_BAD_OUTPUT, desktop →
|
|
13
23
|
// toast) when the text is not JSON even after repair, or not an object.
|
|
@@ -17,10 +27,13 @@ const parseEnvelope = (raw) => {
|
|
|
17
27
|
json = JSON.parse((0, jsonRepair_js_1.extractJsonPayload)(raw));
|
|
18
28
|
}
|
|
19
29
|
catch {
|
|
20
|
-
|
|
30
|
+
const start = replyStart(raw);
|
|
31
|
+
throw new Error(start
|
|
32
|
+
? `The AI model returned malformed JSON. Its reply began: "${start}"`
|
|
33
|
+
: "The AI model returned an empty reply.");
|
|
21
34
|
}
|
|
22
35
|
if (!(0, exports.isRecord)(json)) {
|
|
23
|
-
throw new Error(
|
|
36
|
+
throw new Error(`The AI model output did not match the expected shape: expected a JSON object, got ${kindOf(json)}. Its reply began: "${replyStart(raw)}"`);
|
|
24
37
|
}
|
|
25
38
|
return json;
|
|
26
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/ai/parse/shared.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,yEAAyE;AACzE,sEAAsE;AACtE,2EAA2E;;;AAE3E,oDAAsD;AAE/C,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAC3E,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAD1D,QAAA,QAAQ,YACkD;AAEvE,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACjE,MAAM,aAAa,GAAG,CAAC,GAAW,EAA2B,EAAE;IACpE,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/ai/parse/shared.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,yEAAyE;AACzE,sEAAsE;AACtE,2EAA2E;;;AAE3E,oDAAsD;AAE/C,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAC3E,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAD1D,QAAA,QAAQ,YACkD;AAEvE,8EAA8E;AAC9E,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE;IACzC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,IAAa,EAAU,EAAE;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,EAAE,CAAC;AACrD,CAAC,CAAC;AAEF,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACjE,MAAM,aAAa,GAAG,CAAC,GAAW,EAA2B,EAAE;IACpE,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,KAAK;YACH,CAAC,CAAC,2DAA2D,KAAK,GAAG;YACrE,CAAC,CAAC,uCAAuC,CAC5C,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,qFAAqF,MAAM,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,GAAG,CAAC,GAAG,CAC3I,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAlBW,QAAA,aAAa,iBAkBxB;AAEK,MAAM,aAAa,GAAG,CAAC,QAAiC,EAAU,EAAE,CACzE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AADrD,QAAA,aAAa,iBACwC;AAElE,yEAAyE;AACzE,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,iBAAiB;AACjB,MAAM,oBAAoB,GAAG,CAAC,GAAY,EAAE;IAC1C,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEE,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAW,EAAE;IAC5D,IAAI,CAAC,oBAAoB;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,0BAA0B,IAAI,OAAO,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B"}
|
|
@@ -64,6 +64,8 @@ const buildAssistantSystemPrompt = () => [
|
|
|
64
64
|
'- {"type":"move_requests","args":{"requestIds":[string],"targetCollectionId":string,"targetFolderId"?:string}}',
|
|
65
65
|
'- {"type":"copy_requests","args":{"requestIds":[string],"targetCollectionId":string,"targetFolderId"?:string}}',
|
|
66
66
|
'- {"type":"rename_item","args":{"kind":"collection"|"folder"|"request","id":string,"name":string}}',
|
|
67
|
+
'- {"type":"add_request_tests","args":{"requestId":string,"script":string}} — add assertions to an',
|
|
68
|
+
" EXISTING request: the app appends `script` to that request's post-response script.",
|
|
67
69
|
'- {"type":"open_request","args":{"requestId":string},"note"?:string} — a clickable link that',
|
|
68
70
|
" opens the request directly in the editor (no approval step).",
|
|
69
71
|
'- {"type":"invite_member","args":{"email":string,"role"?:"editor"|"viewer"}} — invite someone',
|
|
@@ -80,6 +82,10 @@ const buildAssistantSystemPrompt = () => [
|
|
|
80
82
|
" name from list_scenarios. The app opens the new scenario in the builder afterwards.",
|
|
81
83
|
"",
|
|
82
84
|
"RULES:",
|
|
85
|
+
'- "write / add tests for <a request that exists>" → find it, then ONE add_request_tests action',
|
|
86
|
+
" whose script holds every check as a pm.test. NEVER create a copy of the request or new requests",
|
|
87
|
+
" named after the test cases: a test is an assertion inside the request. Use testsScript on",
|
|
88
|
+
" create_request only for a request you are creating anyway.",
|
|
83
89
|
'- "build / create a scenario (flow, test) that …" → ONE create_scenario action. Editing or',
|
|
84
90
|
" running an EXISTING scenario is NOT supported here — say so briefly and suggest opening",
|
|
85
91
|
" it (the scenario builder has its own assistant).",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant.js","sourceRoot":"","sources":["../../../src/ai/prompts/assistant.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"assistant.js","sourceRoot":"","sources":["../../../src/ai/prompts/assistant.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,7 +87,7 @@ const buildNodeReference = (defaultConfigFor) => exports.SCENARIO_AI_REFERENCE_T
|
|
|
87
87
|
const buildScenarioSystemPrompt = (options = {}) => [
|
|
88
88
|
"You are the scenario builder assistant for an API testing app. You design COMPLETE, ready-to-run API test scenarios as a directed graph of nodes and edges. The user runs the result once and it should just work — so every node must be fully configured, with valid syntax.",
|
|
89
89
|
"",
|
|
90
|
-
"Reply with ONE JSON object and NOTHING else (no prose, no markdown fences):",
|
|
90
|
+
"Reply with ONE JSON object and NOTHING else (no prose, no markdown fences). Write it on a single line with no indentation, the shape below is only spread out to read it:",
|
|
91
91
|
"```",
|
|
92
92
|
JSON.stringify({
|
|
93
93
|
reply: "one or two sentences: what you built + which default/placeholder values the user must replace with real values",
|
|
@@ -118,7 +118,8 @@ const buildScenarioSystemPrompt = (options = {}) => [
|
|
|
118
118
|
"NODE ENVELOPE — every node is:",
|
|
119
119
|
'{ "id": string (unique), "type": <one below>, "position": { "x": number, "y": number }, "data": { "label": string, "config": { ... } } }',
|
|
120
120
|
`- \`label\` is REQUIRED, non-empty, UNIQUE across the scenario, and must NOT be a reserved name (${labels_js_1.RESERVED_SCENARIO_LABELS.map((label) => `"${label}"`).join(", ")}) — the engine drops such a node's output. Downstream nodes read a node's output by its label: {{Login.data.token}}.`,
|
|
121
|
-
"-
|
|
121
|
+
"- Keep the answer short: the app fills in everything you leave out. In `config`, write only the fields you set to something other than the canonical default below, and skip empty strings and empty arrays.",
|
|
122
|
+
"- `executionPolicy` (every config EXCEPT `condition`): a node without one stops on failure with no retry. Leave it out when that is what you want. Write it when you want anything else, including when the canonical default below differs from that (redis, kafka and others).",
|
|
122
123
|
"- NEGATIVE checks (\"this must NOT happen / must fail\"): set executionPolicy.expectFailure = { messagePattern?: regex } on the node (request, db, redis, kafka, websocket, script, assertion, poll, ai, notification) — it then PASSES only when it fails (e.g. a Kafka consume that must time out). Do not model them with error edges: an error-routed failure always ends the run completed_with_failures.",
|
|
123
124
|
"- position: the app AUTO-ARRANGES the whole graph (top-to-bottom flow, branches fanned out side-by-side, centered, never overlapping), so layout is NOT your concern — just give each node any distinct {x,y} (e.g. step y by 150). Focus on correct edges + config, not coordinates. Model the flow by EDGES (branches, merges), not by stacking every node in one long line.",
|
|
124
125
|
"",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":";AAAA,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,oEAAoE;AACpE,8EAA8E;AAC9E,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,yCAAyC;;;AAEzC,sEAAuE;AACvE,+EAA6E;AAE7E,uEAAsE;AACtE,+DAA2E;AAE3E,iFAAiF;AACjF,gFAAgF;AAChF,mCAAmC;AACtB,QAAA,2BAA2B,GAAG;IACzC,SAAS;IACT,IAAI;IACJ,OAAO;IACP,OAAO;IACP,WAAW;IACX,WAAW;IACX,QAAQ;IACR,UAAU;IACV,MAAM;IACN,SAAS;IACT,WAAW;IACX,IAAI;IACJ,UAAU;IACV,MAAM;IACN,cAAc;IACd,YAAY;IACZ,KAAK;CACG,CAAC;AAEX,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,kDAAkD;AAClD,MAAM,UAAU,GAA2B;IACzC,OAAO,EACL,syEAAsyE;IAExyE,EAAE,EAAE,oaAAoa;IACxa,KAAK;IACH,qEAAqE;IACrE,sDAAsD;IACtD,8KAA8K,MAAM,CAAC,IAAI,CAAC,qCAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4OAA4O;IACvc,KAAK,EACH,6rCAA6rC;IAC/rC,SAAS,EACP,ilBAAilB;IACnlB,SAAS,EACP,yUAAyU;IAC3U,MAAM,EACJ,0WAA0W;IAC5W,UAAU,EACR,m+BAAm+B;IACr+B,IAAI,EACF,85CAA85C;IACh6C,OAAO,EACL,ssEAAssE;IACxsE,SAAS,EACP,m0CAAm0C;IACr0C,EAAE,EAAE,umBAAumB;IAC3mB,QAAQ,EACN,m1EAAm1E;IACr1E,IAAI,EAAE,+GAA+G;IACrH,YAAY,EACV,gQAAgQ;IAClQ,UAAU,EACR,iNAAiN;IACnN,GAAG,EAAE,0KAA0K;CAChL,CAAC;AAUF,MAAM,kBAAkB,GAAG,CAAC,gBAA2C,EAAU,EAAE,CACjF,mCAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IACvC,IAAI,MAAM,GAAY,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO;QACL,cAAc,IAAI,GAAG;QACrB,IAAI;QACJ,+DAA+D;QAC/D,SAAS;QACT,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,KAAK;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEX,MAAM,yBAAyB,GAAG,CACvC,UAA4C,EAAE,EACtC,EAAE,CACV;IACE,gRAAgR;IAChR,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../../src/ai/prompts/scenario.ts"],"names":[],"mappings":";AAAA,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,oEAAoE;AACpE,8EAA8E;AAC9E,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,yCAAyC;;;AAEzC,sEAAuE;AACvE,+EAA6E;AAE7E,uEAAsE;AACtE,+DAA2E;AAE3E,iFAAiF;AACjF,gFAAgF;AAChF,mCAAmC;AACtB,QAAA,2BAA2B,GAAG;IACzC,SAAS;IACT,IAAI;IACJ,OAAO;IACP,OAAO;IACP,WAAW;IACX,WAAW;IACX,QAAQ;IACR,UAAU;IACV,MAAM;IACN,SAAS;IACT,WAAW;IACX,IAAI;IACJ,UAAU;IACV,MAAM;IACN,cAAc;IACd,YAAY;IACZ,KAAK;CACG,CAAC;AAEX,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,kDAAkD;AAClD,MAAM,UAAU,GAA2B;IACzC,OAAO,EACL,syEAAsyE;IAExyE,EAAE,EAAE,oaAAoa;IACxa,KAAK;IACH,qEAAqE;IACrE,sDAAsD;IACtD,8KAA8K,MAAM,CAAC,IAAI,CAAC,qCAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4OAA4O;IACvc,KAAK,EACH,6rCAA6rC;IAC/rC,SAAS,EACP,ilBAAilB;IACnlB,SAAS,EACP,yUAAyU;IAC3U,MAAM,EACJ,0WAA0W;IAC5W,UAAU,EACR,m+BAAm+B;IACr+B,IAAI,EACF,85CAA85C;IACh6C,OAAO,EACL,ssEAAssE;IACxsE,SAAS,EACP,m0CAAm0C;IACr0C,EAAE,EAAE,umBAAumB;IAC3mB,QAAQ,EACN,m1EAAm1E;IACr1E,IAAI,EAAE,+GAA+G;IACrH,YAAY,EACV,gQAAgQ;IAClQ,UAAU,EACR,iNAAiN;IACnN,GAAG,EAAE,0KAA0K;CAChL,CAAC;AAUF,MAAM,kBAAkB,GAAG,CAAC,gBAA2C,EAAU,EAAE,CACjF,mCAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IACvC,IAAI,MAAM,GAAY,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO;QACL,cAAc,IAAI,GAAG;QACrB,IAAI;QACJ,+DAA+D;QAC/D,SAAS;QACT,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,KAAK;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEX,MAAM,yBAAyB,GAAG,CACvC,UAA4C,EAAE,EACtC,EAAE,CACV;IACE,gRAAgR;IAChR,EAAE;IACF,2KAA2K;IAC3K,KAAK;IACL,IAAI,CAAC,SAAS,CACZ;QACE,KAAK,EAAE,gHAAgH;QACvH,QAAQ,EAAE;YACR,IAAI,EAAE,kCAAkC;YACxC,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;oBACxB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;iBACrC;aACF;YACD,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAClE,YAAY,EAAE;gBACZ;oBACE,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iBAC3F;aACF;SACF;KACF,EACD,IAAI,EACJ,CAAC,CACF;IACD,KAAK;IACL,oFAAoF;IACpF,EAAE;IACF,gCAAgC;IAChC,0IAA0I;IAC1I,oGAAoG,oCAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sHAAsH;IAC1R,8MAA8M;IAC9M,kRAAkR;IAClR,gZAAgZ;IAChZ,gXAAgX;IAChX,EAAE;IACF,kIAAkI;IAClI,qDAAqD;IACrD,6EAA6E;IAC7E,yGAAyG;IACzG,EAAE;IACF,yDAAyD;IACzD,gFAAgF;IAChF,8EAA8E;IAC9E,0DAA0D;IAC1D,6GAA6G;IAC7G,EAAE;IACF,wCAAwC;IACxC,yDAAyD;IACzD,kIAAkI;IAClI,kEAAkE;IAClE,mHAAmH;IACnH,EAAE;IACF,wEAAwE;IACxE,iTAAiT;IACjT,4UAA4U;IAC5U,4MAA4M;IAC5M,EAAE;IACF,6KAA6K;IAC7K,kWAAkW;IAClW,yNAAyN;IACzN,kNAAkN;IAClN,oOAAoO;IACpO,6UAA6U;IAC7U,k0BAAk0B;IACl0B,EAAE;IACF,+UAA+U;IAC/U,EAAE;IACF,qOAAqO;IACrO,EAAE;IACF,qSAAqS;IACrS,EAAE;IACF,oDAAoD;IACpD,EAAE;IACF,6BAA6B;IAC7B,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,IAAI,mDAAyB,CAAC;IACzE,EAAE;IACF,uEAAuE;IACvE,8fAA8f;IAC9f,8UAA8U;IAC9U,EAAE;IACF,IAAA,8CAAsB,GAAE;CACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AA5FF,QAAA,yBAAyB,6BA4FvB;AAER,MAAM,uBAAuB,GAAG,CAAC,KAA0B,EAAU,EAAE;IAC5E,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAChH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;IAChH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC1F,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC9E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,IAAI,KAAK,MAAM,IAAI,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,gIAAgI,CAAC,CAAC;QAC7I,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,SAAS,CACZ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,EAChH,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AA/CW,QAAA,uBAAuB,2BA+ClC"}
|
|
@@ -109,7 +109,16 @@ const renderJUnit = (result, name = "Load test") => {
|
|
|
109
109
|
return ` <testcase classname="${xml(name)}" name="${label}" time="0">\n <failure message="${xml(`${verdict.metric}:${verdict.aggregate} was ${actual}, expected ${verdict.operator} ${verdict.limit}`)}"/>\n </testcase>`;
|
|
110
110
|
})
|
|
111
111
|
.join("\n");
|
|
112
|
-
|
|
112
|
+
// Steps are reported, not judged: pass or fail stays with the thresholds.
|
|
113
|
+
const steps = result.steps.length
|
|
114
|
+
? `\n <testsuite name="${xml(`${name} — steps`)}" tests="${result.steps.length}" failures="0" time="${time}">\n${result.steps
|
|
115
|
+
.map((step) => {
|
|
116
|
+
const metrics = `${step.requests} requests, ${(step.failedRate * 100).toFixed(2)}% failed, ${fmt(step.rps)}/s, p50 ${fmt(step.duration.p50)} ms, p95 ${fmt(step.duration.p95)} ms, p99 ${fmt(step.duration.p99)} ms`;
|
|
117
|
+
return ` <testcase classname="${xml(name)}" name="${xml(`${step.method} ${step.name}`)}" time="0">\n <system-out>${xml(metrics)}</system-out>\n </testcase>`;
|
|
118
|
+
})
|
|
119
|
+
.join("\n")}\n </testsuite>`
|
|
120
|
+
: "";
|
|
121
|
+
return `<?xml version="1.0" encoding="UTF-8"?>\n<testsuites>\n <testsuite name="${xml(name)}" tests="${cases.length}" failures="${failures}" time="${time}">\n${body}\n </testsuite>${steps}\n</testsuites>\n`;
|
|
113
122
|
};
|
|
114
123
|
exports.renderJUnit = renderJUnit;
|
|
115
124
|
// ── HTML ─────────────────────────────────────────────────────────────────────
|
|
@@ -158,8 +167,8 @@ const renderHtmlReport = (config, result, title = "Load test report") => {
|
|
|
158
167
|
.join("")}</tbody></table>`
|
|
159
168
|
: "";
|
|
160
169
|
const steps = result.steps.length
|
|
161
|
-
? `<h2>Steps</h2><table><thead><tr><th>Step</th><th>Requests</th><th>/s</th><th>Failed</th><th>avg</th><th>p95</th><th>p99</th><th>max</th></tr></thead><tbody>${result.steps
|
|
162
|
-
.map((st) => `<tr><td>${esc(st.name)}<div class="muted">${esc(st.method)} ${esc(st.url)}</div></td><td>${st.requests.toLocaleString("en-US")}</td><td>${fmt(st.rps)}</td><td>${percentText(st.failedRate)}</td><td>${fmt(st.duration.avg)}</td><td>${fmt(st.duration.p95)}</td><td>${fmt(st.duration.p99)}</td><td>${fmt(st.duration.max)}</td></tr>`)
|
|
170
|
+
? `<h2>Steps</h2><table><thead><tr><th>Step</th><th>Requests</th><th>/s</th><th>Failed</th><th>avg</th><th>p50</th><th>p90</th><th>p95</th><th>p99</th><th>max</th><th>Status codes</th></tr></thead><tbody>${result.steps
|
|
171
|
+
.map((st) => `<tr><td>${esc(st.name)}<div class="muted">${esc(st.method)} ${esc(st.url)}</div></td><td>${st.requests.toLocaleString("en-US")}</td><td>${fmt(st.rps)}</td><td>${percentText(st.failedRate)}</td><td>${fmt(st.duration.avg)}</td><td>${fmt(st.duration.p50)}</td><td>${fmt(st.duration.p90)}</td><td>${fmt(st.duration.p95)}</td><td>${fmt(st.duration.p99)}</td><td>${fmt(st.duration.max)}</td><td>${esc(Object.entries(st.statusCodes).map(([code, count]) => `${code}: ${count.toLocaleString("en-US")}`).join(", "))}</td></tr>`)
|
|
163
172
|
.join("")}</tbody></table>`
|
|
164
173
|
: "";
|
|
165
174
|
const checks = result.steps.flatMap((st) => st.checks.map((c) => ({ step: st.name, ...c })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/loadtest/report.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,kEAAkE;;;AAU3D,MAAM,mBAAmB,GAAG,CAAC,MAAsB,EAAE,MAAyB,EAAkB,EAAE;IACvG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpC,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,MAAM,EAAE;YACN,GAAG,IAAI;YACP,GAAG,CAAC,OAAO;gBACT,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;gBAC1G,CAAC,CAAC,EAAE,CAAC;YACP,0DAA0D;YAC1D,WAAW,EAAE,SAAS;SACvB;QACD,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,mBAAmB,uBAe9B;AAEK,MAAM,cAAc,GAAG,CAAC,EAAU,EAAU,EAAE;IACnD,IAAI,EAAE,IAAI,MAAM;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IACrH,IAAI,EAAE,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;AAC/B,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEK,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE;IACnD,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AAClC,CAAC,CAAC;AALW,QAAA,WAAW,eAKtB;AAEF,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,MAAM,GAAG,CAAC,EAAU,EAAE,CAChD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAE3G,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAEhG,MAAM,SAAS,GAAG,CAAC,MAAyB,EAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAE/G,gFAAgF;AAEhF,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,KAAmB,EAAU,EAAE,CAC/D,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AAE/L,MAAM,iBAAiB,GAAG,CAAC,MAAyB,EAAE,IAAa,EAAU,EAAE;IACpF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAA,sBAAc,EAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjI,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9G,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3M,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAA,mBAAW,EAAC,CAAC,CAAC,SAAS,CAAC,UAAU,IAAA,mBAAW,EAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3G,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,YAAY,UAAU,CAAC,CAAC;IAC3J,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,iBAAiB;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,kCAAkC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/M,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAChL,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,eAAe,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/L,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,4DAA4D,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,mFAAmF,CAAC,CAAC;IAChM,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAhDW,QAAA,iBAAiB,qBAgD5B;AAEF,gFAAgF;AAEhF,MAAM,GAAG,GAAG,CAAC,KAAa,EAAU,EAAE,CACpC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAE5F,MAAM,WAAW,GAAG,CAAC,MAAyB,EAAE,IAAI,GAAG,WAAW,EAAU,EAAE;IACnF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,KAAK;SACf,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,4BAA4B,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,cAAc,CAAC;QAC/F,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5E,OAAO,4BAA4B,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,wCAAwC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,QAAQ,MAAM,cAAc,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,sBAAsB,CAAC;IACvO,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,4EAA4E,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,MAAM,eAAe,QAAQ,WAAW,IAAI,OAAO,IAAI,mCAAmC,CAAC;AAC3M,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB;AAEF,gFAAgF;AAEhF,MAAM,GAAG,GAAG,CAAC,KAAsB,EAAU,EAAE,CAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAE3G,MAAM,KAAK,GAAG,CACZ,KAAa,EACb,MAAsC,EACtC,MAAyF,EACzF,IAAY,EACJ,EAAE;IACV,MAAM,KAAK,GAAG,GAAG,CAAC;IAClB,MAAM,MAAM,GAAG,GAAG,CAAC;IACnB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,yBAAyB,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC;IACpH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAChF,MAAM,CAAC,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,CAAC,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,MAAM;SACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAAC,CAAC,KAAK,gCAAgC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;SAC1K,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/G,OAAO,yBAAyB,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,kCAAkC,KAAK,IAAI,MAAM,4BAA4B,GAAG,CAAC,KAAK,CAAC;YAC3I,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,CAAC,CAAC;YACzE,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,CAAC,CAAC;iBACnD,GAAG,CAAC,CAAC,GAAG,CAAC,qDAAqD,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;WACtF,KAAK,GAAG,GAAG,CAAC,CAAC,QAAQ,MAAM,GAAG,CAAC,uEAAuE,GAAG,CAAC,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;EACxI,KAAK,6BAA6B,MAAM,cAAc,CAAC;AACzD,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,MAA6B,EAAE,MAAyB,EAAE,KAAK,GAAG,kBAAkB,EAAU,EAAE;IAC/H,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,IAAI,GAAG,EAAE,EAAU,EAAE,CAAC,oBAAoB,IAAI,WAAW,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;IACnJ,MAAM,KAAK,GAAG;QACZ,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,IAAA,sBAAc,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAClF,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACnC,GAAG,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpH,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEX,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,CAAe,EAAU,EAAE,CAC5D,WAAW,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;IAErN,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;QACzC,CAAC,CAAC,uGAAuG,MAAM,CAAC,UAAU;aACrH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;aACtT,IAAI,CAAC,EAAE,CAAC,kBAAkB;QAC/B,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;QAC/B,CAAC,CAAC,+JAA+J,MAAM,CAAC,KAAK;aACxK,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC;aACrV,IAAI,CAAC,EAAE,CAAC,kBAAkB;QAC/B,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM;QAC/B,CAAC,CAAC,iHAAiH,MAAM;aACpH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC;aACtM,IAAI,CAAC,EAAE,CAAC,kBAAkB;QAC/B,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM;QACjC,CAAC,CAAC,iHAAiH,MAAM,CAAC,MAAM;aAC3H,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;aACjJ,IAAI,CAAC,EAAE,CAAC,kBAAkB;QAC/B,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;SACnD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,sBAAsB,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9H,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO;;SAEA,GAAG,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;MAgBb,GAAG,CAAC,KAAK,CAAC;qBACK,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;EAClM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,4EAA4E,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,0CAA0C,CAAC,CAAC,CAAC,EAAE;qBACvK,KAAK;;EAExB,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,cAAc,CAAC;EAClH,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC;EACnN,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC;EACnH,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,CAAC;;;;EAIlL,UAAU,CAAC,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC;EAC/C,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE;EAC3F,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC;;wCAEX,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;EAC1Q,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM;0BACjB,MAAM,IAAI,iCAAiC;yBAC5C,IAAA,mBAAW,EAAC,CAAC,CAAC,SAAS,CAAC,UAAU,IAAA,mBAAW,EAAC,CAAC,CAAC,aAAa,CAAC,0BAA0B,MAAM,CAAC,SAAS,CAAC,OAAO,oBAAoB,MAAM,CAAC,SAAS,CAAC,SAAS;sBACjK,CAAC;AACvB,CAAC,CAAC;AAxFW,QAAA,gBAAgB,oBAwF3B"}
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/loadtest/report.ts"],"names":[],"mappings":"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"}
|