@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 +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +233 -88
- package/dist/remote-model.js +2 -2
- 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;
|
|
@@ -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
|
|
278
|
+
agent?: WorkbenchAgent;
|
|
277
279
|
evalHash?: string;
|
|
278
280
|
traceIds?: readonly string[];
|
|
279
281
|
}): WorkbenchTrace[];
|
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
|
@@ -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
|
|
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
|
|
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:
|
|
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 =
|
|
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
|
|
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:
|
|
1908
|
+
next: statusNextCommand({ state, remotes, defaultAgent }),
|
|
1891
1909
|
};
|
|
1892
1910
|
});
|
|
1893
1911
|
}
|
|
1894
|
-
function
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
2797
|
-
|
|
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
|
|
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
|
|
3200
|
+
const run = resolveStateObjectByRef(state.runs, objectRef, "run");
|
|
3163
3201
|
if (run) {
|
|
3164
3202
|
return run;
|
|
3165
3203
|
}
|
|
3166
|
-
const job = state.jobs
|
|
3204
|
+
const job = resolveStateObjectByRef(state.jobs, objectRef, "job");
|
|
3167
3205
|
if (job) {
|
|
3168
3206
|
return job;
|
|
3169
3207
|
}
|
|
3170
|
-
const trace = state.traces
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
? `
|
|
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: `
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
6539
|
-
await
|
|
6540
|
-
|
|
6541
|
-
|
|
6542
|
-
|
|
6543
|
-
|
|
6544
|
-
|
|
6545
|
-
|
|
6546
|
-
|
|
6547
|
-
|
|
6548
|
-
|
|
6549
|
-
|
|
6550
|
-
|
|
6551
|
-
|
|
6552
|
-
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
|
|
6557
|
-
|
|
6558
|
-
|
|
6559
|
-
|
|
6560
|
-
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
|
|
6564
|
-
|
|
6565
|
-
|
|
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
|
|
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: "
|
|
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: `
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
7149
|
-
|
|
7150
|
-
|
|
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
|
|
7838
|
+
throw new WorkbenchUserError("Workbench is not initialized here. Run `workbench new` first.");
|
|
7694
7839
|
}
|
|
7695
7840
|
}
|
|
7696
7841
|
function resolveRoot(dir) {
|
package/dist/remote-model.js
CHANGED
|
@@ -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: "
|
|
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: "
|
|
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.
|
|
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.
|
|
26
|
-
"@workbench-ai/workbench-protocol": "0.0.
|
|
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",
|