@post-print/agent-harness 0.2.4 → 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 +11 -0
- package/dist/cursor-run.d.ts.map +1 -1
- package/dist/cursor-run.js +63 -10
- 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,11 +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;
|
|
53
62
|
/** Best-effort cancel of the in-flight Cursor SDK run (no-op when idle). */
|
|
54
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;
|
|
55
66
|
/** Shared Cursor SDK path — Agent.create + send + wait (runs and judge use the same surface). */
|
|
56
67
|
export declare function runCursorAgent(options: CursorRunOptions): Promise<CursorRunResult>;
|
|
57
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;
|
|
@@ -97,11 +115,19 @@ function cancelSdkRun(run) {
|
|
|
97
115
|
}
|
|
98
116
|
/** In-process Cursor SDK run currently owned by `runCursorAgent` (for Ctrl+C / SIGTERM). */
|
|
99
117
|
let activeCursorRun;
|
|
118
|
+
/** Latest finalized (or partial) trace from the in-process cursor run — for timeout/catch recovery. */
|
|
119
|
+
let lastCursorRunTrace;
|
|
100
120
|
/** Best-effort cancel of the in-flight Cursor SDK run (no-op when idle). */
|
|
101
121
|
export function cancelActiveCursorRun() {
|
|
102
122
|
cancelSdkRun(activeCursorRun);
|
|
103
123
|
activeCursorRun = undefined;
|
|
104
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
|
+
}
|
|
105
131
|
/** Shared Cursor SDK path — Agent.create + send + wait (runs and judge use the same surface). */
|
|
106
132
|
export async function runCursorAgent(options) {
|
|
107
133
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
@@ -124,13 +150,20 @@ export async function runCursorAgent(options) {
|
|
|
124
150
|
const failOnUserInput = options.failOnUserInput !== false;
|
|
125
151
|
const acc = createTraceAccumulator();
|
|
126
152
|
let timedOut = false;
|
|
153
|
+
const stashTrace = () => {
|
|
154
|
+
const trace = finalizeTraceAccumulator(acc);
|
|
155
|
+
lastCursorRunTrace = trace;
|
|
156
|
+
return trace;
|
|
157
|
+
};
|
|
127
158
|
const execute = async () => {
|
|
128
159
|
const run = (await agent.send(options.prompt));
|
|
129
160
|
activeCursorRun = run;
|
|
130
161
|
if (timedOut) {
|
|
131
162
|
cancelSdkRun(run);
|
|
132
163
|
activeCursorRun = undefined;
|
|
133
|
-
|
|
164
|
+
const timeoutError = new AgentRunTimeoutError(options.timeoutMs ?? 0);
|
|
165
|
+
timeoutError.trace = stashTrace();
|
|
166
|
+
throw timeoutError;
|
|
134
167
|
}
|
|
135
168
|
try {
|
|
136
169
|
for await (const event of run.stream()) {
|
|
@@ -138,18 +171,30 @@ export async function runCursorAgent(options) {
|
|
|
138
171
|
if (failOnUserInput) {
|
|
139
172
|
const lastTool = acc.toolCalls.at(-1);
|
|
140
173
|
if (lastTool && isUserInputTool(lastTool.name)) {
|
|
141
|
-
|
|
174
|
+
const userInputError = new UserInputRequiredError(lastTool.name);
|
|
175
|
+
userInputError.trace = stashTrace();
|
|
176
|
+
throw userInputError;
|
|
142
177
|
}
|
|
143
178
|
}
|
|
144
179
|
}
|
|
145
180
|
const result = await run.wait();
|
|
181
|
+
const rawStatus = result.status;
|
|
182
|
+
const status = normalizeSdkRunStatus(rawStatus);
|
|
183
|
+
const sdkError = extractJudgeSdkError(result.error);
|
|
146
184
|
return {
|
|
147
|
-
status
|
|
148
|
-
trace:
|
|
185
|
+
status,
|
|
186
|
+
trace: stashTrace(),
|
|
187
|
+
rawStatus,
|
|
188
|
+
sdkError,
|
|
149
189
|
};
|
|
150
190
|
}
|
|
151
191
|
catch (error) {
|
|
152
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
|
+
}
|
|
153
198
|
throw error;
|
|
154
199
|
}
|
|
155
200
|
finally {
|
|
@@ -160,12 +205,20 @@ export async function runCursorAgent(options) {
|
|
|
160
205
|
};
|
|
161
206
|
if (options.timeoutMs && options.timeoutMs > 0) {
|
|
162
207
|
await options.onDeadlineStart?.();
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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
|
+
}
|
|
169
222
|
}
|
|
170
223
|
return execute();
|
|
171
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, cancelActiveCursorRun, 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":"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"}
|
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, cancelActiveCursorRun, 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,EAG5B,qBAAqB,
|
|
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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"}
|