@post-print/agent-test 1.1.8 → 2.0.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/README.md +18 -66
- package/dist/cli.d.ts +2 -64
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +26 -691
- package/dist/cli.js.map +1 -1
- package/dist/compare-scenario.d.ts +1 -1
- package/dist/compare-scenario.d.ts.map +1 -1
- package/dist/compare-scenario.js +72 -75
- package/dist/compare-scenario.js.map +1 -1
- package/dist/failures.d.ts +5 -1
- package/dist/failures.d.ts.map +1 -1
- package/dist/failures.js +1 -1
- package/dist/failures.js.map +1 -1
- package/dist/host-login.d.ts +1 -26
- package/dist/host-login.d.ts.map +1 -1
- package/dist/host-login.js +1 -92
- package/dist/host-login.js.map +1 -1
- package/dist/index.d.ts +6 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -26
- package/dist/index.js.map +1 -1
- package/dist/scenario-story.d.ts.map +1 -1
- package/dist/scenario-story.js +57 -39
- package/dist/scenario-story.js.map +1 -1
- package/dist/sdk/cli.d.ts +3 -0
- package/dist/sdk/cli.d.ts.map +1 -0
- package/dist/sdk/cli.js +20 -0
- package/dist/sdk/cli.js.map +1 -0
- package/dist/sdk/definitions.d.ts +22 -0
- package/dist/sdk/definitions.d.ts.map +1 -0
- package/dist/sdk/definitions.js +58 -0
- package/dist/sdk/definitions.js.map +1 -0
- package/dist/sdk/expect.d.ts +31 -0
- package/dist/sdk/expect.d.ts.map +1 -0
- package/dist/sdk/expect.js +68 -0
- package/dist/sdk/expect.js.map +1 -0
- package/dist/sdk/judge.d.ts +16 -0
- package/dist/sdk/judge.d.ts.map +1 -0
- package/dist/sdk/judge.js +82 -0
- package/dist/sdk/judge.js.map +1 -0
- package/dist/sdk/metrics.d.ts +3 -0
- package/dist/sdk/metrics.d.ts.map +1 -0
- package/dist/sdk/metrics.js +24 -0
- package/dist/sdk/metrics.js.map +1 -0
- package/dist/sdk/reporter.d.ts +12 -0
- package/dist/sdk/reporter.d.ts.map +1 -0
- package/dist/sdk/reporter.js +58 -0
- package/dist/sdk/reporter.js.map +1 -0
- package/dist/sdk/runtime.d.ts +33 -0
- package/dist/sdk/runtime.d.ts.map +1 -0
- package/dist/sdk/runtime.js +188 -0
- package/dist/sdk/runtime.js.map +1 -0
- package/dist/sdk/test.d.ts +27 -0
- package/dist/sdk/test.d.ts.map +1 -0
- package/dist/sdk/test.js +92 -0
- package/dist/sdk/test.js.map +1 -0
- package/dist/sdk/types.d.ts +75 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk/types.js +2 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/sdk/usage.d.ts +10 -0
- package/dist/sdk/usage.d.ts.map +1 -0
- package/dist/sdk/usage.js +13 -0
- package/dist/sdk/usage.js.map +1 -0
- package/dist/sdk/viewer-results.d.ts +43 -0
- package/dist/sdk/viewer-results.d.ts.map +1 -0
- package/dist/sdk/viewer-results.js +126 -0
- package/dist/sdk/viewer-results.js.map +1 -0
- package/dist/sdk/viewer.d.ts +11 -0
- package/dist/sdk/viewer.d.ts.map +1 -0
- package/dist/sdk/viewer.js +160 -0
- package/dist/sdk/viewer.js.map +1 -0
- package/dist/sdk/workspace.d.ts +33 -0
- package/dist/sdk/workspace.d.ts.map +1 -0
- package/dist/sdk/workspace.js +100 -0
- package/dist/sdk/workspace.js.map +1 -0
- package/dist/types.d.ts +4 -40
- package/dist/types.d.ts.map +1 -1
- package/dist/viewer/catalog.d.ts +2 -8
- package/dist/viewer/catalog.d.ts.map +1 -1
- package/dist/viewer/catalog.js +23 -128
- package/dist/viewer/catalog.js.map +1 -1
- package/dist/viewer/client.d.ts.map +1 -1
- package/dist/viewer/client.js +12 -12
- package/dist/viewer/client.js.map +1 -1
- package/dist/viewer/run-controller.d.ts +4 -2
- package/dist/viewer/run-controller.d.ts.map +1 -1
- package/dist/viewer/run-controller.js +297 -248
- package/dist/viewer/run-controller.js.map +1 -1
- package/dist/viewer/server.d.ts +4 -3
- package/dist/viewer/server.d.ts.map +1 -1
- package/dist/viewer/server.js +149 -112
- package/dist/viewer/server.js.map +1 -1
- package/dist/viewer/styles.d.ts +2 -0
- package/dist/viewer/styles.d.ts.map +1 -0
- package/dist/viewer/styles.js +444 -0
- package/dist/viewer/styles.js.map +1 -0
- package/dist/worker-pool.d.ts +5 -1
- package/dist/worker-pool.d.ts.map +1 -1
- package/dist/worker-pool.js +1 -1
- package/dist/worker-pool.js.map +1 -1
- package/package.json +7 -7
- package/dist/check.d.ts +0 -38
- package/dist/check.d.ts.map +0 -1
- package/dist/check.js +0 -169
- package/dist/check.js.map +0 -1
- package/dist/command-allowlist.d.ts +0 -9
- package/dist/command-allowlist.d.ts.map +0 -1
- package/dist/command-allowlist.js +0 -29
- package/dist/command-allowlist.js.map +0 -1
- package/dist/debug-bundle.d.ts +0 -81
- package/dist/debug-bundle.d.ts.map +0 -1
- package/dist/debug-bundle.js +0 -392
- package/dist/debug-bundle.js.map +0 -1
- package/dist/discover-suites.d.ts +0 -2
- package/dist/discover-suites.d.ts.map +0 -1
- package/dist/discover-suites.js +0 -19
- package/dist/discover-suites.js.map +0 -1
- package/dist/doctor.d.ts +0 -24
- package/dist/doctor.d.ts.map +0 -1
- package/dist/doctor.js +0 -272
- package/dist/doctor.js.map +0 -1
- package/dist/expect.d.ts +0 -59
- package/dist/expect.d.ts.map +0 -1
- package/dist/expect.js +0 -518
- package/dist/expect.js.map +0 -1
- package/dist/host-log.d.ts +0 -17
- package/dist/host-log.d.ts.map +0 -1
- package/dist/host-log.js +0 -154
- package/dist/host-log.js.map +0 -1
- package/dist/hosts.d.ts +0 -22
- package/dist/hosts.d.ts.map +0 -1
- package/dist/hosts.js +0 -84
- package/dist/hosts.js.map +0 -1
- package/dist/html-report.d.ts +0 -18
- package/dist/html-report.d.ts.map +0 -1
- package/dist/html-report.js +0 -1276
- package/dist/html-report.js.map +0 -1
- package/dist/live-isolation.d.ts +0 -82
- package/dist/live-isolation.d.ts.map +0 -1
- package/dist/live-isolation.js +0 -399
- package/dist/live-isolation.js.map +0 -1
- package/dist/live-timeout.d.ts +0 -11
- package/dist/live-timeout.d.ts.map +0 -1
- package/dist/live-timeout.js +0 -29
- package/dist/live-timeout.js.map +0 -1
- package/dist/load-adapters.d.ts +0 -13
- package/dist/load-adapters.d.ts.map +0 -1
- package/dist/load-adapters.js +0 -76
- package/dist/load-adapters.js.map +0 -1
- package/dist/load-suite.d.ts +0 -22
- package/dist/load-suite.d.ts.map +0 -1
- package/dist/load-suite.js +0 -154
- package/dist/load-suite.js.map +0 -1
- package/dist/mcp-config.d.ts +0 -13
- package/dist/mcp-config.d.ts.map +0 -1
- package/dist/mcp-config.js +0 -121
- package/dist/mcp-config.js.map +0 -1
- package/dist/preflight.d.ts +0 -3
- package/dist/preflight.d.ts.map +0 -1
- package/dist/preflight.js +0 -17
- package/dist/preflight.js.map +0 -1
- package/dist/progress.d.ts +0 -24
- package/dist/progress.d.ts.map +0 -1
- package/dist/progress.js +0 -111
- package/dist/progress.js.map +0 -1
- package/dist/record-trace.d.ts +0 -64
- package/dist/record-trace.d.ts.map +0 -1
- package/dist/record-trace.js +0 -124
- package/dist/record-trace.js.map +0 -1
- package/dist/report-preview-server.d.ts +0 -2
- package/dist/report-preview-server.d.ts.map +0 -1
- package/dist/report-preview-server.js +0 -24
- package/dist/report-preview-server.js.map +0 -1
- package/dist/report-preview.d.ts +0 -35
- package/dist/report-preview.d.ts.map +0 -1
- package/dist/report-preview.js +0 -205
- package/dist/report-preview.js.map +0 -1
- package/dist/run-suite.d.ts +0 -139
- package/dist/run-suite.d.ts.map +0 -1
- package/dist/run-suite.js +0 -1669
- package/dist/run-suite.js.map +0 -1
- package/dist/scenario-finalizer.d.ts +0 -27
- package/dist/scenario-finalizer.d.ts.map +0 -1
- package/dist/scenario-finalizer.js +0 -39
- package/dist/scenario-finalizer.js.map +0 -1
- package/dist/scenario-retry.d.ts +0 -15
- package/dist/scenario-retry.d.ts.map +0 -1
- package/dist/scenario-retry.js +0 -52
- package/dist/scenario-retry.js.map +0 -1
- package/dist/scenario-seed.d.ts +0 -13
- package/dist/scenario-seed.d.ts.map +0 -1
- package/dist/scenario-seed.js +0 -72
- package/dist/scenario-seed.js.map +0 -1
- package/dist/suite-summary.d.ts +0 -16
- package/dist/suite-summary.d.ts.map +0 -1
- package/dist/suite-summary.js +0 -218
- package/dist/suite-summary.js.map +0 -1
- package/dist/theme.d.ts +0 -96
- package/dist/theme.d.ts.map +0 -1
- package/dist/theme.js +0 -446
- package/dist/theme.js.map +0 -1
- package/dist/validate-seeds.d.ts +0 -20
- package/dist/validate-seeds.d.ts.map +0 -1
- package/dist/validate-seeds.js +0 -72
- package/dist/validate-seeds.js.map +0 -1
- package/dist/validate-suite.d.ts +0 -24
- package/dist/validate-suite.d.ts.map +0 -1
- package/dist/validate-suite.js +0 -542
- package/dist/validate-suite.js.map +0 -1
- package/dist/viewer/cli.d.ts +0 -17
- package/dist/viewer/cli.d.ts.map +0 -1
- package/dist/viewer/cli.js +0 -38
- package/dist/viewer/cli.js.map +0 -1
- package/dist/viewer/compare-metrics.d.ts +0 -30
- package/dist/viewer/compare-metrics.d.ts.map +0 -1
- package/dist/viewer/compare-metrics.js +0 -101
- package/dist/viewer/compare-metrics.js.map +0 -1
- package/dist/viewer/context-files.d.ts +0 -8
- package/dist/viewer/context-files.d.ts.map +0 -1
- package/dist/viewer/context-files.js +0 -57
- package/dist/viewer/context-files.js.map +0 -1
- package/dist/viewer/emit.d.ts +0 -7
- package/dist/viewer/emit.d.ts.map +0 -1
- package/dist/viewer/emit.js +0 -25
- package/dist/viewer/emit.js.map +0 -1
- package/dist/viewer/live-runner.d.ts +0 -27
- package/dist/viewer/live-runner.d.ts.map +0 -1
- package/dist/viewer/live-runner.js +0 -166
- package/dist/viewer/live-runner.js.map +0 -1
- package/dist/viewer/session-server.d.ts +0 -2
- package/dist/viewer/session-server.d.ts.map +0 -1
- package/dist/viewer/session-server.js +0 -71
- package/dist/viewer/session-server.js.map +0 -1
- package/dist/warnings.d.ts +0 -3
- package/dist/warnings.d.ts.map +0 -1
- package/dist/warnings.js +0 -13
- package/dist/warnings.js.map +0 -1
package/dist/check.js
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { access } from "node:fs/promises";
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import { isKnownAgentHost } from "@post-print/agent-harness";
|
|
4
|
-
import { discoverSuites } from "./discover-suites.js";
|
|
5
|
-
import { missingAgentAuth, runDoctor } from "./doctor.js";
|
|
6
|
-
import { resolveSuiteHosts, uniqueHosts } from "./hosts.js";
|
|
7
|
-
import { loadSuiteFile } from "./load-suite.js";
|
|
8
|
-
import { formatSeedValidationReport, validateSeedPatches } from "./validate-seeds.js";
|
|
9
|
-
import { formatValidationReport, validateSuitePaths } from "./validate-suite.js";
|
|
10
|
-
function filterSuitePaths(suitePaths, filter) {
|
|
11
|
-
if (!filter) {
|
|
12
|
-
return suitePaths;
|
|
13
|
-
}
|
|
14
|
-
return suitePaths.filter((path) => path.includes(`/${filter}/`) || path.endsWith(`/${filter}/scenarios.json`));
|
|
15
|
-
}
|
|
16
|
-
async function suitesDirExists(cwd, suitesDir) {
|
|
17
|
-
try {
|
|
18
|
-
await access(resolve(cwd, suitesDir));
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/** Hosts a live run will launch after suite defaults and an optional CLI override. */
|
|
26
|
-
export async function collectSuiteHosts(options) {
|
|
27
|
-
const cliHosts = uniqueHosts(options.hosts ?? (options.host ? [options.host] : undefined));
|
|
28
|
-
if (cliHosts?.length === 1) {
|
|
29
|
-
return cliHosts;
|
|
30
|
-
}
|
|
31
|
-
const root = resolve(options.cwd, options.suitesDir);
|
|
32
|
-
let suitePaths = [];
|
|
33
|
-
try {
|
|
34
|
-
suitePaths = filterSuitePaths(await discoverSuites(root), options.filter);
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
return cliHosts ?? ["cursor"];
|
|
38
|
-
}
|
|
39
|
-
if (suitePaths.length === 0) {
|
|
40
|
-
return cliHosts ?? ["cursor"];
|
|
41
|
-
}
|
|
42
|
-
const hosts = new Set();
|
|
43
|
-
for (const suitePath of suitePaths) {
|
|
44
|
-
try {
|
|
45
|
-
const suite = await loadSuiteFile(suitePath, { rubricsDir: options.rubricsDir });
|
|
46
|
-
const resolved = resolveSuiteHosts({
|
|
47
|
-
cliHosts,
|
|
48
|
-
suiteHosts: suite.hosts,
|
|
49
|
-
defaultHost: suite.defaults?.host,
|
|
50
|
-
});
|
|
51
|
-
if (resolved.length > 1 || (suite.hosts !== undefined && suite.hosts.length > 0)) {
|
|
52
|
-
for (const host of resolved) {
|
|
53
|
-
hosts.add(host);
|
|
54
|
-
}
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
const fallback = suite.defaults?.host ?? "cursor";
|
|
58
|
-
for (const scenario of suite.scenarios) {
|
|
59
|
-
if (scenario.skip) {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
const host = scenario.host ?? fallback;
|
|
63
|
-
if (isKnownAgentHost(host)) {
|
|
64
|
-
hosts.add(host);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
if (suite.scenarios.length === 0 && isKnownAgentHost(fallback)) {
|
|
68
|
-
hosts.add(fallback);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
// Invalid files are reported by suite validation.
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
if (hosts.size === 0) {
|
|
76
|
-
return cliHosts ?? ["cursor"];
|
|
77
|
-
}
|
|
78
|
-
return [...hosts];
|
|
79
|
-
}
|
|
80
|
-
/** Missing auth for every host this run will launch. Undefined when all hosts are ready. */
|
|
81
|
-
export function missingHostsAuth(hosts) {
|
|
82
|
-
const missing = hosts.map((host) => missingAgentAuth(host)).filter((message) => message);
|
|
83
|
-
if (missing.length === 0) {
|
|
84
|
-
return undefined;
|
|
85
|
-
}
|
|
86
|
-
return missing.join("\n");
|
|
87
|
-
}
|
|
88
|
-
/** Suite, seed, package, and host checks. Does not launch an agent. */
|
|
89
|
-
export async function runCheck(options) {
|
|
90
|
-
const messages = [];
|
|
91
|
-
const doctor = runDoctor({ cliPath: options.cliPath });
|
|
92
|
-
messages.push("package");
|
|
93
|
-
for (const message of doctor.messages) {
|
|
94
|
-
messages.push(` ${message}`);
|
|
95
|
-
}
|
|
96
|
-
const hosts = await collectSuiteHosts(options);
|
|
97
|
-
const hostError = missingHostsAuth(hosts);
|
|
98
|
-
const hostReady = hostError === undefined;
|
|
99
|
-
messages.push("host");
|
|
100
|
-
messages.push(` ${hosts.join(", ")}: ${hostReady ? "ready" : (hostError ?? "not ready")}`);
|
|
101
|
-
let suiteOk = false;
|
|
102
|
-
const suitesRoot = resolve(options.cwd, options.suitesDir);
|
|
103
|
-
if (!(await suitesDirExists(options.cwd, options.suitesDir))) {
|
|
104
|
-
messages.push("suite");
|
|
105
|
-
messages.push(` missing ${suitesRoot}`);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
const suitePaths = filterSuitePaths(await discoverSuites(suitesRoot), options.filter);
|
|
109
|
-
if (suitePaths.length === 0) {
|
|
110
|
-
messages.push("suite");
|
|
111
|
-
messages.push(` No suites found under ${options.suitesDir}`);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
const suiteReport = await validateSuitePaths(suitePaths, {
|
|
115
|
-
validatePaths: true,
|
|
116
|
-
repoRoot: options.cwd,
|
|
117
|
-
rubricsDir: options.rubricsDir,
|
|
118
|
-
});
|
|
119
|
-
suiteOk = suiteReport.ok;
|
|
120
|
-
messages.push("suite");
|
|
121
|
-
for (const line of formatValidationReport(suiteReport).split("\n")) {
|
|
122
|
-
messages.push(` ${line}`);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
const seedReport = await validateSeedPatches({
|
|
127
|
-
cwd: options.cwd,
|
|
128
|
-
suitesDir: options.suitesDir,
|
|
129
|
-
rubricsDir: options.rubricsDir,
|
|
130
|
-
filter: options.filter,
|
|
131
|
-
}).catch((error) => ({
|
|
132
|
-
ok: false,
|
|
133
|
-
issues: [
|
|
134
|
-
{
|
|
135
|
-
suite: options.suitesDir,
|
|
136
|
-
scenario: "*",
|
|
137
|
-
seedPatch: "",
|
|
138
|
-
message: error instanceof Error ? error.message : String(error),
|
|
139
|
-
},
|
|
140
|
-
],
|
|
141
|
-
checked: 0,
|
|
142
|
-
}));
|
|
143
|
-
const seedsOk = seedReport.ok;
|
|
144
|
-
messages.push("seeds");
|
|
145
|
-
for (const line of formatSeedValidationReport(seedReport).split("\n")) {
|
|
146
|
-
messages.push(` ${line}`);
|
|
147
|
-
}
|
|
148
|
-
return {
|
|
149
|
-
ok: doctor.ok && suiteOk && seedsOk,
|
|
150
|
-
packageOk: doctor.ok,
|
|
151
|
-
suiteOk,
|
|
152
|
-
seedsOk,
|
|
153
|
-
hostReady,
|
|
154
|
-
hosts,
|
|
155
|
-
messages,
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
export function formatCheckReport(report) {
|
|
159
|
-
return ["agent-test check", ...report.messages].join("\n");
|
|
160
|
-
}
|
|
161
|
-
export function formatCheckSummary(report) {
|
|
162
|
-
const suite = report.suiteOk ? "suite ok" : "suite failed";
|
|
163
|
-
const pkg = report.packageOk ? "package ok" : "package failed";
|
|
164
|
-
const host = report.hostReady
|
|
165
|
-
? `host ${report.hosts.join(",")} ready`
|
|
166
|
-
: `host ${report.hosts.join(",")} not ready`;
|
|
167
|
-
return `check ${pkg} · ${suite} · ${host}`;
|
|
168
|
-
}
|
|
169
|
-
//# sourceMappingURL=check.js.map
|
package/dist/check.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/** Split `cmd && other` into statements. Pipes and newlines also split. */
|
|
2
|
-
export declare function splitShellSegments(command: string): string[];
|
|
3
|
-
/** True when the statement includes at least one allowlist fragment. */
|
|
4
|
-
export declare function shellSegmentAllowed(segment: string, allowlist: string[]): boolean;
|
|
5
|
-
/** Segments of one command that miss the allowlist. An empty list rejects every statement. */
|
|
6
|
-
export declare function disallowedShellSegments(command: string, allowlist: string[]): string[];
|
|
7
|
-
/** True when every statement in the command matches the allowlist. */
|
|
8
|
-
export declare function shellCommandAllowed(command: string, allowlist: string[]): boolean;
|
|
9
|
-
//# sourceMappingURL=command-allowlist.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-allowlist.d.ts","sourceRoot":"","sources":["../src/command-allowlist.ts"],"names":[],"mappings":"AAGA,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAK5D;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAEjF;AAED,8FAA8F;AAC9F,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAStF;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAEjF"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/** Split a shell line on combinators so each statement is scored. */
|
|
2
|
-
const SHELL_SPLIT = /(?:&&|\|\||;|\n|(?<!\|)\|(?!\|))/;
|
|
3
|
-
/** Split `cmd && other` into statements. Pipes and newlines also split. */
|
|
4
|
-
export function splitShellSegments(command) {
|
|
5
|
-
return command
|
|
6
|
-
.split(SHELL_SPLIT)
|
|
7
|
-
.map((segment) => segment.trim())
|
|
8
|
-
.filter((segment) => segment.length > 0);
|
|
9
|
-
}
|
|
10
|
-
/** True when the statement includes at least one allowlist fragment. */
|
|
11
|
-
export function shellSegmentAllowed(segment, allowlist) {
|
|
12
|
-
return allowlist.some((pattern) => pattern.length > 0 && segment.includes(pattern));
|
|
13
|
-
}
|
|
14
|
-
/** Segments of one command that miss the allowlist. An empty list rejects every statement. */
|
|
15
|
-
export function disallowedShellSegments(command, allowlist) {
|
|
16
|
-
const segments = splitShellSegments(command);
|
|
17
|
-
if (segments.length === 0) {
|
|
18
|
-
return [];
|
|
19
|
-
}
|
|
20
|
-
if (allowlist.length === 0) {
|
|
21
|
-
return [command.trim() || command];
|
|
22
|
-
}
|
|
23
|
-
return segments.filter((segment) => !shellSegmentAllowed(segment, allowlist));
|
|
24
|
-
}
|
|
25
|
-
/** True when every statement in the command matches the allowlist. */
|
|
26
|
-
export function shellCommandAllowed(command, allowlist) {
|
|
27
|
-
return disallowedShellSegments(command, allowlist).length === 0;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=command-allowlist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-allowlist.js","sourceRoot":"","sources":["../src/command-allowlist.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,WAAW,GAAG,kCAAkC,CAAC;AAEvD,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,OAAe;IACjD,OAAO,OAAO;SACZ,KAAK,CAAC,WAAW,CAAC;SAClB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,SAAmB;IACvE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,SAAmB;IAC3E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,SAAmB;IACvE,OAAO,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/debug-bundle.d.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import type { AgentTrace } from "@post-print/agent-harness";
|
|
2
|
-
import type { AgentScenario, AssertionFailure, JudgeVerdictResult, ScenarioResult } from "./types.js";
|
|
3
|
-
export interface DebugRerunOptions {
|
|
4
|
-
cliPath: string;
|
|
5
|
-
cwd: string;
|
|
6
|
-
suitesDir: string;
|
|
7
|
-
rubricsDir?: string;
|
|
8
|
-
suite: string;
|
|
9
|
-
scenario: string;
|
|
10
|
-
host?: string;
|
|
11
|
-
adapterModules?: string[];
|
|
12
|
-
judge?: boolean;
|
|
13
|
-
worktree?: boolean;
|
|
14
|
-
timeoutMs?: number;
|
|
15
|
-
noTimeout?: boolean;
|
|
16
|
-
allowUserInput?: boolean;
|
|
17
|
-
debugDir?: string;
|
|
18
|
-
keepRecordings?: boolean;
|
|
19
|
-
authMode?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface DebugEnvironmentSnapshot {
|
|
22
|
-
nodeVersion: string;
|
|
23
|
-
bunVersion?: string;
|
|
24
|
-
packageVersion: string;
|
|
25
|
-
host?: string;
|
|
26
|
-
suite: string;
|
|
27
|
-
scenario: string;
|
|
28
|
-
cursorApiKeySet: boolean;
|
|
29
|
-
cursorAgentModel?: string;
|
|
30
|
-
cursorJudgeModel?: string;
|
|
31
|
-
cursorJudgeTemperature?: string;
|
|
32
|
-
anthropicApiKeySet: boolean;
|
|
33
|
-
claudeAgentModel?: string;
|
|
34
|
-
claudeCodeBin?: string;
|
|
35
|
-
timeoutMs?: number;
|
|
36
|
-
worktree?: boolean;
|
|
37
|
-
isolateLive?: boolean;
|
|
38
|
-
agentTestEnv: Record<string, string | undefined>;
|
|
39
|
-
}
|
|
40
|
-
export interface WriteDebugBundleOptions {
|
|
41
|
-
dir: string;
|
|
42
|
-
result: ScenarioResult;
|
|
43
|
-
trace?: AgentTrace;
|
|
44
|
-
scenario: AgentScenario;
|
|
45
|
-
environment: DebugEnvironmentSnapshot;
|
|
46
|
-
rerun: DebugRerunOptions;
|
|
47
|
-
}
|
|
48
|
-
/** Shell-quote a single argument for POSIX sh. */
|
|
49
|
-
export declare function shellQuote(value: string): string;
|
|
50
|
-
/** Flatten text for a single `# …` shell comment (no newline breakout). */
|
|
51
|
-
export declare function shellCommentText(value: string): string;
|
|
52
|
-
export declare function buildRerunCommand(options: DebugRerunOptions): string;
|
|
53
|
-
export declare function collectDebugEnvironment(options: {
|
|
54
|
-
suite: string;
|
|
55
|
-
scenario: string;
|
|
56
|
-
packageVersion: string;
|
|
57
|
-
host?: string;
|
|
58
|
-
timeoutMs?: number;
|
|
59
|
-
worktree?: boolean;
|
|
60
|
-
isolateLive?: boolean;
|
|
61
|
-
}): DebugEnvironmentSnapshot;
|
|
62
|
-
export declare function formatDebugWhySection(options: {
|
|
63
|
-
result: ScenarioResult;
|
|
64
|
-
trace?: AgentTrace;
|
|
65
|
-
}): string[];
|
|
66
|
-
export declare function formatDebugSummaryMarkdown(options: {
|
|
67
|
-
scenario: AgentScenario;
|
|
68
|
-
result: ScenarioResult;
|
|
69
|
-
trace?: AgentTrace;
|
|
70
|
-
}): string;
|
|
71
|
-
export declare function formatTranscriptMarkdown(options: {
|
|
72
|
-
scenario: AgentScenario;
|
|
73
|
-
trace?: AgentTrace;
|
|
74
|
-
failures: AssertionFailure[];
|
|
75
|
-
judgeVerdicts?: JudgeVerdictResult[];
|
|
76
|
-
result?: ScenarioResult;
|
|
77
|
-
}): string;
|
|
78
|
-
export declare function getDebugBundleDir(stagingSessionId: string, suiteName: string, scenarioName: string, getSessionRoot: (sessionId: string) => string, host?: string): string;
|
|
79
|
-
/** Persist a scenario debug bundle (trace, failures, transcript, judge, env, rerun). */
|
|
80
|
-
export declare function writeDebugBundle(options: WriteDebugBundleOptions): Promise<string>;
|
|
81
|
-
//# sourceMappingURL=debug-bundle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-bundle.d.ts","sourceRoot":"","sources":["../src/debug-bundle.ts"],"names":[],"mappings":"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"}
|