@post-print/agent-harness 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cursor-run.d.ts +8 -0
- package/dist/cursor-run.d.ts.map +1 -1
- package/dist/cursor-run.js +17 -1
- package/dist/cursor-run.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/judge.d.ts +20 -1
- package/dist/judge.d.ts.map +1 -1
- package/dist/judge.js +346 -32
- package/dist/judge.js.map +1 -1
- package/package.json +1 -1
package/dist/cursor-run.d.ts
CHANGED
|
@@ -30,9 +30,17 @@ export interface JudgeClassifierOptions {
|
|
|
30
30
|
}>;
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
+
export interface JudgeSdkError {
|
|
34
|
+
message?: string;
|
|
35
|
+
code?: string;
|
|
36
|
+
}
|
|
33
37
|
export interface JudgeClassifierResult {
|
|
34
38
|
status: string;
|
|
35
39
|
text: string;
|
|
40
|
+
/** Unnormalized SDK terminal status (e.g. `error`, `cancelled`). */
|
|
41
|
+
rawStatus?: string;
|
|
42
|
+
/** SDK error payload when the judge run did not finish cleanly. */
|
|
43
|
+
sdkError?: JudgeSdkError;
|
|
36
44
|
}
|
|
37
45
|
export interface CursorRunResult {
|
|
38
46
|
status: string;
|
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;AAOtB,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,+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,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,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;AAOtB,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,+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;CAClB;AAED,4DAA4D;AAC5D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAE5E;AAwBD,iGAAiG;AACjG,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA4DxF;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
|
@@ -179,12 +179,28 @@ export async function runJudgeClassifier(options) {
|
|
|
179
179
|
local: { cwd: options.cwd },
|
|
180
180
|
});
|
|
181
181
|
const text = result.result?.trim() ?? "";
|
|
182
|
-
const
|
|
182
|
+
const rawStatus = result.status;
|
|
183
|
+
const status = rawStatus === "finished" ? "completed" : rawStatus;
|
|
184
|
+
const sdkError = extractJudgeSdkError(result.error);
|
|
183
185
|
return {
|
|
184
186
|
status: normalizeSdkRunStatus(status),
|
|
185
187
|
text,
|
|
188
|
+
rawStatus,
|
|
189
|
+
sdkError,
|
|
186
190
|
};
|
|
187
191
|
}
|
|
192
|
+
function extractJudgeSdkError(error) {
|
|
193
|
+
if (!error || typeof error !== "object") {
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
196
|
+
const record = error;
|
|
197
|
+
const message = typeof record.message === "string" ? record.message : undefined;
|
|
198
|
+
const code = typeof record.code === "string" ? record.code : undefined;
|
|
199
|
+
if (!message && !code) {
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
return { message, code };
|
|
203
|
+
}
|
|
188
204
|
/** Assistant prose from a Cursor SDK message stream (last assistant block wins for short replies). */
|
|
189
205
|
export function assistantTextFromSdkMessages(messages) {
|
|
190
206
|
const chunks = [];
|
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,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,7 +3,7 @@ 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, runCursorAgent, runJudgeClassifier, textBlocksFromSdkMessage, } from "./cursor-run.js";
|
|
6
|
+
export { assistantTextFromSdkMessages, type CursorRunOptions, type CursorRunResult, type JudgeClassifierOptions, type JudgeClassifierResult, type JudgeSdkError, runCursorAgent, runJudgeClassifier, 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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,cAAc,EACd,kBAAkB,EAClB,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,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,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,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,gBAAgB,GACrB,MAAM,eAAe,CAAC;AACvB,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"}
|
|
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,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,cAAc,EACd,kBAAkB,EAClB,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,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,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,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,gBAAgB,GACrB,MAAM,eAAe,CAAC;AACvB,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.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,EAM5B,cAAc,EACd,kBAAkB,EAClB,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,EAAE,eAAe,EAAE,iBAAiB,EAAqB,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACN,oBAAoB,EACpB,eAAe,EAEf,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,gBAAgB,EAChB,qBAAqB,GAErB,MAAM,qBAAqB,CAAC;AAiB7B,OAAO,EACN,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,GAE5B,MAAM,eAAe,CAAC;AACvB,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/judge.d.ts
CHANGED
|
@@ -8,6 +8,20 @@ export interface JudgeVerdict {
|
|
|
8
8
|
pass: boolean;
|
|
9
9
|
rationale: string;
|
|
10
10
|
evidence?: string[];
|
|
11
|
+
/** Present when the judge SDK run failed (distinct from a criterion miss). */
|
|
12
|
+
infraError?: string;
|
|
13
|
+
/** Unnormalized SDK status when the judge run did not finish. */
|
|
14
|
+
rawSdkStatus?: string;
|
|
15
|
+
sdkError?: {
|
|
16
|
+
message?: string;
|
|
17
|
+
code?: string;
|
|
18
|
+
};
|
|
19
|
+
/** Attempt number (1 until retries land). */
|
|
20
|
+
attempt?: number;
|
|
21
|
+
/** Wall time for this judge criterion call (ms). */
|
|
22
|
+
durationMs?: number;
|
|
23
|
+
transcriptChars?: number;
|
|
24
|
+
promptChars?: number;
|
|
11
25
|
}
|
|
12
26
|
export interface JudgeTraceOptions {
|
|
13
27
|
cwd: string;
|
|
@@ -28,7 +42,12 @@ export interface ParsedJudgeJson {
|
|
|
28
42
|
export declare function parseJudgeJsonResponse(text: string): ParsedJudgeJson;
|
|
29
43
|
/** Fallback when model ignores JSON contract — parse YES/NO prose. */
|
|
30
44
|
export declare function parseJudgeLegacyResponse(text: string): ParsedJudgeJson;
|
|
31
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Parse structured JSON first, then legacy YES/NO prose.
|
|
47
|
+
* Once a real JSON contract attempt is detected (array, object with `verdict`,
|
|
48
|
+
* or truncated JSON-shaped text), never salvage YES/NO from the body — invalid
|
|
49
|
+
* contracts are infra failures, not rubric answers.
|
|
50
|
+
*/
|
|
32
51
|
export declare function parseJudgeResponse(text: string): ParsedJudgeJson;
|
|
33
52
|
/** Score fuzzy rubric criteria with a structured JSON judge (live runs only). */
|
|
34
53
|
export declare function judgeTrace(trace: AgentTrace, criteria: JudgeCriterion[], options: JudgeTraceOptions): Promise<JudgeTraceResult>;
|
package/dist/judge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judge.d.ts","sourceRoot":"","sources":["../src/judge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"judge.d.ts","sourceRoot":"","sources":["../src/judge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CACf;AAoWD,wEAAwE;AACxE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAEpE;AA8BD,sEAAsE;AACtE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CA4CtE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAQhE;AAmHD,iFAAiF;AACjF,wBAAsB,UAAU,CAC/B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,iBAAiB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAwC3B"}
|
package/dist/judge.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { runJudgeClassifier } from "./cursor-run.js";
|
|
2
|
-
|
|
2
|
+
// Optional info-string (`json`, `js`, `typescript`, …) on the opening fence line.
|
|
3
|
+
// Without this, ` ```js\n"yes"\n``` ` extracts `js\n"yes"` and never latches.
|
|
4
|
+
const JSON_FENCE_PATTERN = /```[^\n`]*\s*([\s\S]*?)```/;
|
|
3
5
|
const JSON_OBJECT_PATTERN = /\{[\s\S]*\}/;
|
|
4
6
|
function transcriptForJudge(trace) {
|
|
5
7
|
return [
|
|
@@ -20,46 +22,303 @@ function normalizeVerdict(value) {
|
|
|
20
22
|
}
|
|
21
23
|
return undefined;
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
// Whole-reply opening fence is a contract attempt regardless of info-string
|
|
26
|
+
// (`json`, `js`, `typescript`, bare, …). Mid-prose fence mentions do not match.
|
|
27
|
+
const JUDGE_JSON_FENCE_OPEN_PATTERN = /^```/;
|
|
28
|
+
const JUDGE_VERDICT_KEY_PATTERN = /"verdict"\s*:/;
|
|
29
|
+
/** Same prefixes legacy YES/NO strips — gate same-line JSON peels. */
|
|
30
|
+
const JUDGE_VERDICT_PREFIX_PATTERN = /^(?:answer|verdict|line\s*1)\s*:\s*/i;
|
|
31
|
+
/** Complete JSON number token (rejects bare `1.` with no fractional digits). */
|
|
32
|
+
const JUDGE_JSON_NUMBER_TOKEN = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/;
|
|
33
|
+
const JUDGE_JSON_BOOL_NULL_TOKEN = /^(?:true|false|null)/i;
|
|
34
|
+
/** Closed fences, or a trailing unclosed fence (prose preamble + open contract). */
|
|
35
|
+
const MARKDOWN_FENCE_STRIP_PATTERN = /```[^\n`]*\s*[\s\S]*?(?:```|$)/g;
|
|
36
|
+
/**
|
|
37
|
+
* After a complete JSON number/bool/null token: whether the remainder is
|
|
38
|
+
* contract junk (latch) vs English continuation (allow YES/NO salvage).
|
|
39
|
+
*
|
|
40
|
+
* `true\nYES` / `3 YES` / `42,` / `3, YES` → latch.
|
|
41
|
+
* `true story` / `3 findings` / `3, findings` / `true, the agent` → salvage.
|
|
42
|
+
*/
|
|
43
|
+
function jsonPrimitiveRemainderIsContract(rest) {
|
|
44
|
+
if (rest === "") {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
const restTrim = rest.trimStart();
|
|
48
|
+
if (restTrim === "") {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
// Comma after a primitive is JSON-ish only when nothing English follows
|
|
52
|
+
// (`42,` / `3, YES`). List/prose continuations (`3, findings`, `1, 2, and 3`)
|
|
53
|
+
// must still reach YES/NO salvage.
|
|
54
|
+
if (restTrim.startsWith(",")) {
|
|
55
|
+
const afterComma = restTrim.slice(1).trimStart();
|
|
56
|
+
if (afterComma === "") {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
if (/^(?:yes|no)\b/i.test(afterComma)) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
if (/[A-Za-z]/.test(afterComma)) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
const firstWord = /^([A-Za-z]+)/.exec(restTrim)?.[1]?.toLowerCase();
|
|
68
|
+
if (firstWord === "yes" || firstWord === "no") {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
if (/^[A-Za-z]/.test(restTrim)) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Detect truncated/unparseable JSON-shaped contract attempts. Only replies
|
|
78
|
+
* that *are* JSON-shaped (value prefix or open with a fence) count — a mid-prose
|
|
79
|
+
* mention of ```json or an incidental blob is not a contract attempt.
|
|
80
|
+
*
|
|
81
|
+
* Number/bool/null prefixes latch only for a complete JSON token (optionally
|
|
82
|
+
* with trailing junk). Numbered-list prose (`1. …`) and English continuations
|
|
83
|
+
* (`true story`, `3 findings`) must not latch — YES/NO salvage still applies.
|
|
84
|
+
*/
|
|
85
|
+
function looksLikeJudgeJsonAttempt(text) {
|
|
86
|
+
const trimmed = text.trim();
|
|
87
|
+
if (JUDGE_JSON_FENCE_OPEN_PATTERN.test(trimmed)) {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
if (/^["{[]/.test(trimmed)) {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
const number = JUDGE_JSON_NUMBER_TOKEN.exec(trimmed);
|
|
94
|
+
if (number) {
|
|
95
|
+
const rest = trimmed.slice(number[0].length);
|
|
96
|
+
// `1. prose` / `10) prose` — list markers, not number-then-junk.
|
|
97
|
+
if (/^[.)]/.test(rest)) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
return jsonPrimitiveRemainderIsContract(rest);
|
|
101
|
+
}
|
|
102
|
+
const boolNull = JUDGE_JSON_BOOL_NULL_TOKEN.exec(trimmed);
|
|
103
|
+
if (boolNull) {
|
|
104
|
+
return jsonPrimitiveRemainderIsContract(trimmed.slice(boolNull[0].length));
|
|
105
|
+
}
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
/** Drop fenced bodies so legacy YES/NO does not match inside quoted JSON strings. */
|
|
109
|
+
function stripMarkdownFencesForLegacy(text) {
|
|
110
|
+
return text.replace(MARKDOWN_FENCE_STRIP_PATTERN, "\n");
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* True when the JSON contract body is array-shaped (`[` before any `{`),
|
|
114
|
+
* including truncated arrays. Object-extraction must not peel an inner
|
|
115
|
+
* `{…}` out of those replies.
|
|
116
|
+
*/
|
|
117
|
+
function isArrayShapedJudgeJson(text) {
|
|
118
|
+
const trimmed = text.trim();
|
|
119
|
+
const fenced = trimmed.match(JSON_FENCE_PATTERN);
|
|
120
|
+
const body = fenced?.[1]?.trim() ?? trimmed;
|
|
121
|
+
const bracket = body.indexOf("[");
|
|
122
|
+
if (bracket === -1) {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
const brace = body.indexOf("{");
|
|
126
|
+
return brace === -1 || bracket < brace;
|
|
127
|
+
}
|
|
128
|
+
const INVALID_JUDGE_JSON = {
|
|
129
|
+
pass: false,
|
|
130
|
+
rationale: "judge returned invalid JSON (expected { verdict, evidence, rationale })",
|
|
131
|
+
evidence: [],
|
|
132
|
+
valid: false,
|
|
133
|
+
};
|
|
134
|
+
function arrayLooksLikeJudgeContract(parsed) {
|
|
135
|
+
if (parsed.some((item) => item !== null &&
|
|
136
|
+
typeof item === "object" &&
|
|
137
|
+
!Array.isArray(item) &&
|
|
138
|
+
"verdict" in item)) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
// Wrong-shaped contract answers like `["yes"]` / `["no"]` — not incidental
|
|
142
|
+
// lists such as `[1,2,3]` or `["intro","summary"]`.
|
|
143
|
+
return (parsed.length > 0 &&
|
|
144
|
+
parsed.every((item) => typeof item === "string" && normalizeVerdict(item) !== undefined));
|
|
145
|
+
}
|
|
146
|
+
/** Peeled objects with judge-schema keys but no `verdict` are contract attempts. */
|
|
147
|
+
function objectLooksLikeJudgeSchema(record) {
|
|
148
|
+
return "evidence" in record || "rationale" in record;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Try structured judge JSON. `structured` latches only for real contract
|
|
152
|
+
* attempts: whole-text/fenced JSON bodies, verdict-shaped arrays or objects,
|
|
153
|
+
* or failed candidates carrying a `verdict` key — not incidental arrays,
|
|
154
|
+
* mid-prose truncated blobs, or fence mentions inside prose.
|
|
155
|
+
*/
|
|
156
|
+
function tryParseJudgeJson(text) {
|
|
25
157
|
const trimmed = text.trim();
|
|
26
158
|
const candidates = [trimmed];
|
|
27
159
|
const fenced = trimmed.match(JSON_FENCE_PATTERN);
|
|
28
|
-
|
|
29
|
-
|
|
160
|
+
const fencedBody = fenced?.[1]?.trim();
|
|
161
|
+
if (fencedBody) {
|
|
162
|
+
candidates.unshift(fencedBody);
|
|
30
163
|
}
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
164
|
+
const arrayShaped = isArrayShapedJudgeJson(trimmed);
|
|
165
|
+
// Prose-prefixed single objects may still use greedy `{…}` extraction.
|
|
166
|
+
// Array-shaped replies (including truncated `[{…}`) must not peel inner objects.
|
|
167
|
+
if (!arrayShaped) {
|
|
168
|
+
const objectMatch = trimmed.match(JSON_OBJECT_PATTERN);
|
|
169
|
+
if (objectMatch?.[0]) {
|
|
170
|
+
candidates.push(objectMatch[0]);
|
|
171
|
+
}
|
|
172
|
+
const brace = trimmed.indexOf("{");
|
|
173
|
+
if (brace > 0) {
|
|
174
|
+
candidates.push(trimmed.slice(brace));
|
|
175
|
+
}
|
|
34
176
|
}
|
|
177
|
+
else {
|
|
178
|
+
const bracket = trimmed.indexOf("[");
|
|
179
|
+
if (bracket >= 0) {
|
|
180
|
+
candidates.push(trimmed.slice(bracket));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// Contract peels under a prose preamble (not mid-prose incidental quotes):
|
|
184
|
+
// - line-leading `"…` / `[…` (`Answer:\n"yes"`)
|
|
185
|
+
// - line-leading JSON number/bool/null (`Answer:\n42\nYES`)
|
|
186
|
+
// - same-line after answer|verdict|line 1: (`Answer: "yes"`, `Verdict: 42`)
|
|
187
|
+
// Mid-line quotes without that prefix (`YES` + ```js\n"yes"\n```) stay
|
|
188
|
+
// incidental — fence bodies use `fencedBody` / whole-reply fence primary.
|
|
189
|
+
const lineLeadingJsonValues = new Set();
|
|
190
|
+
let insideFence = false;
|
|
191
|
+
const pushContractPeel = (value) => {
|
|
192
|
+
const peel = value.trim();
|
|
193
|
+
if (!peel) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
candidates.push(peel);
|
|
197
|
+
lineLeadingJsonValues.add(peel);
|
|
198
|
+
};
|
|
199
|
+
const isLineLeadingJsonPrimitive = (lineTrim) => {
|
|
200
|
+
if (lineTrim.startsWith('"') || lineTrim.startsWith("[")) {
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
// Complete number/bool/null lines (optional contract junk) — not English
|
|
204
|
+
// (`3 findings`, `true story`) which looksLikeJudgeJsonAttempt rejects.
|
|
205
|
+
return (looksLikeJudgeJsonAttempt(lineTrim) &&
|
|
206
|
+
(JUDGE_JSON_NUMBER_TOKEN.test(lineTrim) || JUDGE_JSON_BOOL_NULL_TOKEN.test(lineTrim)));
|
|
207
|
+
};
|
|
208
|
+
for (const line of trimmed.split("\n")) {
|
|
209
|
+
const lineTrim = line.trim();
|
|
210
|
+
if (lineTrim.startsWith("```")) {
|
|
211
|
+
insideFence = !insideFence;
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
if (insideFence) {
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
if (isLineLeadingJsonPrimitive(lineTrim)) {
|
|
218
|
+
pushContractPeel(lineTrim);
|
|
219
|
+
}
|
|
220
|
+
const prefix = JUDGE_VERDICT_PREFIX_PATTERN.exec(lineTrim);
|
|
221
|
+
if (prefix) {
|
|
222
|
+
const remainder = lineTrim.slice(prefix[0].length).trim();
|
|
223
|
+
if (remainder.startsWith('"') ||
|
|
224
|
+
remainder.startsWith("[") ||
|
|
225
|
+
remainder.startsWith("{") ||
|
|
226
|
+
isLineLeadingJsonPrimitive(remainder)) {
|
|
227
|
+
pushContractPeel(remainder);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
let structured = false;
|
|
232
|
+
let failedJsonShape = false;
|
|
233
|
+
// Only whole-reply fences are primary contract attempts. Mid-prose fences
|
|
234
|
+
// (e.g. YES + ```js\n"yes"\n```) stay incidental like unfenced peels.
|
|
235
|
+
const wholeReplyFence = JUDGE_JSON_FENCE_OPEN_PATTERN.test(trimmed);
|
|
35
236
|
for (const candidate of candidates) {
|
|
237
|
+
const candidateTrim = candidate.trim();
|
|
238
|
+
const primary = candidateTrim === trimmed ||
|
|
239
|
+
(wholeReplyFence && fencedBody !== undefined && candidateTrim === fencedBody);
|
|
240
|
+
const lineLeading = lineLeadingJsonValues.has(candidateTrim);
|
|
36
241
|
try {
|
|
37
242
|
const parsed = JSON.parse(candidate);
|
|
38
|
-
|
|
243
|
+
if (parsed === null || typeof parsed !== "object") {
|
|
244
|
+
// Whole-text/fenced JSON primitives (`"yes"`, `42`, `true`, `null`)
|
|
245
|
+
// are contract attempts that violate the object contract — refuse
|
|
246
|
+
// and latch so callers do not YES/NO-salvage a quoted verdict.
|
|
247
|
+
// Preamble peels (`Answer:\n"yes"`, `Answer: "yes"`, `Answer:\n42`)
|
|
248
|
+
// are the same wrong-shaped contract; mid-line incidental quote
|
|
249
|
+
// peels stay out of `lineLeadingJsonValues`.
|
|
250
|
+
if (primary || lineLeading) {
|
|
251
|
+
return { result: { ...INVALID_JUDGE_JSON }, structured: true };
|
|
252
|
+
}
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
if (Array.isArray(parsed)) {
|
|
256
|
+
// Whole-text/fenced arrays are contract attempts; peeled arrays count
|
|
257
|
+
// when verdict-shaped or yes/no string arrays (`["yes"]`). Incidental
|
|
258
|
+
// lists (e.g. `Scores: [1,2,3]`) still allow YES/NO salvage.
|
|
259
|
+
if (primary || arrayLooksLikeJudgeContract(parsed)) {
|
|
260
|
+
return { result: { ...INVALID_JUDGE_JSON }, structured: true };
|
|
261
|
+
}
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
const record = parsed;
|
|
265
|
+
// Objects without `verdict`: schema-shaped peels (`evidence`/`rationale`)
|
|
266
|
+
// are failed contract attempts; bare quote blobs stay incidental.
|
|
267
|
+
if (!("verdict" in record)) {
|
|
268
|
+
if (primary || objectLooksLikeJudgeSchema(record)) {
|
|
269
|
+
return { result: { ...INVALID_JUDGE_JSON }, structured: true };
|
|
270
|
+
}
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
structured = true;
|
|
274
|
+
const verdict = normalizeVerdict(record.verdict);
|
|
39
275
|
if (verdict !== undefined) {
|
|
40
276
|
return {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
277
|
+
result: {
|
|
278
|
+
pass: verdict === "yes",
|
|
279
|
+
rationale: String(record.rationale ?? "").trim() || "no rationale",
|
|
280
|
+
evidence: Array.isArray(record.evidence)
|
|
281
|
+
? record.evidence.map((item) => String(item)).filter(Boolean)
|
|
282
|
+
: [],
|
|
283
|
+
valid: true,
|
|
284
|
+
},
|
|
285
|
+
structured: true,
|
|
47
286
|
};
|
|
48
287
|
}
|
|
288
|
+
return { result: { ...INVALID_JUDGE_JSON }, structured: true };
|
|
49
289
|
}
|
|
50
290
|
catch {
|
|
51
|
-
//
|
|
291
|
+
// A failed parse latches `structured` only for real contract attempts:
|
|
292
|
+
// the whole/fenced body is a JSON value (object/array/primitive),
|
|
293
|
+
// including trailing junk after a primitive (`"yes" clearly`), or a
|
|
294
|
+
// peeled candidate carries a `"verdict":` key (truncated contract).
|
|
295
|
+
// Line-leading string/array peels (`Answer:\n"yes" clearly`,
|
|
296
|
+
// `Answer:\n["yes"`) latch the same way. Mid-prose incidental peels
|
|
297
|
+
// (e.g. `Evidence: {"quote":"hello"`) keep YES/NO salvage available.
|
|
298
|
+
if (primary) {
|
|
299
|
+
if (looksLikeJudgeJsonAttempt(candidateTrim)) {
|
|
300
|
+
failedJsonShape = true;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
else if ((candidateTrim.startsWith("{") || candidateTrim.startsWith("[")) &&
|
|
304
|
+
JUDGE_VERDICT_KEY_PATTERN.test(candidateTrim)) {
|
|
305
|
+
failedJsonShape = true;
|
|
306
|
+
}
|
|
307
|
+
else if (lineLeading && looksLikeJudgeJsonAttempt(candidateTrim)) {
|
|
308
|
+
failedJsonShape = true;
|
|
309
|
+
}
|
|
52
310
|
}
|
|
53
311
|
}
|
|
54
312
|
return {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
evidence: [],
|
|
58
|
-
valid: false,
|
|
313
|
+
result: { ...INVALID_JUDGE_JSON },
|
|
314
|
+
structured: structured || failedJsonShape || looksLikeJudgeJsonAttempt(trimmed),
|
|
59
315
|
};
|
|
60
316
|
}
|
|
317
|
+
/** Parse structured judge JSON (`verdict`, `evidence`, `rationale`). */
|
|
318
|
+
export function parseJudgeJsonResponse(text) {
|
|
319
|
+
return tryParseJudgeJson(text).result;
|
|
320
|
+
}
|
|
61
321
|
const JUDGE_MARKDOWN_TRIM_PATTERN = /^\*+\s*|\s*\*+$/g;
|
|
62
|
-
const JUDGE_VERDICT_PREFIX_PATTERN = /^(?:answer|verdict|line\s*1)\s*:\s*/i;
|
|
63
322
|
const JUDGE_TRAILING_PUNCT_PATTERN = /[.:!]+$/g;
|
|
64
323
|
const JUDGE_TAIL_VERDICT_PATTERN = /\b(YES|NO)\.?\s*$/i;
|
|
65
324
|
const JUDGE_INLINE_VERDICT_PATTERN = /\b(YES|NO)\b/i;
|
|
@@ -127,13 +386,20 @@ export function parseJudgeLegacyResponse(text) {
|
|
|
127
386
|
valid: false,
|
|
128
387
|
};
|
|
129
388
|
}
|
|
130
|
-
/**
|
|
389
|
+
/**
|
|
390
|
+
* Parse structured JSON first, then legacy YES/NO prose.
|
|
391
|
+
* Once a real JSON contract attempt is detected (array, object with `verdict`,
|
|
392
|
+
* or truncated JSON-shaped text), never salvage YES/NO from the body — invalid
|
|
393
|
+
* contracts are infra failures, not rubric answers.
|
|
394
|
+
*/
|
|
131
395
|
export function parseJudgeResponse(text) {
|
|
132
|
-
const
|
|
133
|
-
if (
|
|
134
|
-
return
|
|
396
|
+
const { result, structured } = tryParseJudgeJson(text);
|
|
397
|
+
if (result.valid || structured) {
|
|
398
|
+
return result;
|
|
135
399
|
}
|
|
136
|
-
|
|
400
|
+
// Strip fences so preamble + ```json\n"yes"\n``` cannot salvage from the
|
|
401
|
+
// quoted primitive; outer YES/NO beside incidental fences still works.
|
|
402
|
+
return parseJudgeLegacyResponse(stripMarkdownFencesForLegacy(text));
|
|
137
403
|
}
|
|
138
404
|
function buildJudgePrompt(transcript, question) {
|
|
139
405
|
return [
|
|
@@ -149,6 +415,22 @@ function buildJudgePrompt(transcript, question) {
|
|
|
149
415
|
`Criterion: ${question}`,
|
|
150
416
|
].join("\n");
|
|
151
417
|
}
|
|
418
|
+
function formatJudgeInfraError(result) {
|
|
419
|
+
const details = [];
|
|
420
|
+
if (result.rawStatus) {
|
|
421
|
+
details.push(`sdk: ${result.rawStatus}`);
|
|
422
|
+
}
|
|
423
|
+
if (result.sdkError?.code) {
|
|
424
|
+
details.push(`code: ${result.sdkError.code}`);
|
|
425
|
+
}
|
|
426
|
+
if (result.sdkError?.message) {
|
|
427
|
+
details.push(`error: ${result.sdkError.message}`);
|
|
428
|
+
}
|
|
429
|
+
if (details.length === 0) {
|
|
430
|
+
return `judge run status: ${result.status}`;
|
|
431
|
+
}
|
|
432
|
+
return `judge run status: ${result.status} (${details.join(", ")})`;
|
|
433
|
+
}
|
|
152
434
|
async function runJudgePrompt(prompt, options) {
|
|
153
435
|
const apiKey = options.apiKey ?? process.env.CURSOR_API_KEY;
|
|
154
436
|
if (!apiKey) {
|
|
@@ -157,36 +439,60 @@ async function runJudgePrompt(prompt, options) {
|
|
|
157
439
|
rationale: "CURSOR_API_KEY not set",
|
|
158
440
|
evidence: [],
|
|
159
441
|
error: "missing api key",
|
|
442
|
+
infraError: "missing api key",
|
|
443
|
+
durationMs: 0,
|
|
160
444
|
};
|
|
161
445
|
}
|
|
446
|
+
const started = performance.now();
|
|
162
447
|
try {
|
|
163
448
|
const result = await runJudgeClassifier({
|
|
164
449
|
cwd: options.cwd,
|
|
165
450
|
prompt,
|
|
166
451
|
apiKey,
|
|
167
452
|
});
|
|
453
|
+
const durationMs = Math.round(performance.now() - started);
|
|
168
454
|
if (result.status !== "completed") {
|
|
455
|
+
const infraError = formatJudgeInfraError(result);
|
|
169
456
|
return {
|
|
170
457
|
pass: false,
|
|
171
|
-
rationale:
|
|
458
|
+
rationale: infraError,
|
|
172
459
|
evidence: [],
|
|
173
|
-
error:
|
|
460
|
+
error: infraError,
|
|
461
|
+
infraError,
|
|
462
|
+
rawSdkStatus: result.rawStatus ?? result.status,
|
|
463
|
+
sdkError: result.sdkError,
|
|
464
|
+
durationMs,
|
|
174
465
|
};
|
|
175
466
|
}
|
|
176
467
|
const parsed = parseJudgeResponse(result.text);
|
|
177
468
|
if (!parsed.valid) {
|
|
469
|
+
const rationale = `${parsed.rationale} (raw: ${result.text.slice(0, 160) || "empty"})`;
|
|
178
470
|
return {
|
|
179
471
|
pass: false,
|
|
180
|
-
rationale
|
|
472
|
+
rationale,
|
|
181
473
|
evidence: [],
|
|
182
|
-
error:
|
|
474
|
+
error: rationale,
|
|
475
|
+
infraError: rationale,
|
|
476
|
+
durationMs,
|
|
183
477
|
};
|
|
184
478
|
}
|
|
185
|
-
return {
|
|
479
|
+
return {
|
|
480
|
+
pass: parsed.pass,
|
|
481
|
+
rationale: parsed.rationale,
|
|
482
|
+
evidence: parsed.evidence,
|
|
483
|
+
durationMs,
|
|
484
|
+
};
|
|
186
485
|
}
|
|
187
486
|
catch (error) {
|
|
188
487
|
const message = error instanceof Error ? error.message : "judge prompt failed";
|
|
189
|
-
return {
|
|
488
|
+
return {
|
|
489
|
+
pass: false,
|
|
490
|
+
rationale: message,
|
|
491
|
+
evidence: [],
|
|
492
|
+
error: message,
|
|
493
|
+
infraError: message,
|
|
494
|
+
durationMs: Math.round(performance.now() - started),
|
|
495
|
+
};
|
|
190
496
|
}
|
|
191
497
|
}
|
|
192
498
|
/** Score fuzzy rubric criteria with a structured JSON judge (live runs only). */
|
|
@@ -203,6 +509,7 @@ export async function judgeTrace(trace, criteria, options) {
|
|
|
203
509
|
};
|
|
204
510
|
}
|
|
205
511
|
const transcript = transcriptForJudge(trace);
|
|
512
|
+
const transcriptChars = transcript.length;
|
|
206
513
|
const verdicts = [];
|
|
207
514
|
for (const criterion of criteria) {
|
|
208
515
|
const prompt = buildJudgePrompt(transcript, criterion.question);
|
|
@@ -212,6 +519,13 @@ export async function judgeTrace(trace, criteria, options) {
|
|
|
212
519
|
pass: parsed.pass,
|
|
213
520
|
rationale: parsed.rationale,
|
|
214
521
|
evidence: parsed.evidence,
|
|
522
|
+
infraError: parsed.infraError,
|
|
523
|
+
rawSdkStatus: parsed.rawSdkStatus,
|
|
524
|
+
sdkError: parsed.sdkError,
|
|
525
|
+
attempt: 1,
|
|
526
|
+
durationMs: parsed.durationMs,
|
|
527
|
+
transcriptChars,
|
|
528
|
+
promptChars: prompt.length,
|
|
215
529
|
});
|
|
216
530
|
if (parsed.error) {
|
|
217
531
|
return { verdicts, skipped: false, error: parsed.error };
|
package/dist/judge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judge.js","sourceRoot":"","sources":["../src/judge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"judge.js","sourceRoot":"","sources":["../src/judge.ts"],"names":[],"mappings":"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"}
|