@post-print/agent-harness 0.2.3 → 0.2.5
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/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +33 -6
- package/dist/adapters/index.js.map +1 -1
- package/dist/cursor-run.d.ts +13 -0
- package/dist/cursor-run.d.ts.map +1 -1
- package/dist/cursor-run.js +75 -13
- package/dist/cursor-run.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/run-guards.d.ts +10 -2
- package/dist/run-guards.d.ts.map +1 -1
- package/dist/run-guards.js +9 -0
- package/dist/run-guards.js.map +1 -1
- package/dist/working-tree-guard.d.ts +6 -0
- package/dist/working-tree-guard.d.ts.map +1 -1
- package/dist/working-tree-guard.js +9 -1
- package/dist/working-tree-guard.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAc,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA2B5C,gFAAgF;AAChF,qBAAa,aAAc,YAAW,WAAW;IAChD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAE5B,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CA4EzD;CACD;AAED,gFAAgF;AAChF,qBAAa,aAAc,YAAW,WAAW;IAChD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAE5B,GAAG,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAK1D;CACD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,WAAW,CASxE;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/adapters/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { captureGitDiff, enrichTrace } from "../capture.js";
|
|
2
|
-
import { runCursorAgent } from "../cursor-run.js";
|
|
2
|
+
import { formatCursorRunFailure, runCursorAgent, takeLastCursorRunTrace } from "../cursor-run.js";
|
|
3
3
|
import { buildRoutingContract } from "../routing-contract.js";
|
|
4
|
+
import { getPartialTrace } from "../run-guards.js";
|
|
4
5
|
import { ReplayAdapter } from "./replay.js";
|
|
5
6
|
function emptyFailed(host, error) {
|
|
6
7
|
return {
|
|
@@ -11,6 +12,15 @@ function emptyFailed(host, error) {
|
|
|
11
12
|
error,
|
|
12
13
|
};
|
|
13
14
|
}
|
|
15
|
+
function sessionFromTrace(host, trace, error, durationMs) {
|
|
16
|
+
return {
|
|
17
|
+
host,
|
|
18
|
+
status: "failed",
|
|
19
|
+
trace: enrichTrace(trace),
|
|
20
|
+
durationMs,
|
|
21
|
+
error,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
14
24
|
/** Cursor SDK adapter — requires optional @cursor/sdk peer + CURSOR_API_KEY. */
|
|
15
25
|
export class CursorAdapter {
|
|
16
26
|
host = "cursor";
|
|
@@ -18,13 +28,13 @@ export class CursorAdapter {
|
|
|
18
28
|
if (!process.env.CURSOR_API_KEY) {
|
|
19
29
|
return emptyFailed(this.host, "CURSOR_API_KEY not set — use host replay or set API key for live runs");
|
|
20
30
|
}
|
|
31
|
+
const started = performance.now();
|
|
21
32
|
try {
|
|
22
|
-
const started = performance.now();
|
|
23
33
|
const contract = options.outputContract
|
|
24
34
|
? `\n\n${buildRoutingContract(options.outputContract)}\n`
|
|
25
35
|
: "";
|
|
26
36
|
const prompt = `${options.context.preamble}\n\n---\n${contract}Task:\n${options.prompt}`;
|
|
27
|
-
const { trace: streamedTrace, status } = await runCursorAgent({
|
|
37
|
+
const { trace: streamedTrace, status, rawStatus, sdkError, } = await runCursorAgent({
|
|
28
38
|
cwd: options.cwd,
|
|
29
39
|
prompt,
|
|
30
40
|
mcpServers: options.mcpServers,
|
|
@@ -39,22 +49,39 @@ export class CursorAdapter {
|
|
|
39
49
|
artifacts: {
|
|
40
50
|
...streamedTrace.artifacts,
|
|
41
51
|
...(gitDiffResult.truncated ? { gitDiffTruncated: "true" } : {}),
|
|
52
|
+
...(rawStatus ? { cursorRawStatus: rawStatus } : {}),
|
|
53
|
+
...(sdkError?.code ? { cursorSdkErrorCode: sdkError.code } : {}),
|
|
54
|
+
...(sdkError?.message ? { cursorSdkErrorMessage: sdkError.message } : {}),
|
|
42
55
|
},
|
|
43
56
|
});
|
|
57
|
+
const durationMs = Math.round(performance.now() - started);
|
|
58
|
+
if (status === "completed") {
|
|
59
|
+
return {
|
|
60
|
+
host: this.host,
|
|
61
|
+
status: "completed",
|
|
62
|
+
trace,
|
|
63
|
+
durationMs,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
44
66
|
return {
|
|
45
67
|
host: this.host,
|
|
46
|
-
status:
|
|
68
|
+
status: "failed",
|
|
47
69
|
trace,
|
|
48
|
-
durationMs
|
|
49
|
-
error: status
|
|
70
|
+
durationMs,
|
|
71
|
+
error: formatCursorRunFailure({ status, rawStatus, sdkError }),
|
|
50
72
|
};
|
|
51
73
|
}
|
|
52
74
|
catch (error) {
|
|
53
75
|
const message = error instanceof Error ? error.message : "Failed to load or run @cursor/sdk";
|
|
76
|
+
const durationMs = Math.round(performance.now() - started);
|
|
77
|
+
const partial = getPartialTrace(error) ?? takeLastCursorRunTrace();
|
|
54
78
|
if (message.includes("Cannot find package '@cursor/sdk'") ||
|
|
55
79
|
message.includes("@cursor/sdk")) {
|
|
56
80
|
return emptyFailed(this.host, "Install @cursor/sdk for live runs: npm i -D @cursor/sdk (peer dependency)");
|
|
57
81
|
}
|
|
82
|
+
if (partial && (partial.messages.length > 0 || partial.toolCalls.length > 0)) {
|
|
83
|
+
return sessionFromTrace(this.host, partial, message, durationMs);
|
|
84
|
+
}
|
|
58
85
|
return emptyFailed(this.host, message);
|
|
59
86
|
}
|
|
60
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cursor-run.d.ts
CHANGED
|
@@ -47,9 +47,22 @@ export interface JudgeClassifierResult {
|
|
|
47
47
|
export interface CursorRunResult {
|
|
48
48
|
status: string;
|
|
49
49
|
trace: AgentTrace;
|
|
50
|
+
/** Unnormalized SDK terminal status from wait()/prompt. */
|
|
51
|
+
rawStatus?: string;
|
|
52
|
+
sdkError?: JudgeSdkError;
|
|
50
53
|
}
|
|
51
54
|
/** Map Cursor SDK terminal status to harness run status. */
|
|
52
55
|
export declare function normalizeSdkRunStatus(status: string): "completed" | "failed";
|
|
56
|
+
/** Human-readable cursor run failure line for AgentSession.error / assertion evidence. */
|
|
57
|
+
export declare function formatCursorRunFailure(options: {
|
|
58
|
+
status: string;
|
|
59
|
+
rawStatus?: string;
|
|
60
|
+
sdkError?: JudgeSdkError;
|
|
61
|
+
}): string;
|
|
62
|
+
/** Best-effort cancel of the in-flight Cursor SDK run (no-op when idle). */
|
|
63
|
+
export declare function cancelActiveCursorRun(): void;
|
|
64
|
+
/** Consume the most recent partial/full cursor trace (clears the stash). */
|
|
65
|
+
export declare function takeLastCursorRunTrace(): AgentTrace | undefined;
|
|
53
66
|
/** Shared Cursor SDK path — Agent.create + send + wait (runs and judge use the same surface). */
|
|
54
67
|
export declare function runCursorAgent(options: CursorRunOptions): Promise<CursorRunResult>;
|
|
55
68
|
/** Classifier-only judge path — one-shot Agent.prompt, JSON reply, temperature 0 when supported. */
|
package/dist/cursor-run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-run.d.ts","sourceRoot":"","sources":["../src/cursor-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,UAAU,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,UAAU,CAAC;AAOnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAkC7C,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAsB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CACtE;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor-run.d.ts","sourceRoot":"","sources":["../src/cursor-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,UAAU,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,UAAU,CAAC;AAOnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAkC7C,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAsB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CACtE;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,4DAA4D;AAC5D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAE5E;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;CACzB,GAAG,MAAM,CAeT;AA8BD,4EAA4E;AAC5E,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,IAAI,UAAU,GAAG,SAAS,CAI/D;AAED,iGAAiG;AACjG,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6FxF;AAED,oGAAoG;AACpG,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAwBhC;AAeD,sGAAsG;AACtG,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAS3E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAqBlE"}
|
package/dist/cursor-run.js
CHANGED
|
@@ -74,6 +74,24 @@ function judgeModelParamsFromEnv() {
|
|
|
74
74
|
export function normalizeSdkRunStatus(status) {
|
|
75
75
|
return status === "finished" || status === "completed" ? "completed" : "failed";
|
|
76
76
|
}
|
|
77
|
+
/** Human-readable cursor run failure line for AgentSession.error / assertion evidence. */
|
|
78
|
+
export function formatCursorRunFailure(options) {
|
|
79
|
+
const details = [];
|
|
80
|
+
if (options.rawStatus && options.rawStatus !== options.status) {
|
|
81
|
+
details.push(`sdk: ${options.rawStatus}`);
|
|
82
|
+
}
|
|
83
|
+
else if (options.rawStatus) {
|
|
84
|
+
details.push(`sdk: ${options.rawStatus}`);
|
|
85
|
+
}
|
|
86
|
+
if (options.sdkError?.code) {
|
|
87
|
+
details.push(`code: ${options.sdkError.code}`);
|
|
88
|
+
}
|
|
89
|
+
if (options.sdkError?.message) {
|
|
90
|
+
details.push(`error: ${options.sdkError.message}`);
|
|
91
|
+
}
|
|
92
|
+
const suffix = details.length > 0 ? ` (${details.join(", ")})` : "";
|
|
93
|
+
return `cursor run status: ${options.status}${suffix}`;
|
|
94
|
+
}
|
|
77
95
|
function cancelSdkRun(run) {
|
|
78
96
|
if (!run) {
|
|
79
97
|
return;
|
|
@@ -95,6 +113,21 @@ function cancelSdkRun(run) {
|
|
|
95
113
|
}
|
|
96
114
|
})();
|
|
97
115
|
}
|
|
116
|
+
/** In-process Cursor SDK run currently owned by `runCursorAgent` (for Ctrl+C / SIGTERM). */
|
|
117
|
+
let activeCursorRun;
|
|
118
|
+
/** Latest finalized (or partial) trace from the in-process cursor run — for timeout/catch recovery. */
|
|
119
|
+
let lastCursorRunTrace;
|
|
120
|
+
/** Best-effort cancel of the in-flight Cursor SDK run (no-op when idle). */
|
|
121
|
+
export function cancelActiveCursorRun() {
|
|
122
|
+
cancelSdkRun(activeCursorRun);
|
|
123
|
+
activeCursorRun = undefined;
|
|
124
|
+
}
|
|
125
|
+
/** Consume the most recent partial/full cursor trace (clears the stash). */
|
|
126
|
+
export function takeLastCursorRunTrace() {
|
|
127
|
+
const trace = lastCursorRunTrace;
|
|
128
|
+
lastCursorRunTrace = undefined;
|
|
129
|
+
return trace;
|
|
130
|
+
}
|
|
98
131
|
/** Shared Cursor SDK path — Agent.create + send + wait (runs and judge use the same surface). */
|
|
99
132
|
export async function runCursorAgent(options) {
|
|
100
133
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
@@ -116,14 +149,21 @@ export async function runCursorAgent(options) {
|
|
|
116
149
|
}), true);
|
|
117
150
|
const failOnUserInput = options.failOnUserInput !== false;
|
|
118
151
|
const acc = createTraceAccumulator();
|
|
119
|
-
let activeRun;
|
|
120
152
|
let timedOut = false;
|
|
153
|
+
const stashTrace = () => {
|
|
154
|
+
const trace = finalizeTraceAccumulator(acc);
|
|
155
|
+
lastCursorRunTrace = trace;
|
|
156
|
+
return trace;
|
|
157
|
+
};
|
|
121
158
|
const execute = async () => {
|
|
122
159
|
const run = (await agent.send(options.prompt));
|
|
123
|
-
|
|
160
|
+
activeCursorRun = run;
|
|
124
161
|
if (timedOut) {
|
|
125
162
|
cancelSdkRun(run);
|
|
126
|
-
|
|
163
|
+
activeCursorRun = undefined;
|
|
164
|
+
const timeoutError = new AgentRunTimeoutError(options.timeoutMs ?? 0);
|
|
165
|
+
timeoutError.trace = stashTrace();
|
|
166
|
+
throw timeoutError;
|
|
127
167
|
}
|
|
128
168
|
try {
|
|
129
169
|
for await (const event of run.stream()) {
|
|
@@ -131,32 +171,54 @@ export async function runCursorAgent(options) {
|
|
|
131
171
|
if (failOnUserInput) {
|
|
132
172
|
const lastTool = acc.toolCalls.at(-1);
|
|
133
173
|
if (lastTool && isUserInputTool(lastTool.name)) {
|
|
134
|
-
|
|
174
|
+
const userInputError = new UserInputRequiredError(lastTool.name);
|
|
175
|
+
userInputError.trace = stashTrace();
|
|
176
|
+
throw userInputError;
|
|
135
177
|
}
|
|
136
178
|
}
|
|
137
179
|
}
|
|
138
180
|
const result = await run.wait();
|
|
181
|
+
const rawStatus = result.status;
|
|
182
|
+
const status = normalizeSdkRunStatus(rawStatus);
|
|
183
|
+
const sdkError = extractJudgeSdkError(result.error);
|
|
139
184
|
return {
|
|
140
|
-
status
|
|
141
|
-
trace:
|
|
185
|
+
status,
|
|
186
|
+
trace: stashTrace(),
|
|
187
|
+
rawStatus,
|
|
188
|
+
sdkError,
|
|
142
189
|
};
|
|
143
190
|
}
|
|
144
191
|
catch (error) {
|
|
145
192
|
cancelSdkRun(run);
|
|
193
|
+
const partial = stashTrace();
|
|
194
|
+
if (error instanceof AgentRunTimeoutError || error instanceof UserInputRequiredError) {
|
|
195
|
+
error.trace = error.trace ?? partial;
|
|
196
|
+
throw error;
|
|
197
|
+
}
|
|
146
198
|
throw error;
|
|
147
199
|
}
|
|
148
200
|
finally {
|
|
149
|
-
|
|
201
|
+
if (activeCursorRun === run) {
|
|
202
|
+
activeCursorRun = undefined;
|
|
203
|
+
}
|
|
150
204
|
}
|
|
151
205
|
};
|
|
152
206
|
if (options.timeoutMs && options.timeoutMs > 0) {
|
|
153
207
|
await options.onDeadlineStart?.();
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
208
|
+
try {
|
|
209
|
+
return await withRunTimeout(execute, options.timeoutMs, {
|
|
210
|
+
onTimeout: () => {
|
|
211
|
+
timedOut = true;
|
|
212
|
+
cancelSdkRun(activeCursorRun);
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
if (error instanceof AgentRunTimeoutError) {
|
|
218
|
+
error.trace = error.trace ?? takeLastCursorRunTrace();
|
|
219
|
+
}
|
|
220
|
+
throw error;
|
|
221
|
+
}
|
|
160
222
|
}
|
|
161
223
|
return execute();
|
|
162
224
|
}
|
package/dist/cursor-run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-run.js","sourceRoot":"","sources":["../src/cursor-run.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,GAExB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAwB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,cAAc,GACd,MAAM,iBAAiB,CAAC;AAWzB,oFAAoF;AACpF,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAEpC,SAAS,mBAAmB,CAAC,QAA0C;IAItE,MAAM,EAAE,GACP,QAAQ,EAAE,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,oBAAoB,CAAC;IACtB,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,uBAAuB,EAAE,CAAC;IAC7D,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,uBAAuB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,GAAG,CAAC;IACxD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor-run.js","sourceRoot":"","sources":["../src/cursor-run.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,17 +3,17 @@ import type { AgentSession, ContextProfile, RunAgentOptions } from "./types.js";
|
|
|
3
3
|
export { ClaudeAdapter, CursorAdapter, createAdapter, ReplayAdapter, } from "./adapters/index.js";
|
|
4
4
|
export type { SdkMessage } from "./capture.js";
|
|
5
5
|
export { assistantPrefixBeforeTools, buildTraceFromSdkMessages, captureGitDiff, collapseTraceWhitespace, enrichTrace, extractShellCommands, extractShellCommandsFromToolCalls, extractSkillsAppliedFromText, extractSkillsInvokedFromText, extractSkillsInvokedFromToolCalls, handsOnTierBeforeTools, inferReviewDepthFromText, inferRoutingFromText, mergeSkillsInvoked, routingBlockBeforeTools, } from "./capture.js";
|
|
6
|
-
export { assistantTextFromSdkMessages, type CursorRunOptions, type CursorRunResult, type JudgeClassifierOptions, type JudgeClassifierResult, type JudgeSdkError, runCursorAgent, runJudgeClassifier, textBlocksFromSdkMessage, } from "./cursor-run.js";
|
|
6
|
+
export { assistantTextFromSdkMessages, type CursorRunOptions, type CursorRunResult, cancelActiveCursorRun, formatCursorRunFailure, type JudgeClassifierOptions, type JudgeClassifierResult, type JudgeSdkError, runCursorAgent, runJudgeClassifier, takeLastCursorRunTrace, textBlocksFromSdkMessage, } from "./cursor-run.js";
|
|
7
7
|
export { type JudgeCriterion, type JudgeTraceOptions, type JudgeTraceResult, type JudgeVerdict, judgeTrace, type ParsedJudgeJson, parseJudgeJsonResponse, parseJudgeLegacyResponse, parseJudgeResponse, } from "./judge.js";
|
|
8
8
|
export { type Logger, type LogLevel, logger } from "./logger.js";
|
|
9
9
|
export { getHealthStatus, HEALTH_CHECK_PATH, type HealthStatus, } from "./main.js";
|
|
10
10
|
export { expandEnvPlaceholders, mergeMcpServers, resolveMcpServers, } from "./mcp.js";
|
|
11
11
|
export { isTransientInfraError, resolveRetryMaxAttempts, withRetry, } from "./retry.js";
|
|
12
12
|
export { buildRoutingContract } from "./routing-contract.js";
|
|
13
|
-
export { AgentRunTimeoutError, isUserInputTool, type RunTimeoutOptions, traceHasUserInputTool, UserInputRequiredError, withRunTimeout, } from "./run-guards.js";
|
|
13
|
+
export { AgentRunTimeoutError, getPartialTrace, isUserInputTool, type PartialTraceCarrier, type RunTimeoutOptions, traceHasUserInputTool, UserInputRequiredError, withRunTimeout, } from "./run-guards.js";
|
|
14
14
|
export { loadSkillContext, normalizeSkillContext, type SkillCatalogEntry, } from "./skills-context.js";
|
|
15
15
|
export type { AgentHost, AgentMessage, AgentSession, AgentToolCall, AgentTrace, ContextProfile, HostAdapter, LoadedContext, McpServerConfig, RoutingContract, RunAgentOptions, RunStatus, SkillContextMode, SkillContextOptions, SkillContextSetting, } from "./types.js";
|
|
16
|
-
export { captureWorkingTreeStatus, filterWorkingTreeLeaks, findWorkingTreeLeak, formatWorkingTreeLeak, isPathUnderRoot, porcelainPathFromStatusLine, resolveHarnessArtifactIgnoreRoots, restoreWorkingTreePaths, } from "./working-tree-guard.js";
|
|
16
|
+
export { captureWorkingTreeStatus, filterWorkingTreeLeaks, findWorkingTreeLeak, formatWorkingTreeLeak, isPathUnderRoot, normalizePorcelainStatus, porcelainPathFromStatusLine, resolveHarnessArtifactIgnoreRoots, restoreWorkingTreePaths, } from "./working-tree-guard.js";
|
|
17
17
|
export { cleanupStaleScenarioWorktrees, createScenarioWorktree, SCENARIO_WORKTREE_DIR_PREFIX, type ScenarioWorktree, } from "./worktree.js";
|
|
18
18
|
export { loadUnifiedDiffPaths, parseUnifiedDiffPaths, partitionSeedCollateralLeaks, porcelainPathsFromLines, traceEditsOutsideWorktree, } from "./worktree-leak.js";
|
|
19
19
|
export { type LoadContextOptions, loadContext };
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEhF,OAAO,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACN,0BAA0B,EAC1B,yBAAyB,EACzB,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,iCAAiC,EACjC,4BAA4B,EAC5B,4BAA4B,EAC5B,iCAAiC,EACjC,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,UAAU,EACV,KAAK,eAAe,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACN,eAAe,EACf,iBAAiB,EACjB,KAAK,YAAY,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,qBAAqB,EACrB,eAAe,EACf,iBAAiB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,iBAAiB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,iCAAiC,EACjC,uBAAuB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,gBAAgB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAE,CAAC;AAEhD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;IACtE,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,0DAA0D;AAC1D,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAK1E"}
|
package/dist/index.js
CHANGED
|
@@ -2,16 +2,16 @@ import { createAdapter } from "./adapters/index.js";
|
|
|
2
2
|
import { loadContext } from "./context.js";
|
|
3
3
|
export { ClaudeAdapter, CursorAdapter, createAdapter, ReplayAdapter, } from "./adapters/index.js";
|
|
4
4
|
export { assistantPrefixBeforeTools, buildTraceFromSdkMessages, captureGitDiff, collapseTraceWhitespace, enrichTrace, extractShellCommands, extractShellCommandsFromToolCalls, extractSkillsAppliedFromText, extractSkillsInvokedFromText, extractSkillsInvokedFromToolCalls, handsOnTierBeforeTools, inferReviewDepthFromText, inferRoutingFromText, mergeSkillsInvoked, routingBlockBeforeTools, } from "./capture.js";
|
|
5
|
-
export { assistantTextFromSdkMessages, runCursorAgent, runJudgeClassifier, textBlocksFromSdkMessage, } from "./cursor-run.js";
|
|
5
|
+
export { assistantTextFromSdkMessages, cancelActiveCursorRun, formatCursorRunFailure, runCursorAgent, runJudgeClassifier, takeLastCursorRunTrace, textBlocksFromSdkMessage, } from "./cursor-run.js";
|
|
6
6
|
export { judgeTrace, parseJudgeJsonResponse, parseJudgeLegacyResponse, parseJudgeResponse, } from "./judge.js";
|
|
7
7
|
export { logger } from "./logger.js";
|
|
8
8
|
export { getHealthStatus, HEALTH_CHECK_PATH, } from "./main.js";
|
|
9
9
|
export { expandEnvPlaceholders, mergeMcpServers, resolveMcpServers, } from "./mcp.js";
|
|
10
10
|
export { isTransientInfraError, resolveRetryMaxAttempts, withRetry, } from "./retry.js";
|
|
11
11
|
export { buildRoutingContract } from "./routing-contract.js";
|
|
12
|
-
export { AgentRunTimeoutError, isUserInputTool, traceHasUserInputTool, UserInputRequiredError, withRunTimeout, } from "./run-guards.js";
|
|
12
|
+
export { AgentRunTimeoutError, getPartialTrace, isUserInputTool, traceHasUserInputTool, UserInputRequiredError, withRunTimeout, } from "./run-guards.js";
|
|
13
13
|
export { loadSkillContext, normalizeSkillContext, } from "./skills-context.js";
|
|
14
|
-
export { captureWorkingTreeStatus, filterWorkingTreeLeaks, findWorkingTreeLeak, formatWorkingTreeLeak, isPathUnderRoot, porcelainPathFromStatusLine, resolveHarnessArtifactIgnoreRoots, restoreWorkingTreePaths, } from "./working-tree-guard.js";
|
|
14
|
+
export { captureWorkingTreeStatus, filterWorkingTreeLeaks, findWorkingTreeLeak, formatWorkingTreeLeak, isPathUnderRoot, normalizePorcelainStatus, porcelainPathFromStatusLine, resolveHarnessArtifactIgnoreRoots, restoreWorkingTreePaths, } from "./working-tree-guard.js";
|
|
15
15
|
export { cleanupStaleScenarioWorktrees, createScenarioWorktree, SCENARIO_WORKTREE_DIR_PREFIX, } from "./worktree.js";
|
|
16
16
|
export { loadUnifiedDiffPaths, parseUnifiedDiffPaths, partitionSeedCollateralLeaks, porcelainPathsFromLines, traceEditsOutsideWorktree, } from "./worktree-leak.js";
|
|
17
17
|
export { loadContext };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAA2B,WAAW,EAAE,MAAM,cAAc,CAAC;AAGpE,OAAO,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,0BAA0B,EAC1B,yBAAyB,EACzB,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,iCAAiC,EACjC,4BAA4B,EAC5B,4BAA4B,EAC5B,iCAAiC,EACjC,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAA2B,WAAW,EAAE,MAAM,cAAc,CAAC;AAGpE,OAAO,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,0BAA0B,EAC1B,yBAAyB,EACzB,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,iCAAiC,EACjC,4BAA4B,EAC5B,4BAA4B,EAC5B,iCAAiC,EACjC,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,4BAA4B,EAG5B,qBAAqB,EACrB,sBAAsB,EAItB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKN,UAAU,EAEV,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA8B,MAAM,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACN,eAAe,EACf,iBAAiB,GAEjB,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,qBAAqB,EACrB,eAAe,EACf,iBAAiB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,eAAe,EAGf,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,gBAAgB,EAChB,qBAAqB,GAErB,MAAM,qBAAqB,CAAC;AAkB7B,OAAO,EACN,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,iCAAiC,EACjC,uBAAuB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,GAE5B,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAA2B,WAAW,EAAE,CAAC;AAOhD,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAoB;IAClD,MAAM,OAAO,GACZ,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3C,CAAC"}
|
package/dist/run-guards.d.ts
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
|
+
import type { AgentTrace } from "./types.js";
|
|
1
2
|
export declare function isUserInputTool(toolName: string): boolean;
|
|
2
3
|
export declare function traceHasUserInputTool(toolCalls: Array<{
|
|
3
4
|
name: string;
|
|
4
5
|
}>): boolean;
|
|
5
|
-
|
|
6
|
+
/** Errors that may carry a partial streamed trace for debug bundles. */
|
|
7
|
+
export interface PartialTraceCarrier {
|
|
8
|
+
trace?: AgentTrace;
|
|
9
|
+
}
|
|
10
|
+
export declare function getPartialTrace(error: unknown): AgentTrace | undefined;
|
|
11
|
+
export declare class AgentRunTimeoutError extends Error implements PartialTraceCarrier {
|
|
6
12
|
readonly timeoutMs: number;
|
|
13
|
+
trace?: AgentTrace;
|
|
7
14
|
constructor(timeoutMs: number);
|
|
8
15
|
}
|
|
9
|
-
export declare class UserInputRequiredError extends Error {
|
|
16
|
+
export declare class UserInputRequiredError extends Error implements PartialTraceCarrier {
|
|
10
17
|
readonly toolName: string;
|
|
18
|
+
trace?: AgentTrace;
|
|
11
19
|
constructor(toolName: string);
|
|
12
20
|
}
|
|
13
21
|
export interface RunTimeoutOptions {
|
package/dist/run-guards.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-guards.d.ts","sourceRoot":"","sources":["../src/run-guards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-guards.d.ts","sourceRoot":"","sources":["../src/run-guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK7C,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAEjF;AAED,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IACnC,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAMtE;AAED,qBAAa,oBAAqB,SAAQ,KAAM,YAAW,mBAAmB;IAC7E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,YAAY,SAAS,EAAE,MAAM,EAI5B;CACD;AAED,qBAAa,sBAAuB,SAAQ,KAAM,YAAW,mBAAmB;IAC/E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,YAAY,QAAQ,EAAE,MAAM,EAM3B;CACD;AAED,MAAM,WAAW,iBAAiB;IACjC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,gDAAgD;AAChD,wBAAsB,cAAc,CAAC,CAAC,EACrC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,CAAC,CAAC,CA0BZ"}
|
package/dist/run-guards.js
CHANGED
|
@@ -6,8 +6,16 @@ export function isUserInputTool(toolName) {
|
|
|
6
6
|
export function traceHasUserInputTool(toolCalls) {
|
|
7
7
|
return toolCalls.some((call) => isUserInputTool(call.name));
|
|
8
8
|
}
|
|
9
|
+
export function getPartialTrace(error) {
|
|
10
|
+
if (!error || typeof error !== "object") {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const trace = error.trace;
|
|
14
|
+
return trace && typeof trace === "object" ? trace : undefined;
|
|
15
|
+
}
|
|
9
16
|
export class AgentRunTimeoutError extends Error {
|
|
10
17
|
timeoutMs;
|
|
18
|
+
trace;
|
|
11
19
|
constructor(timeoutMs) {
|
|
12
20
|
super(`agent timed out after ${timeoutMs}ms waiting for run completion`);
|
|
13
21
|
this.name = "AgentRunTimeoutError";
|
|
@@ -16,6 +24,7 @@ export class AgentRunTimeoutError extends Error {
|
|
|
16
24
|
}
|
|
17
25
|
export class UserInputRequiredError extends Error {
|
|
18
26
|
toolName;
|
|
27
|
+
trace;
|
|
19
28
|
constructor(toolName) {
|
|
20
29
|
super(`agent invoked ${toolName} in headless mode (no follow-up turn; use replay, skip live, or reshape the scenario for one-shot completion)`);
|
|
21
30
|
this.name = "UserInputRequiredError";
|
package/dist/run-guards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-guards.js","sourceRoot":"","sources":["../src/run-guards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-guards.js","sourceRoot":"","sources":["../src/run-guards.ts"],"names":[],"mappings":"AAEA,6FAA6F;AAC7F,MAAM,uBAAuB,GAAG,gEAAgE,CAAC;AAEjG,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC/C,OAAO,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAkC;IACvE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAOD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAI,KAA6B,CAAC,KAAK,CAAC;IACnD,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACrC,SAAS,CAAS;IAC3B,KAAK,CAAc;IAEnB,YAAY,SAAiB;QAC5B,KAAK,CAAC,yBAAyB,SAAS,+BAA+B,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;CACD;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACvC,QAAQ,CAAS;IAC1B,KAAK,CAAc;IAEnB,YAAY,QAAgB;QAC3B,KAAK,CACJ,iBAAiB,QAAQ,+GAA+G,CACxI,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;CACD;AAOD,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,SAA2B,EAC3B,SAAiB,EACjB,OAA2B;IAE3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,SAAS,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,SAAoD,CAAC;IACzD,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAC;IACrC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;QAC3B,iEAAiE;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACJ,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACzB,gBAAgB;YAChB,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC5B,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC3B,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7C,CAAC,EAAE,SAAS,CAAC,CAAC;YACf,CAAC,CAAC;SACF,CAAC,CAAC;IACJ,CAAC;YAAS,CAAC;QACV,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,YAAY,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize `git status --porcelain` stdout for leak snapshots.
|
|
3
|
+
* Keep leading spaces — unstaged-only lines are ` M path` / ` D path`; trimming
|
|
4
|
+
* the first space corrupts XY status and breaks seed-collateral path matching.
|
|
5
|
+
*/
|
|
6
|
+
export declare function normalizePorcelainStatus(stdout: string): string;
|
|
1
7
|
/** Porcelain snapshot of the caller repo root — used to detect live-run leakage. */
|
|
2
8
|
export declare function captureWorkingTreeStatus(repoRoot: string): Promise<string>;
|
|
3
9
|
/** Lines present after a scenario that were not in the before snapshot. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"working-tree-guard.d.ts","sourceRoot":"","sources":["../src/working-tree-guard.ts"],"names":[],"mappings":"AAMA,oFAAoF;AACpF,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAM3E;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAShE;AAoBD,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKrE;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAChD,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,GACvB,MAAM,EAAE,CASV;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,MAAM,GACd,MAAM,EAAE,CAaV;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7D;AAED,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9F"}
|
|
1
|
+
{"version":3,"file":"working-tree-guard.d.ts","sourceRoot":"","sources":["../src/working-tree-guard.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,oFAAoF;AACpF,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAM3E;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAShE;AAoBD,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKrE;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAChD,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,GACvB,MAAM,EAAE,CASV;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,MAAM,GACd,MAAM,EAAE,CAaV;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7D;AAED,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9F"}
|
|
@@ -2,10 +2,18 @@ import { execFile } from "node:child_process";
|
|
|
2
2
|
import { resolve, sep } from "node:path";
|
|
3
3
|
import { promisify } from "node:util";
|
|
4
4
|
const execFileAsync = promisify(execFile);
|
|
5
|
+
/**
|
|
6
|
+
* Normalize `git status --porcelain` stdout for leak snapshots.
|
|
7
|
+
* Keep leading spaces — unstaged-only lines are ` M path` / ` D path`; trimming
|
|
8
|
+
* the first space corrupts XY status and breaks seed-collateral path matching.
|
|
9
|
+
*/
|
|
10
|
+
export function normalizePorcelainStatus(stdout) {
|
|
11
|
+
return stdout.replace(/^\n+/, "").replace(/\n+$/, "");
|
|
12
|
+
}
|
|
5
13
|
/** Porcelain snapshot of the caller repo root — used to detect live-run leakage. */
|
|
6
14
|
export async function captureWorkingTreeStatus(repoRoot) {
|
|
7
15
|
const { stdout } = await execFileAsync("git", ["status", "--porcelain"], { cwd: repoRoot });
|
|
8
|
-
return stdout
|
|
16
|
+
return normalizePorcelainStatus(stdout);
|
|
9
17
|
}
|
|
10
18
|
/** Lines present after a scenario that were not in the before snapshot. */
|
|
11
19
|
export function findWorkingTreeLeak(before, after) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"working-tree-guard.js","sourceRoot":"","sources":["../src/working-tree-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5F,OAAO,
|
|
1
|
+
{"version":3,"file":"working-tree-guard.js","sourceRoot":"","sources":["../src/working-tree-guard.ts"],"names":[],"mappings":"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"}
|