@post-print/agent-test 0.1.12 → 0.1.14
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/README.md +69 -7
- package/dist/cli-entry.d.ts.map +1 -1
- package/dist/cli-entry.js +1 -1
- package/dist/cli-entry.js.map +1 -1
- package/dist/cli.d.ts +24 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +88 -9
- package/dist/cli.js.map +1 -1
- package/dist/debug-bundle.d.ts +66 -0
- package/dist/debug-bundle.d.ts.map +1 -0
- package/dist/debug-bundle.js +241 -0
- package/dist/debug-bundle.js.map +1 -0
- package/dist/doctor.d.ts +15 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +49 -0
- package/dist/doctor.js.map +1 -0
- package/dist/expect.d.ts +3 -0
- package/dist/expect.d.ts.map +1 -1
- package/dist/expect.js +79 -46
- package/dist/expect.js.map +1 -1
- package/dist/failures.d.ts +4 -0
- package/dist/failures.d.ts.map +1 -0
- package/dist/failures.js +7 -0
- package/dist/failures.js.map +1 -0
- package/dist/html-report.d.ts +11 -0
- package/dist/html-report.d.ts.map +1 -0
- package/dist/html-report.js +462 -0
- package/dist/html-report.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/live-isolation.d.ts +7 -9
- package/dist/live-isolation.d.ts.map +1 -1
- package/dist/live-isolation.js +44 -28
- package/dist/live-isolation.js.map +1 -1
- package/dist/progress.d.ts.map +1 -1
- package/dist/progress.js +2 -1
- package/dist/progress.js.map +1 -1
- package/dist/record-trace.d.ts +8 -0
- package/dist/record-trace.d.ts.map +1 -1
- package/dist/record-trace.js +23 -4
- package/dist/record-trace.js.map +1 -1
- package/dist/run-suite.d.ts +6 -0
- package/dist/run-suite.d.ts.map +1 -1
- package/dist/run-suite.js +210 -87
- package/dist/run-suite.js.map +1 -1
- package/dist/scenario-seed.d.ts.map +1 -1
- package/dist/scenario-seed.js +6 -2
- package/dist/scenario-seed.js.map +1 -1
- package/dist/theme.d.ts +9 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +33 -15
- package/dist/theme.js.map +1 -1
- package/dist/types.d.ts +20 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/warnings.d.ts.map +1 -1
- package/dist/warnings.js +1 -2
- package/dist/warnings.js.map +1 -1
- package/package.json +5 -2
package/dist/live-isolation.js
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
|
-
import {
|
|
3
|
+
import { assertionFailure } from "./failures.js";
|
|
4
4
|
import { LIVE_SUBPROCESS_SETUP_MAX_MS, LIVE_SUBPROCESS_SIGKILL_ESCALATION_MS, LIVE_SUBPROCESS_TIMEOUT_BUFFER_MS, liveSubprocessTimeoutMs, } from "./live-timeout.js";
|
|
5
|
+
import { getLiveStagingRootOverride, getStagingAgentStartPath, readAgentStartMarker, } from "./record-trace.js";
|
|
6
|
+
function categoryFromLegacyFailure(failure) {
|
|
7
|
+
if (failure.category) {
|
|
8
|
+
return failure.category;
|
|
9
|
+
}
|
|
10
|
+
if (failure.matcher === "workingTreeLeak") {
|
|
11
|
+
return "worktree_leak";
|
|
12
|
+
}
|
|
13
|
+
if (failure.matcher === "recordTrace") {
|
|
14
|
+
return "recording_error";
|
|
15
|
+
}
|
|
16
|
+
if (failure.matcher === "runAgent" || failure.matcher === "liveScenario") {
|
|
17
|
+
return "agent_runtime";
|
|
18
|
+
}
|
|
19
|
+
if (failure.matcher === "judge" || failure.matcher.startsWith("judge:")) {
|
|
20
|
+
return failure.message.includes("judge run status") ||
|
|
21
|
+
failure.message.includes("CURSOR_API_KEY")
|
|
22
|
+
? "judge_infra"
|
|
23
|
+
: "rubric_miss";
|
|
24
|
+
}
|
|
25
|
+
return "rubric_miss";
|
|
26
|
+
}
|
|
5
27
|
const DEFAULT_SCENARIO_SETTLE_MS = 5000;
|
|
6
28
|
/** Child process per live scenario (default) — avoids macOS OOM (exit 137) across council runs. */
|
|
7
29
|
export function liveScenarioIsolationEnabled() {
|
|
8
|
-
return
|
|
9
|
-
process.env.AGENT_TEST_NO_ISOLATE !== "1");
|
|
30
|
+
return process.env.AGENT_TEST_CHILD !== "1" && process.env.AGENT_TEST_NO_ISOLATE !== "1";
|
|
10
31
|
}
|
|
11
32
|
export function scenarioSettleMs() {
|
|
12
|
-
const raw = process.env.AGENT_TEST_SCENARIO_SETTLE_MS ??
|
|
13
|
-
String(DEFAULT_SCENARIO_SETTLE_MS);
|
|
33
|
+
const raw = process.env.AGENT_TEST_SCENARIO_SETTLE_MS ?? String(DEFAULT_SCENARIO_SETTLE_MS);
|
|
14
34
|
const parsed = Number(raw);
|
|
15
|
-
return Number.isFinite(parsed) && parsed >= 0
|
|
16
|
-
? parsed
|
|
17
|
-
: DEFAULT_SCENARIO_SETTLE_MS;
|
|
35
|
+
return Number.isFinite(parsed) && parsed >= 0 ? parsed : DEFAULT_SCENARIO_SETTLE_MS;
|
|
18
36
|
}
|
|
19
37
|
/** Build the Node subprocess command for one live scenario (same CLI entry as the parent). */
|
|
20
38
|
export function buildLiveScenarioCommand(options) {
|
|
21
|
-
const cliPath = process.argv[1] ??
|
|
22
|
-
resolve(options.cwd, "node_modules/@post-print/agent-test/dist/cli.js");
|
|
39
|
+
const cliPath = process.argv[1] ?? resolve(options.cwd, "node_modules/@post-print/agent-test/dist/cli.js");
|
|
23
40
|
const args = [cliPath, "--live", "--scenario", options.scenarioName];
|
|
24
41
|
if (options.suiteFilter) {
|
|
25
42
|
args.push("--suite", options.suiteFilter);
|
|
@@ -48,6 +65,15 @@ export function buildLiveScenarioCommand(options) {
|
|
|
48
65
|
if (options.allowUserInput) {
|
|
49
66
|
args.push("--allow-user-input");
|
|
50
67
|
}
|
|
68
|
+
if (options.debug) {
|
|
69
|
+
args.push("--debug");
|
|
70
|
+
}
|
|
71
|
+
// Prefer explicit debugDir; fall back to process-global staging override so
|
|
72
|
+
// library callers of setLiveStagingRootOverride stay parent/child aligned.
|
|
73
|
+
const debugDir = options.debugDir ?? getLiveStagingRootOverride();
|
|
74
|
+
if (debugDir) {
|
|
75
|
+
args.push("--debug-dir", debugDir);
|
|
76
|
+
}
|
|
51
77
|
// Isolated child: agent + rubric only; parent runs judge (avoids OOM after heavy council runs).
|
|
52
78
|
args.push("--no-judge");
|
|
53
79
|
return {
|
|
@@ -77,7 +103,7 @@ async function waitForAgentStartMarker(path, deadlineMs, pollMs = 100, shouldSto
|
|
|
77
103
|
}
|
|
78
104
|
/** Delay from agent-start marker until parent SIGTERM (harness deadline + cleanup slack). */
|
|
79
105
|
export function subprocessKillDelayMs(agentStartMs, agentTimeoutMs) {
|
|
80
|
-
return
|
|
106
|
+
return agentStartMs + agentTimeoutMs + LIVE_SUBPROCESS_TIMEOUT_BUFFER_MS - Date.now();
|
|
81
107
|
}
|
|
82
108
|
/** Run one live scenario in a fresh Node subprocess; inherit stdio for live progress. */
|
|
83
109
|
export async function spawnLiveScenario(options) {
|
|
@@ -137,10 +163,7 @@ export async function spawnLiveScenario(options) {
|
|
|
137
163
|
}
|
|
138
164
|
timeoutId = setTimeout(killChildForTimeout, delayMs);
|
|
139
165
|
};
|
|
140
|
-
if (agentTimeoutMs &&
|
|
141
|
-
agentTimeoutMs > 0 &&
|
|
142
|
-
options.stagingSessionId &&
|
|
143
|
-
!options.noTimeout) {
|
|
166
|
+
if (agentTimeoutMs && agentTimeoutMs > 0 && options.stagingSessionId && !options.noTimeout) {
|
|
144
167
|
const markerPath = getStagingAgentStartPath(options.stagingSessionId, options.suiteName, options.scenarioName);
|
|
145
168
|
void (async () => {
|
|
146
169
|
const agentStartMs = await waitForAgentStartMarker(markerPath, LIVE_SUBPROCESS_SETUP_MAX_MS, 100, () => childClosed);
|
|
@@ -193,33 +216,26 @@ export function subprocessFailureMessage(exitCode) {
|
|
|
193
216
|
}
|
|
194
217
|
/**
|
|
195
218
|
* Map isolated child exit + optional staging sidecar to parent failures.
|
|
196
|
-
* A persisted pass sidecar wins over a late timeout kill (exit 124).
|
|
219
|
+
* A persisted pass sidecar wins only over a late timeout kill (exit 124).
|
|
220
|
+
* Other non-zero exits (cleanup failure, OOM 137, crashes) fail closed.
|
|
197
221
|
*/
|
|
198
222
|
export function failuresForLiveSubprocessExit(exitCode, childResult) {
|
|
199
223
|
if (exitCode === 0) {
|
|
200
224
|
return [];
|
|
201
225
|
}
|
|
202
226
|
if (childResult?.failures.length) {
|
|
203
|
-
return
|
|
227
|
+
return childResult.failures.map((failure) => assertionFailure(failure.matcher, failure.message, categoryFromLegacyFailure(failure), failure.evidence));
|
|
204
228
|
}
|
|
205
|
-
if (childResult?.passed === true) {
|
|
229
|
+
if (exitCode === 124 && childResult?.passed === true) {
|
|
206
230
|
return [];
|
|
207
231
|
}
|
|
208
|
-
return [
|
|
209
|
-
{
|
|
210
|
-
matcher: "liveScenario",
|
|
211
|
-
message: subprocessFailureMessage(exitCode),
|
|
212
|
-
},
|
|
213
|
-
];
|
|
232
|
+
return [assertionFailure("liveScenario", subprocessFailureMessage(exitCode), "agent_runtime")];
|
|
214
233
|
}
|
|
215
234
|
/** Parent-provided counters for isolated child runs (1-based index). */
|
|
216
235
|
export function parentScenarioCounters() {
|
|
217
236
|
const index = Number(process.env.AGENT_TEST_SCENARIO_INDEX);
|
|
218
237
|
const total = Number(process.env.AGENT_TEST_SCENARIO_TOTAL);
|
|
219
|
-
if (Number.isInteger(index) &&
|
|
220
|
-
index > 0 &&
|
|
221
|
-
Number.isInteger(total) &&
|
|
222
|
-
total > 0) {
|
|
238
|
+
if (Number.isInteger(index) && index > 0 && Number.isInteger(total) && total > 0) {
|
|
223
239
|
return { index, total };
|
|
224
240
|
}
|
|
225
241
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-isolation.js","sourceRoot":"","sources":["../src/live-isolation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"live-isolation.js","sourceRoot":"","sources":["../src/live-isolation.ts"],"names":[],"mappings":"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"}
|
package/dist/progress.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"AAUA,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAO5E;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAQhD;AAiBD,2EAA2E;AAC3E,wBAAsB,aAAa,CAAC,CAAC,EACpC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE,OAAO,CAAC,CAAC,CAAC,CAwBZ"}
|
package/dist/progress.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { logger } from "@post-print/agent-harness";
|
|
1
2
|
import { formatDurationLabel, theme } from "./theme.js";
|
|
2
3
|
const DEFAULT_HEARTBEAT_MS = 60_000;
|
|
3
4
|
function enabled() {
|
|
@@ -11,7 +12,7 @@ export function logProgress(message) {
|
|
|
11
12
|
return;
|
|
12
13
|
}
|
|
13
14
|
clearHeartbeatLine();
|
|
14
|
-
|
|
15
|
+
logger.info(message);
|
|
15
16
|
}
|
|
16
17
|
/** Emit a tree phase line (├─ by default; use endPhase for └─). */
|
|
17
18
|
export function logPhase(message, options) {
|
package/dist/progress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAEpC,SAAS,OAAO;IACf,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACxC,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IAC1C,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAChB,OAAO;IACR,CAAC;IACD,kBAAkB,EAAE,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"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"}
|
package/dist/record-trace.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import type { AgentTrace } from "@post-print/agent-harness";
|
|
2
2
|
import type { AssertionFailure } from "./types.js";
|
|
3
3
|
export declare const LIVE_STAGING_DIR_NAME = "agent-spec";
|
|
4
|
+
/** Override the sessions parent (default: `$TMPDIR/agent-spec`). Used by `--debug-dir`. */
|
|
5
|
+
export declare function setLiveStagingRootOverride(root: string | undefined): void;
|
|
6
|
+
export declare function getLiveStagingRootOverride(): string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Stable filesystem basename for a scenario. Readable slug + short hash so
|
|
9
|
+
* distinct names that normalize alike (e.g. "Foo Bar" / "foo-bar") never collide.
|
|
10
|
+
*/
|
|
11
|
+
export declare function scenarioArtifactSlug(name: string): string;
|
|
4
12
|
export declare function getLiveStagingRoot(): string;
|
|
5
13
|
export declare function getLiveStagingSessionRoot(sessionId: string): string;
|
|
6
14
|
/** Staging JSON path for a live scenario trace (matches recordTrace layout). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-trace.d.ts","sourceRoot":"","sources":["../src/record-trace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"record-trace.d.ts","sourceRoot":"","sources":["../src/record-trace.ts"],"names":[],"mappings":"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"}
|
package/dist/record-trace.js
CHANGED
|
@@ -1,23 +1,41 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
1
2
|
import { mkdir, readdir, readFile, rm, stat, writeFile } from "node:fs/promises";
|
|
2
3
|
import { tmpdir } from "node:os";
|
|
3
4
|
import { dirname, join, resolve } from "node:path";
|
|
4
5
|
import { enrichTrace } from "@post-print/agent-harness";
|
|
5
6
|
export const LIVE_STAGING_DIR_NAME = "agent-spec";
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
let liveStagingRootOverride;
|
|
8
|
+
/** Override the sessions parent (default: `$TMPDIR/agent-spec`). Used by `--debug-dir`. */
|
|
9
|
+
export function setLiveStagingRootOverride(root) {
|
|
10
|
+
liveStagingRootOverride = root?.trim() ? root : undefined;
|
|
11
|
+
}
|
|
12
|
+
export function getLiveStagingRootOverride() {
|
|
13
|
+
return liveStagingRootOverride;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Stable filesystem basename for a scenario. Readable slug + short hash so
|
|
17
|
+
* distinct names that normalize alike (e.g. "Foo Bar" / "foo-bar") never collide.
|
|
18
|
+
*/
|
|
19
|
+
export function scenarioArtifactSlug(name) {
|
|
20
|
+
const base = name
|
|
8
21
|
.toLowerCase()
|
|
9
22
|
.replace(/[^a-z0-9]+/g, "-")
|
|
10
23
|
.replace(/^-+|-+$/g, "")
|
|
11
|
-
.slice(0,
|
|
24
|
+
.slice(0, 40) || "scenario";
|
|
25
|
+
const hash = createHash("sha256").update(name).digest("hex").slice(0, 8);
|
|
26
|
+
return `${base}-${hash}`;
|
|
12
27
|
}
|
|
13
28
|
export function getLiveStagingRoot() {
|
|
29
|
+
if (liveStagingRootOverride) {
|
|
30
|
+
return join(liveStagingRootOverride, "sessions");
|
|
31
|
+
}
|
|
14
32
|
return join(tmpdir(), LIVE_STAGING_DIR_NAME, "sessions");
|
|
15
33
|
}
|
|
16
34
|
export function getLiveStagingSessionRoot(sessionId) {
|
|
17
35
|
return join(getLiveStagingRoot(), sessionId);
|
|
18
36
|
}
|
|
19
37
|
function stagingScenarioBasename(scenarioName) {
|
|
20
|
-
return
|
|
38
|
+
return scenarioArtifactSlug(scenarioName);
|
|
21
39
|
}
|
|
22
40
|
/** Staging JSON path for a live scenario trace (matches recordTrace layout). */
|
|
23
41
|
export function getStagingTracePath(stagingSessionId, suiteName, scenarioName) {
|
|
@@ -81,6 +99,7 @@ export async function recordTrace(outputPath, trace) {
|
|
|
81
99
|
artifacts: enriched.artifacts,
|
|
82
100
|
routing: enriched.routing,
|
|
83
101
|
skillsInvoked: enriched.skillsInvoked,
|
|
102
|
+
assistantTextBeforeTools: enriched.assistantTextBeforeTools,
|
|
84
103
|
judgeVerdicts: enriched.judgeVerdicts,
|
|
85
104
|
};
|
|
86
105
|
await mkdir(dirname(outputPath), { recursive: true });
|
package/dist/record-trace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-trace.js","sourceRoot":"","sources":["../src/record-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAIxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAElD,SAAS,
|
|
1
|
+
{"version":3,"file":"record-trace.js","sourceRoot":"","sources":["../src/record-trace.ts"],"names":[],"mappings":"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"}
|
package/dist/run-suite.d.ts
CHANGED
|
@@ -27,6 +27,10 @@ export interface RunSuiteOptions {
|
|
|
27
27
|
timeoutMs?: number;
|
|
28
28
|
/** Allow AskQuestion-style tools in live runs (default false). */
|
|
29
29
|
allowUserInput?: boolean;
|
|
30
|
+
/** Evidence-rich failures + on-disk debug bundles. */
|
|
31
|
+
debug?: boolean;
|
|
32
|
+
/** Override staging sessions parent (from --debug-dir). */
|
|
33
|
+
debugDir?: string;
|
|
30
34
|
}
|
|
31
35
|
/** Live-only mode hint from rubric — not part of the user scenario prompt. */
|
|
32
36
|
export declare function outputContractForRubric(rubric: ScenarioRubric): RoutingContract | undefined;
|
|
@@ -45,6 +49,8 @@ export declare function runAllSuites(options: {
|
|
|
45
49
|
keepRecordings?: boolean;
|
|
46
50
|
timeoutMs?: number;
|
|
47
51
|
allowUserInput?: boolean;
|
|
52
|
+
debug?: boolean;
|
|
53
|
+
debugDir?: string;
|
|
48
54
|
}): Promise<SuiteRunReport[]>;
|
|
49
55
|
export { discoverSuites } from "./discover-suites.js";
|
|
50
56
|
//# sourceMappingURL=run-suite.d.ts.map
|
package/dist/run-suite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-suite.d.ts","sourceRoot":"","sources":["../src/run-suite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-suite.d.ts","sourceRoot":"","sources":["../src/run-suite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,SAAS,EAGT,eAAe,EAEf,MAAM,2BAA2B,CAAC;AA+CnC,OAAO,KAAK,EAMX,cAAc,EACd,cAAc,EACd,MAAM,YAAY,CAAC;AA8BpB,0FAA0F;AAC1F,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED,oFAAoF;AACpF,wBAAgB,uBAAuB,IAAI,IAAI,CA6B9C;AASD,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,GAAG,SAAS,CAQ3F;AA4LD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAahF;AA2hBD,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAiC5B;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|