@workbench-ai/workbench-core 0.0.69 → 0.0.71

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 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;
@@ -150,6 +151,7 @@ export interface WorkbenchPublishResult {
150
151
  remote: WorkbenchRemote;
151
152
  version: WorkbenchVersion;
152
153
  visibility: WorkbenchPublishVisibility;
154
+ installHandle: string;
153
155
  installUrl: string;
154
156
  pinnedInstallUrl: string;
155
157
  dryRun?: boolean;
@@ -273,7 +275,7 @@ export declare function workbenchImprovementEvidenceTraces(traces: readonly Work
273
275
  export declare function workbenchImprovementEvidenceTracesForVersion(state: WorkbenchProjectState, options: {
274
276
  versionId: string;
275
277
  skillName: string;
276
- agent: WorkbenchAgent;
278
+ agent?: WorkbenchAgent;
277
279
  evalHash?: string;
278
280
  traceIds?: readonly string[];
279
281
  }): WorkbenchTrace[];
@@ -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
@@ -446,13 +446,13 @@ async function explicitAdapterAuthProfilesForExecution(execution, args, loadLoca
446
446
  const missingLoaded = loaded.findIndex((bundle) => !bundle);
447
447
  if (missingLoaded >= 0) {
448
448
  const target = required[missingLoaded];
449
- throw new Error(`ADAPTER_AUTH_REQUIRED: ${target.adapterId}${target.slot ? `/${target.slot}` : ""} disconnected. Run workbench auth connect ${target.adapterId}${target.slot ? `/${target.slot}` : ""}.`);
449
+ throw new Error(`ADAPTER_AUTH_REQUIRED: ${target.adapterId}${target.slot ? `/${target.slot}` : ""} disconnected. Run workbench login ${target.adapterId}${target.slot ? `/${target.slot}` : ""}.`);
450
450
  }
451
451
  return loaded.map((bundle) => bundle);
452
452
  }
453
453
  if (missing.length > 0) {
454
454
  const target = missing[0];
455
- throw new Error(`ADAPTER_AUTH_REQUIRED: ${target.adapterId}${target.slot ? `/${target.slot}` : ""} disconnected. Run workbench auth connect ${target.adapterId}${target.slot ? `/${target.slot}` : ""}.`);
455
+ throw new Error(`ADAPTER_AUTH_REQUIRED: ${target.adapterId}${target.slot ? `/${target.slot}` : ""} disconnected. Run workbench login ${target.adapterId}${target.slot ? `/${target.slot}` : ""}.`);
456
456
  }
457
457
  return required.map((target) => providedByTarget.get(adapterAuthTargetKey(target)));
458
458
  }
@@ -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
  "---",
@@ -1821,7 +1840,7 @@ export async function workbenchStatusSnapshot(options = {}) {
1821
1840
  total: 0,
1822
1841
  },
1823
1842
  remotes: [],
1824
- next: [`workbench init ${root}`],
1843
+ next: `workbench new ${root}`,
1825
1844
  };
1826
1845
  }
1827
1846
  return withWorkbenchProjectLockRoot(root, async () => {
@@ -1837,7 +1856,7 @@ export async function workbenchStatusSnapshot(options = {}) {
1837
1856
  await saveState(root, state);
1838
1857
  const defaultSkill = await readDefaultSkillSelection(root, skillSources);
1839
1858
  const defaultAgent = await readDefaultAgentSelection(root, agents);
1840
- const latestVersionId = state.versions[state.versions.length - 1]?.id;
1859
+ const latestVersionId = version.id;
1841
1860
  const lastRun = [...state.runs].sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
1842
1861
  const syncByRemote = new Map(syncStates.map((entry) => [entry.remote, entry]));
1843
1862
  const remotes = Object.values(state.remotes)
@@ -1851,9 +1870,8 @@ export async function workbenchStatusSnapshot(options = {}) {
1851
1870
  ...(sync.lastSyncedAt ? { lastSyncedAt: sync.lastSyncedAt } : {}),
1852
1871
  lastAttemptAt: sync.lastAttemptAt,
1853
1872
  ...(sync.lastError ? { lastError: sync.lastError } : { lastError: null }),
1854
- ...(sync.status === "error" ? { nextCommand: `workbench sync ${remote.name}` } : {}),
1855
1873
  }
1856
- : { status: "never", lastError: null, nextCommand: `workbench sync ${remote.name}` };
1874
+ : { status: "never", lastError: null };
1857
1875
  return {
1858
1876
  name: remote.name,
1859
1877
  kind: remote.kind,
@@ -1887,35 +1905,42 @@ export async function workbenchStatusSnapshot(options = {}) {
1887
1905
  } : {}),
1888
1906
  },
1889
1907
  remotes,
1890
- next: statusNextCommands({ state, remotes, defaultAgent }),
1908
+ next: statusNextCommand({ state, remotes, defaultAgent }),
1891
1909
  };
1892
1910
  });
1893
1911
  }
1894
- function statusNextCommands(args) {
1895
- const commands = [];
1896
- if (args.state.runs.length === 0) {
1897
- commands.push("workbench eval");
1898
- }
1912
+ function statusNextCommand(args) {
1899
1913
  const lastRun = [...args.state.runs].sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
1900
1914
  if (lastRun?.status === "failed" || lastRun?.status === "canceled") {
1901
- commands.push(`workbench trace ${lastRun.id}`);
1902
- commands.push(`workbench improve --agent ${args.defaultAgent ?? "default"} --budget 1 --samples 1`);
1915
+ return `workbench show ${lastRun.id}`;
1903
1916
  }
1904
1917
  const failedRemote = args.remotes.find((remote) => remote.sync.status === "error");
1905
1918
  if (failedRemote) {
1906
- commands.push(`workbench sync ${failedRemote.name}`);
1919
+ return `workbench sync ${failedRemote.name}`;
1907
1920
  }
1908
1921
  const unpublishedRemote = args.remotes.find((remote) => remote.kind === "workbench-cloud" &&
1909
1922
  remote.publication.status === "unpublished" &&
1910
1923
  remote.sync.status === "up_to_date");
1911
1924
  if (unpublishedRemote) {
1912
- commands.push(`workbench publish --remote ${unpublishedRemote.name} --visibility private`);
1925
+ return "workbench publish";
1913
1926
  }
1914
1927
  const publishedRemote = args.remotes.find((remote) => remote.kind === "workbench-cloud" && remote.publication.installUrl);
1915
1928
  if (publishedRemote?.publication.installUrl) {
1916
- commands.push(`workbench install --source ${publishedRemote.publication.installUrl} --list`);
1929
+ return `workbench install ${installHandleFromPublicationUrl(publishedRemote.publication.installUrl) ?? publishedRemote.publication.installUrl}`;
1930
+ }
1931
+ if (args.state.runs.length === 0) {
1932
+ return "workbench eval";
1933
+ }
1934
+ return null;
1935
+ }
1936
+ function installHandleFromPublicationUrl(installUrl) {
1937
+ try {
1938
+ const parsed = parseWorkbenchRemoteUrl(installUrl);
1939
+ return parsed.kind === "workbench-cloud" ? `${parsed.owner}/${parsed.skill}` : undefined;
1940
+ }
1941
+ catch {
1942
+ return undefined;
1917
1943
  }
1918
- return [...new Set(commands)];
1919
1944
  }
1920
1945
  async function workbenchStatusUnlocked(root, options = {}) {
1921
1946
  await autoSyncDefaultRemote(root, options);
@@ -2245,7 +2270,7 @@ export function createWorkbenchSkillEvalRuntimeInput(args) {
2245
2270
  runId: args.runId,
2246
2271
  versionId: args.versionId,
2247
2272
  attemptIndex: args.attempt ?? 0,
2248
- samples: 1,
2273
+ samples: Math.max(1, args.sample + 1),
2249
2274
  caseIds: [args.runtimeCase.id],
2250
2275
  sampleIndexesByCase: new Map([[args.runtimeCase.id, [args.sample]]]),
2251
2276
  spec,
@@ -2440,7 +2465,7 @@ export function workbenchImprovementEvidenceTraces(traces) {
2440
2465
  export function workbenchImprovementEvidenceTracesForVersion(state, options) {
2441
2466
  const lineageVersionIds = lineageAncestorVersionIds(state, options.versionId);
2442
2467
  const selectedTraceIds = options.traceIds?.length ? new Set(options.traceIds) : null;
2443
- const agentHash = hashJson(options.agent);
2468
+ const agentHash = options.agent ? hashJson(options.agent) : undefined;
2444
2469
  return improvementEvidenceTraces(state.traces.filter((trace) => {
2445
2470
  if (selectedTraceIds && !selectedTraceIds.has(trace.id)) {
2446
2471
  return false;
@@ -2448,13 +2473,19 @@ export function workbenchImprovementEvidenceTracesForVersion(state, options) {
2448
2473
  if (!lineageVersionIds.has(trace.versionId)) {
2449
2474
  return false;
2450
2475
  }
2451
- if (trace.skillName !== options.skillName || trace.agentName !== options.agent.name) {
2476
+ if (trace.skillName !== options.skillName) {
2452
2477
  return false;
2453
2478
  }
2454
2479
  if (options.evalHash && !traceEvalHashMatches(state, trace, options.evalHash)) {
2455
2480
  return false;
2456
2481
  }
2457
- return traceAgentHashMatches(state, trace, agentHash);
2482
+ if (options.agent) {
2483
+ if (trace.agentName !== options.agent.name) {
2484
+ return false;
2485
+ }
2486
+ return traceAgentHashMatches(state, trace, agentHash);
2487
+ }
2488
+ return true;
2458
2489
  }));
2459
2490
  }
2460
2491
  function improvementEvidenceTraces(traces) {
@@ -2541,7 +2572,7 @@ export function workbenchSkillImproveCanUseQueuedAdapter(agent) {
2541
2572
  return agentImproveAdapterInvocation(agent) !== null;
2542
2573
  }
2543
2574
  export function workbenchSkillImproveAdapterRequirementMessage(agent) {
2544
- return `Agent ${agent.name} cannot run improve because it has no skill-improvement adapter. Add improveCommand to a local/command agent, or use a Codex/Claude agent with adapter auth.`;
2575
+ return `Agent ${agent.name} cannot run improve because it has no skill-improvement adapter. Run workbench login claude (or codex) to connect an improver.`;
2545
2576
  }
2546
2577
  export function readWorkbenchSkillImprovementPatchFromRemoteJob(remoteJob) {
2547
2578
  const output = asRuntimeRecord(remoteJob.output);
@@ -2793,8 +2824,9 @@ export async function improveWorkbenchSkill(options = {}) {
2793
2824
  agent: options.agent,
2794
2825
  authToken: options.authToken,
2795
2826
  });
2796
- if (runtime.skillBundles.length !== 1 || runtime.selectedAgents.length !== 1) {
2797
- throw new WorkbenchUserError("workbench improve requires exactly one skill and one agent. Pass --skill primary --agent AGENT.");
2827
+ const externalImprover = options.improverAgent && !options.agent ? options.improverAgent : undefined;
2828
+ if (runtime.skillBundles.length !== 1 || (!externalImprover && runtime.selectedAgents.length !== 1)) {
2829
+ throw new WorkbenchUserError("workbench improve requires exactly one skill and one agent. Pass --skills primary --agents AGENT.");
2798
2830
  }
2799
2831
  const [skillBundle] = runtime.skillBundles;
2800
2832
  if (!skillBundle) {
@@ -2807,17 +2839,20 @@ export async function improveWorkbenchSkill(options = {}) {
2807
2839
  upsertByHash(state.skillBundles, bundle);
2808
2840
  }
2809
2841
  upsertAgentSnapshots(state.agents, runtime.agents);
2810
- const agent = runtime.selectedAgents[0];
2842
+ const agent = externalImprover ?? runtime.selectedAgents[0];
2811
2843
  if (!agent) {
2812
2844
  throw new WorkbenchUserError("No agent selected for improve.");
2813
2845
  }
2846
+ if (externalImprover) {
2847
+ upsertAgentSnapshots(state.agents, [externalImprover]);
2848
+ }
2814
2849
  const selectedEvidenceTraceIds = options.evidenceTraceIds?.length
2815
2850
  ? new Set(options.evidenceTraceIds)
2816
2851
  : null;
2817
2852
  const historicalTraces = workbenchImprovementEvidenceTracesForVersion(state, {
2818
2853
  versionId: base.id,
2819
2854
  skillName: skillBundle.skillName,
2820
- agent,
2855
+ ...(externalImprover ? {} : { agent }),
2821
2856
  evalHash: runtime.evalSnapshot.hash,
2822
2857
  ...(selectedEvidenceTraceIds ? { traceIds: [...selectedEvidenceTraceIds] } : {}),
2823
2858
  });
@@ -2856,7 +2891,7 @@ export async function improveWorkbenchSkill(options = {}) {
2856
2891
  const version = applied.version;
2857
2892
  const outputRuntime = await createWorkbenchVersionRuntimeSnapshot(version, {
2858
2893
  skill: PRIMARY_SKILL_NAME,
2859
- agent: agent.name,
2894
+ ...(externalImprover ? {} : { agent: agent.name }),
2860
2895
  authToken: options.authToken,
2861
2896
  });
2862
2897
  const [outputSkillBundle] = outputRuntime.skillBundles;
@@ -2867,6 +2902,9 @@ export async function improveWorkbenchSkill(options = {}) {
2867
2902
  upsertByHash(state.skillBundles, bundle);
2868
2903
  }
2869
2904
  upsertAgentSnapshots(state.agents, outputRuntime.agents);
2905
+ if (externalImprover) {
2906
+ upsertAgentSnapshots(state.agents, [externalImprover]);
2907
+ }
2870
2908
  const run = await executeWorkbenchEvaluationRun({
2871
2909
  root,
2872
2910
  state,
@@ -3152,28 +3190,28 @@ export async function showWorkbenchRef(ref, options = {}) {
3152
3190
  const file = version.files.find((entry) => entry.path === filePath);
3153
3191
  if (!file) {
3154
3192
  throw new WorkbenchCodedError("ref_not_found", `File not found in ${version.id}: ${filePath}`, {
3155
- remediation: `Run workbench files ${version.id}.`,
3193
+ remediation: `Run workbench show ${version.id}.`,
3156
3194
  subject: { ref: version.id, path: filePath },
3157
3195
  exitCode: 1,
3158
3196
  });
3159
3197
  }
3160
3198
  return file;
3161
3199
  }
3162
- const run = state.runs.find((entry) => entry.id === objectRef);
3200
+ const run = resolveStateObjectByRef(state.runs, objectRef, "run");
3163
3201
  if (run) {
3164
3202
  return run;
3165
3203
  }
3166
- const job = state.jobs.find((entry) => entry.id === objectRef);
3204
+ const job = resolveStateObjectByRef(state.jobs, objectRef, "job");
3167
3205
  if (job) {
3168
3206
  return job;
3169
3207
  }
3170
- const trace = state.traces.find((entry) => entry.id === objectRef);
3208
+ const trace = resolveStateObjectByRef(state.traces, objectRef, "trace");
3171
3209
  if (trace) {
3172
3210
  if (filePath) {
3173
3211
  const file = trace.files.find((entry) => entry.path === filePath);
3174
3212
  if (!file) {
3175
3213
  throw new WorkbenchCodedError("ref_not_found", `File not found in ${trace.id}: ${filePath}`, {
3176
- remediation: `Run workbench files ${trace.id}.`,
3214
+ remediation: `Run workbench show ${trace.id}.`,
3177
3215
  subject: { ref: trace.id, path: filePath },
3178
3216
  exitCode: 1,
3179
3217
  });
@@ -3182,13 +3220,13 @@ export async function showWorkbenchRef(ref, options = {}) {
3182
3220
  }
3183
3221
  return trace;
3184
3222
  }
3185
- const artifact = state.artifacts.find((entry) => entry.id === objectRef);
3223
+ const artifact = resolveStateObjectByRef(state.artifacts, objectRef, "artifact");
3186
3224
  if (artifact) {
3187
3225
  if (filePath) {
3188
3226
  const file = artifact.files.find((entry) => entry.path === filePath);
3189
3227
  if (!file) {
3190
3228
  throw new WorkbenchCodedError("ref_not_found", `File not found in ${artifact.id}: ${filePath}`, {
3191
- remediation: `Run workbench files ${artifact.id}.`,
3229
+ remediation: `Run workbench show ${artifact.id}.`,
3192
3230
  subject: { ref: artifact.id, path: filePath },
3193
3231
  exitCode: 1,
3194
3232
  });
@@ -3198,12 +3236,33 @@ export async function showWorkbenchRef(ref, options = {}) {
3198
3236
  return artifact;
3199
3237
  }
3200
3238
  throw new WorkbenchCodedError("ref_not_found", `Workbench object not found: ${objectRef}`, {
3201
- remediation: "Run workbench list runs --json or workbench versions --json.",
3239
+ remediation: "Run workbench log --json.",
3202
3240
  subject: { ref: objectRef },
3203
3241
  exitCode: 1,
3204
3242
  });
3205
3243
  });
3206
3244
  }
3245
+ function resolveStateObjectByRef(entries, ref, kind) {
3246
+ const normalized = ref.trim();
3247
+ if (!normalized) {
3248
+ return undefined;
3249
+ }
3250
+ const candidates = entries.filter((entry) => objectIdRefMatches(entry.id, normalized));
3251
+ if (candidates.length > 1) {
3252
+ throw new WorkbenchCodedError("ref_ambiguous", `${capitalize(kind)} ref is ambiguous: ${ref}. Candidates: ${candidates.map((entry) => entry.id).slice(0, 8).join(", ")}.`, {
3253
+ subject: { ref, candidates: candidates.map((entry) => entry.id).slice(0, 20) },
3254
+ exitCode: 2,
3255
+ });
3256
+ }
3257
+ return candidates[0];
3258
+ }
3259
+ function objectIdRefMatches(id, ref) {
3260
+ if (id === ref || id.startsWith(ref)) {
3261
+ return true;
3262
+ }
3263
+ const separator = id.indexOf("_");
3264
+ return separator !== -1 && id.slice(separator + 1).startsWith(ref);
3265
+ }
3207
3266
  export async function filesForWorkbenchRef(ref, options = {}) {
3208
3267
  const root = resolveRoot(options.dir);
3209
3268
  return withWorkbenchProjectLockIfInitialized(root, async () => {
@@ -3217,16 +3276,16 @@ export async function filesForWorkbenchRef(ref, options = {}) {
3217
3276
  if (version) {
3218
3277
  return version.files.map(copyFile);
3219
3278
  }
3220
- const trace = state.traces.find((entry) => entry.id === ref);
3279
+ const trace = resolveStateObjectByRef(state.traces, ref, "trace");
3221
3280
  if (trace) {
3222
3281
  return trace.files.map(copyFile);
3223
3282
  }
3224
- const artifact = state.artifacts.find((entry) => entry.id === ref);
3283
+ const artifact = resolveStateObjectByRef(state.artifacts, ref, "artifact");
3225
3284
  if (artifact) {
3226
3285
  return artifact.files.map(copyFile);
3227
3286
  }
3228
3287
  throw new WorkbenchCodedError("ref_not_found", `Workbench file object not found: ${ref}`, {
3229
- remediation: "Run workbench list runs --json, workbench list artifacts --json, or workbench versions --json.",
3288
+ remediation: "Run workbench log --json, then workbench show REF.",
3230
3289
  subject: { ref },
3231
3290
  exitCode: 1,
3232
3291
  });
@@ -3331,7 +3390,7 @@ function traceRubricForCase(trace) {
3331
3390
  }
3332
3391
  function caseDraftTestScript(id, trace) {
3333
3392
  const message = trace
3334
- ? `Trace-derived case ${id} needs expert acceptance criteria before it can pass. Source trace: ${trace.id}.`
3393
+ ? `Draft trace-derived case ${id} needs expert acceptance criteria before it can pass. Source trace: ${trace.id}.`
3335
3394
  : `Draft case ${id} needs a workflow-specific prompt, rubric, and test before it can pass.`;
3336
3395
  return [
3337
3396
  "#!/bin/sh",
@@ -3463,7 +3522,7 @@ export async function addWorkbenchRemote(name, url, options = {}) {
3463
3522
  ? "replaced"
3464
3523
  : (() => {
3465
3524
  throw new WorkbenchCodedError("remote_name_conflict", `Remote ${remoteName} already points at a different URL.`, {
3466
- remediation: `Run workbench remote add --name ${remoteName} --url ${remote.url} --replace to change it.`,
3525
+ remediation: `Update .workbench/remotes.yaml so ${remoteName} points at ${remote.url}.`,
3467
3526
  subject: { remote: remoteName, currentUrl: existing.url, requestedUrl: remote.url },
3468
3527
  exitCode: 1,
3469
3528
  });
@@ -3612,6 +3671,7 @@ export async function publishWorkbenchVersion(options = {}) {
3612
3671
  remote: sync.remote,
3613
3672
  version,
3614
3673
  visibility: options.visibility ?? "private",
3674
+ installHandle: workbenchRemoteInstallHandle(sync.remote),
3615
3675
  installUrl: workbenchRemoteSourceUrl(sync.remote),
3616
3676
  pinnedInstallUrl: workbenchRemoteReleaseSourceUrl(sync.remote, version.id),
3617
3677
  dryRun: true,
@@ -3630,6 +3690,7 @@ export async function publishWorkbenchVersion(options = {}) {
3630
3690
  remote: sync.remote,
3631
3691
  version,
3632
3692
  visibility: options.visibility ?? "private",
3693
+ installHandle: publication.installHandle,
3633
3694
  installUrl: publication.installUrl,
3634
3695
  pinnedInstallUrl: publication.pinnedInstallUrl,
3635
3696
  };
@@ -3640,7 +3701,7 @@ function assertPublishableRemote(remote) {
3640
3701
  return;
3641
3702
  }
3642
3703
  throw new WorkbenchCodedError("publish_failed", `Remote ${remote.name} is a file remote; only Workbench Cloud remotes can publish installable source.`, {
3643
- remediation: "Run workbench remote add --name cloud --url https://HOST/skills/OWNER/SKILL, then workbench publish --remote cloud.",
3704
+ remediation: "Run workbench login, then workbench publish from the skill project.",
3644
3705
  subject: { remote: remote.name, kind: remote.kind, url: remote.url },
3645
3706
  exitCode: 1,
3646
3707
  });
@@ -4554,6 +4615,14 @@ async function executeWorkbenchEvaluationRun(args) {
4554
4615
  }));
4555
4616
  }
4556
4617
  await saveState(args.root, args.state);
4618
+ let stateSaveQueue = Promise.resolve();
4619
+ const enqueueRunStateSave = async () => {
4620
+ const next = stateSaveQueue.then(async () => {
4621
+ await saveState(args.root, args.state);
4622
+ });
4623
+ stateSaveQueue = next.catch(() => undefined);
4624
+ await next;
4625
+ };
4557
4626
  const persistedTerminalJobs = new Map();
4558
4627
  const persistTerminalJob = async (completed) => {
4559
4628
  const plannedJob = inputsByJobId.get(completed.id);
@@ -4580,7 +4649,7 @@ async function executeWorkbenchEvaluationRun(args) {
4580
4649
  upsertJobObject(args.state.jobs, result.job);
4581
4650
  upsertImmutableById(args.state.artifacts, result.artifact, "artifact");
4582
4651
  upsertImmutableById(args.state.traces, result.trace, "trace");
4583
- await saveState(args.root, args.state);
4652
+ await enqueueRunStateSave();
4584
4653
  };
4585
4654
  let dag;
4586
4655
  try {
@@ -4603,7 +4672,7 @@ async function executeWorkbenchEvaluationRun(args) {
4603
4672
  runtimeCase: plannedJob.runtimeCase,
4604
4673
  sample: plannedJob.sample,
4605
4674
  }));
4606
- await saveState(args.root, args.state);
4675
+ await enqueueRunStateSave();
4607
4676
  },
4608
4677
  onJobFinished: persistTerminalJob,
4609
4678
  executeJob: async (job) => {
@@ -5543,7 +5612,7 @@ async function readAgents(root) {
5543
5612
  }
5544
5613
  catch (error) {
5545
5614
  if (fileErrorCode(error) === "ENOENT") {
5546
- throw new WorkbenchUserError(`Missing ${path.join(".workbench", AGENTS_FILE)}. Run \`workbench init\` or restore the agent file before continuing.`);
5615
+ throw new WorkbenchUserError(`Missing ${path.join(".workbench", AGENTS_FILE)}. Run \`workbench new\` or restore the agent file before continuing.`);
5547
5616
  }
5548
5617
  const message = error instanceof Error ? error.message : String(error);
5549
5618
  throw new WorkbenchUserError(`Unable to read ${path.join(".workbench", AGENTS_FILE)}: ${message}`);
@@ -5628,11 +5697,19 @@ function resolveNamedSelection(entries, selection, defaultSelection, noun) {
5628
5697
  return names.map((name) => {
5629
5698
  const entry = entries.find((candidate) => candidate.name === name);
5630
5699
  if (!entry) {
5631
- throw new WorkbenchUserError(`${capitalize(noun)} not found: ${name}`);
5700
+ throw new WorkbenchUserError(`${capitalize(noun)} not found: ${name}. Configured ${noun}s: ${configuredSelectionNames(entries)}.`);
5632
5701
  }
5633
5702
  return entry;
5634
5703
  });
5635
5704
  }
5705
+ function configuredSelectionNames(entries) {
5706
+ const names = entries.map((entry) => entry.name).sort();
5707
+ if (names.length === 0) {
5708
+ return "none";
5709
+ }
5710
+ const visible = names.slice(0, 8);
5711
+ return `${visible.join(", ")}${names.length > visible.length ? ", ..." : ""}`;
5712
+ }
5636
5713
  function readManifestDefaultSelection(record, fileLabel, entries, noun) {
5637
5714
  const configured = typeof record.default === "string" ? record.default.trim() : "";
5638
5715
  if (!configured) {
@@ -6462,7 +6539,7 @@ async function loadState(root, options = {}) {
6462
6539
  const workbenchRoot = workbenchDir(root);
6463
6540
  if (!await exists(workbenchRoot)) {
6464
6541
  if (!options.allowMissing) {
6465
- throw new WorkbenchUserError("Workbench is not initialized here. Run `workbench init` first.");
6542
+ throw new WorkbenchUserError("Workbench is not initialized here. Run `workbench new` first.");
6466
6543
  }
6467
6544
  return emptyWorkbenchState(root);
6468
6545
  }
@@ -6486,7 +6563,7 @@ async function loadStateReadOnlyWithRetry(root) {
6486
6563
  async function loadStateReadOnly(root) {
6487
6564
  const workbenchRoot = workbenchDir(root);
6488
6565
  if (!await exists(workbenchRoot)) {
6489
- throw new WorkbenchUserError("Workbench is not initialized here. Run `workbench init` first.");
6566
+ throw new WorkbenchUserError("Workbench is not initialized here. Run `workbench new` first.");
6490
6567
  }
6491
6568
  await assertStateDirsAvailableForReadOnly(root);
6492
6569
  return readStateFromObjectStore(root, (type) => readObjectTypeDirReadOnly(root, type));
@@ -6535,37 +6612,54 @@ function transientStateReadUnavailableError(root) {
6535
6612
  return error;
6536
6613
  }
6537
6614
  async function saveState(root, state) {
6538
- await withWorkbenchProjectLockRoot(root, async () => {
6539
- await fs.mkdir(workbenchDir(root), { recursive: true });
6540
- await fs.mkdir(path.join(workbenchDir(root), TMP_DIR), { recursive: true });
6541
- await fs.rm(path.join(workbenchDir(root), "store"), { recursive: true, force: true });
6542
- await recoverAtomicStateCommit(root);
6543
- const nonce = `${process.pid}-${Date.now()}-${randomBytes(4).toString("hex")}`;
6544
- const tempRoot = path.join(workbenchDir(root), TMP_DIR, `state-${nonce}`);
6545
- const tempObjectsDir = path.join(tempRoot, OBJECTS_DIR);
6546
- const tempRefsDir = path.join(tempRoot, REFS_DIR);
6547
- try {
6548
- await writeObjectCollectionToDir(tempObjectsDir, "version", state.versions, (version) => version.id);
6549
- await writeObjectCollectionToDir(tempObjectsDir, "skill-source", state.skillSources, (source) => source.name);
6550
- await writeObjectCollectionToDir(tempObjectsDir, "skill-bundle", state.skillBundles, (bundle) => bundle.hash);
6551
- await writeObjectCollectionToDir(tempObjectsDir, "eval", state.evals, (evalSnapshot) => evalSnapshot.hash);
6552
- await writeObjectCollectionToDir(tempObjectsDir, "agent", state.agents, (agent) => hashJson(agent));
6553
- await writeObjectCollectionToDir(tempObjectsDir, "run", state.runs, (run) => run.id);
6554
- await writeObjectCollectionToDir(tempObjectsDir, "job", state.jobs, (job) => job.id);
6555
- await writeObjectCollectionToDir(tempObjectsDir, "trace", state.traces, (trace) => trace.id);
6556
- await writeObjectCollectionToDir(tempObjectsDir, "execution-event", state.executionEvents, workbenchExecutionEventBatchId);
6557
- await writeObjectCollectionToDir(tempObjectsDir, "artifact", state.artifacts, (artifact) => artifact.id);
6558
- await writeObjectCollectionToDir(tempObjectsDir, "lineage", state.lineage, (edge) => hashJson(edge).slice(0, 24));
6559
- await writeWorkbenchRefsToDir(tempRefsDir, state.refs);
6560
- await replaceStateDirectory(objectsDir(root), tempObjectsDir, stateBackupDir(root, OBJECTS_DIR));
6561
- await replaceStateDirectory(refsDir(root), tempRefsDir, stateBackupDir(root, REFS_DIR));
6562
- await writeWorkbenchRemotesFile(root, state.remotes);
6563
- }
6564
- finally {
6565
- await fs.rm(tempRoot, { recursive: true, force: true });
6566
- }
6615
+ await withStateSaveQueue(root, async () => {
6616
+ await withWorkbenchProjectLockRoot(root, async () => {
6617
+ await fs.mkdir(workbenchDir(root), { recursive: true });
6618
+ await fs.mkdir(path.join(workbenchDir(root), TMP_DIR), { recursive: true });
6619
+ await fs.rm(path.join(workbenchDir(root), "store"), { recursive: true, force: true });
6620
+ await recoverAtomicStateCommit(root);
6621
+ const nonce = `${process.pid}-${Date.now()}-${randomBytes(4).toString("hex")}`;
6622
+ const tempRoot = path.join(workbenchDir(root), TMP_DIR, `state-${nonce}`);
6623
+ const tempObjectsDir = path.join(tempRoot, OBJECTS_DIR);
6624
+ const tempRefsDir = path.join(tempRoot, REFS_DIR);
6625
+ try {
6626
+ await writeObjectCollectionToDir(tempObjectsDir, "version", state.versions, (version) => version.id);
6627
+ await writeObjectCollectionToDir(tempObjectsDir, "skill-source", state.skillSources, (source) => source.name);
6628
+ await writeObjectCollectionToDir(tempObjectsDir, "skill-bundle", state.skillBundles, (bundle) => bundle.hash);
6629
+ await writeObjectCollectionToDir(tempObjectsDir, "eval", state.evals, (evalSnapshot) => evalSnapshot.hash);
6630
+ await writeObjectCollectionToDir(tempObjectsDir, "agent", state.agents, (agent) => hashJson(agent));
6631
+ await writeObjectCollectionToDir(tempObjectsDir, "run", state.runs, (run) => run.id);
6632
+ await writeObjectCollectionToDir(tempObjectsDir, "job", state.jobs, (job) => job.id);
6633
+ await writeObjectCollectionToDir(tempObjectsDir, "trace", state.traces, (trace) => trace.id);
6634
+ await writeObjectCollectionToDir(tempObjectsDir, "execution-event", state.executionEvents, workbenchExecutionEventBatchId);
6635
+ await writeObjectCollectionToDir(tempObjectsDir, "artifact", state.artifacts, (artifact) => artifact.id);
6636
+ await writeObjectCollectionToDir(tempObjectsDir, "lineage", state.lineage, (edge) => hashJson(edge).slice(0, 24));
6637
+ await writeWorkbenchRefsToDir(tempRefsDir, state.refs);
6638
+ await replaceStateDirectory(objectsDir(root), tempObjectsDir, stateBackupDir(root, OBJECTS_DIR));
6639
+ await replaceStateDirectory(refsDir(root), tempRefsDir, stateBackupDir(root, REFS_DIR));
6640
+ await writeWorkbenchRemotesFile(root, state.remotes);
6641
+ }
6642
+ finally {
6643
+ await fs.rm(tempRoot, { recursive: true, force: true });
6644
+ }
6645
+ });
6567
6646
  });
6568
6647
  }
6648
+ async function withStateSaveQueue(root, fn) {
6649
+ const normalizedRoot = path.resolve(root);
6650
+ const previous = stateSaveQueues.get(normalizedRoot) ?? Promise.resolve();
6651
+ const next = previous.catch(() => undefined).then(fn);
6652
+ const settled = next.then(() => undefined, () => undefined);
6653
+ stateSaveQueues.set(normalizedRoot, settled);
6654
+ try {
6655
+ return await next;
6656
+ }
6657
+ finally {
6658
+ if (stateSaveQueues.get(normalizedRoot) === settled) {
6659
+ stateSaveQueues.delete(normalizedRoot);
6660
+ }
6661
+ }
6662
+ }
6569
6663
  class WorkbenchRemoteNotFoundError extends Error {
6570
6664
  code = "ENOENT";
6571
6665
  constructor(message) {
@@ -6606,6 +6700,7 @@ async function writeRemotePublishedSource(remote, version, options) {
6606
6700
  throw new WorkbenchUserError(`Workbench Cloud remote did not return owner/name identity for ${remote.url}.`);
6607
6701
  }
6608
6702
  const publication = {
6703
+ installHandle: `${target.owner}/${target.name}`,
6609
6704
  installUrl: `${target.baseUrl}/skills/${encodeURIComponent(target.owner)}/${encodeURIComponent(target.name)}`,
6610
6705
  pinnedInstallUrl: `${target.baseUrl}/skills/${encodeURIComponent(target.owner)}/${encodeURIComponent(target.name)}/releases/${encodeURIComponent(version.id)}`,
6611
6706
  };
@@ -6621,7 +6716,7 @@ async function writeRemotePublishedSource(remote, version, options) {
6621
6716
  return publication;
6622
6717
  }
6623
6718
  throw new WorkbenchCodedError("publish_failed", `Remote ${remote.name} is a file remote; only Workbench Cloud remotes can publish installable source.`, {
6624
- remediation: "Run workbench remote add --name cloud --url https://HOST/skills/OWNER/SKILL, then workbench publish --remote cloud.",
6719
+ remediation: "Run workbench login, then workbench publish from the skill project.",
6625
6720
  subject: { remote: remote.name, kind: remote.kind, url: remote.url },
6626
6721
  exitCode: 1,
6627
6722
  });
@@ -6634,6 +6729,16 @@ function remoteObjectPackRoot(remote) {
6634
6729
  subject: { remote: remote.name, url: remote.url },
6635
6730
  });
6636
6731
  }
6732
+ function workbenchRemoteInstallHandle(remote) {
6733
+ if (!isHttpRemote(remote)) {
6734
+ throw new WorkbenchCodedError("publish_failed", `Remote ${remote.name} is a file remote; only Workbench Cloud remotes have install handles.`, {
6735
+ subject: { remote: remote.name, kind: remote.kind, url: remote.url },
6736
+ exitCode: 1,
6737
+ });
6738
+ }
6739
+ const parsed = parseHttpRemote(remote);
6740
+ return `${parsed.owner}/${parsed.name}`;
6741
+ }
6637
6742
  function workbenchRemoteSourceUrl(remote) {
6638
6743
  if (!isHttpRemote(remote)) {
6639
6744
  throw new WorkbenchCodedError("publish_failed", `Remote ${remote.name} is a file remote; only Workbench Cloud remotes have install URLs.`, {
@@ -6988,7 +7093,7 @@ async function readWorkbenchRemotesFile(root) {
6988
7093
  const parsed = parseYamlRecord(await fs.readFile(filePath, "utf8"));
6989
7094
  if (parsed.schema !== "workbench.remotes.v1") {
6990
7095
  throw new WorkbenchCodedError("remote_invalid_url", `${path.join(WORKBENCH_DIR, REMOTES_FILE)} must use schema workbench.remotes.v1.`, {
6991
- remediation: "Recreate remotes with workbench remote add --name origin --url URL.",
7096
+ remediation: "Fix .workbench/remotes.yaml or publish again to recreate the Workbench Cloud link.",
6992
7097
  subject: { path: path.join(WORKBENCH_DIR, REMOTES_FILE) },
6993
7098
  exitCode: 2,
6994
7099
  });
@@ -7006,7 +7111,7 @@ async function readWorkbenchRemotesFile(root) {
7006
7111
  const parsedUrl = parseWorkbenchRemoteUrl(url);
7007
7112
  if (kind && kind !== parsedUrl.kind) {
7008
7113
  throw new WorkbenchCodedError("remote_invalid_url", `Workbench remote ${remoteName} kind does not match its URL.`, {
7009
- remediation: `Run workbench remote add --name ${remoteName} --url ${parsedUrl.url} --replace.`,
7114
+ remediation: `Update .workbench/remotes.yaml so ${remoteName} points at ${parsedUrl.url}.`,
7010
7115
  subject: { remote: remoteName, kind, url },
7011
7116
  exitCode: 2,
7012
7117
  });
@@ -7103,12 +7208,12 @@ function resolveRemote(state, name) {
7103
7208
  }
7104
7209
  if (remotes.length === 0) {
7105
7210
  throw new WorkbenchCodedError("remote_required", "No remotes are configured.", {
7106
- remediation: "Run workbench remote add --name origin --url https://HOST/skills/OWNER/SKILL.",
7211
+ remediation: "Run workbench publish to create a Workbench Cloud link.",
7107
7212
  exitCode: 2,
7108
7213
  });
7109
7214
  }
7110
7215
  throw new WorkbenchCodedError("remote_required", "Multiple remotes are configured and none is named origin; name the remote to use.", {
7111
- remediation: "Run workbench remote list.",
7216
+ remediation: "Run workbench status and pass one remote name explicitly.",
7112
7217
  subject: { remotes: remotes.map((entry) => entry.name) },
7113
7218
  exitCode: 2,
7114
7219
  });
@@ -7117,7 +7222,7 @@ function resolveRemote(state, name) {
7117
7222
  const remote = state.remotes[remoteName];
7118
7223
  if (!remote) {
7119
7224
  throw new WorkbenchCodedError("remote_not_found", `Remote not found: ${remoteName}`, {
7120
- remediation: "Run workbench remote list.",
7225
+ remediation: "Run workbench status to inspect linked remotes.",
7121
7226
  subject: { remote: remoteName },
7122
7227
  exitCode: 1,
7123
7228
  });
@@ -7138,20 +7243,60 @@ function validateRemoteName(name) {
7138
7243
  function resolveVersion(state, ref) {
7139
7244
  const version = findVersion(state, ref);
7140
7245
  if (!version) {
7141
- throw new WorkbenchUserError(`Version not found: ${ref}`);
7246
+ throw new WorkbenchUserError(`Version not found: ${ref}. Configured versions: ${configuredVersionRefs(state)}.`);
7142
7247
  }
7143
7248
  return version;
7144
7249
  }
7145
7250
  function findVersion(state, ref) {
7146
7251
  const normalized = ref.trim();
7147
7252
  const mapped = normalized === "current" ? state.refs.current : state.refs[normalized] ?? normalized;
7148
- return state.versions.find((version) => version.id === mapped ||
7149
- version.hash === mapped ||
7150
- version.hash.startsWith(mapped ?? ""));
7253
+ if (!mapped) {
7254
+ return undefined;
7255
+ }
7256
+ const candidates = uniqueById(state.versions.filter((version) => versionRefMatches(version, mapped)));
7257
+ if (candidates.length > 1) {
7258
+ throw new WorkbenchCodedError("ref_ambiguous", `Version ref is ambiguous: ${ref}. Candidates: ${candidates.map(versionDisplayCandidate).join(", ")}.`, {
7259
+ subject: { ref, candidates: candidates.map((version) => version.id) },
7260
+ exitCode: 2,
7261
+ });
7262
+ }
7263
+ return candidates[0];
7151
7264
  }
7152
7265
  function findVersionById(state, id) {
7153
7266
  return id ? state.versions.find((version) => version.id === id) : undefined;
7154
7267
  }
7268
+ function versionRefMatches(version, ref) {
7269
+ const normalized = ref.trim();
7270
+ const withoutVersionPrefix = normalized.startsWith("v_") ? normalized.slice(2) : normalized;
7271
+ return version.id === normalized ||
7272
+ version.hash === normalized ||
7273
+ version.id.startsWith(normalized) ||
7274
+ version.hash.startsWith(normalized) ||
7275
+ version.hash.startsWith(withoutVersionPrefix) ||
7276
+ version.id.startsWith(`v_${withoutVersionPrefix}`);
7277
+ }
7278
+ function configuredVersionRefs(state) {
7279
+ const refs = state.versions
7280
+ .slice(-8)
7281
+ .map(versionDisplayCandidate)
7282
+ .sort();
7283
+ return refs.length > 0 ? refs.join(", ") : "none";
7284
+ }
7285
+ function versionDisplayCandidate(version) {
7286
+ return version.hash.slice(0, 8);
7287
+ }
7288
+ function uniqueById(entries) {
7289
+ const seen = new Set();
7290
+ const unique = [];
7291
+ for (const entry of entries) {
7292
+ if (seen.has(entry.id)) {
7293
+ continue;
7294
+ }
7295
+ seen.add(entry.id);
7296
+ unique.push(entry);
7297
+ }
7298
+ return unique;
7299
+ }
7155
7300
  function latestScoredRun(args) {
7156
7301
  return latestMatchingRun(args, (run) => typeof run.score === "number");
7157
7302
  }
@@ -7690,7 +7835,7 @@ function assertImmutableObjectCompatible(existing, incoming, label) {
7690
7835
  }
7691
7836
  async function requireInitialized(root) {
7692
7837
  if (!await exists(workbenchDir(root))) {
7693
- throw new WorkbenchUserError("Workbench is not initialized here. Run `workbench init` first.");
7838
+ throw new WorkbenchUserError("Workbench is not initialized here. Run `workbench new` first.");
7694
7839
  }
7695
7840
  }
7696
7841
  function resolveRoot(dir) {
@@ -5,7 +5,7 @@ export function parseWorkbenchRemoteUrl(rawUrl) {
5
5
  const trimmed = rawUrl.trim();
6
6
  if (!trimmed) {
7
7
  throw new WorkbenchCodedError("remote_invalid_url", "Workbench remote URL must be non-empty.", {
8
- remediation: "Run workbench remote add --name NAME --url file:///absolute/path or workbench remote add --name NAME --url https://HOST/skills/OWNER/SKILL.",
8
+ remediation: "Use publish for Workbench Cloud links or edit .workbench/remotes.yaml for plumbing file remotes.",
9
9
  exitCode: 2,
10
10
  });
11
11
  }
@@ -51,7 +51,7 @@ export function parseWorkbenchRemoteUrl(rawUrl) {
51
51
  const segments = url.pathname.split("/").filter(Boolean).map((segment) => decodeURIComponent(segment));
52
52
  if (segments.length !== 3 || segments[0] !== "skills") {
53
53
  throw new WorkbenchCodedError("remote_invalid_skill_slug", `Workbench Cloud remote must use /skills/OWNER/SKILL: ${trimmed}`, {
54
- remediation: "Run workbench remote add --name NAME --url https://HOST/skills/OWNER/SKILL.",
54
+ remediation: "Use publish for Workbench Cloud links or edit .workbench/remotes.yaml with https://HOST/skills/OWNER/SKILL.",
55
55
  subject: { url: trimmed },
56
56
  exitCode: 2,
57
57
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workbench-ai/workbench-core",
3
- "version": "0.0.69",
3
+ "version": "0.0.71",
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.69",
26
- "@workbench-ai/workbench-protocol": "0.0.69"
25
+ "@workbench-ai/workbench-contract": "0.0.71",
26
+ "@workbench-ai/workbench-protocol": "0.0.71"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^24.3.1",