@workbench-ai/workbench-core 0.0.70 → 0.0.72
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/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +235 -124
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -113,6 +113,7 @@ export interface WorkbenchImproveOptions extends WorkbenchCommandOptions {
|
|
|
113
113
|
version?: string;
|
|
114
114
|
skill?: string;
|
|
115
115
|
agent?: string;
|
|
116
|
+
improverAgent?: WorkbenchAgent;
|
|
116
117
|
budget?: number;
|
|
117
118
|
samples?: number;
|
|
118
119
|
parentRunId?: string;
|
|
@@ -274,7 +275,7 @@ export declare function workbenchImprovementEvidenceTraces(traces: readonly Work
|
|
|
274
275
|
export declare function workbenchImprovementEvidenceTracesForVersion(state: WorkbenchProjectState, options: {
|
|
275
276
|
versionId: string;
|
|
276
277
|
skillName: string;
|
|
277
|
-
agent
|
|
278
|
+
agent?: WorkbenchAgent;
|
|
278
279
|
evalHash?: string;
|
|
279
280
|
traceIds?: readonly string[];
|
|
280
281
|
}): WorkbenchTrace[];
|
|
@@ -382,7 +383,7 @@ export declare function importObjectPack(state: WorkbenchProjectState, pack: Wor
|
|
|
382
383
|
export declare function hashJson(value: unknown): string;
|
|
383
384
|
export declare function hashFiles(files: readonly SurfaceSnapshotFile[]): string;
|
|
384
385
|
export declare function workbenchExecutionEventBatchId(batch: WorkbenchExecutionEventBatch): string;
|
|
385
|
-
export declare function readWorkbenchSkillRunOutputScore(output: unknown): number;
|
|
386
|
+
export declare function readWorkbenchSkillRunOutputScore(output: unknown): number | undefined;
|
|
386
387
|
export declare function readWorkbenchSkillRunOutputUsage(output: unknown): UsageSummary | undefined;
|
|
387
388
|
export declare function readWorkbenchSkillTraceResultsCostUsd(results: readonly unknown[]): number | undefined;
|
|
388
389
|
export declare function readWorkbenchSkillUsageCostUsd(usage: UsageSummary | undefined): number | undefined;
|
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
|
@@ -1707,6 +1707,7 @@ const DEFAULT_SKILL_ENVIRONMENT_DOCKERFILE = [
|
|
|
1707
1707
|
const HTTP_REMOTE_GZIP_THRESHOLD_BYTES = 1024 * 1024;
|
|
1708
1708
|
const projectLockContext = new AsyncLocalStorage();
|
|
1709
1709
|
const projectLockQueues = new Map();
|
|
1710
|
+
const stateSaveQueues = new Map();
|
|
1710
1711
|
const SKILL_EVAL_COMMAND_AGENT_ADAPTERS = new Set(["local", "command"]);
|
|
1711
1712
|
const SKILL_EVAL_PROVIDER_AGENT_ADAPTERS = new Set(["codex", "claude"]);
|
|
1712
1713
|
const UTF8_DECODER = new TextDecoder("utf-8", { fatal: true });
|
|
@@ -1722,6 +1723,24 @@ const IGNORED_SKILL_FILES = new Set([
|
|
|
1722
1723
|
]);
|
|
1723
1724
|
export async function initWorkbenchSkill(options = {}) {
|
|
1724
1725
|
const root = resolveRoot(options.dir);
|
|
1726
|
+
const rootExists = await exists(root);
|
|
1727
|
+
if (rootExists && await exists(workbenchDir(root))) {
|
|
1728
|
+
throw new WorkbenchCodedError("already_initialized", `Workbench project already exists: ${root}`, {
|
|
1729
|
+
remediation: `cd ${root} && workbench`,
|
|
1730
|
+
subject: { root },
|
|
1731
|
+
exitCode: 2,
|
|
1732
|
+
});
|
|
1733
|
+
}
|
|
1734
|
+
if (rootExists && !await exists(workbenchDir(root))) {
|
|
1735
|
+
const entries = await fs.readdir(root);
|
|
1736
|
+
if (entries.length > 0) {
|
|
1737
|
+
throw new WorkbenchCodedError("usage", `Directory is not empty: ${root}`, {
|
|
1738
|
+
remediation: "To adopt an existing folder, write SKILL.md yourself, then run a Workbench command from that folder.",
|
|
1739
|
+
subject: { root },
|
|
1740
|
+
exitCode: 2,
|
|
1741
|
+
});
|
|
1742
|
+
}
|
|
1743
|
+
}
|
|
1725
1744
|
await fs.mkdir(root, { recursive: true });
|
|
1726
1745
|
await ensureFile(path.join(root, SKILL_FILE), [
|
|
1727
1746
|
"---",
|
|
@@ -1766,7 +1785,6 @@ export async function initWorkbenchSkill(options = {}) {
|
|
|
1766
1785
|
"#!/bin/sh",
|
|
1767
1786
|
"set -eu",
|
|
1768
1787
|
"test -f \"$SKILL_DIR/SKILL.md\"",
|
|
1769
|
-
"grep -q '^# Skill' \"$SKILL_DIR/SKILL.md\"",
|
|
1770
1788
|
"mkdir -p \"$OUTPUT_DIR\"",
|
|
1771
1789
|
"cp \"$SKILL_DIR/SKILL.md\" \"$OUTPUT_DIR/SKILL.md\"",
|
|
1772
1790
|
"printf '{\"ok\":true,\"kind\":\"smoke\",\"message\":\"Starter smoke check passed; replace with workflow-specific evals.\"}\\n' > \"$OUTPUT_DIR/result.json\"",
|
|
@@ -1821,7 +1839,7 @@ export async function workbenchStatusSnapshot(options = {}) {
|
|
|
1821
1839
|
total: 0,
|
|
1822
1840
|
},
|
|
1823
1841
|
remotes: [],
|
|
1824
|
-
next:
|
|
1842
|
+
next: `workbench new ${root}`,
|
|
1825
1843
|
};
|
|
1826
1844
|
}
|
|
1827
1845
|
return withWorkbenchProjectLockRoot(root, async () => {
|
|
@@ -1837,7 +1855,7 @@ export async function workbenchStatusSnapshot(options = {}) {
|
|
|
1837
1855
|
await saveState(root, state);
|
|
1838
1856
|
const defaultSkill = await readDefaultSkillSelection(root, skillSources);
|
|
1839
1857
|
const defaultAgent = await readDefaultAgentSelection(root, agents);
|
|
1840
|
-
const latestVersionId =
|
|
1858
|
+
const latestVersionId = version.id;
|
|
1841
1859
|
const lastRun = [...state.runs].sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
|
|
1842
1860
|
const syncByRemote = new Map(syncStates.map((entry) => [entry.remote, entry]));
|
|
1843
1861
|
const remotes = Object.values(state.remotes)
|
|
@@ -1851,9 +1869,8 @@ export async function workbenchStatusSnapshot(options = {}) {
|
|
|
1851
1869
|
...(sync.lastSyncedAt ? { lastSyncedAt: sync.lastSyncedAt } : {}),
|
|
1852
1870
|
lastAttemptAt: sync.lastAttemptAt,
|
|
1853
1871
|
...(sync.lastError ? { lastError: sync.lastError } : { lastError: null }),
|
|
1854
|
-
...(sync.status === "error" ? { nextCommand: `workbench sync ${remote.name}` } : {}),
|
|
1855
1872
|
}
|
|
1856
|
-
: { status: "never", lastError: null
|
|
1873
|
+
: { status: "never", lastError: null };
|
|
1857
1874
|
return {
|
|
1858
1875
|
name: remote.name,
|
|
1859
1876
|
kind: remote.kind,
|
|
@@ -1883,49 +1900,14 @@ export async function workbenchStatusSnapshot(options = {}) {
|
|
|
1883
1900
|
...(lastRun ? {
|
|
1884
1901
|
lastRunId: lastRun.id,
|
|
1885
1902
|
lastStatus: lastRun.status,
|
|
1886
|
-
...(lastRun.score !== undefined ? { lastScore: lastRun.score } : {}),
|
|
1903
|
+
...(lastRun.status === "succeeded" && lastRun.score !== undefined ? { lastScore: lastRun.score } : {}),
|
|
1887
1904
|
} : {}),
|
|
1888
1905
|
},
|
|
1889
1906
|
remotes,
|
|
1890
|
-
next:
|
|
1907
|
+
next: null,
|
|
1891
1908
|
};
|
|
1892
1909
|
});
|
|
1893
1910
|
}
|
|
1894
|
-
function statusNextCommands(args) {
|
|
1895
|
-
const commands = [];
|
|
1896
|
-
if (args.state.runs.length === 0) {
|
|
1897
|
-
commands.push("workbench eval");
|
|
1898
|
-
}
|
|
1899
|
-
const lastRun = [...args.state.runs].sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
|
|
1900
|
-
if (lastRun?.status === "failed" || lastRun?.status === "canceled") {
|
|
1901
|
-
commands.push(`workbench show ${lastRun.id}`);
|
|
1902
|
-
commands.push(`workbench improve --agents ${args.defaultAgent ?? "default"} --budget 1 -n 1`);
|
|
1903
|
-
}
|
|
1904
|
-
const failedRemote = args.remotes.find((remote) => remote.sync.status === "error");
|
|
1905
|
-
if (failedRemote) {
|
|
1906
|
-
commands.push(`workbench sync ${failedRemote.name}`);
|
|
1907
|
-
}
|
|
1908
|
-
const unpublishedRemote = args.remotes.find((remote) => remote.kind === "workbench-cloud" &&
|
|
1909
|
-
remote.publication.status === "unpublished" &&
|
|
1910
|
-
remote.sync.status === "up_to_date");
|
|
1911
|
-
if (unpublishedRemote) {
|
|
1912
|
-
commands.push("workbench publish");
|
|
1913
|
-
}
|
|
1914
|
-
const publishedRemote = args.remotes.find((remote) => remote.kind === "workbench-cloud" && remote.publication.installUrl);
|
|
1915
|
-
if (publishedRemote?.publication.installUrl) {
|
|
1916
|
-
commands.push(`workbench install ${installHandleFromPublicationUrl(publishedRemote.publication.installUrl) ?? publishedRemote.publication.installUrl} --list`);
|
|
1917
|
-
}
|
|
1918
|
-
return [...new Set(commands)];
|
|
1919
|
-
}
|
|
1920
|
-
function installHandleFromPublicationUrl(installUrl) {
|
|
1921
|
-
try {
|
|
1922
|
-
const parsed = parseWorkbenchRemoteUrl(installUrl);
|
|
1923
|
-
return parsed.kind === "workbench-cloud" ? `${parsed.owner}/${parsed.skill}` : undefined;
|
|
1924
|
-
}
|
|
1925
|
-
catch {
|
|
1926
|
-
return undefined;
|
|
1927
|
-
}
|
|
1928
|
-
}
|
|
1929
1911
|
async function workbenchStatusUnlocked(root, options = {}) {
|
|
1930
1912
|
await autoSyncDefaultRemote(root, options);
|
|
1931
1913
|
const [state, agents, skillSources] = await Promise.all([
|
|
@@ -1937,7 +1919,7 @@ async function workbenchStatusUnlocked(root, options = {}) {
|
|
|
1937
1919
|
await saveState(root, state);
|
|
1938
1920
|
await autoSyncDefaultRemote(root, options);
|
|
1939
1921
|
const lastRun = state.runs
|
|
1940
|
-
.filter((run) => typeof run.score === "number")
|
|
1922
|
+
.filter((run) => run.status === "succeeded" && typeof run.score === "number")
|
|
1941
1923
|
.sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
|
|
1942
1924
|
return {
|
|
1943
1925
|
root,
|
|
@@ -2254,7 +2236,7 @@ export function createWorkbenchSkillEvalRuntimeInput(args) {
|
|
|
2254
2236
|
runId: args.runId,
|
|
2255
2237
|
versionId: args.versionId,
|
|
2256
2238
|
attemptIndex: args.attempt ?? 0,
|
|
2257
|
-
samples: 1,
|
|
2239
|
+
samples: Math.max(1, args.sample + 1),
|
|
2258
2240
|
caseIds: [args.runtimeCase.id],
|
|
2259
2241
|
sampleIndexesByCase: new Map([[args.runtimeCase.id, [args.sample]]]),
|
|
2260
2242
|
spec,
|
|
@@ -2449,7 +2431,7 @@ export function workbenchImprovementEvidenceTraces(traces) {
|
|
|
2449
2431
|
export function workbenchImprovementEvidenceTracesForVersion(state, options) {
|
|
2450
2432
|
const lineageVersionIds = lineageAncestorVersionIds(state, options.versionId);
|
|
2451
2433
|
const selectedTraceIds = options.traceIds?.length ? new Set(options.traceIds) : null;
|
|
2452
|
-
const agentHash = hashJson(options.agent);
|
|
2434
|
+
const agentHash = options.agent ? hashJson(options.agent) : undefined;
|
|
2453
2435
|
return improvementEvidenceTraces(state.traces.filter((trace) => {
|
|
2454
2436
|
if (selectedTraceIds && !selectedTraceIds.has(trace.id)) {
|
|
2455
2437
|
return false;
|
|
@@ -2457,13 +2439,19 @@ export function workbenchImprovementEvidenceTracesForVersion(state, options) {
|
|
|
2457
2439
|
if (!lineageVersionIds.has(trace.versionId)) {
|
|
2458
2440
|
return false;
|
|
2459
2441
|
}
|
|
2460
|
-
if (trace.skillName !== options.skillName
|
|
2442
|
+
if (trace.skillName !== options.skillName) {
|
|
2461
2443
|
return false;
|
|
2462
2444
|
}
|
|
2463
2445
|
if (options.evalHash && !traceEvalHashMatches(state, trace, options.evalHash)) {
|
|
2464
2446
|
return false;
|
|
2465
2447
|
}
|
|
2466
|
-
|
|
2448
|
+
if (options.agent) {
|
|
2449
|
+
if (trace.agentName !== options.agent.name) {
|
|
2450
|
+
return false;
|
|
2451
|
+
}
|
|
2452
|
+
return traceAgentHashMatches(state, trace, agentHash);
|
|
2453
|
+
}
|
|
2454
|
+
return true;
|
|
2467
2455
|
}));
|
|
2468
2456
|
}
|
|
2469
2457
|
function improvementEvidenceTraces(traces) {
|
|
@@ -2550,7 +2538,7 @@ export function workbenchSkillImproveCanUseQueuedAdapter(agent) {
|
|
|
2550
2538
|
return agentImproveAdapterInvocation(agent) !== null;
|
|
2551
2539
|
}
|
|
2552
2540
|
export function workbenchSkillImproveAdapterRequirementMessage(agent) {
|
|
2553
|
-
return `Agent ${agent.name} cannot run improve because it has no skill-improvement adapter.
|
|
2541
|
+
return `Agent ${agent.name} cannot run improve because it has no skill-improvement adapter. Run workbench login claude (or codex) to connect an improver.`;
|
|
2554
2542
|
}
|
|
2555
2543
|
export function readWorkbenchSkillImprovementPatchFromRemoteJob(remoteJob) {
|
|
2556
2544
|
const output = asRuntimeRecord(remoteJob.output);
|
|
@@ -2768,16 +2756,22 @@ export async function executeQueuedWorkbenchSkillEvalJob(input) {
|
|
|
2768
2756
|
traceId: input.traceId,
|
|
2769
2757
|
});
|
|
2770
2758
|
const finishedAt = result.job.finishedAt ?? now();
|
|
2759
|
+
const proofStatus = result.job.status === "succeeded" ? "succeeded" : "failed";
|
|
2771
2760
|
const run = {
|
|
2772
2761
|
...existingRun,
|
|
2773
|
-
status:
|
|
2774
|
-
score: result.job.score,
|
|
2762
|
+
status: proofStatus,
|
|
2775
2763
|
latencyMs: result.job.durationMs ?? 0,
|
|
2776
2764
|
traceIds: [result.trace.id],
|
|
2777
2765
|
jobIds: [result.job.id],
|
|
2778
2766
|
finishedAt,
|
|
2779
2767
|
...(result.job.error ? { error: result.job.error } : {}),
|
|
2780
2768
|
};
|
|
2769
|
+
if (proofStatus === "succeeded" && result.job.score !== undefined) {
|
|
2770
|
+
run.score = result.job.score;
|
|
2771
|
+
}
|
|
2772
|
+
else {
|
|
2773
|
+
delete run.score;
|
|
2774
|
+
}
|
|
2781
2775
|
return {
|
|
2782
2776
|
run: copyRun(run),
|
|
2783
2777
|
job: copyJob(result.job),
|
|
@@ -2802,8 +2796,19 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2802
2796
|
agent: options.agent,
|
|
2803
2797
|
authToken: options.authToken,
|
|
2804
2798
|
});
|
|
2799
|
+
const externalImprover = options.improverAgent && !options.agent ? options.improverAgent : undefined;
|
|
2805
2800
|
if (runtime.skillBundles.length !== 1 || runtime.selectedAgents.length !== 1) {
|
|
2806
|
-
|
|
2801
|
+
const configuredSkills = [...new Set(runtime.skillBundles.map((bundle) => bundle.skillName))].sort();
|
|
2802
|
+
const configuredAgents = [...new Set(runtime.selectedAgents.map((agent) => agent.name))].sort();
|
|
2803
|
+
throw new WorkbenchCodedError("usage", [
|
|
2804
|
+
"workbench improve requires exactly one skill and one eval agent.",
|
|
2805
|
+
`Configured skills: ${configuredSkills.length > 0 ? configuredSkills.join(", ") : "none"}.`,
|
|
2806
|
+
`Configured agents: ${configuredAgents.length > 0 ? configuredAgents.join(", ") : "none"}.`,
|
|
2807
|
+
].join(" "), {
|
|
2808
|
+
remediation: `Run workbench improve --skills ${configuredSkills[0] ?? PRIMARY_SKILL_NAME} --agents ${configuredAgents[0] ?? "default"}.`,
|
|
2809
|
+
subject: { configuredSkills, configuredAgents },
|
|
2810
|
+
exitCode: 2,
|
|
2811
|
+
});
|
|
2807
2812
|
}
|
|
2808
2813
|
const [skillBundle] = runtime.skillBundles;
|
|
2809
2814
|
if (!skillBundle) {
|
|
@@ -2816,9 +2821,13 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2816
2821
|
upsertByHash(state.skillBundles, bundle);
|
|
2817
2822
|
}
|
|
2818
2823
|
upsertAgentSnapshots(state.agents, runtime.agents);
|
|
2819
|
-
const
|
|
2820
|
-
if (!
|
|
2821
|
-
throw new WorkbenchUserError("No agent selected for improve.");
|
|
2824
|
+
const evalAgent = runtime.selectedAgents[0];
|
|
2825
|
+
if (!evalAgent) {
|
|
2826
|
+
throw new WorkbenchUserError("No eval agent selected for improve.");
|
|
2827
|
+
}
|
|
2828
|
+
const improverAgent = externalImprover ?? evalAgent;
|
|
2829
|
+
if (externalImprover) {
|
|
2830
|
+
upsertAgentSnapshots(state.agents, [externalImprover]);
|
|
2822
2831
|
}
|
|
2823
2832
|
const selectedEvidenceTraceIds = options.evidenceTraceIds?.length
|
|
2824
2833
|
? new Set(options.evidenceTraceIds)
|
|
@@ -2826,13 +2835,13 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2826
2835
|
const historicalTraces = workbenchImprovementEvidenceTracesForVersion(state, {
|
|
2827
2836
|
versionId: base.id,
|
|
2828
2837
|
skillName: skillBundle.skillName,
|
|
2829
|
-
agent,
|
|
2838
|
+
agent: evalAgent,
|
|
2830
2839
|
evalHash: runtime.evalSnapshot.hash,
|
|
2831
2840
|
...(selectedEvidenceTraceIds ? { traceIds: [...selectedEvidenceTraceIds] } : {}),
|
|
2832
2841
|
});
|
|
2833
2842
|
const improvementEvidence = improvementEvidenceFromTraces(historicalTraces);
|
|
2834
2843
|
if (improvementEvidence.length === 0) {
|
|
2835
|
-
throw new WorkbenchUserError(
|
|
2844
|
+
throw new WorkbenchUserError(`workbench improve needs failed or reviewed trace evidence for ${evalAgent.name} on this version. Run \`workbench eval --agents ${evalAgent.name}\` until a failure is recorded, or edit SKILL.md directly.`);
|
|
2836
2845
|
}
|
|
2837
2846
|
const evalSnapshot = runtime.evalSnapshot;
|
|
2838
2847
|
upsertEvalSnapshotObject(state.evals, evalSnapshot);
|
|
@@ -2842,13 +2851,13 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2842
2851
|
skillName: skillBundle.skillName,
|
|
2843
2852
|
skillBundleHash: skillBundle.hash,
|
|
2844
2853
|
evalHash: evalSnapshot.hash,
|
|
2845
|
-
agentName:
|
|
2846
|
-
agentHash: hashJson(
|
|
2854
|
+
agentName: evalAgent.name,
|
|
2855
|
+
agentHash: hashJson(evalAgent),
|
|
2847
2856
|
});
|
|
2848
2857
|
const improvement = await createSkillImprovementPatch({
|
|
2849
2858
|
root,
|
|
2850
2859
|
state,
|
|
2851
|
-
agent,
|
|
2860
|
+
agent: improverAgent,
|
|
2852
2861
|
base,
|
|
2853
2862
|
evalHash: evalSnapshot.hash,
|
|
2854
2863
|
environmentDockerfile: runtime.environmentDockerfile,
|
|
@@ -2857,7 +2866,7 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2857
2866
|
});
|
|
2858
2867
|
const applied = applyWorkbenchSkillImprovementPatch(state, {
|
|
2859
2868
|
baseVersionId: base.id,
|
|
2860
|
-
agent,
|
|
2869
|
+
agent: improverAgent,
|
|
2861
2870
|
patch: improvement.patch,
|
|
2862
2871
|
createdAt: now(),
|
|
2863
2872
|
});
|
|
@@ -2865,7 +2874,7 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2865
2874
|
const version = applied.version;
|
|
2866
2875
|
const outputRuntime = await createWorkbenchVersionRuntimeSnapshot(version, {
|
|
2867
2876
|
skill: PRIMARY_SKILL_NAME,
|
|
2868
|
-
agent:
|
|
2877
|
+
agent: evalAgent.name,
|
|
2869
2878
|
authToken: options.authToken,
|
|
2870
2879
|
});
|
|
2871
2880
|
const [outputSkillBundle] = outputRuntime.skillBundles;
|
|
@@ -2876,13 +2885,16 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2876
2885
|
upsertByHash(state.skillBundles, bundle);
|
|
2877
2886
|
}
|
|
2878
2887
|
upsertAgentSnapshots(state.agents, outputRuntime.agents);
|
|
2888
|
+
if (externalImprover) {
|
|
2889
|
+
upsertAgentSnapshots(state.agents, [externalImprover]);
|
|
2890
|
+
}
|
|
2879
2891
|
const run = await executeWorkbenchEvaluationRun({
|
|
2880
2892
|
root,
|
|
2881
2893
|
state,
|
|
2882
2894
|
version,
|
|
2883
2895
|
skillBundle: outputSkillBundle,
|
|
2884
2896
|
evalSnapshot,
|
|
2885
|
-
agent,
|
|
2897
|
+
agent: evalAgent,
|
|
2886
2898
|
kind: "improve",
|
|
2887
2899
|
...(options.parentRunId !== undefined ? { parentRunId: options.parentRunId } : {}),
|
|
2888
2900
|
samples: options.samples ?? 1,
|
|
@@ -2927,7 +2939,7 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2927
2939
|
promotionReason: promotion.reason,
|
|
2928
2940
|
...(incumbentRun ? { incumbentRunId: incumbentRun.id } : {}),
|
|
2929
2941
|
...(typeof incumbentRun?.score === "number" ? { incumbentScore: incumbentRun.score } : {}),
|
|
2930
|
-
...(typeof run.score === "number" ? { outputScore: run.score } : {}),
|
|
2942
|
+
...(run.status === "succeeded" && typeof run.score === "number" ? { outputScore: run.score } : {}),
|
|
2931
2943
|
};
|
|
2932
2944
|
});
|
|
2933
2945
|
}
|
|
@@ -3168,15 +3180,15 @@ export async function showWorkbenchRef(ref, options = {}) {
|
|
|
3168
3180
|
}
|
|
3169
3181
|
return file;
|
|
3170
3182
|
}
|
|
3171
|
-
const run = state.runs
|
|
3183
|
+
const run = resolveStateObjectByRef(state.runs, objectRef, "run");
|
|
3172
3184
|
if (run) {
|
|
3173
3185
|
return run;
|
|
3174
3186
|
}
|
|
3175
|
-
const job = state.jobs
|
|
3187
|
+
const job = resolveStateObjectByRef(state.jobs, objectRef, "job");
|
|
3176
3188
|
if (job) {
|
|
3177
3189
|
return job;
|
|
3178
3190
|
}
|
|
3179
|
-
const trace = state.traces
|
|
3191
|
+
const trace = resolveStateObjectByRef(state.traces, objectRef, "trace");
|
|
3180
3192
|
if (trace) {
|
|
3181
3193
|
if (filePath) {
|
|
3182
3194
|
const file = trace.files.find((entry) => entry.path === filePath);
|
|
@@ -3191,7 +3203,7 @@ export async function showWorkbenchRef(ref, options = {}) {
|
|
|
3191
3203
|
}
|
|
3192
3204
|
return trace;
|
|
3193
3205
|
}
|
|
3194
|
-
const artifact = state.artifacts
|
|
3206
|
+
const artifact = resolveStateObjectByRef(state.artifacts, objectRef, "artifact");
|
|
3195
3207
|
if (artifact) {
|
|
3196
3208
|
if (filePath) {
|
|
3197
3209
|
const file = artifact.files.find((entry) => entry.path === filePath);
|
|
@@ -3213,6 +3225,27 @@ export async function showWorkbenchRef(ref, options = {}) {
|
|
|
3213
3225
|
});
|
|
3214
3226
|
});
|
|
3215
3227
|
}
|
|
3228
|
+
function resolveStateObjectByRef(entries, ref, kind) {
|
|
3229
|
+
const normalized = ref.trim();
|
|
3230
|
+
if (!normalized) {
|
|
3231
|
+
return undefined;
|
|
3232
|
+
}
|
|
3233
|
+
const candidates = entries.filter((entry) => objectIdRefMatches(entry.id, normalized));
|
|
3234
|
+
if (candidates.length > 1) {
|
|
3235
|
+
throw new WorkbenchCodedError("ref_ambiguous", `${capitalize(kind)} ref is ambiguous: ${ref}. Candidates: ${candidates.map((entry) => entry.id).slice(0, 8).join(", ")}.`, {
|
|
3236
|
+
subject: { ref, candidates: candidates.map((entry) => entry.id).slice(0, 20) },
|
|
3237
|
+
exitCode: 2,
|
|
3238
|
+
});
|
|
3239
|
+
}
|
|
3240
|
+
return candidates[0];
|
|
3241
|
+
}
|
|
3242
|
+
function objectIdRefMatches(id, ref) {
|
|
3243
|
+
if (id === ref || id.startsWith(ref)) {
|
|
3244
|
+
return true;
|
|
3245
|
+
}
|
|
3246
|
+
const separator = id.indexOf("_");
|
|
3247
|
+
return separator !== -1 && id.slice(separator + 1).startsWith(ref);
|
|
3248
|
+
}
|
|
3216
3249
|
export async function filesForWorkbenchRef(ref, options = {}) {
|
|
3217
3250
|
const root = resolveRoot(options.dir);
|
|
3218
3251
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
@@ -3226,11 +3259,11 @@ export async function filesForWorkbenchRef(ref, options = {}) {
|
|
|
3226
3259
|
if (version) {
|
|
3227
3260
|
return version.files.map(copyFile);
|
|
3228
3261
|
}
|
|
3229
|
-
const trace = state.traces
|
|
3262
|
+
const trace = resolveStateObjectByRef(state.traces, ref, "trace");
|
|
3230
3263
|
if (trace) {
|
|
3231
3264
|
return trace.files.map(copyFile);
|
|
3232
3265
|
}
|
|
3233
|
-
const artifact = state.artifacts
|
|
3266
|
+
const artifact = resolveStateObjectByRef(state.artifacts, ref, "artifact");
|
|
3234
3267
|
if (artifact) {
|
|
3235
3268
|
return artifact.files.map(copyFile);
|
|
3236
3269
|
}
|
|
@@ -3340,7 +3373,7 @@ function traceRubricForCase(trace) {
|
|
|
3340
3373
|
}
|
|
3341
3374
|
function caseDraftTestScript(id, trace) {
|
|
3342
3375
|
const message = trace
|
|
3343
|
-
? `
|
|
3376
|
+
? `Draft trace-derived case ${id} needs expert acceptance criteria before it can pass. Source trace: ${trace.id}.`
|
|
3344
3377
|
: `Draft case ${id} needs a workflow-specific prompt, rubric, and test before it can pass.`;
|
|
3345
3378
|
return [
|
|
3346
3379
|
"#!/bin/sh",
|
|
@@ -3685,7 +3718,7 @@ export function createWorkbenchInspectionSnapshotFromState(options) {
|
|
|
3685
3718
|
.map((remote) => ({ ...remote }))
|
|
3686
3719
|
.sort((left, right) => left.name.localeCompare(right.name));
|
|
3687
3720
|
const lastRun = state.runs
|
|
3688
|
-
.filter((run) => typeof run.score === "number")
|
|
3721
|
+
.filter((run) => run.status === "succeeded" && typeof run.score === "number")
|
|
3689
3722
|
.sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
|
|
3690
3723
|
const status = {
|
|
3691
3724
|
root,
|
|
@@ -4565,6 +4598,14 @@ async function executeWorkbenchEvaluationRun(args) {
|
|
|
4565
4598
|
}));
|
|
4566
4599
|
}
|
|
4567
4600
|
await saveState(args.root, args.state);
|
|
4601
|
+
let stateSaveQueue = Promise.resolve();
|
|
4602
|
+
const enqueueRunStateSave = async () => {
|
|
4603
|
+
const next = stateSaveQueue.then(async () => {
|
|
4604
|
+
await saveState(args.root, args.state);
|
|
4605
|
+
});
|
|
4606
|
+
stateSaveQueue = next.catch(() => undefined);
|
|
4607
|
+
await next;
|
|
4608
|
+
};
|
|
4568
4609
|
const persistedTerminalJobs = new Map();
|
|
4569
4610
|
const persistTerminalJob = async (completed) => {
|
|
4570
4611
|
const plannedJob = inputsByJobId.get(completed.id);
|
|
@@ -4591,7 +4632,7 @@ async function executeWorkbenchEvaluationRun(args) {
|
|
|
4591
4632
|
upsertJobObject(args.state.jobs, result.job);
|
|
4592
4633
|
upsertImmutableById(args.state.artifacts, result.artifact, "artifact");
|
|
4593
4634
|
upsertImmutableById(args.state.traces, result.trace, "trace");
|
|
4594
|
-
await
|
|
4635
|
+
await enqueueRunStateSave();
|
|
4595
4636
|
};
|
|
4596
4637
|
let dag;
|
|
4597
4638
|
try {
|
|
@@ -4614,7 +4655,7 @@ async function executeWorkbenchEvaluationRun(args) {
|
|
|
4614
4655
|
runtimeCase: plannedJob.runtimeCase,
|
|
4615
4656
|
sample: plannedJob.sample,
|
|
4616
4657
|
}));
|
|
4617
|
-
await
|
|
4658
|
+
await enqueueRunStateSave();
|
|
4618
4659
|
},
|
|
4619
4660
|
onJobFinished: persistTerminalJob,
|
|
4620
4661
|
executeJob: async (job) => {
|
|
@@ -4678,7 +4719,10 @@ async function executeWorkbenchEvaluationRun(args) {
|
|
|
4678
4719
|
const finishedAt = now();
|
|
4679
4720
|
run.finishedAt = finishedAt;
|
|
4680
4721
|
run.status = jobs.every((job) => job.status === "succeeded") ? "succeeded" : "failed";
|
|
4681
|
-
|
|
4722
|
+
delete run.score;
|
|
4723
|
+
const scoredJobs = run.status === "succeeded"
|
|
4724
|
+
? jobs.filter((job) => job.status === "succeeded" && typeof job.score === "number")
|
|
4725
|
+
: [];
|
|
4682
4726
|
if (scoredJobs.length > 0) {
|
|
4683
4727
|
run.score = Number((scoredJobs.reduce((sum, job) => sum + (job.score ?? 0), 0) / scoredJobs.length).toFixed(3));
|
|
4684
4728
|
}
|
|
@@ -4760,22 +4804,26 @@ function skillEvalLifecycleJobFromRemoteJob(args) {
|
|
|
4760
4804
|
function skillEvalObjectsFromRemoteJob(args) {
|
|
4761
4805
|
const finishedAt = args.remoteJob.finishedAt ?? now();
|
|
4762
4806
|
const output = asRuntimeRecord(args.remoteJob.output);
|
|
4763
|
-
const
|
|
4807
|
+
const status = args.remoteJob.status === "succeeded" ? "succeeded" :
|
|
4808
|
+
args.remoteJob.status === "cancelled" ? "canceled" : "failed";
|
|
4809
|
+
const score = status === "succeeded" && args.runtimeCase.smoke !== true
|
|
4810
|
+
? readWorkbenchSkillRunOutputScore(output)
|
|
4811
|
+
: undefined;
|
|
4764
4812
|
const usage = readWorkbenchSkillRunOutputUsage(output);
|
|
4765
4813
|
const outputResult = jsonRecord(output.result);
|
|
4766
|
-
if (args.runtimeCase.smoke === true) {
|
|
4767
|
-
|
|
4814
|
+
if (args.runtimeCase.smoke === true || status !== "succeeded") {
|
|
4815
|
+
stripResultScores(outputResult);
|
|
4768
4816
|
}
|
|
4769
4817
|
const resultPayload = {
|
|
4770
|
-
status: args.remoteJob.status === "succeeded" ? "succeeded" : "failed",
|
|
4771
|
-
...(score !== undefined ? { score } : {}),
|
|
4772
|
-
...(args.remoteJob.error ? { error: args.remoteJob.error } : {}),
|
|
4773
4818
|
...outputResult,
|
|
4774
4819
|
...(usage ? { usage: usage } : {}),
|
|
4775
4820
|
...(args.result ?? {}),
|
|
4821
|
+
status: status === "succeeded" ? "succeeded" : "failed",
|
|
4822
|
+
...(score !== undefined ? { score } : {}),
|
|
4823
|
+
...(args.remoteJob.error ? { error: args.remoteJob.error } : {}),
|
|
4776
4824
|
};
|
|
4777
|
-
if (args.runtimeCase.smoke === true) {
|
|
4778
|
-
|
|
4825
|
+
if (args.runtimeCase.smoke === true || status !== "succeeded") {
|
|
4826
|
+
stripResultScores(resultPayload);
|
|
4779
4827
|
}
|
|
4780
4828
|
const files = Array.isArray(output.files)
|
|
4781
4829
|
? output.files.filter(isSurfaceSnapshotFile).map(copyFile)
|
|
@@ -4821,8 +4869,6 @@ function skillEvalObjectsFromRemoteJob(args) {
|
|
|
4821
4869
|
...files.map(copyFile),
|
|
4822
4870
|
],
|
|
4823
4871
|
};
|
|
4824
|
-
const status = args.remoteJob.status === "succeeded" ? "succeeded" :
|
|
4825
|
-
args.remoteJob.status === "cancelled" ? "canceled" : "failed";
|
|
4826
4872
|
const job = {
|
|
4827
4873
|
id: args.remoteJob.id,
|
|
4828
4874
|
runId: args.run.id,
|
|
@@ -4836,7 +4882,7 @@ function skillEvalObjectsFromRemoteJob(args) {
|
|
|
4836
4882
|
caseId: args.runtimeCase.id,
|
|
4837
4883
|
sample: args.sample,
|
|
4838
4884
|
status,
|
|
4839
|
-
...(score !== undefined ? { score } : {}),
|
|
4885
|
+
...(status === "succeeded" && score !== undefined ? { score } : {}),
|
|
4840
4886
|
command: configString(asRuntimeRecord(asRuntimeRecord(jsonRecord(args.remoteJob.input).execution).adapter).with, "command"),
|
|
4841
4887
|
artifactIds: [artifact.id],
|
|
4842
4888
|
traceIds: [trace.id],
|
|
@@ -4857,7 +4903,7 @@ export function readWorkbenchSkillRunOutputScore(output) {
|
|
|
4857
4903
|
: typeof metrics.score === "number"
|
|
4858
4904
|
? metrics.score
|
|
4859
4905
|
: undefined;
|
|
4860
|
-
return typeof score === "number" && Number.isFinite(score) ? score :
|
|
4906
|
+
return typeof score === "number" && Number.isFinite(score) ? score : undefined;
|
|
4861
4907
|
}
|
|
4862
4908
|
export function readWorkbenchSkillRunOutputUsage(output) {
|
|
4863
4909
|
const record = asRuntimeRecord(output);
|
|
@@ -5639,11 +5685,19 @@ function resolveNamedSelection(entries, selection, defaultSelection, noun) {
|
|
|
5639
5685
|
return names.map((name) => {
|
|
5640
5686
|
const entry = entries.find((candidate) => candidate.name === name);
|
|
5641
5687
|
if (!entry) {
|
|
5642
|
-
throw new WorkbenchUserError(`${capitalize(noun)} not found: ${name}
|
|
5688
|
+
throw new WorkbenchUserError(`${capitalize(noun)} not found: ${name}. Configured ${noun}s: ${configuredSelectionNames(entries)}.`);
|
|
5643
5689
|
}
|
|
5644
5690
|
return entry;
|
|
5645
5691
|
});
|
|
5646
5692
|
}
|
|
5693
|
+
function configuredSelectionNames(entries) {
|
|
5694
|
+
const names = entries.map((entry) => entry.name).sort();
|
|
5695
|
+
if (names.length === 0) {
|
|
5696
|
+
return "none";
|
|
5697
|
+
}
|
|
5698
|
+
const visible = names.slice(0, 8);
|
|
5699
|
+
return `${visible.join(", ")}${names.length > visible.length ? ", ..." : ""}`;
|
|
5700
|
+
}
|
|
5647
5701
|
function readManifestDefaultSelection(record, fileLabel, entries, noun) {
|
|
5648
5702
|
const configured = typeof record.default === "string" ? record.default.trim() : "";
|
|
5649
5703
|
if (!configured) {
|
|
@@ -6546,37 +6600,54 @@ function transientStateReadUnavailableError(root) {
|
|
|
6546
6600
|
return error;
|
|
6547
6601
|
}
|
|
6548
6602
|
async function saveState(root, state) {
|
|
6549
|
-
await
|
|
6550
|
-
await
|
|
6551
|
-
|
|
6552
|
-
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
|
|
6557
|
-
|
|
6558
|
-
|
|
6559
|
-
|
|
6560
|
-
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
|
|
6564
|
-
|
|
6565
|
-
|
|
6566
|
-
|
|
6567
|
-
|
|
6568
|
-
|
|
6569
|
-
|
|
6570
|
-
|
|
6571
|
-
|
|
6572
|
-
|
|
6573
|
-
|
|
6574
|
-
|
|
6575
|
-
|
|
6576
|
-
|
|
6577
|
-
|
|
6603
|
+
await withStateSaveQueue(root, async () => {
|
|
6604
|
+
await withWorkbenchProjectLockRoot(root, async () => {
|
|
6605
|
+
await fs.mkdir(workbenchDir(root), { recursive: true });
|
|
6606
|
+
await fs.mkdir(path.join(workbenchDir(root), TMP_DIR), { recursive: true });
|
|
6607
|
+
await fs.rm(path.join(workbenchDir(root), "store"), { recursive: true, force: true });
|
|
6608
|
+
await recoverAtomicStateCommit(root);
|
|
6609
|
+
const nonce = `${process.pid}-${Date.now()}-${randomBytes(4).toString("hex")}`;
|
|
6610
|
+
const tempRoot = path.join(workbenchDir(root), TMP_DIR, `state-${nonce}`);
|
|
6611
|
+
const tempObjectsDir = path.join(tempRoot, OBJECTS_DIR);
|
|
6612
|
+
const tempRefsDir = path.join(tempRoot, REFS_DIR);
|
|
6613
|
+
try {
|
|
6614
|
+
await writeObjectCollectionToDir(tempObjectsDir, "version", state.versions, (version) => version.id);
|
|
6615
|
+
await writeObjectCollectionToDir(tempObjectsDir, "skill-source", state.skillSources, (source) => source.name);
|
|
6616
|
+
await writeObjectCollectionToDir(tempObjectsDir, "skill-bundle", state.skillBundles, (bundle) => bundle.hash);
|
|
6617
|
+
await writeObjectCollectionToDir(tempObjectsDir, "eval", state.evals, (evalSnapshot) => evalSnapshot.hash);
|
|
6618
|
+
await writeObjectCollectionToDir(tempObjectsDir, "agent", state.agents, (agent) => hashJson(agent));
|
|
6619
|
+
await writeObjectCollectionToDir(tempObjectsDir, "run", state.runs, (run) => run.id);
|
|
6620
|
+
await writeObjectCollectionToDir(tempObjectsDir, "job", state.jobs, (job) => job.id);
|
|
6621
|
+
await writeObjectCollectionToDir(tempObjectsDir, "trace", state.traces, (trace) => trace.id);
|
|
6622
|
+
await writeObjectCollectionToDir(tempObjectsDir, "execution-event", state.executionEvents, workbenchExecutionEventBatchId);
|
|
6623
|
+
await writeObjectCollectionToDir(tempObjectsDir, "artifact", state.artifacts, (artifact) => artifact.id);
|
|
6624
|
+
await writeObjectCollectionToDir(tempObjectsDir, "lineage", state.lineage, (edge) => hashJson(edge).slice(0, 24));
|
|
6625
|
+
await writeWorkbenchRefsToDir(tempRefsDir, state.refs);
|
|
6626
|
+
await replaceStateDirectory(objectsDir(root), tempObjectsDir, stateBackupDir(root, OBJECTS_DIR));
|
|
6627
|
+
await replaceStateDirectory(refsDir(root), tempRefsDir, stateBackupDir(root, REFS_DIR));
|
|
6628
|
+
await writeWorkbenchRemotesFile(root, state.remotes);
|
|
6629
|
+
}
|
|
6630
|
+
finally {
|
|
6631
|
+
await fs.rm(tempRoot, { recursive: true, force: true });
|
|
6632
|
+
}
|
|
6633
|
+
});
|
|
6578
6634
|
});
|
|
6579
6635
|
}
|
|
6636
|
+
async function withStateSaveQueue(root, fn) {
|
|
6637
|
+
const normalizedRoot = path.resolve(root);
|
|
6638
|
+
const previous = stateSaveQueues.get(normalizedRoot) ?? Promise.resolve();
|
|
6639
|
+
const next = previous.catch(() => undefined).then(fn);
|
|
6640
|
+
const settled = next.then(() => undefined, () => undefined);
|
|
6641
|
+
stateSaveQueues.set(normalizedRoot, settled);
|
|
6642
|
+
try {
|
|
6643
|
+
return await next;
|
|
6644
|
+
}
|
|
6645
|
+
finally {
|
|
6646
|
+
if (stateSaveQueues.get(normalizedRoot) === settled) {
|
|
6647
|
+
stateSaveQueues.delete(normalizedRoot);
|
|
6648
|
+
}
|
|
6649
|
+
}
|
|
6650
|
+
}
|
|
6580
6651
|
class WorkbenchRemoteNotFoundError extends Error {
|
|
6581
6652
|
code = "ENOENT";
|
|
6582
6653
|
constructor(message) {
|
|
@@ -6872,7 +6943,7 @@ async function writeObjectPackFiles(root, pack) {
|
|
|
6872
6943
|
}
|
|
6873
6944
|
await writeJsonl(path.join(root, "indexes", "versions.jsonl"), pack.versions);
|
|
6874
6945
|
await writeJsonl(path.join(root, "indexes", "lineage.jsonl"), pack.lineage);
|
|
6875
|
-
await writeJsonl(path.join(root, "indexes", "measurements.jsonl"), pack.runs.filter((run) => run.score !== undefined));
|
|
6946
|
+
await writeJsonl(path.join(root, "indexes", "measurements.jsonl"), pack.runs.filter((run) => run.status === "succeeded" && run.score !== undefined));
|
|
6876
6947
|
await writeJsonl(path.join(root, "indexes", "runs.jsonl"), pack.runs);
|
|
6877
6948
|
await writeJsonl(path.join(root, "indexes", "jobs.jsonl"), pack.jobs);
|
|
6878
6949
|
await writeJsonl(path.join(root, "indexes", "execution-events.jsonl"), pack.executionEvents);
|
|
@@ -7160,22 +7231,62 @@ function validateRemoteName(name) {
|
|
|
7160
7231
|
function resolveVersion(state, ref) {
|
|
7161
7232
|
const version = findVersion(state, ref);
|
|
7162
7233
|
if (!version) {
|
|
7163
|
-
throw new WorkbenchUserError(`Version not found: ${ref}
|
|
7234
|
+
throw new WorkbenchUserError(`Version not found: ${ref}. Configured versions: ${configuredVersionRefs(state)}.`);
|
|
7164
7235
|
}
|
|
7165
7236
|
return version;
|
|
7166
7237
|
}
|
|
7167
7238
|
function findVersion(state, ref) {
|
|
7168
7239
|
const normalized = ref.trim();
|
|
7169
7240
|
const mapped = normalized === "current" ? state.refs.current : state.refs[normalized] ?? normalized;
|
|
7170
|
-
|
|
7171
|
-
|
|
7172
|
-
|
|
7241
|
+
if (!mapped) {
|
|
7242
|
+
return undefined;
|
|
7243
|
+
}
|
|
7244
|
+
const candidates = uniqueById(state.versions.filter((version) => versionRefMatches(version, mapped)));
|
|
7245
|
+
if (candidates.length > 1) {
|
|
7246
|
+
throw new WorkbenchCodedError("ref_ambiguous", `Version ref is ambiguous: ${ref}. Candidates: ${candidates.map(versionDisplayCandidate).join(", ")}.`, {
|
|
7247
|
+
subject: { ref, candidates: candidates.map((version) => version.id) },
|
|
7248
|
+
exitCode: 2,
|
|
7249
|
+
});
|
|
7250
|
+
}
|
|
7251
|
+
return candidates[0];
|
|
7173
7252
|
}
|
|
7174
7253
|
function findVersionById(state, id) {
|
|
7175
7254
|
return id ? state.versions.find((version) => version.id === id) : undefined;
|
|
7176
7255
|
}
|
|
7256
|
+
function versionRefMatches(version, ref) {
|
|
7257
|
+
const normalized = ref.trim();
|
|
7258
|
+
const withoutVersionPrefix = normalized.startsWith("v_") ? normalized.slice(2) : normalized;
|
|
7259
|
+
return version.id === normalized ||
|
|
7260
|
+
version.hash === normalized ||
|
|
7261
|
+
version.id.startsWith(normalized) ||
|
|
7262
|
+
version.hash.startsWith(normalized) ||
|
|
7263
|
+
version.hash.startsWith(withoutVersionPrefix) ||
|
|
7264
|
+
version.id.startsWith(`v_${withoutVersionPrefix}`);
|
|
7265
|
+
}
|
|
7266
|
+
function configuredVersionRefs(state) {
|
|
7267
|
+
const refs = state.versions
|
|
7268
|
+
.slice(-8)
|
|
7269
|
+
.map(versionDisplayCandidate)
|
|
7270
|
+
.sort();
|
|
7271
|
+
return refs.length > 0 ? refs.join(", ") : "none";
|
|
7272
|
+
}
|
|
7273
|
+
function versionDisplayCandidate(version) {
|
|
7274
|
+
return version.hash.slice(0, 8);
|
|
7275
|
+
}
|
|
7276
|
+
function uniqueById(entries) {
|
|
7277
|
+
const seen = new Set();
|
|
7278
|
+
const unique = [];
|
|
7279
|
+
for (const entry of entries) {
|
|
7280
|
+
if (seen.has(entry.id)) {
|
|
7281
|
+
continue;
|
|
7282
|
+
}
|
|
7283
|
+
seen.add(entry.id);
|
|
7284
|
+
unique.push(entry);
|
|
7285
|
+
}
|
|
7286
|
+
return unique;
|
|
7287
|
+
}
|
|
7177
7288
|
function latestScoredRun(args) {
|
|
7178
|
-
return latestMatchingRun(args, (run) => typeof run.score === "number");
|
|
7289
|
+
return latestMatchingRun(args, (run) => run.status === "succeeded" && typeof run.score === "number");
|
|
7179
7290
|
}
|
|
7180
7291
|
function latestComparableRun(args) {
|
|
7181
7292
|
return latestMatchingRun(args);
|
|
@@ -7198,7 +7309,7 @@ function comparisonCellRunFields(run, jobs) {
|
|
|
7198
7309
|
return {
|
|
7199
7310
|
runId: run.id,
|
|
7200
7311
|
status: run.status,
|
|
7201
|
-
...(run.score !== undefined ? { score: run.score } : {}),
|
|
7312
|
+
...(run.status === "succeeded" && run.score !== undefined ? { score: run.score } : {}),
|
|
7202
7313
|
...(run.costUsd !== undefined ? { costUsd: run.costUsd } : {}),
|
|
7203
7314
|
...(run.latencyMs !== undefined ? { latencyMs: run.latencyMs } : {}),
|
|
7204
7315
|
...(run.error ? { error: run.error } : {}),
|
|
@@ -8065,7 +8176,7 @@ function jsonRecord(value) {
|
|
|
8065
8176
|
const record = asRecord(value);
|
|
8066
8177
|
return record ? Object.fromEntries(Object.entries(record).map(([key, entry]) => [key, toJson(entry)])) : {};
|
|
8067
8178
|
}
|
|
8068
|
-
function
|
|
8179
|
+
function stripResultScores(result) {
|
|
8069
8180
|
delete result.score;
|
|
8070
8181
|
const metrics = asRecord(result.metrics);
|
|
8071
8182
|
if (metrics) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workbench-ai/workbench-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.72",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/workbench-ai/workbench.git",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"yaml": "^2.8.2",
|
|
25
|
-
"@workbench-ai/workbench-contract": "0.0.
|
|
26
|
-
"@workbench-ai/workbench-protocol": "0.0.
|
|
25
|
+
"@workbench-ai/workbench-contract": "0.0.72",
|
|
26
|
+
"@workbench-ai/workbench-protocol": "0.0.72"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "^24.3.1",
|