@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/doctor.js
DELETED
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { accessSync, constants } from "node:fs";
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
import { dirname, join } from "node:path";
|
|
4
|
-
import { fileURLToPath } from "node:url";
|
|
5
|
-
import { CLAUDE_AUTH_MODE_ENV, CURSOR_AUTH_MODE_ENV, CURSOR_SDK_LOGIN_HINT, DEFAULT_HOST_AUTH_MODE, getHealthStatus, getProcessAuthMode, getRegisteredAdapter, HEALTH_CHECK_PATH, hasCursorSdkAuthFile, isBuiltinAgentHost, OPENAI_AUTH_MODE_ENV, resolveClaudeAuthMode, resolveCursorAuthMode, resolveOpenaiAuthMode, } from "@post-print/agent-harness";
|
|
6
|
-
function binOnPath(override, names) {
|
|
7
|
-
if (override) {
|
|
8
|
-
try {
|
|
9
|
-
accessSync(override, constants.X_OK);
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
try {
|
|
14
|
-
accessSync(override, constants.R_OK);
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
const pathEnv = process.env.PATH ?? "";
|
|
23
|
-
const sep = process.platform === "win32" ? ";" : ":";
|
|
24
|
-
for (const dir of pathEnv.split(sep)) {
|
|
25
|
-
if (!dir) {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
for (const name of names) {
|
|
29
|
-
try {
|
|
30
|
-
accessSync(join(dir, name), constants.X_OK);
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
try {
|
|
35
|
-
accessSync(join(dir, name), constants.R_OK);
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
catch {
|
|
39
|
-
// continue
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
function claudeBinOnPath() {
|
|
47
|
-
return binOnPath(process.env.CLAUDE_CODE_BIN?.trim(), process.platform === "win32" ? ["claude.exe", "claude.cmd", "claude"] : ["claude"]);
|
|
48
|
-
}
|
|
49
|
-
/** Local diagnostics for agent-test install and live-run readiness. */
|
|
50
|
-
export function runDoctor(options) {
|
|
51
|
-
const messages = [];
|
|
52
|
-
const nodeMajor = Number(process.versions.node.split(".")[0] ?? 0);
|
|
53
|
-
const nodeOk = nodeMajor >= 22;
|
|
54
|
-
if (!nodeOk) {
|
|
55
|
-
messages.push(`Node ${process.versions.node} is below the required >=22`);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
messages.push(`Node ${process.versions.node}: OK`);
|
|
59
|
-
}
|
|
60
|
-
const cliPath = options?.cliPath ?? join(dirname(fileURLToPath(import.meta.url)), "cli.js");
|
|
61
|
-
const cliCandidates = [cliPath];
|
|
62
|
-
if (cliPath.endsWith(".js")) {
|
|
63
|
-
cliCandidates.push(`${cliPath.slice(0, -3)}.ts`);
|
|
64
|
-
}
|
|
65
|
-
let cliPresent = false;
|
|
66
|
-
let resolvedCli = cliPath;
|
|
67
|
-
for (const candidate of cliCandidates) {
|
|
68
|
-
try {
|
|
69
|
-
accessSync(candidate, constants.R_OK);
|
|
70
|
-
cliPresent = true;
|
|
71
|
-
resolvedCli = candidate;
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
74
|
-
catch {
|
|
75
|
-
// try next
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (cliPresent) {
|
|
79
|
-
messages.push(`CLI entry: ${resolvedCli}`);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
messages.push(`CLI entry missing at ${cliPath} (run bun run build)`);
|
|
83
|
-
}
|
|
84
|
-
const require = createRequire(import.meta.url);
|
|
85
|
-
try {
|
|
86
|
-
require.resolve("@post-print/agent-harness");
|
|
87
|
-
messages.push("@post-print/agent-harness: resolvable");
|
|
88
|
-
}
|
|
89
|
-
catch {
|
|
90
|
-
messages.push("@post-print/agent-harness not resolvable");
|
|
91
|
-
}
|
|
92
|
-
let cursorSdkPresent = false;
|
|
93
|
-
try {
|
|
94
|
-
require.resolve("@cursor/sdk");
|
|
95
|
-
cursorSdkPresent = true;
|
|
96
|
-
messages.push("@cursor/sdk: installed (direct Cursor runs ready)");
|
|
97
|
-
}
|
|
98
|
-
catch {
|
|
99
|
-
messages.push("@cursor/sdk not installed — required for Cursor runs (npm i -D @cursor/sdk)");
|
|
100
|
-
}
|
|
101
|
-
const cursorApiKeySet = Boolean(process.env.CURSOR_API_KEY?.trim());
|
|
102
|
-
if (cursorApiKeySet) {
|
|
103
|
-
messages.push("CURSOR_API_KEY: set");
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
messages.push("CURSOR_API_KEY unset (required for --auth-mode api-key)");
|
|
107
|
-
}
|
|
108
|
-
const cursorSdkAuthFilePresent = hasCursorSdkAuthFile();
|
|
109
|
-
if (cursorSdkAuthFilePresent) {
|
|
110
|
-
messages.push("Cursor SDK login file: present (~/.cursor/sdk/auth.json)");
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
messages.push(`Cursor SDK login file: missing (${CURSOR_SDK_LOGIN_HINT})`);
|
|
114
|
-
}
|
|
115
|
-
const cursorAuthMode = process.env[CURSOR_AUTH_MODE_ENV]?.trim();
|
|
116
|
-
if (cursorAuthMode === "api-key" || cursorAuthMode === "subscription") {
|
|
117
|
-
messages.push(`${CURSOR_AUTH_MODE_ENV}: ${cursorAuthMode}`);
|
|
118
|
-
}
|
|
119
|
-
else if (cursorAuthMode) {
|
|
120
|
-
messages.push(`${CURSOR_AUTH_MODE_ENV}="${cursorAuthMode}" invalid (api-key or subscription)`);
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
const processMode = getProcessAuthMode();
|
|
124
|
-
messages.push(processMode
|
|
125
|
-
? `auth mode: ${processMode} (--auth-mode)`
|
|
126
|
-
: `auth mode: ${DEFAULT_HOST_AUTH_MODE} (default; pass --auth-mode api-key to use a key)`);
|
|
127
|
-
}
|
|
128
|
-
const anthropicApiKeySet = Boolean(process.env.ANTHROPIC_API_KEY?.trim());
|
|
129
|
-
if (anthropicApiKeySet) {
|
|
130
|
-
messages.push("ANTHROPIC_API_KEY: set");
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
messages.push("ANTHROPIC_API_KEY unset (required for CLAUDE_AUTH_MODE=api-key)");
|
|
134
|
-
}
|
|
135
|
-
const claudeAuthMode = process.env[CLAUDE_AUTH_MODE_ENV]?.trim();
|
|
136
|
-
if (claudeAuthMode === "api-key" || claudeAuthMode === "subscription") {
|
|
137
|
-
messages.push(`${CLAUDE_AUTH_MODE_ENV}: ${claudeAuthMode}`);
|
|
138
|
-
}
|
|
139
|
-
else if (claudeAuthMode) {
|
|
140
|
-
messages.push(`${CLAUDE_AUTH_MODE_ENV}="${claudeAuthMode}" invalid (api-key or subscription)`);
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
const processMode = getProcessAuthMode();
|
|
144
|
-
messages.push(processMode
|
|
145
|
-
? `auth mode: ${processMode} (--auth-mode)`
|
|
146
|
-
: `auth mode: ${DEFAULT_HOST_AUTH_MODE} (default; pass --auth-mode api-key to use ANTHROPIC_API_KEY)`);
|
|
147
|
-
}
|
|
148
|
-
const claudeBinPresent = claudeBinOnPath();
|
|
149
|
-
if (claudeBinPresent) {
|
|
150
|
-
messages.push(process.env.CLAUDE_CODE_BIN?.trim()
|
|
151
|
-
? `Claude Code binary: ${process.env.CLAUDE_CODE_BIN.trim()}`
|
|
152
|
-
: "Claude Code binary: claude (on PATH)");
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
messages.push("Claude Code binary not found (install Claude Code CLI or set CLAUDE_CODE_BIN for --host claude)");
|
|
156
|
-
}
|
|
157
|
-
const openaiApiKeySet = Boolean(process.env.OPENAI_API_KEY?.trim() || process.env.CODEX_API_KEY?.trim());
|
|
158
|
-
if (openaiApiKeySet) {
|
|
159
|
-
messages.push("OPENAI_API_KEY or CODEX_API_KEY: set");
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
messages.push("OPENAI_API_KEY and CODEX_API_KEY unset (required for OPENAI_AUTH_MODE=api-key)");
|
|
163
|
-
}
|
|
164
|
-
const openaiAuthMode = process.env[OPENAI_AUTH_MODE_ENV]?.trim();
|
|
165
|
-
if (openaiAuthMode === "api-key" || openaiAuthMode === "subscription") {
|
|
166
|
-
messages.push(`${OPENAI_AUTH_MODE_ENV}: ${openaiAuthMode}`);
|
|
167
|
-
}
|
|
168
|
-
else if (openaiAuthMode) {
|
|
169
|
-
messages.push(`${OPENAI_AUTH_MODE_ENV}="${openaiAuthMode}" invalid (api-key or subscription)`);
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
const processMode = getProcessAuthMode();
|
|
173
|
-
messages.push(processMode
|
|
174
|
-
? `auth mode: ${processMode} (--auth-mode)`
|
|
175
|
-
: `auth mode: ${DEFAULT_HOST_AUTH_MODE} (default; pass --auth-mode api-key to use a Codex key)`);
|
|
176
|
-
}
|
|
177
|
-
const openaiBinPresent = binOnPath(process.env.CODEX_BIN?.trim(), process.platform === "win32" ? ["codex.exe", "codex.cmd", "codex"] : ["codex"]);
|
|
178
|
-
if (openaiBinPresent) {
|
|
179
|
-
messages.push(process.env.CODEX_BIN?.trim()
|
|
180
|
-
? `OpenAI Codex binary: ${process.env.CODEX_BIN.trim()}`
|
|
181
|
-
: "OpenAI Codex binary: codex (on PATH)");
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
messages.push("OpenAI Codex binary not found (install Codex CLI or set CODEX_BIN for --host openai)");
|
|
185
|
-
}
|
|
186
|
-
const cursorLiveReady = missingAgentAuth("cursor") === undefined;
|
|
187
|
-
const claudeLiveReady = missingAgentAuth("claude") === undefined;
|
|
188
|
-
const openaiLiveReady = missingAgentAuth("openai") === undefined;
|
|
189
|
-
const liveReady = cursorLiveReady || claudeLiveReady || openaiLiveReady;
|
|
190
|
-
const health = getHealthStatus();
|
|
191
|
-
const ok = nodeOk && cliPresent && health.ok;
|
|
192
|
-
if (ok) {
|
|
193
|
-
messages.push(`doctor ${HEALTH_CHECK_PATH}: package-ready`);
|
|
194
|
-
}
|
|
195
|
-
if (liveReady) {
|
|
196
|
-
messages.push("doctor host: ready for at least one host");
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
messages.push("doctor host: not ready (no host credentials)");
|
|
200
|
-
}
|
|
201
|
-
return {
|
|
202
|
-
ok,
|
|
203
|
-
nodeMajor,
|
|
204
|
-
nodeOk,
|
|
205
|
-
cliPresent,
|
|
206
|
-
cursorApiKeySet,
|
|
207
|
-
cursorSdkAuthFilePresent,
|
|
208
|
-
cursorSdkPresent,
|
|
209
|
-
anthropicApiKeySet,
|
|
210
|
-
claudeBinPresent,
|
|
211
|
-
openaiApiKeySet,
|
|
212
|
-
openaiBinPresent,
|
|
213
|
-
liveReady,
|
|
214
|
-
health: HEALTH_CHECK_PATH,
|
|
215
|
-
messages,
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
/** Missing credential or binary for a live host adapter. Undefined when that host can run. */
|
|
219
|
-
export function missingAgentAuth(host) {
|
|
220
|
-
if (!isBuiltinAgentHost(host)) {
|
|
221
|
-
const adapter = getRegisteredAdapter(host);
|
|
222
|
-
if (!adapter) {
|
|
223
|
-
return `Unknown host "${host}". Register it with registerHostAdapter() or --adapter.`;
|
|
224
|
-
}
|
|
225
|
-
return adapter.missingAuth?.();
|
|
226
|
-
}
|
|
227
|
-
if (host === "claude") {
|
|
228
|
-
try {
|
|
229
|
-
const authMode = resolveClaudeAuthMode();
|
|
230
|
-
if (authMode === "api-key" && !process.env.ANTHROPIC_API_KEY?.trim()) {
|
|
231
|
-
return "--auth-mode api-key requires ANTHROPIC_API_KEY";
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
catch (error) {
|
|
235
|
-
return error instanceof Error ? error.message : String(error);
|
|
236
|
-
}
|
|
237
|
-
if (!claudeBinOnPath()) {
|
|
238
|
-
return "Claude Code binary not found (install Claude Code CLI or set CLAUDE_CODE_BIN for --host claude)";
|
|
239
|
-
}
|
|
240
|
-
return undefined;
|
|
241
|
-
}
|
|
242
|
-
if (host === "openai") {
|
|
243
|
-
try {
|
|
244
|
-
resolveOpenaiAuthMode();
|
|
245
|
-
}
|
|
246
|
-
catch (error) {
|
|
247
|
-
return error instanceof Error ? error.message : String(error);
|
|
248
|
-
}
|
|
249
|
-
if (!binOnPath(process.env.CODEX_BIN?.trim(), process.platform === "win32" ? ["codex.exe", "codex.cmd", "codex"] : ["codex"])) {
|
|
250
|
-
return "OpenAI Codex binary not found (install Codex CLI or set CODEX_BIN for --host openai)";
|
|
251
|
-
}
|
|
252
|
-
return undefined;
|
|
253
|
-
}
|
|
254
|
-
try {
|
|
255
|
-
const authMode = resolveCursorAuthMode();
|
|
256
|
-
if (authMode === "subscription" && !hasCursorSdkAuthFile()) {
|
|
257
|
-
return CURSOR_SDK_LOGIN_HINT;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
catch (error) {
|
|
261
|
-
return error instanceof Error ? error.message : String(error);
|
|
262
|
-
}
|
|
263
|
-
const require = createRequire(import.meta.url);
|
|
264
|
-
try {
|
|
265
|
-
require.resolve("@cursor/sdk");
|
|
266
|
-
}
|
|
267
|
-
catch {
|
|
268
|
-
return "@cursor/sdk not installed — required for Cursor runs (npm i -D @cursor/sdk)";
|
|
269
|
-
}
|
|
270
|
-
return undefined;
|
|
271
|
-
}
|
|
272
|
-
//# sourceMappingURL=doctor.js.map
|
package/dist/doctor.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/expect.d.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { type AgentTrace, type SkillContextMode } from "@post-print/agent-harness";
|
|
2
|
-
import type { AssertionFailure, ScenarioRubric } from "./types.js";
|
|
3
|
-
export interface RubricAssertOptions {
|
|
4
|
-
/** How skills were loaded for this run — affects mustInvokeSkill strictness. */
|
|
5
|
-
skillsMode?: SkillContextMode;
|
|
6
|
-
}
|
|
7
|
-
export declare class TraceAssertion {
|
|
8
|
-
private readonly trace;
|
|
9
|
-
private failures;
|
|
10
|
-
constructor(trace: AgentTrace, _options?: RubricAssertOptions);
|
|
11
|
-
get ok(): boolean;
|
|
12
|
-
get errors(): AssertionFailure[];
|
|
13
|
-
private messageText;
|
|
14
|
-
/** Assistant reply text only. Tool results, commands, and artifacts do not count. */
|
|
15
|
-
private replyHaystack;
|
|
16
|
-
private assertionHaystack;
|
|
17
|
-
/** mustNot ignores tool results so a required Read of a source file does not fail. */
|
|
18
|
-
private mustNotHaystack;
|
|
19
|
-
private patternHaystack;
|
|
20
|
-
private push;
|
|
21
|
-
toHaveTier(tier: ScenarioRubric["tier"]): this;
|
|
22
|
-
/** Hands-on chat: tier from structured routing or one-line announce in transcript. */
|
|
23
|
-
toHaveHandsOnTier(tier: ScenarioRubric["tier"]): this;
|
|
24
|
-
toHaveReviewDepth(depth: ScenarioRubric["reviewDepth"]): this;
|
|
25
|
-
toHaveRunCommand(fragment: string): this;
|
|
26
|
-
toHaveRunCommandSuccessfully(fragment: string): this;
|
|
27
|
-
/** When set, every shell statement must match one allowlist fragment. */
|
|
28
|
-
toHaveAllowedCommands(allowlist: string[] | undefined): this;
|
|
29
|
-
/**
|
|
30
|
-
* Assert a tool was called. Spec is a name substring, or `name:fragment`
|
|
31
|
-
* where fragment must appear in JSON args or the tool result.
|
|
32
|
-
*/
|
|
33
|
-
toHaveCalledTool(spec: string): this;
|
|
34
|
-
toHaveCalledToolsInOrder(specs: string[]): this;
|
|
35
|
-
toHaveNotCalledTool(spec: string): this;
|
|
36
|
-
/** Substring must appear in Read-family args or a Shell/Bash path access. */
|
|
37
|
-
toHaveReadPath(fragment: string): this;
|
|
38
|
-
/**
|
|
39
|
-
* Forbidden path fragment must not appear in a *successful* Read-family tool
|
|
40
|
-
* call. Miss / ENOENT attempts do not fail — null-arm forage seals delete
|
|
41
|
-
* answer keys, and agents often probe the path after seeing it in suite JSON.
|
|
42
|
-
*/
|
|
43
|
-
toHaveNotReadPath(fragment: string): this;
|
|
44
|
-
toIncludeRoutingBlock(): this;
|
|
45
|
-
/** Hands-off PR: ## Routing must appear before the first tool call. */
|
|
46
|
-
toHaveRoutingBlockBeforeTools(): this;
|
|
47
|
-
/** Hands-on chat: tier announce must appear before the first tool call. */
|
|
48
|
-
toHaveHandsOnTierBeforeTools(tier: ScenarioRubric["tier"]): this;
|
|
49
|
-
toHaveInvokedSkill(skillName: string): this;
|
|
50
|
-
private skillWasInvoked;
|
|
51
|
-
/** Which full-mode fallback pattern matched (for mustNotInvokeSkill evidence). */
|
|
52
|
-
private skillMatchHint;
|
|
53
|
-
toHaveNotInvokedSkill(skillName: string): this;
|
|
54
|
-
mustInclude(text: string): this;
|
|
55
|
-
mustNotInclude(text: string): this;
|
|
56
|
-
}
|
|
57
|
-
export declare function expectTrace(trace: AgentTrace, options?: RubricAssertOptions): TraceAssertion;
|
|
58
|
-
export declare function assertRubric(trace: AgentTrace, rubric: ScenarioRubric, options?: RubricAssertOptions): AssertionFailure[];
|
|
59
|
-
//# sourceMappingURL=expect.d.ts.map
|
package/dist/expect.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../src/expect.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,UAAU,EAMf,KAAK,gBAAgB,EACrB,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IACnC,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAqDD,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHvB,OAAO,CAAC,QAAQ,CAA0B;IAE1C,YACkB,KAAK,EAAE,UAAU,EAClC,QAAQ,GAAE,mBAAwB,EAC/B;IAEJ,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED,IAAI,MAAM,IAAI,gBAAgB,EAAE,CAE/B;IAED,OAAO,CAAC,WAAW;IAInB,qFAAqF;IACrF,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;IAezB,sFAAsF;IACtF,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,IAAI;IAIZ,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAe7C;IAED,sFAAsF;IACtF,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAgBpD;IAED,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAe5D;IAED,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAiBvC;IAED,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAyBnD;IAED,yEAAyE;IACzE,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,CAiB3D;IAED;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKnC;IAED,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAoB9C;IAED,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKtC;IAED,6EAA6E;IAC7E,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYrC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASxC;IAED,qBAAqB,IAAI,IAAI,CAe5B;IAED,uEAAuE;IACvE,6BAA6B,IAAI,IAAI,CASpC;IAED,2EAA2E;IAC3E,4BAA4B,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAY/D;IAED,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAW1C;IAED,OAAO,CAAC,eAAe;IASvB,kFAAkF;IAClF,OAAO,CAAC,cAAc;IAatB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAU7C;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAW9B;IAED,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAUjC;CACD;AAmKD,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,cAAc,CAE5F;AAED,wBAAgB,YAAY,CAC3B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,gBAAgB,EAAE,CAkDpB"}
|