@post-print/agent-harness 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -16
- package/dist/adapters/index.d.ts +9 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +88 -6
- package/dist/adapters/index.js.map +1 -1
- package/dist/auth-mode.d.ts +22 -0
- package/dist/auth-mode.d.ts.map +1 -0
- package/dist/auth-mode.js +36 -0
- package/dist/auth-mode.js.map +1 -0
- package/dist/capture.d.ts +0 -2
- package/dist/capture.d.ts.map +1 -1
- package/dist/capture.js +12 -66
- package/dist/capture.js.map +1 -1
- package/dist/classifier.d.ts +13 -0
- package/dist/classifier.d.ts.map +1 -0
- package/dist/classifier.js +91 -0
- package/dist/classifier.js.map +1 -0
- package/dist/claude-run.d.ts +15 -1
- package/dist/claude-run.d.ts.map +1 -1
- package/dist/claude-run.js +54 -8
- package/dist/claude-run.js.map +1 -1
- package/dist/context.d.ts +3 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +27 -9
- package/dist/context.js.map +1 -1
- package/dist/conversation.d.ts +28 -0
- package/dist/conversation.d.ts.map +1 -0
- package/dist/conversation.js +191 -0
- package/dist/conversation.js.map +1 -0
- package/dist/cursor-run.d.ts +17 -1
- package/dist/cursor-run.d.ts.map +1 -1
- package/dist/cursor-run.js +152 -101
- package/dist/cursor-run.js.map +1 -1
- package/dist/host-registry.d.ts +12 -0
- package/dist/host-registry.d.ts.map +1 -0
- package/dist/host-registry.js +39 -0
- package/dist/host-registry.js.map +1 -0
- package/dist/index.d.ts +19 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -7
- package/dist/index.js.map +1 -1
- package/dist/judge.d.ts +30 -1
- package/dist/judge.d.ts.map +1 -1
- package/dist/judge.js +137 -17
- package/dist/judge.js.map +1 -1
- package/dist/live-agent-event.d.ts +17 -0
- package/dist/live-agent-event.d.ts.map +1 -0
- package/dist/live-agent-event.js +31 -0
- package/dist/live-agent-event.js.map +1 -0
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openai-capture.d.ts +43 -0
- package/dist/openai-capture.d.ts.map +1 -0
- package/dist/openai-capture.js +164 -0
- package/dist/openai-capture.js.map +1 -0
- package/dist/openai-run.d.ts +70 -0
- package/dist/openai-run.d.ts.map +1 -0
- package/dist/openai-run.js +373 -0
- package/dist/openai-run.js.map +1 -0
- package/dist/sealed-workspace.d.ts +37 -0
- package/dist/sealed-workspace.d.ts.map +1 -0
- package/dist/sealed-workspace.js +170 -0
- package/dist/sealed-workspace.js.map +1 -0
- package/dist/skills-context.d.ts +26 -7
- package/dist/skills-context.d.ts.map +1 -1
- package/dist/skills-context.js +105 -40
- package/dist/skills-context.js.map +1 -1
- package/dist/types.d.ts +44 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +13 -1
- package/dist/types.js.map +1 -1
- package/dist/user-simulator.d.ts +10 -0
- package/dist/user-simulator.d.ts.map +1 -0
- package/dist/user-simulator.js +47 -0
- package/dist/user-simulator.js.map +1 -0
- package/dist/user-skills.d.ts +17 -0
- package/dist/user-skills.d.ts.map +1 -0
- package/dist/user-skills.js +32 -0
- package/dist/user-skills.js.map +1 -0
- package/dist/working-tree-guard.d.ts +5 -0
- package/dist/working-tree-guard.d.ts.map +1 -1
- package/dist/working-tree-guard.js +27 -3
- package/dist/working-tree-guard.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { AGENT_HOSTS, isBuiltinAgentHost, isHostSlug } from "./types.js";
|
|
2
|
+
const RESERVED_HOST_IDS = new Set([...AGENT_HOSTS, "replay", "all"]);
|
|
3
|
+
const adapters = new Map();
|
|
4
|
+
export function reservedHostIds() {
|
|
5
|
+
return [...RESERVED_HOST_IDS];
|
|
6
|
+
}
|
|
7
|
+
export function listRegisteredHosts() {
|
|
8
|
+
return [...adapters.keys()];
|
|
9
|
+
}
|
|
10
|
+
export function getRegisteredAdapter(host) {
|
|
11
|
+
return adapters.get(host);
|
|
12
|
+
}
|
|
13
|
+
export function knownAgentHosts() {
|
|
14
|
+
return [...AGENT_HOSTS, ...listRegisteredHosts()];
|
|
15
|
+
}
|
|
16
|
+
export function isKnownAgentHost(value) {
|
|
17
|
+
return isBuiltinAgentHost(value) || adapters.has(value);
|
|
18
|
+
}
|
|
19
|
+
export function clearRegisteredHostAdapters() {
|
|
20
|
+
adapters.clear();
|
|
21
|
+
}
|
|
22
|
+
export function unregisterHostAdapter(host) {
|
|
23
|
+
return adapters.delete(host);
|
|
24
|
+
}
|
|
25
|
+
/** Register a consumer host adapter. Builtin ids stay reserved. */
|
|
26
|
+
export function registerHostAdapter(adapter) {
|
|
27
|
+
const host = adapter.host?.trim() ?? "";
|
|
28
|
+
if (!isHostSlug(host)) {
|
|
29
|
+
throw new Error(`Host id must be a lowercase slug (a-z, digits, hyphen), got ${JSON.stringify(adapter.host)}`);
|
|
30
|
+
}
|
|
31
|
+
if (RESERVED_HOST_IDS.has(host)) {
|
|
32
|
+
throw new Error(`Host id "${host}" is reserved. Pick a different slug.`);
|
|
33
|
+
}
|
|
34
|
+
if (adapters.has(host)) {
|
|
35
|
+
throw new Error(`Host "${host}" is already registered.`);
|
|
36
|
+
}
|
|
37
|
+
adapters.set(host, adapter);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=host-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-registry.js","sourceRoot":"","sources":["../src/host-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAkB,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAE7E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;AAEhD,MAAM,UAAU,eAAe;IAC9B,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC9B,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC7C,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IACjD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACd,+DAA+D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAC7F,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,uCAAuC,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,0BAA0B,CAAC,CAAC;IAC1D,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,27 +1,39 @@
|
|
|
1
|
+
import { type UserSimulator } from "./conversation.js";
|
|
1
2
|
import type { AgentSession, ContextProfile, RunAgentOptions } from "./types.js";
|
|
2
|
-
export { ClaudeAdapter, CursorAdapter, createAdapter, } from "./adapters/index.js";
|
|
3
|
+
export { ClaudeAdapter, CursorAdapter, createAdapter, OpenaiAdapter, } from "./adapters/index.js";
|
|
4
|
+
export { HOST_AUTH_MODES, type HostAuthMode, parseOptionalAuthMode, resolveKeyOrLoginAuthMode, } from "./auth-mode.js";
|
|
3
5
|
export type { SdkMessage } from "./capture.js";
|
|
4
|
-
export { assistantPrefixBeforeTools, buildTraceFromSdkMessages, captureGitDiff, collapseTraceWhitespace, enrichTrace, extractShellCommands, extractShellCommandsFromToolCalls,
|
|
6
|
+
export { assistantPrefixBeforeTools, buildTraceFromSdkMessages, captureGitDiff, collapseTraceWhitespace, enrichTrace, extractShellCommands, extractShellCommandsFromToolCalls, extractSkillsInvokedFromText, extractSkillsInvokedFromToolCalls, handsOnTierBeforeTools, inferReviewDepthFromText, inferRoutingFromText, mergeAgentUsage, mergeSkillsInvoked, normalizeAgentUsage, routingBlockBeforeTools, } from "./capture.js";
|
|
7
|
+
export { type ClassifierOptions, missingClassifierAuth, runClassifier, } from "./classifier.js";
|
|
5
8
|
export { accumulateClaudeEvent, buildTraceFromClaudeEvents, type ClaudeContentBlock, type ClaudeStreamEvent, type ClaudeTraceAccumulator, createClaudeTraceAccumulator, finalizeClaudeTraceAccumulator, normalizeClaudeToolArgs, normalizeClaudeUsage, parseClaudeNdjsonLine, } from "./claude-capture.js";
|
|
6
|
-
export { buildClaudeEnv, buildClaudeMcpConfigJson, CLAUDE_AUTH_MODE_ENV, type ClaudeAuthMode, type ClaudeRunOptions, type ClaudeRunResult, cancelActiveClaudeRun, formatClaudeRunFailure, parseClaudeAuthMode, resolveClaudeBin, runClaudeAgent, takeLastClaudeRunTrace, } from "./claude-run.js";
|
|
9
|
+
export { buildClaudeEnv, buildClaudeMcpConfigJson, CLAUDE_AUTH_MODE_ENV, type ClaudeAuthMode, type ClaudeRunOptions, type ClaudeRunResult, cancelActiveClaudeRun, formatClaudeRunFailure, parseClaudeAuthMode, resolveClaudeBin, runClaudeAgent, runClaudeClassifier, takeLastClaudeRunTrace, withMcpAllowedTools, } from "./claude-run.js";
|
|
7
10
|
export { type LoadContextOptions, loadContext, parseSkeletonAlwaysInclude, summarizeSkeletonConfig, } from "./context.js";
|
|
8
|
-
export {
|
|
9
|
-
export { type
|
|
11
|
+
export { composeFollowUpPrompt, extractUserQuestions, mergeConversationTraces, type RunConversationOptions, runConversation, type UserQuestion, type UserSimulator, } from "./conversation.js";
|
|
12
|
+
export { assistantTextFromSdkMessages, CURSOR_AUTH_MODE_ENV, CURSOR_MISSING_KEY_MESSAGE, type CursorAuthMode, type CursorRunOptions, type CursorRunResult, cancelActiveCursorRun, formatCursorRunFailure, type JudgeClassifierOptions, type JudgeClassifierResult, type JudgeSdkError, resolveCursorAuthMode, runCursorAgent, runJudgeClassifier, takeLastCursorRunTrace, textBlocksFromSdkMessage, withCursorAuthEnv, } from "./cursor-run.js";
|
|
13
|
+
export { clearRegisteredHostAdapters, getRegisteredAdapter, isKnownAgentHost, knownAgentHosts, listRegisteredHosts, registerHostAdapter, unregisterHostAdapter, } from "./host-registry.js";
|
|
14
|
+
export { buildCompareJudgePrompt, type CompareJudgePair, formatTraceForJudge, type JudgeCriterion, type JudgeTraceOptions, type JudgeTraceResult, type JudgeVerdict, judgeCompareTraces, judgeTrace, type ParsedJudgeJson, parseJudgeJsonResponse, parseJudgeLegacyResponse, parseJudgeResponse, skillInvokeJudgeCriteria, } from "./judge.js";
|
|
15
|
+
export { createLiveNotifyState, drainLiveAgentEvents, emitLiveAgentEvents, type LiveNotifyState, } from "./live-agent-event.js";
|
|
10
16
|
export { type Logger, type LogLevel, logger } from "./logger.js";
|
|
11
17
|
export { getHealthStatus, HEALTH_CHECK_PATH, type HealthStatus, } from "./main.js";
|
|
12
18
|
export { expandEnvPlaceholders, mergeMcpServers, resolveMcpServers, } from "./mcp.js";
|
|
19
|
+
export { buildOpenaiEnv, buildOpenaiExecArgs, buildOpenaiMcpConfigArgs, buildOpenaiMcpOverride, cancelActiveOpenaiRun, formatOpenaiRunFailure, OPENAI_AUTH_MODE_ENV, OPENAI_MISSING_KEY_MESSAGE, type OpenaiAuthMode, type OpenaiRunOptions, type OpenaiRunResult, resolveOpenaiAuthMode, resolveOpenaiBin, runOpenaiAgent, runOpenaiClassifier, takeLastOpenaiRunTrace, } from "./openai-run.js";
|
|
13
20
|
export { isTransientInfraError, resolveRetryMaxAttempts, withRetry, } from "./retry.js";
|
|
14
21
|
export { buildRoutingContract } from "./routing-contract.js";
|
|
15
22
|
export { AgentRunTimeoutError, getPartialTrace, isUserInputTool, type PartialTraceCarrier, type RunTimeoutOptions, traceHasUserInputTool, UserInputRequiredError, withRunTimeout, } from "./run-guards.js";
|
|
16
|
-
export {
|
|
17
|
-
export
|
|
23
|
+
export { createSealedWorkspace, defaultSealedOverlayPaths, isCallerHeadWorkspace, type ParsedScenarioWorkspace, parseScenarioWorkspace, SEALED_WORKSPACE_DIR_PREFIX, type SealedWorkspace, toolPathsOutsideWorkspace, } from "./sealed-workspace.js";
|
|
24
|
+
export { isRepoRelativeSkillPath, loadSkillContext, normalizeRelSkillPath, normalizeSkillContext, SKILL_ROOTS, type SkillCatalogEntry, skillManifestRelPath, skillNameFromWorkflowPath, skillOverlayRelPath, skillPathsFromSetting, } from "./skills-context.js";
|
|
25
|
+
export { AGENT_HOSTS, type AgentHost, type AgentMessage, type AgentSession, type AgentToolCall, type AgentTrace, type AgentUsage, type BuiltinAgentHost, type ContextProfile, type HostAdapter, isAgentHost, isBuiltinAgentHost, isHostSlug, type LiveAgentEvent, type LoadedContext, type McpServerConfig, type RoutingContract, type RunAgentOptions, type RunStatus, type SkillContextMode, type SkillContextOptions, type SkillContextSetting, } from "./types.js";
|
|
18
26
|
export { buildScenarioUsageBreakdown, type ScenarioUsageBreakdown, sumUsageParts, } from "./usage-breakdown.js";
|
|
27
|
+
export { createJudgeUserSimulator, type JudgeUserSimulatorOptions, } from "./user-simulator.js";
|
|
28
|
+
export { type CursorSettingSource, claudeSessionFlags, cursorSettingSources, openaiUserConfigArgs, resolveAllowUserSkills, } from "./user-skills.js";
|
|
19
29
|
export { captureWorkingTreeStatus, filterWorkingTreeLeaks, findWorkingTreeLeak, formatWorkingTreeLeak, isPathUnderRoot, normalizePorcelainStatus, porcelainPathFromStatusLine, resolveHarnessArtifactIgnoreRoots, restoreWorkingTreePaths, } from "./working-tree-guard.js";
|
|
20
30
|
export { cleanupStaleScenarioWorktrees, createScenarioWorktree, SCENARIO_WORKTREE_DIR_PREFIX, type ScenarioWorktree, } from "./worktree.js";
|
|
21
31
|
export { loadUnifiedDiffPaths, parseUnifiedDiffPaths, partitionSeedCollateralLeaks, porcelainPathsFromLines, traceEditsOutsideWorktree, } from "./worktree-leak.js";
|
|
22
32
|
export interface RunAgentInput extends Omit<RunAgentOptions, "context"> {
|
|
23
33
|
context?: RunAgentOptions["context"];
|
|
24
34
|
profile?: ContextProfile;
|
|
35
|
+
/** Injected user agent for conversation turns. Default is a judge-backed user. */
|
|
36
|
+
userSimulator?: UserSimulator;
|
|
25
37
|
}
|
|
26
38
|
/** Run an agent session via the selected host adapter. */
|
|
27
39
|
export declare function runAgent(input: RunAgentInput): Promise<AgentSession>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGhF,OAAO,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,eAAe,EACf,KAAK,YAAY,EACjB,qBAAqB,EACrB,yBAAyB,GACzB,MAAM,gBAAgB,CAAC;AACxB,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,iCAAiC,EACjC,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,aAAa,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,kBAAkB,EACvB,WAAW,EACX,0BAA0B,EAC1B,uBAAuB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,kBAAkB,EAClB,UAAU,EACV,KAAK,eAAe,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,eAAe,GACpB,MAAM,uBAAuB,CAAC;AAC/B,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,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,GACtB,MAAM,iBAAiB,CAAC;AACzB,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,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,eAAe,EACpB,yBAAyB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,KAAK,iBAAiB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,WAAW,EACX,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,2BAA2B,EAC3B,KAAK,sBAAsB,EAC3B,aAAa,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,wBAAwB,EACxB,KAAK,yBAAyB,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,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;AAE5B,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;IACzB,kFAAkF;IAClF,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,0DAA0D;AAC1D,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAe1E"}
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
import { createAdapter } from "./adapters/index.js";
|
|
2
2
|
import { loadContext } from "./context.js";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { runConversation } from "./conversation.js";
|
|
4
|
+
import { createJudgeUserSimulator } from "./user-simulator.js";
|
|
5
|
+
export { ClaudeAdapter, CursorAdapter, createAdapter, OpenaiAdapter, } from "./adapters/index.js";
|
|
6
|
+
export { HOST_AUTH_MODES, parseOptionalAuthMode, resolveKeyOrLoginAuthMode, } from "./auth-mode.js";
|
|
7
|
+
export { assistantPrefixBeforeTools, buildTraceFromSdkMessages, captureGitDiff, collapseTraceWhitespace, enrichTrace, extractShellCommands, extractShellCommandsFromToolCalls, extractSkillsInvokedFromText, extractSkillsInvokedFromToolCalls, handsOnTierBeforeTools, inferReviewDepthFromText, inferRoutingFromText, mergeAgentUsage, mergeSkillsInvoked, normalizeAgentUsage, routingBlockBeforeTools, } from "./capture.js";
|
|
8
|
+
export { missingClassifierAuth, runClassifier, } from "./classifier.js";
|
|
5
9
|
export { accumulateClaudeEvent, buildTraceFromClaudeEvents, createClaudeTraceAccumulator, finalizeClaudeTraceAccumulator, normalizeClaudeToolArgs, normalizeClaudeUsage, parseClaudeNdjsonLine, } from "./claude-capture.js";
|
|
6
|
-
export { buildClaudeEnv, buildClaudeMcpConfigJson, CLAUDE_AUTH_MODE_ENV, cancelActiveClaudeRun, formatClaudeRunFailure, parseClaudeAuthMode, resolveClaudeBin, runClaudeAgent, takeLastClaudeRunTrace, } from "./claude-run.js";
|
|
10
|
+
export { buildClaudeEnv, buildClaudeMcpConfigJson, CLAUDE_AUTH_MODE_ENV, cancelActiveClaudeRun, formatClaudeRunFailure, parseClaudeAuthMode, resolveClaudeBin, runClaudeAgent, runClaudeClassifier, takeLastClaudeRunTrace, withMcpAllowedTools, } from "./claude-run.js";
|
|
7
11
|
export { loadContext, parseSkeletonAlwaysInclude, summarizeSkeletonConfig, } from "./context.js";
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
12
|
+
export { composeFollowUpPrompt, extractUserQuestions, mergeConversationTraces, runConversation, } from "./conversation.js";
|
|
13
|
+
export { assistantTextFromSdkMessages, CURSOR_AUTH_MODE_ENV, CURSOR_MISSING_KEY_MESSAGE, cancelActiveCursorRun, formatCursorRunFailure, resolveCursorAuthMode, runCursorAgent, runJudgeClassifier, takeLastCursorRunTrace, textBlocksFromSdkMessage, withCursorAuthEnv, } from "./cursor-run.js";
|
|
14
|
+
export { clearRegisteredHostAdapters, getRegisteredAdapter, isKnownAgentHost, knownAgentHosts, listRegisteredHosts, registerHostAdapter, unregisterHostAdapter, } from "./host-registry.js";
|
|
15
|
+
export { buildCompareJudgePrompt, formatTraceForJudge, judgeCompareTraces, judgeTrace, parseJudgeJsonResponse, parseJudgeLegacyResponse, parseJudgeResponse, skillInvokeJudgeCriteria, } from "./judge.js";
|
|
16
|
+
export { createLiveNotifyState, drainLiveAgentEvents, emitLiveAgentEvents, } from "./live-agent-event.js";
|
|
10
17
|
export { logger } from "./logger.js";
|
|
11
18
|
export { getHealthStatus, HEALTH_CHECK_PATH, } from "./main.js";
|
|
12
19
|
export { expandEnvPlaceholders, mergeMcpServers, resolveMcpServers, } from "./mcp.js";
|
|
20
|
+
export { buildOpenaiEnv, buildOpenaiExecArgs, buildOpenaiMcpConfigArgs, buildOpenaiMcpOverride, cancelActiveOpenaiRun, formatOpenaiRunFailure, OPENAI_AUTH_MODE_ENV, OPENAI_MISSING_KEY_MESSAGE, resolveOpenaiAuthMode, resolveOpenaiBin, runOpenaiAgent, runOpenaiClassifier, takeLastOpenaiRunTrace, } from "./openai-run.js";
|
|
13
21
|
export { isTransientInfraError, resolveRetryMaxAttempts, withRetry, } from "./retry.js";
|
|
14
22
|
export { buildRoutingContract } from "./routing-contract.js";
|
|
15
23
|
export { AgentRunTimeoutError, getPartialTrace, isUserInputTool, traceHasUserInputTool, UserInputRequiredError, withRunTimeout, } from "./run-guards.js";
|
|
16
|
-
export {
|
|
24
|
+
export { createSealedWorkspace, defaultSealedOverlayPaths, isCallerHeadWorkspace, parseScenarioWorkspace, SEALED_WORKSPACE_DIR_PREFIX, toolPathsOutsideWorkspace, } from "./sealed-workspace.js";
|
|
25
|
+
export { isRepoRelativeSkillPath, loadSkillContext, normalizeRelSkillPath, normalizeSkillContext, SKILL_ROOTS, skillManifestRelPath, skillNameFromWorkflowPath, skillOverlayRelPath, skillPathsFromSetting, } from "./skills-context.js";
|
|
26
|
+
export { AGENT_HOSTS, isAgentHost, isBuiltinAgentHost, isHostSlug, } from "./types.js";
|
|
17
27
|
export { buildScenarioUsageBreakdown, sumUsageParts, } from "./usage-breakdown.js";
|
|
28
|
+
export { createJudgeUserSimulator, } from "./user-simulator.js";
|
|
29
|
+
export { claudeSessionFlags, cursorSettingSources, openaiUserConfigArgs, resolveAllowUserSkills, } from "./user-skills.js";
|
|
18
30
|
export { captureWorkingTreeStatus, filterWorkingTreeLeaks, findWorkingTreeLeak, formatWorkingTreeLeak, isPathUnderRoot, normalizePorcelainStatus, porcelainPathFromStatusLine, resolveHarnessArtifactIgnoreRoots, restoreWorkingTreePaths, } from "./working-tree-guard.js";
|
|
19
31
|
export { cleanupStaleScenarioWorktrees, createScenarioWorktree, SCENARIO_WORKTREE_DIR_PREFIX, } from "./worktree.js";
|
|
20
32
|
export { loadUnifiedDiffPaths, parseUnifiedDiffPaths, partitionSeedCollateralLeaks, porcelainPathsFromLines, traceEditsOutsideWorktree, } from "./worktree-leak.js";
|
|
@@ -22,6 +34,15 @@ export { loadUnifiedDiffPaths, parseUnifiedDiffPaths, partitionSeedCollateralLea
|
|
|
22
34
|
export async function runAgent(input) {
|
|
23
35
|
const context = input.context ?? (await loadContext({ cwd: input.cwd, profile: input.profile ?? "shared" }));
|
|
24
36
|
const adapter = createAdapter(input.host);
|
|
25
|
-
|
|
37
|
+
const runOptions = { ...input, context };
|
|
38
|
+
if (input.failOnUserInput !== false) {
|
|
39
|
+
return adapter.run(runOptions);
|
|
40
|
+
}
|
|
41
|
+
return runConversation({
|
|
42
|
+
initialPrompt: input.prompt,
|
|
43
|
+
maxTurns: input.maxConversationTurns,
|
|
44
|
+
userSimulator: input.userSimulator ?? createJudgeUserSimulator({ cwd: input.cwd, host: input.host }),
|
|
45
|
+
runTurn: (prompt) => adapter.run({ ...runOptions, prompt, failOnUserInput: false }),
|
|
46
|
+
});
|
|
26
47
|
}
|
|
27
48
|
//# sourceMappingURL=index.js.map
|
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,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/judge.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { JudgeClassifierResult } from "./cursor-run.js";
|
|
2
|
+
import type { AgentHost, AgentTrace, AgentUsage } from "./types.js";
|
|
2
3
|
export interface JudgeCriterion {
|
|
3
4
|
id: string;
|
|
4
5
|
question: string;
|
|
@@ -30,6 +31,15 @@ export interface JudgeVerdict {
|
|
|
30
31
|
export interface JudgeTraceOptions {
|
|
31
32
|
cwd: string;
|
|
32
33
|
apiKey?: string;
|
|
34
|
+
/** Host that scores the transcript. Defaults to cursor. */
|
|
35
|
+
host?: AgentHost;
|
|
36
|
+
/** Injected classifier for tests. */
|
|
37
|
+
classify?: (options: {
|
|
38
|
+
host: AgentHost;
|
|
39
|
+
cwd: string;
|
|
40
|
+
prompt: string;
|
|
41
|
+
apiKey?: string;
|
|
42
|
+
}) => Promise<JudgeClassifierResult>;
|
|
33
43
|
}
|
|
34
44
|
export interface JudgeTraceResult {
|
|
35
45
|
verdicts: JudgeVerdict[];
|
|
@@ -44,6 +54,10 @@ export interface ParsedJudgeJson {
|
|
|
44
54
|
evidence: string[];
|
|
45
55
|
valid: boolean;
|
|
46
56
|
}
|
|
57
|
+
/** Full live transcript for a judge, including tool names, args, and results. */
|
|
58
|
+
export declare function formatTraceForJudge(trace: AgentTrace): string;
|
|
59
|
+
/** Judge questions for mustInvokeSkill — replaces prose regex heuristics. */
|
|
60
|
+
export declare function skillInvokeJudgeCriteria(skillNames: string[]): JudgeCriterion[];
|
|
47
61
|
/** Parse structured judge JSON (`verdict`, `evidence`, `rationale`). */
|
|
48
62
|
export declare function parseJudgeJsonResponse(text: string): ParsedJudgeJson;
|
|
49
63
|
/** Fallback when model ignores JSON contract — parse YES/NO prose. */
|
|
@@ -55,6 +69,21 @@ export declare function parseJudgeLegacyResponse(text: string): ParsedJudgeJson;
|
|
|
55
69
|
* contracts are infra failures, not rubric answers.
|
|
56
70
|
*/
|
|
57
71
|
export declare function parseJudgeResponse(text: string): ParsedJudgeJson;
|
|
72
|
+
export declare function buildCompareJudgePrompt(options: {
|
|
73
|
+
aLabel: string;
|
|
74
|
+
aTranscript: string;
|
|
75
|
+
bLabel: string;
|
|
76
|
+
bTranscript: string;
|
|
77
|
+
question: string;
|
|
78
|
+
}): string;
|
|
58
79
|
/** Score fuzzy rubric criteria with a structured JSON judge (live runs only). */
|
|
59
80
|
export declare function judgeTrace(trace: AgentTrace, criteria: JudgeCriterion[], options: JudgeTraceOptions): Promise<JudgeTraceResult>;
|
|
81
|
+
export interface CompareJudgePair {
|
|
82
|
+
aLabel: string;
|
|
83
|
+
a: AgentTrace;
|
|
84
|
+
bLabel: string;
|
|
85
|
+
b: AgentTrace;
|
|
86
|
+
}
|
|
87
|
+
/** Score criteria against two arm transcripts. */
|
|
88
|
+
export declare function judgeCompareTraces(pair: CompareJudgePair, criteria: JudgeCriterion[], options: JudgeTraceOptions): Promise<JudgeTraceResult>;
|
|
60
89
|
//# sourceMappingURL=judge.d.ts.map
|
package/dist/judge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judge.d.ts","sourceRoot":"","sources":["../src/judge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"judge.d.ts","sourceRoot":"","sources":["../src/judge.ts"],"names":[],"mappings":"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"}
|
package/dist/judge.js
CHANGED
|
@@ -1,13 +1,65 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { missingClassifierAuth, runClassifier } from "./classifier.js";
|
|
2
2
|
import { isTransientInfraError, resolveRetryMaxAttempts, withRetry } from "./retry.js";
|
|
3
3
|
import { sumUsageParts } from "./usage-breakdown.js";
|
|
4
4
|
// Optional info-string (`json`, `js`, `typescript`, …) on the opening fence line.
|
|
5
5
|
// Without this, ` ```js\n"yes"\n``` ` extracts `js\n"yes"` and never latches.
|
|
6
6
|
const JSON_FENCE_PATTERN = /```[^\n`]*\s*([\s\S]*?)```/;
|
|
7
7
|
const JSON_OBJECT_PATTERN = /\{[\s\S]*\}/;
|
|
8
|
-
|
|
8
|
+
const JUDGE_TOOL_RESULT_MAX_CHARS = 4_000;
|
|
9
|
+
function truncateJudgeText(text, max = JUDGE_TOOL_RESULT_MAX_CHARS) {
|
|
10
|
+
if (text.length <= max) {
|
|
11
|
+
return text;
|
|
12
|
+
}
|
|
13
|
+
return `${text.slice(0, max)}…`;
|
|
14
|
+
}
|
|
15
|
+
function formatOneToolCallForJudge(call, index) {
|
|
16
|
+
const args = JSON.stringify(call.args ?? {});
|
|
17
|
+
const lines = [`${index + 1}. ${call.name} ${truncateJudgeText(args, 2_000)}`];
|
|
18
|
+
if (call.result) {
|
|
19
|
+
lines.push(` result: ${truncateJudgeText(call.result)}`);
|
|
20
|
+
}
|
|
21
|
+
return lines.join("\n");
|
|
22
|
+
}
|
|
23
|
+
function formatToolCallsForJudge(trace) {
|
|
24
|
+
if (trace.toolCalls.length === 0) {
|
|
25
|
+
return "";
|
|
26
|
+
}
|
|
9
27
|
return [
|
|
10
|
-
|
|
28
|
+
"Tool calls:",
|
|
29
|
+
...trace.toolCalls.map((call, index) => formatOneToolCallForJudge(call, index)),
|
|
30
|
+
].join("\n");
|
|
31
|
+
}
|
|
32
|
+
function formatTraceChronologically(trace) {
|
|
33
|
+
const blocks = [];
|
|
34
|
+
let tie = 0;
|
|
35
|
+
for (const message of trace.messages) {
|
|
36
|
+
blocks.push({
|
|
37
|
+
seq: message.seq ?? Number.MAX_SAFE_INTEGER,
|
|
38
|
+
tie: tie++,
|
|
39
|
+
text: `${message.role}:\n${message.content}`,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
for (const [index, call] of trace.toolCalls.entries()) {
|
|
43
|
+
blocks.push({
|
|
44
|
+
seq: call.seq ?? Number.MAX_SAFE_INTEGER,
|
|
45
|
+
tie: tie++,
|
|
46
|
+
text: `Tool calls:\n${formatOneToolCallForJudge(call, index)}`,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
blocks.sort((a, b) => a.seq - b.seq || a.tie - b.tie);
|
|
50
|
+
return blocks.map((block) => block.text).join("\n\n---\n\n");
|
|
51
|
+
}
|
|
52
|
+
/** Full live transcript for a judge, including tool names, args, and results. */
|
|
53
|
+
export function formatTraceForJudge(trace) {
|
|
54
|
+
const hasSeq = trace.messages.some((message) => message.seq !== undefined) ||
|
|
55
|
+
trace.toolCalls.some((call) => call.seq !== undefined);
|
|
56
|
+
const body = hasSeq
|
|
57
|
+
? formatTraceChronologically(trace)
|
|
58
|
+
: [...trace.messages.map((m) => `${m.role}:\n${m.content}`), formatToolCallsForJudge(trace)]
|
|
59
|
+
.filter(Boolean)
|
|
60
|
+
.join("\n\n---\n\n");
|
|
61
|
+
return [
|
|
62
|
+
body,
|
|
11
63
|
trace.prBody ?? "",
|
|
12
64
|
trace.gitDiff ? `Git diff:\n${trace.gitDiff}` : "",
|
|
13
65
|
trace.shellCommands.length > 0 ? `Shell commands:\n${trace.shellCommands.join("\n")}` : "",
|
|
@@ -15,6 +67,19 @@ function transcriptForJudge(trace) {
|
|
|
15
67
|
.filter(Boolean)
|
|
16
68
|
.join("\n\n---\n\n");
|
|
17
69
|
}
|
|
70
|
+
/** Judge questions for mustInvokeSkill — replaces prose regex heuristics. */
|
|
71
|
+
export function skillInvokeJudgeCriteria(skillNames) {
|
|
72
|
+
return skillNames.map((name) => ({
|
|
73
|
+
id: `invoke-skill:${name}`,
|
|
74
|
+
question: [
|
|
75
|
+
`Did the agent actually follow the "${name}" skill?`,
|
|
76
|
+
"Use tool calls, file reads, and later actions as evidence.",
|
|
77
|
+
"Naming the skill or using similar words is not enough.",
|
|
78
|
+
"A host skill load counts as obtaining the skill body.",
|
|
79
|
+
"Do not fail only because a confirmatory SKILL.md read happens after the reply.",
|
|
80
|
+
].join(" "),
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
18
83
|
function normalizeVerdict(value) {
|
|
19
84
|
const verdict = String(value ?? "")
|
|
20
85
|
.trim()
|
|
@@ -407,6 +472,8 @@ function buildJudgePrompt(transcript, question) {
|
|
|
407
472
|
return [
|
|
408
473
|
"You are a test harness classifier. Do not use tools. Do not edit files.",
|
|
409
474
|
"Decide whether the transcript satisfies the criterion using only transcript evidence.",
|
|
475
|
+
"The transcript includes assistant text, tool names, tool args, and tool results.",
|
|
476
|
+
"A tool result is an outcome. Use it as evidence when the criterion asks about one.",
|
|
410
477
|
"Reply with one JSON object only — no markdown fences, no text before or after:",
|
|
411
478
|
'{"verdict":"yes"|"no","evidence":["verbatim quote from transcript"],"rationale":"one sentence"}',
|
|
412
479
|
'Use verdict "yes" only when evidence clearly supports the criterion.',
|
|
@@ -417,6 +484,26 @@ function buildJudgePrompt(transcript, question) {
|
|
|
417
484
|
`Criterion: ${question}`,
|
|
418
485
|
].join("\n");
|
|
419
486
|
}
|
|
487
|
+
export function buildCompareJudgePrompt(options) {
|
|
488
|
+
return [
|
|
489
|
+
"You are a test harness classifier. Do not use tools. Do not edit files.",
|
|
490
|
+
"Decide whether the two transcripts satisfy the criterion using only transcript evidence.",
|
|
491
|
+
"Arm A and arm B are two agent runs of the same test.",
|
|
492
|
+
"The transcripts include assistant text, tool names, tool args, and tool results.",
|
|
493
|
+
"A tool result is an outcome. Use it as evidence when the criterion asks about one.",
|
|
494
|
+
"Reply with one JSON object only — no markdown fences, no text before or after:",
|
|
495
|
+
'{"verdict":"yes"|"no","evidence":["verbatim quote from a transcript"],"rationale":"one sentence"}',
|
|
496
|
+
'Use verdict "yes" only when evidence clearly supports the criterion.',
|
|
497
|
+
"",
|
|
498
|
+
`Arm A (${options.aLabel}):`,
|
|
499
|
+
options.aTranscript,
|
|
500
|
+
"",
|
|
501
|
+
`Arm B (${options.bLabel}):`,
|
|
502
|
+
options.bTranscript,
|
|
503
|
+
"",
|
|
504
|
+
`Criterion: ${options.question}`,
|
|
505
|
+
].join("\n");
|
|
506
|
+
}
|
|
420
507
|
function formatJudgeInfraError(result) {
|
|
421
508
|
const details = [];
|
|
422
509
|
if (result.rawStatus) {
|
|
@@ -435,10 +522,13 @@ function formatJudgeInfraError(result) {
|
|
|
435
522
|
}
|
|
436
523
|
async function runJudgePromptOnce(prompt, options) {
|
|
437
524
|
const started = performance.now();
|
|
438
|
-
const
|
|
525
|
+
const host = options.host ?? "cursor";
|
|
526
|
+
const classify = options.classify ?? runClassifier;
|
|
527
|
+
const result = await classify({
|
|
528
|
+
host,
|
|
439
529
|
cwd: options.cwd,
|
|
440
530
|
prompt,
|
|
441
|
-
apiKey: options.apiKey
|
|
531
|
+
apiKey: options.apiKey,
|
|
442
532
|
});
|
|
443
533
|
const durationMs = Math.round(performance.now() - started);
|
|
444
534
|
const usage = result.usage;
|
|
@@ -481,11 +571,12 @@ async function runJudgePromptOnce(prompt, options) {
|
|
|
481
571
|
};
|
|
482
572
|
}
|
|
483
573
|
async function runJudgePrompt(prompt, options) {
|
|
484
|
-
const
|
|
485
|
-
|
|
574
|
+
const host = options.host ?? "cursor";
|
|
575
|
+
const missing = missingClassifierAuth(host, options.apiKey);
|
|
576
|
+
if (missing) {
|
|
486
577
|
return {
|
|
487
578
|
pass: false,
|
|
488
|
-
rationale:
|
|
579
|
+
rationale: missing,
|
|
489
580
|
evidence: [],
|
|
490
581
|
error: "missing api key",
|
|
491
582
|
infraError: "missing api key",
|
|
@@ -499,7 +590,7 @@ async function runJudgePrompt(prompt, options) {
|
|
|
499
590
|
try {
|
|
500
591
|
const { result, attempt } = await withRetry(async (attemptNumber) => {
|
|
501
592
|
lastAttempt = attemptNumber;
|
|
502
|
-
const outcome = await runJudgePromptOnce(prompt,
|
|
593
|
+
const outcome = await runJudgePromptOnce(prompt, options);
|
|
503
594
|
if (outcome.retryable && attemptNumber < maxAttempts) {
|
|
504
595
|
throw new Error(outcome.infraError ?? outcome.error ?? "judge infra error");
|
|
505
596
|
}
|
|
@@ -532,20 +623,49 @@ export async function judgeTrace(trace, criteria, options) {
|
|
|
532
623
|
if (criteria.length === 0) {
|
|
533
624
|
return { verdicts: [], skipped: true };
|
|
534
625
|
}
|
|
535
|
-
const
|
|
536
|
-
|
|
626
|
+
const host = options.host ?? "cursor";
|
|
627
|
+
const missing = missingClassifierAuth(host, options.apiKey);
|
|
628
|
+
if (missing) {
|
|
537
629
|
return {
|
|
538
630
|
verdicts: [],
|
|
539
631
|
skipped: true,
|
|
540
|
-
error:
|
|
632
|
+
error: `${missing} — judge criteria skipped`,
|
|
541
633
|
};
|
|
542
634
|
}
|
|
543
|
-
const transcript =
|
|
544
|
-
|
|
635
|
+
const transcript = formatTraceForJudge(trace);
|
|
636
|
+
return judgeCriteria(criteria, (question) => buildJudgePrompt(transcript, question), options, {
|
|
637
|
+
transcriptChars: transcript.length,
|
|
638
|
+
});
|
|
639
|
+
}
|
|
640
|
+
/** Score criteria against two arm transcripts. */
|
|
641
|
+
export async function judgeCompareTraces(pair, criteria, options) {
|
|
642
|
+
if (criteria.length === 0) {
|
|
643
|
+
return { verdicts: [], skipped: true };
|
|
644
|
+
}
|
|
645
|
+
const host = options.host ?? "cursor";
|
|
646
|
+
const missing = missingClassifierAuth(host, options.apiKey);
|
|
647
|
+
if (missing) {
|
|
648
|
+
return {
|
|
649
|
+
verdicts: [],
|
|
650
|
+
skipped: true,
|
|
651
|
+
error: `${missing} — judge criteria skipped`,
|
|
652
|
+
};
|
|
653
|
+
}
|
|
654
|
+
const aTranscript = formatTraceForJudge(pair.a);
|
|
655
|
+
const bTranscript = formatTraceForJudge(pair.b);
|
|
656
|
+
return judgeCriteria(criteria, (question) => buildCompareJudgePrompt({
|
|
657
|
+
aLabel: pair.aLabel,
|
|
658
|
+
aTranscript,
|
|
659
|
+
bLabel: pair.bLabel,
|
|
660
|
+
bTranscript,
|
|
661
|
+
question,
|
|
662
|
+
}), options, { transcriptChars: aTranscript.length + bTranscript.length });
|
|
663
|
+
}
|
|
664
|
+
async function judgeCriteria(criteria, buildPrompt, options, meta) {
|
|
545
665
|
const verdicts = [];
|
|
546
666
|
for (const criterion of criteria) {
|
|
547
|
-
const prompt =
|
|
548
|
-
const parsed = await runJudgePrompt(prompt,
|
|
667
|
+
const prompt = buildPrompt(criterion.question);
|
|
668
|
+
const parsed = await runJudgePrompt(prompt, options);
|
|
549
669
|
verdicts.push({
|
|
550
670
|
id: criterion.id,
|
|
551
671
|
pass: parsed.pass,
|
|
@@ -558,7 +678,7 @@ export async function judgeTrace(trace, criteria, options) {
|
|
|
558
678
|
attempt: parsed.attempt,
|
|
559
679
|
durationMs: parsed.durationMs,
|
|
560
680
|
usage: parsed.usage,
|
|
561
|
-
transcriptChars,
|
|
681
|
+
transcriptChars: meta.transcriptChars,
|
|
562
682
|
promptChars: prompt.length,
|
|
563
683
|
});
|
|
564
684
|
if (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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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AgentMessage, AgentToolCall, LiveAgentEvent } from "./types.js";
|
|
2
|
+
export type { LiveAgentEvent };
|
|
3
|
+
export interface LiveNotifyState {
|
|
4
|
+
toolCount: number;
|
|
5
|
+
assistantChars: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function createLiveNotifyState(): LiveNotifyState;
|
|
8
|
+
/** New tool calls and the latest assistant text since the last drain. */
|
|
9
|
+
export declare function drainLiveAgentEvents(acc: {
|
|
10
|
+
toolCalls: AgentToolCall[];
|
|
11
|
+
agentMessages: AgentMessage[];
|
|
12
|
+
}, state: LiveNotifyState): LiveAgentEvent[];
|
|
13
|
+
export declare function emitLiveAgentEvents(acc: {
|
|
14
|
+
toolCalls: AgentToolCall[];
|
|
15
|
+
agentMessages: AgentMessage[];
|
|
16
|
+
}, state: LiveNotifyState, onAgentEvent?: (event: LiveAgentEvent) => void): void;
|
|
17
|
+
//# sourceMappingURL=live-agent-event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-agent-event.d.ts","sourceRoot":"","sources":["../src/live-agent-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CACnC,GAAG,EAAE;IAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,EAClE,KAAK,EAAE,eAAe,GACpB,cAAc,EAAE,CAiBlB;AAED,wBAAgB,mBAAmB,CAClC,GAAG,EAAE;IAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,EAClE,KAAK,EAAE,eAAe,EACtB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAC5C,IAAI,CAON"}
|