@workbench-ai/workbench-core 0.0.50 → 0.0.51
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/generic-spec.d.ts +12 -0
- package/dist/generic-spec.d.ts.map +1 -1
- package/dist/generic-spec.js +54 -1
- package/dist/index.d.ts +30 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +238 -14
- package/package.json +3 -3
package/dist/generic-spec.d.ts
CHANGED
|
@@ -29,8 +29,18 @@ export interface AuthoredBenchmarkSpec {
|
|
|
29
29
|
export interface WorkbenchCandidateRunSpec extends WorkbenchAdapterInvocation {
|
|
30
30
|
name: string;
|
|
31
31
|
}
|
|
32
|
+
export interface WorkbenchCaseSelector {
|
|
33
|
+
all?: true;
|
|
34
|
+
split?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface WorkbenchSelectionSpec {
|
|
37
|
+
metric: string;
|
|
38
|
+
cases?: WorkbenchCaseSelector;
|
|
39
|
+
}
|
|
32
40
|
export interface WorkbenchCandidateImproveSpec extends WorkbenchAdapterInvocation {
|
|
33
41
|
edits: string[];
|
|
42
|
+
optimizeOn?: WorkbenchCaseSelector;
|
|
43
|
+
selectBy?: WorkbenchSelectionSpec;
|
|
34
44
|
}
|
|
35
45
|
export interface WorkbenchCandidateManifestSpec {
|
|
36
46
|
version: 4;
|
|
@@ -71,6 +81,8 @@ export interface GenericRunSpec {
|
|
|
71
81
|
runs: Record<string, WorkbenchCandidateRunSpec>;
|
|
72
82
|
improve?: {
|
|
73
83
|
edits: string[];
|
|
84
|
+
optimizeOn?: WorkbenchCaseSelector;
|
|
85
|
+
selectBy?: WorkbenchSelectionSpec;
|
|
74
86
|
};
|
|
75
87
|
};
|
|
76
88
|
environment: WorkbenchRuntimeSpec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-spec.d.ts","sourceRoot":"","sources":["../src/generic-spec.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAG1C,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE,+BAA+B,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,0BAA0B,CAAC;CACpC;AAED,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,6BAA8B,SAAQ,0BAA0B;IAC/E,KAAK,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"generic-spec.d.ts","sourceRoot":"","sources":["../src/generic-spec.ts"],"names":[],"mappings":"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"}
|
package/dist/generic-spec.js
CHANGED
|
@@ -161,6 +161,8 @@ function genericSpecFromAuthoredBundle(source) {
|
|
|
161
161
|
? {
|
|
162
162
|
improve: {
|
|
163
163
|
edits: [...candidate.improve.edits],
|
|
164
|
+
...(candidate.improve.optimizeOn ? { optimizeOn: cloneJson(candidate.improve.optimizeOn) } : {}),
|
|
165
|
+
...(candidate.improve.selectBy ? { selectBy: cloneJson(candidate.improve.selectBy) } : {}),
|
|
164
166
|
},
|
|
165
167
|
}
|
|
166
168
|
: {}),
|
|
@@ -315,16 +317,67 @@ function normalizeCandidateImprove(value, label, errors) {
|
|
|
315
317
|
if (!record) {
|
|
316
318
|
return undefined;
|
|
317
319
|
}
|
|
318
|
-
rejectUnknownKeys(record, label, ["edits", "use", "with", "auth"], errors);
|
|
320
|
+
rejectUnknownKeys(record, label, ["edits", "use", "with", "auth", "optimizeOn", "selectBy"], errors);
|
|
319
321
|
const edits = normalizeRelativePathList(record.edits, `${label}.edits`, errors);
|
|
320
322
|
const invocation = normalizePhaseAdapter(adapterRecordFrom(record), label, errors);
|
|
323
|
+
const optimizeOn = normalizeCaseSelector(record.optimizeOn, `${label}.optimizeOn`, errors);
|
|
324
|
+
const selectBy = normalizeSelectionSpec(record.selectBy, `${label}.selectBy`, errors);
|
|
321
325
|
return edits.length > 0 && invocation
|
|
322
326
|
? {
|
|
323
327
|
...invocation,
|
|
324
328
|
edits,
|
|
329
|
+
...(optimizeOn ? { optimizeOn } : {}),
|
|
330
|
+
...(selectBy ? { selectBy } : {}),
|
|
325
331
|
}
|
|
326
332
|
: undefined;
|
|
327
333
|
}
|
|
334
|
+
function normalizeSelectionSpec(value, label, errors) {
|
|
335
|
+
if (value === undefined) {
|
|
336
|
+
return undefined;
|
|
337
|
+
}
|
|
338
|
+
const record = readRequiredRecord(value, label, errors);
|
|
339
|
+
if (!record) {
|
|
340
|
+
return undefined;
|
|
341
|
+
}
|
|
342
|
+
rejectUnknownKeys(record, label, ["metric", "cases"], errors);
|
|
343
|
+
const metric = readRequiredString(record.metric, `${label}.metric`, errors);
|
|
344
|
+
const cases = normalizeCaseSelector(record.cases, `${label}.cases`, errors);
|
|
345
|
+
return metric
|
|
346
|
+
? {
|
|
347
|
+
metric,
|
|
348
|
+
...(cases ? { cases } : {}),
|
|
349
|
+
}
|
|
350
|
+
: undefined;
|
|
351
|
+
}
|
|
352
|
+
function normalizeCaseSelector(value, label, errors) {
|
|
353
|
+
if (value === undefined) {
|
|
354
|
+
return undefined;
|
|
355
|
+
}
|
|
356
|
+
const record = readRequiredRecord(value, label, errors);
|
|
357
|
+
if (!record) {
|
|
358
|
+
return undefined;
|
|
359
|
+
}
|
|
360
|
+
rejectUnknownKeys(record, label, ["all", "split"], errors);
|
|
361
|
+
const hasAll = Object.prototype.hasOwnProperty.call(record, "all");
|
|
362
|
+
const hasSplit = Object.prototype.hasOwnProperty.call(record, "split");
|
|
363
|
+
if (hasAll && hasSplit) {
|
|
364
|
+
errors.push(`${label} must specify either all or split, not both.`);
|
|
365
|
+
return undefined;
|
|
366
|
+
}
|
|
367
|
+
if (!hasAll && !hasSplit) {
|
|
368
|
+
errors.push(`${label} must specify all: true or split.`);
|
|
369
|
+
return undefined;
|
|
370
|
+
}
|
|
371
|
+
if (hasAll) {
|
|
372
|
+
if (record.all !== true) {
|
|
373
|
+
errors.push(`${label}.all must be true when provided.`);
|
|
374
|
+
return undefined;
|
|
375
|
+
}
|
|
376
|
+
return { all: true };
|
|
377
|
+
}
|
|
378
|
+
const split = readRequiredString(record.split, `${label}.split`, errors);
|
|
379
|
+
return split ? { split } : undefined;
|
|
380
|
+
}
|
|
328
381
|
function adapterRecordFrom(record) {
|
|
329
382
|
return {
|
|
330
383
|
use: record.use,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { AuthoredWorkbenchSourceDocument, CandidateCaseExecutionRef, CandidateCaseReview, CandidateFilePreview, CandidateFileSummary, CandidateLineageGraph, CandidateRecord, CandidateSummary, EvalCaseResult, EvaluationRecord, EvaluationScorecard, HostedWorkbenchEnvironment, HostedWorkbenchEnvironmentVersion, HostedWorkbenchFileInput, HostedWorkbenchJob, Json, SurfaceSnapshotFile, UsageSummary, WorkbenchCandidatePatch, WorkbenchExecutionCapability, WorkbenchExecutionSpec, WorkbenchResult } from "@workbench-ai/workbench-contract";
|
|
1
|
+
import type { AuthoredWorkbenchSourceDocument, CandidateCaseExecutionRef, CandidateCaseReview, CandidateFilePreview, CandidateFileSummary, CandidateLineageGraph, CandidateRecord, CandidateSummary, EvalCaseResult, EvaluationRecord, EvaluationScorecard, HostedWorkbenchEnvironment, HostedWorkbenchEnvironmentVersion, HostedWorkbenchFileInput, HostedWorkbenchJob, Json, SurfaceSnapshotFile, UsageSummary, WorkbenchRuntimeBundle, WorkbenchRuntimeBundleStats, WorkbenchProjectStateSource, WorkbenchCandidatePatch, WorkbenchExecutionCapability, WorkbenchExecutionSpec, WorkbenchResult } from "@workbench-ai/workbench-contract";
|
|
2
2
|
import { type WorkbenchAdapterOperationExecutor, type WorkbenchAdapterOperationResult } from "@workbench-ai/workbench-protocol";
|
|
3
|
-
import { type GenericEngineCaseSpec, type GenericRunSpec, type WorkbenchEngineCase } from "./generic-spec.ts";
|
|
3
|
+
import { type GenericEngineCaseSpec, type GenericRunSpec, type WorkbenchCaseSelector, type WorkbenchEngineCase } from "./generic-spec.ts";
|
|
4
4
|
import type { WorkbenchExecutionRuntimeInput } from "./execution-runtime-types.ts";
|
|
5
5
|
import { createWorkbenchExecutionCapability, type SandboxExecutionFileStore, type SandboxPlane } from "./sandbox-plane.ts";
|
|
6
|
-
export { BENCHMARK_SPEC_FILE, CANDIDATE_SPEC_FILE, DEFAULT_EXECUTION_RESOURCES, engineCasePrivateFiles, engineCaseFilesForRuntimeInput, engineCasePublicFiles, engineResolveInvocationForSpec, engineResolveBindingForSpec, engineResolveBindingForSourceYaml, isWorkbenchCandidateManifestPath, parseWorkbenchSourceFiles, resolveEngineCaseExecutionConfig, resolveWorkbenchResolvedSourceYaml, resolveWorkbenchSourceFiles, runtimeNetwork, runtimeResources, serializeWorkbenchResolvedSourceYaml, validateWorkbenchResolvedSourceYaml, type AuthoredBenchmarkSpec, type WorkbenchCandidateImproveSpec, type WorkbenchCandidateManifestSpec, type WorkbenchCandidateRunSpec, type GenericRunSpec, type GenericEngineCaseSpec, type WorkbenchEngineCase, type WorkbenchResolvedSource, } from "./generic-spec.ts";
|
|
6
|
+
export { BENCHMARK_SPEC_FILE, CANDIDATE_SPEC_FILE, DEFAULT_EXECUTION_RESOURCES, engineCasePrivateFiles, engineCaseFilesForRuntimeInput, engineCasePublicFiles, engineResolveInvocationForSpec, engineResolveBindingForSpec, engineResolveBindingForSourceYaml, isWorkbenchCandidateManifestPath, parseWorkbenchSourceFiles, resolveEngineCaseExecutionConfig, resolveWorkbenchResolvedSourceYaml, resolveWorkbenchSourceFiles, runtimeNetwork, runtimeResources, serializeWorkbenchResolvedSourceYaml, validateWorkbenchResolvedSourceYaml, type AuthoredBenchmarkSpec, type WorkbenchCandidateImproveSpec, type WorkbenchCandidateManifestSpec, type WorkbenchCandidateRunSpec, type WorkbenchCaseSelector, type WorkbenchSelectionSpec, type GenericRunSpec, type GenericEngineCaseSpec, type WorkbenchEngineCase, type WorkbenchResolvedSource, } from "./generic-spec.ts";
|
|
7
7
|
export { composeRuntimeDockerfileWithAdapterInstallers, type WorkbenchRuntimeAdapterInstaller, type WorkbenchRuntimeAdapterInstallerFile, } from "./runtime-dockerfile.ts";
|
|
8
8
|
export { adapterCommandName, cloneWorkbenchAdapterManifest, collectWorkbenchAdapterAuthRequirements, collectWorkbenchAdapterInvocations, parseWorkbenchAdapterManifest, workbenchAdapterManifestRequiresAuth, workbenchAdapterManifestSupportsOperation, workbenchAdapterOperationCommand, workbenchAdapterOperationExecutor, withDefaultWorkbenchAdapterAuth, withDefaultWorkbenchAdapterAuthProfiles, type WorkbenchPrimitiveAdapterOperation, type WorkbenchAdapterOperation, type WorkbenchAdapterOperationExecutor, type WorkbenchAdapterOperationManifest, type WorkbenchAdapterSlotManifest, type WorkbenchAdapterAuthRequirement, type WorkbenchAdapterAuthManifest, type WorkbenchAdapterAuthMethodManifest, type WorkbenchAdapterInvocationLike, type WorkbenchAdapterManifest, } from "@workbench-ai/workbench-protocol";
|
|
9
9
|
export { adapterAuthEnv, createWorkbenchAdapterAuthBundle, defaultWorkbenchAdapterAuthStoreRoot, localWorkbenchAdapterAuthStore, normalizeWorkbenchAdapterAuthTarget, parseWorkbenchAdapterAuthTarget, sanitizeWorkbenchAdapterAuthBundle, type WorkbenchAdapterAuthBundle, type WorkbenchAdapterAuthEnvVar, type WorkbenchAdapterAuthFile, type WorkbenchAdapterAuthStatus, type WorkbenchAdapterAuthStatusRecord, type WorkbenchAdapterAuthStore, type WorkbenchAdapterAuthTarget, } from "./adapter-auth.ts";
|
|
@@ -25,7 +25,13 @@ export { buildCandidateCaseExecutionRefs, buildWorkbenchExecutionEvidence, isWor
|
|
|
25
25
|
export { buildWorkbenchTraceSessionsFromFiles, combineWorkbenchTraceSessions, finalizeWorkbenchExecutionTraceForJob, mergeWorkbenchExecutionTracesByJob, readWorkbenchExecutionTraceFiles, traceSessionLabel, type WorkbenchTraceMergeJob, } from "./execution-traces.ts";
|
|
26
26
|
export { DOCKER_SANDBOX_BACKEND, assertSandboxHostHealthForProvider, createDockerSandboxBackendDescriptor, createDockerSandboxPlane, resolveWorkbenchSandboxProviderName, sandboxProviderAdmissionForResources, sandboxProviderDefaultMaxConcurrentJobs, sandboxProviderLeaseScope, sandboxHostHealthExpectationForProvider, type SandboxProviderAdmission, type SandboxProviderHostCost, type SandboxProviderLeaseRequest, type SandboxProviderRequestedResources, type SandboxHostHealthExpectation, type WorkbenchSandboxProviderName, } from "./sandbox-backends/index.ts";
|
|
27
27
|
export type { WorkbenchExecutionEventPublisher, WorkbenchExecutionProgressTarget, } from "./execution-events.ts";
|
|
28
|
-
export type { CandidateCaseReview, CandidateRecord, EngineResolveBinding, EvaluationScorecard, HostedWorkbenchJob, Json, RunSummary, RuntimeEvent, SurfaceSnapshotFile, WorkbenchExecutionCapability, WorkbenchExecutionTrace, WorkbenchTraceSession, WorkbenchSandboxHandle, WorkbenchSandboxExecutionMetadata, } from "@workbench-ai/workbench-contract";
|
|
28
|
+
export type { CandidateCaseReview, CandidateRecord, EngineResolveBinding, EvaluationScorecard, HostedWorkbenchJob, Json, RunSummary, RuntimeEvent, SurfaceSnapshotFile, WorkbenchRuntimeBundle, WorkbenchRuntimeBundleStats, WorkbenchRuntimeRun, WorkbenchRuntimeCandidateFiles, WorkbenchRuntimeExecutionFiles, WorkbenchRuntimeImportResult, WorkbenchProjectSourceResources, WorkbenchProjectState, WorkbenchProjectStateBase, WorkbenchProjectStateImportResult, WorkbenchProjectStateRemote, WorkbenchProjectStateSource, WorkbenchExecutionCapability, WorkbenchExecutionTrace, WorkbenchTraceSession, WorkbenchSandboxHandle, WorkbenchSandboxExecutionMetadata, } from "@workbench-ai/workbench-contract";
|
|
29
|
+
export declare function sanitizeWorkbenchRuntimeJobForExchange(job: HostedWorkbenchJob): HostedWorkbenchJob;
|
|
30
|
+
export declare function sanitizeWorkbenchRuntimeCandidateForExchange(candidate: CandidateRecord): CandidateRecord;
|
|
31
|
+
export declare function workbenchProjectSourceFingerprint(input: Omit<WorkbenchProjectStateSource, "files" | "revisionId" | "fingerprint">): string;
|
|
32
|
+
export declare function workbenchRuntimeBundleFingerprint(bundle: WorkbenchRuntimeBundle): string;
|
|
33
|
+
export declare function workbenchSurfaceFilesEqualForExchange(left: readonly SurfaceSnapshotFile[], right: readonly SurfaceSnapshotFile[]): boolean;
|
|
34
|
+
export declare function workbenchRuntimeBundleStats(bundle: WorkbenchRuntimeBundle): WorkbenchRuntimeBundleStats;
|
|
29
35
|
export interface WorkbenchRunMaterialization {
|
|
30
36
|
candidates: CandidateRecord[];
|
|
31
37
|
candidateFiles: Record<string, SurfaceSnapshotFile[]>;
|
|
@@ -89,6 +95,11 @@ export declare function materializeWorkbenchRunResult(args: {
|
|
|
89
95
|
jobs: readonly HostedWorkbenchJob[];
|
|
90
96
|
previousCandidate?: CandidateRecord | null;
|
|
91
97
|
existingCandidateCount: number;
|
|
98
|
+
selection?: {
|
|
99
|
+
metric: string;
|
|
100
|
+
caseIds?: readonly string[];
|
|
101
|
+
label?: string;
|
|
102
|
+
};
|
|
92
103
|
}): WorkbenchRunMaterialization;
|
|
93
104
|
export declare function evaluationScorecardId(runId: string, candidateId: string): string;
|
|
94
105
|
export declare function selectExecutionOutputFilesForInspection(args: {
|
|
@@ -100,6 +111,21 @@ export declare function isWorkbenchInternalOutputPath(filePath: string): boolean
|
|
|
100
111
|
export declare function createOptimizerTraceInputFiles(args: {
|
|
101
112
|
jobs: readonly HostedWorkbenchJob[];
|
|
102
113
|
}): SurfaceSnapshotFile[];
|
|
114
|
+
export interface WorkbenchSelectionPolicy {
|
|
115
|
+
metric: string;
|
|
116
|
+
selector: WorkbenchCaseSelector;
|
|
117
|
+
}
|
|
118
|
+
export declare function workbenchImproveOptimizeSelector(spec: GenericRunSpec): WorkbenchCaseSelector;
|
|
119
|
+
export declare function workbenchImproveSelectionPolicy(spec: GenericRunSpec): WorkbenchSelectionPolicy;
|
|
120
|
+
export declare function workbenchEngineCaseIdsForSelector(engineCases: readonly WorkbenchEngineCase[], selector: WorkbenchCaseSelector): string[];
|
|
121
|
+
export declare function workbenchEngineCaseIdsForImproveEvaluation(args: {
|
|
122
|
+
spec: GenericRunSpec;
|
|
123
|
+
engineCases: readonly WorkbenchEngineCase[];
|
|
124
|
+
}): string[];
|
|
125
|
+
export declare function filterOptimizerTraceJobsForCaseIds(jobs: readonly HostedWorkbenchJob[], caseIds: readonly string[]): HostedWorkbenchJob[];
|
|
126
|
+
export declare function formatWorkbenchCaseSelector(selector: WorkbenchCaseSelector): string;
|
|
127
|
+
export declare function formatWorkbenchSelectionPolicy(policy: WorkbenchSelectionPolicy): string;
|
|
128
|
+
export declare function workbenchCaseSelectorUsesAllCases(selector: WorkbenchCaseSelector): boolean;
|
|
103
129
|
export declare function evaluationMeanMetrics(evaluation: Pick<EvaluationRecord, "metrics"> | null | undefined): Record<string, number> | undefined;
|
|
104
130
|
export declare function candidateRecordWithoutDerivedFields(candidate: CandidateRecord): CandidateRecord;
|
|
105
131
|
export declare function candidateSummaryFromRecord(candidate: CandidateRecord): CandidateSummary;
|
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
|
@@ -4,7 +4,7 @@ import path from "node:path";
|
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import YAML from "yaml";
|
|
6
6
|
import { adapterCommandName, assertWorkbenchAdapterOperationResultOk, collectWorkbenchAdapterAuthRequirements, parseWorkbenchAdapterManifest, readWorkbenchAdapterOperationResult, WORKBENCH_RUNTIME_CONTROL_TOKEN_ENV, WORKBENCH_RUNTIME_CONTROL_URL_ENV, workbenchAdapterOperationCommand, workbenchAdapterOperationExecutor, workbenchAdapterOperationResultPath, } from "@workbench-ai/workbench-protocol";
|
|
7
|
-
import { BENCHMARK_SPEC_FILE, engineCasePrivateFiles, engineCaseFilesForRuntimeInput, engineCasePublicFiles, resolveEngineCaseExecutionConfig, resolveWorkbenchResolvedSourceYaml as resolveWorkbenchResolvedSourceYamlInternal, validateWorkbenchResolvedSourceYaml as validateWorkbenchResolvedSourceYamlInternal, isWorkbenchCandidateManifestPath, } from "./generic-spec.js";
|
|
7
|
+
import { BENCHMARK_SPEC_FILE, DEFAULT_EXECUTION_RESOURCES, engineCasePrivateFiles, engineCaseFilesForRuntimeInput, engineCasePublicFiles, resolveEngineCaseExecutionConfig, resolveWorkbenchResolvedSourceYaml as resolveWorkbenchResolvedSourceYamlInternal, validateWorkbenchResolvedSourceYaml as validateWorkbenchResolvedSourceYamlInternal, isWorkbenchCandidateManifestPath, } from "./generic-spec.js";
|
|
8
8
|
import { attachSandboxMetadataToJob, createWorkbenchSandboxFileStore, isSurfaceSnapshotFile, readWorkbenchExecutionSpec, } from "./sandbox-inputs.js";
|
|
9
9
|
import { asRuntimeRecord, importNodeModule, isJsonPayload, jsonRecord, nodeBuiltin, quoteShellArg, resolveWorkbenchWorkerId, } from "./runtime-utils.js";
|
|
10
10
|
import { createWorkbenchExecutionCapability, createWorkbenchSandboxAllocation, collectExecutionCapabilityScopeIssues, collectSandboxAllocationScopeIssues, collectSandboxHandleScopeIssues, assertSandboxBackendSupportsNetworkPolicy, executeValidatedSandboxExecution, } from "./sandbox-plane.js";
|
|
@@ -36,6 +36,117 @@ export { collectSandboxAllocationScopeIssues, collectExecutionCapabilityScopeIss
|
|
|
36
36
|
export { buildCandidateCaseExecutionRefs, buildWorkbenchExecutionEvidence, isWorkbenchExecutionActive, readWorkbenchExecutionId, readWorkbenchExecutionMetadataNumber, readWorkbenchExecutionMetadataString, readWorkbenchExecutionPurpose, resolveWorkbenchJobGroupStatus, } from "./execution-evidence.js";
|
|
37
37
|
export { buildWorkbenchTraceSessionsFromFiles, combineWorkbenchTraceSessions, finalizeWorkbenchExecutionTraceForJob, mergeWorkbenchExecutionTracesByJob, readWorkbenchExecutionTraceFiles, traceSessionLabel, } from "./execution-traces.js";
|
|
38
38
|
export { DOCKER_SANDBOX_BACKEND, assertSandboxHostHealthForProvider, createDockerSandboxBackendDescriptor, createDockerSandboxPlane, resolveWorkbenchSandboxProviderName, sandboxProviderAdmissionForResources, sandboxProviderDefaultMaxConcurrentJobs, sandboxProviderLeaseScope, sandboxHostHealthExpectationForProvider, } from "./sandbox-backends/index.js";
|
|
39
|
+
export function sanitizeWorkbenchRuntimeJobForExchange(job) {
|
|
40
|
+
const { leaseUntil: _leaseUntil, wakeupLeaseUntil: _wakeupLeaseUntil, hostId: _hostId, workerId: _workerId, claimTokenHash: _claimTokenHash, trace: _trace, traceSessions: _traceSessions, ...portable } = job;
|
|
41
|
+
return { ...portable };
|
|
42
|
+
}
|
|
43
|
+
export function sanitizeWorkbenchRuntimeCandidateForExchange(candidate) {
|
|
44
|
+
const { ownerUserId: _ownerUserId, ownerUsername: _ownerUsername, visibility: _visibility, metrics: _metrics, candidateRunId: _candidateRunId, candidateRunName: _candidateRunName, ...portable } = candidate;
|
|
45
|
+
return { ...portable };
|
|
46
|
+
}
|
|
47
|
+
export function workbenchProjectSourceFingerprint(input) {
|
|
48
|
+
const canonical = {
|
|
49
|
+
sourceYaml: normalizeTextForProjectStateFingerprint(input.source),
|
|
50
|
+
candidateFiles: canonicalFilesForProjectStateFingerprint(input.candidateFiles),
|
|
51
|
+
engineResolveFiles: canonicalFilesForProjectStateFingerprint(input.engineResolveFiles),
|
|
52
|
+
engineResolveBinding: {
|
|
53
|
+
engine: input.engineResolveBinding.engine,
|
|
54
|
+
resolver: {
|
|
55
|
+
use: input.engineResolveBinding.resolver.use,
|
|
56
|
+
withFingerprint: input.engineResolveBinding.resolver.withFingerprint,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
adapterFiles: canonicalFilesForProjectStateFingerprint(input.adapterFiles),
|
|
60
|
+
runtimeFiles: canonicalFilesForProjectStateFingerprint(input.runtimeFiles),
|
|
61
|
+
dockerfile: normalizeTextForProjectStateFingerprint(input.dockerfile),
|
|
62
|
+
runtimeDockerfile: normalizeTextForProjectStateFingerprint(input.runtimeDockerfile),
|
|
63
|
+
resources: normalizeProjectStateResources(input.resources),
|
|
64
|
+
network: input.network,
|
|
65
|
+
};
|
|
66
|
+
return createHash("sha256").update(JSON.stringify(canonicalizeProjectState(canonical))).digest("hex");
|
|
67
|
+
}
|
|
68
|
+
export function workbenchRuntimeBundleFingerprint(bundle) {
|
|
69
|
+
const canonical = {
|
|
70
|
+
schema: bundle.schema,
|
|
71
|
+
activeId: bundle.activeId,
|
|
72
|
+
candidates: sortByStableKey(bundle.candidates.map(sanitizeWorkbenchRuntimeCandidateForExchange), (candidate) => candidate.id),
|
|
73
|
+
candidateFiles: sortByStableKey(bundle.candidateFiles.map((group) => ({
|
|
74
|
+
candidateId: group.candidateId,
|
|
75
|
+
files: canonicalFilesForProjectStateFingerprint(group.files),
|
|
76
|
+
})), (group) => group.candidateId),
|
|
77
|
+
evaluations: sortByStableKey(bundle.evaluations, (evaluation) => evaluation.id),
|
|
78
|
+
runs: sortByStableKey(bundle.runs, (run) => run.id),
|
|
79
|
+
jobs: sortByStableKey(bundle.jobs.map(runtimeJobForProjectStateFingerprint), (job) => job.id),
|
|
80
|
+
executionFiles: sortByStableKey(bundle.executionFiles.map((group) => ({
|
|
81
|
+
jobId: group.jobId,
|
|
82
|
+
files: canonicalFilesForProjectStateFingerprint(group.files),
|
|
83
|
+
})), (group) => group.jobId),
|
|
84
|
+
events: sortByStableKey(bundle.events, (event) => [event.runId ?? "_", event.jobId ?? "_", event.at, event.id].join("#")),
|
|
85
|
+
};
|
|
86
|
+
return createHash("sha256").update(JSON.stringify(canonicalizeProjectState(canonical))).digest("hex");
|
|
87
|
+
}
|
|
88
|
+
export function workbenchSurfaceFilesEqualForExchange(left, right) {
|
|
89
|
+
return JSON.stringify(canonicalFilesForProjectStateFingerprint(left)) ===
|
|
90
|
+
JSON.stringify(canonicalFilesForProjectStateFingerprint(right));
|
|
91
|
+
}
|
|
92
|
+
export function workbenchRuntimeBundleStats(bundle) {
|
|
93
|
+
return {
|
|
94
|
+
candidates: bundle.candidates.length,
|
|
95
|
+
candidateFiles: bundle.candidateFiles.reduce((sum, group) => sum + group.files.length, 0),
|
|
96
|
+
evaluations: bundle.evaluations.length,
|
|
97
|
+
runs: bundle.runs.length,
|
|
98
|
+
jobs: bundle.jobs.length,
|
|
99
|
+
executionFiles: bundle.executionFiles.reduce((sum, group) => sum + group.files.length, 0),
|
|
100
|
+
events: bundle.events.length,
|
|
101
|
+
activeId: bundle.activeId,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function runtimeJobForProjectStateFingerprint(job) {
|
|
105
|
+
const portable = sanitizeWorkbenchRuntimeJobForExchange(job);
|
|
106
|
+
const output = portable.output;
|
|
107
|
+
if (!output || typeof output !== "object" || Array.isArray(output)) {
|
|
108
|
+
return portable;
|
|
109
|
+
}
|
|
110
|
+
const { files: _files, fileSet: _fileSet, ...portableOutput } = output;
|
|
111
|
+
return {
|
|
112
|
+
...portable,
|
|
113
|
+
output: portableOutput,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function canonicalFilesForProjectStateFingerprint(files) {
|
|
117
|
+
return sortByStableKey(files.map((file) => ({
|
|
118
|
+
path: file.path,
|
|
119
|
+
encoding: file.encoding,
|
|
120
|
+
executable: Boolean(file.executable),
|
|
121
|
+
content: file.content,
|
|
122
|
+
})), (file) => file.path);
|
|
123
|
+
}
|
|
124
|
+
function normalizeTextForProjectStateFingerprint(value) {
|
|
125
|
+
return value.replace(/\r\n/gu, "\n").replace(/\r/gu, "\n");
|
|
126
|
+
}
|
|
127
|
+
function normalizeProjectStateResources(resources) {
|
|
128
|
+
return {
|
|
129
|
+
cpu: resources.cpu ?? DEFAULT_EXECUTION_RESOURCES.cpu,
|
|
130
|
+
memoryGb: resources.memoryGb ?? DEFAULT_EXECUTION_RESOURCES.memoryGb,
|
|
131
|
+
diskGb: resources.diskGb ?? DEFAULT_EXECUTION_RESOURCES.diskGb,
|
|
132
|
+
timeoutMinutes: resources.timeoutMinutes ?? DEFAULT_EXECUTION_RESOURCES.timeoutMinutes,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
function sortByStableKey(items, keyFor) {
|
|
136
|
+
return [...items].sort((left, right) => keyFor(left).localeCompare(keyFor(right)));
|
|
137
|
+
}
|
|
138
|
+
function canonicalizeProjectState(value) {
|
|
139
|
+
if (Array.isArray(value)) {
|
|
140
|
+
return value.map(canonicalizeProjectState);
|
|
141
|
+
}
|
|
142
|
+
if (!value || typeof value !== "object") {
|
|
143
|
+
return value;
|
|
144
|
+
}
|
|
145
|
+
const record = value;
|
|
146
|
+
return Object.fromEntries(Object.keys(record)
|
|
147
|
+
.sort()
|
|
148
|
+
.map((key) => [key, canonicalizeProjectState(record[key])]));
|
|
149
|
+
}
|
|
39
150
|
export const DEFAULT_ENVIRONMENT_VERSIONS = [
|
|
40
151
|
{
|
|
41
152
|
id: "envv_python_3_12",
|
|
@@ -407,10 +518,7 @@ export function materializeWorkbenchRunResult(args) {
|
|
|
407
518
|
const candidateId = candidateRevision.candidateId;
|
|
408
519
|
const candidateJobs = evaluationsByCandidate.get(candidateId) ?? [];
|
|
409
520
|
const succeededEvaluationJobs = candidateJobs.filter((job) => job.status === "succeeded");
|
|
410
|
-
const outputs = normalizeEvaluationSampleOutputs(
|
|
411
|
-
jobs: succeededEvaluationJobs,
|
|
412
|
-
allJobs: completed,
|
|
413
|
-
})
|
|
521
|
+
const outputs = normalizeEvaluationSampleOutputs(succeededEvaluationJobs)
|
|
414
522
|
.sort((left, right) => compareSampleOutputs(left.output, right.output));
|
|
415
523
|
const outputJobIds = new Set(outputs.flatMap(({ jobs }) => jobs.map((job) => job.id)));
|
|
416
524
|
const completedSampleKeys = new Set(outputs
|
|
@@ -490,6 +598,15 @@ export function materializeWorkbenchRunResult(args) {
|
|
|
490
598
|
candidateRunId: args.spec.candidate.selectedRunId,
|
|
491
599
|
candidateRunName: args.spec.candidate.selectedRunName,
|
|
492
600
|
evaluation: evalRecord,
|
|
601
|
+
...(args.selection
|
|
602
|
+
? {
|
|
603
|
+
selection: {
|
|
604
|
+
metric: args.selection.metric,
|
|
605
|
+
caseIds: args.selection.caseIds,
|
|
606
|
+
...(args.selection.label ? { label: args.selection.label } : {}),
|
|
607
|
+
},
|
|
608
|
+
}
|
|
609
|
+
: {}),
|
|
493
610
|
}));
|
|
494
611
|
candidateFiles[candidateId] = materializedCandidateFiles({
|
|
495
612
|
candidateRevisionFiles: candidateRevision.files,
|
|
@@ -498,6 +615,7 @@ export function materializeWorkbenchRunResult(args) {
|
|
|
498
615
|
const selectedCandidate = selectCandidate({
|
|
499
616
|
candidates,
|
|
500
617
|
previousCandidate: args.previousCandidate ?? null,
|
|
618
|
+
selection: args.selection,
|
|
501
619
|
});
|
|
502
620
|
return {
|
|
503
621
|
candidates,
|
|
@@ -619,6 +737,9 @@ function materializedCandidateFiles(args) {
|
|
|
619
737
|
}
|
|
620
738
|
function createEvaluationScorecard(args) {
|
|
621
739
|
const evaluation = args.evaluation;
|
|
740
|
+
const selectionScore = args.selection
|
|
741
|
+
? readEvaluationSelectionStats(evaluation, args.selection.metric, args.selection.caseIds)
|
|
742
|
+
: null;
|
|
622
743
|
return {
|
|
623
744
|
id: evaluationScorecardId(args.runId, args.candidate.id),
|
|
624
745
|
runId: args.runId,
|
|
@@ -636,6 +757,9 @@ function createEvaluationScorecard(args) {
|
|
|
636
757
|
completedSampleCount: evaluation.completedSampleCount,
|
|
637
758
|
errorSampleCount: evaluation.errorSampleCount,
|
|
638
759
|
...(evaluation.metrics ? { metrics: evaluation.metrics } : {}),
|
|
760
|
+
...(args.selection ? { selectionMetric: args.selection.metric } : {}),
|
|
761
|
+
...(args.selection ? { selectionLabel: args.selection.label ?? `${args.selection.metric} on selected cases` } : {}),
|
|
762
|
+
...(selectionScore ? { selectionScore } : {}),
|
|
639
763
|
...(evaluation.durationMs ? { durationMs: evaluation.durationMs } : {}),
|
|
640
764
|
...(evaluation.usage ? { usage: evaluation.usage } : {}),
|
|
641
765
|
...(evaluation.error ? { error: evaluation.error } : {}),
|
|
@@ -703,6 +827,62 @@ export function createOptimizerTraceInputFiles(args) {
|
|
|
703
827
|
}, null, 2)}\n`));
|
|
704
828
|
return dedupeSurfaceFiles(files);
|
|
705
829
|
}
|
|
830
|
+
export function workbenchImproveOptimizeSelector(spec) {
|
|
831
|
+
return cloneWorkbenchCaseSelector(spec.candidate.improve?.optimizeOn ?? { all: true });
|
|
832
|
+
}
|
|
833
|
+
export function workbenchImproveSelectionPolicy(spec) {
|
|
834
|
+
const optimizeOn = workbenchImproveOptimizeSelector(spec);
|
|
835
|
+
const selectBy = spec.candidate.improve?.selectBy;
|
|
836
|
+
return {
|
|
837
|
+
metric: selectBy?.metric ?? "score",
|
|
838
|
+
selector: cloneWorkbenchCaseSelector(selectBy?.cases ?? optimizeOn),
|
|
839
|
+
};
|
|
840
|
+
}
|
|
841
|
+
export function workbenchEngineCaseIdsForSelector(engineCases, selector) {
|
|
842
|
+
return engineCases
|
|
843
|
+
.filter((engineCase) => workbenchEngineCaseMatchesSelector(engineCase, selector))
|
|
844
|
+
.map((engineCase) => engineCase.id);
|
|
845
|
+
}
|
|
846
|
+
export function workbenchEngineCaseIdsForImproveEvaluation(args) {
|
|
847
|
+
const optimizeIds = new Set(workbenchEngineCaseIdsForSelector(args.engineCases, workbenchImproveOptimizeSelector(args.spec)));
|
|
848
|
+
const selectionIds = new Set(workbenchEngineCaseIdsForSelector(args.engineCases, workbenchImproveSelectionPolicy(args.spec).selector));
|
|
849
|
+
return args.engineCases
|
|
850
|
+
.map((engineCase) => engineCase.id)
|
|
851
|
+
.filter((caseId) => optimizeIds.has(caseId) || selectionIds.has(caseId));
|
|
852
|
+
}
|
|
853
|
+
export function filterOptimizerTraceJobsForCaseIds(jobs, caseIds) {
|
|
854
|
+
const allowed = new Set(caseIds);
|
|
855
|
+
if (allowed.size === 0) {
|
|
856
|
+
return [];
|
|
857
|
+
}
|
|
858
|
+
return jobs.filter((job) => {
|
|
859
|
+
if (workbenchExecutionPurpose(job) !== "attempt") {
|
|
860
|
+
return false;
|
|
861
|
+
}
|
|
862
|
+
const caseId = readJobString(job.input, "caseId");
|
|
863
|
+
return caseId !== null && allowed.has(caseId);
|
|
864
|
+
});
|
|
865
|
+
}
|
|
866
|
+
export function formatWorkbenchCaseSelector(selector) {
|
|
867
|
+
return workbenchCaseSelectorUsesAllCases(selector)
|
|
868
|
+
? "all cases"
|
|
869
|
+
: `split=${selector.split}`;
|
|
870
|
+
}
|
|
871
|
+
export function formatWorkbenchSelectionPolicy(policy) {
|
|
872
|
+
return `${policy.metric} on ${formatWorkbenchCaseSelector(policy.selector)}`;
|
|
873
|
+
}
|
|
874
|
+
export function workbenchCaseSelectorUsesAllCases(selector) {
|
|
875
|
+
return !selector.split;
|
|
876
|
+
}
|
|
877
|
+
function workbenchEngineCaseMatchesSelector(engineCase, selector) {
|
|
878
|
+
if (workbenchCaseSelectorUsesAllCases(selector)) {
|
|
879
|
+
return true;
|
|
880
|
+
}
|
|
881
|
+
return engineCase.case.split === selector.split;
|
|
882
|
+
}
|
|
883
|
+
function cloneWorkbenchCaseSelector(selector) {
|
|
884
|
+
return selector.split ? { split: selector.split } : { all: true };
|
|
885
|
+
}
|
|
706
886
|
export function evaluationMeanMetrics(evaluation) {
|
|
707
887
|
const entries = Object.entries(evaluation?.metrics ?? {})
|
|
708
888
|
.filter((entry) => Number.isFinite(entry[1].mean));
|
|
@@ -1104,6 +1284,12 @@ function parseAuthoredWorkbenchSourceSpec(source) {
|
|
|
1104
1284
|
? {
|
|
1105
1285
|
improve: {
|
|
1106
1286
|
edits: [...resolved.candidate.improve.edits],
|
|
1287
|
+
...(resolved.candidate.improve.optimizeOn
|
|
1288
|
+
? { optimizeOn: resolved.candidate.improve.optimizeOn }
|
|
1289
|
+
: {}),
|
|
1290
|
+
...(resolved.candidate.improve.selectBy
|
|
1291
|
+
? { selectBy: resolved.candidate.improve.selectBy }
|
|
1292
|
+
: {}),
|
|
1107
1293
|
...improveSpecFromInvocation(resolved.improve),
|
|
1108
1294
|
},
|
|
1109
1295
|
}
|
|
@@ -1780,6 +1966,7 @@ async function executeAttemptExecutionInCurrentRuntime(args, execution, startedA
|
|
|
1780
1966
|
attemptIndex: workload.attemptIndex,
|
|
1781
1967
|
sampleIndex: workload.sampleIndex,
|
|
1782
1968
|
caseId: workload.caseId,
|
|
1969
|
+
split: workload.engineCaseSpec?.split,
|
|
1783
1970
|
startedAt,
|
|
1784
1971
|
finishedAt,
|
|
1785
1972
|
durationMs: workloadResult.durationMs,
|
|
@@ -2671,6 +2858,7 @@ async function writeWorkbenchAdapterRequest(root, workload, execution, step, aut
|
|
|
2671
2858
|
const requestPath = path.join(root, ".workbench", "request.json");
|
|
2672
2859
|
await fs.mkdir(path.dirname(requestPath), { recursive: true });
|
|
2673
2860
|
const casePrompt = workload.engineCaseSpec?.prompt;
|
|
2861
|
+
const caseSplit = workload.engineCaseSpec?.split;
|
|
2674
2862
|
const adapter = step.adapter ?? execution.adapter;
|
|
2675
2863
|
const candidateCommand = adapterProtocolCommandSpec(workload.spec.run, "candidate.run", manifests).command;
|
|
2676
2864
|
const payload = {
|
|
@@ -2709,6 +2897,7 @@ async function writeWorkbenchAdapterRequest(root, workload, execution, step, aut
|
|
|
2709
2897
|
case: {
|
|
2710
2898
|
id: workload.caseId,
|
|
2711
2899
|
...(casePrompt ? { prompt: casePrompt } : {}),
|
|
2900
|
+
...(caseSplit ? { split: caseSplit } : {}),
|
|
2712
2901
|
},
|
|
2713
2902
|
},
|
|
2714
2903
|
paths: {
|
|
@@ -3117,6 +3306,7 @@ function evaluateSample(args) {
|
|
|
3117
3306
|
}
|
|
3118
3307
|
const cases = runtimeTimedCaseResults({
|
|
3119
3308
|
caseId: args.caseId,
|
|
3309
|
+
split: args.split,
|
|
3120
3310
|
status: "completed",
|
|
3121
3311
|
durationMs,
|
|
3122
3312
|
metrics,
|
|
@@ -3181,8 +3371,8 @@ function normalizeSampleJobOutput(value) {
|
|
|
3181
3371
|
: traceFilePaths(files),
|
|
3182
3372
|
};
|
|
3183
3373
|
}
|
|
3184
|
-
function normalizeEvaluationSampleOutputs(
|
|
3185
|
-
return
|
|
3374
|
+
function normalizeEvaluationSampleOutputs(jobs) {
|
|
3375
|
+
return jobs.flatMap((job) => {
|
|
3186
3376
|
const output = normalizeSampleJobOutput(job.output);
|
|
3187
3377
|
if (!output) {
|
|
3188
3378
|
return [];
|
|
@@ -3194,6 +3384,7 @@ function normalizeEvaluationSampleOutputs(args) {
|
|
|
3194
3384
|
...output.sample,
|
|
3195
3385
|
cases: runtimeTimedCaseResults({
|
|
3196
3386
|
caseId,
|
|
3387
|
+
split: readJobEngineCaseSplit(job),
|
|
3197
3388
|
status: output.sample.status === "error" ? "error" : "completed",
|
|
3198
3389
|
durationMs,
|
|
3199
3390
|
metrics: output.sample.metrics ?? {},
|
|
@@ -3220,11 +3411,22 @@ function runtimeTimedCaseResults(args) {
|
|
|
3220
3411
|
}];
|
|
3221
3412
|
return cases.map((entry) => ({
|
|
3222
3413
|
...entry,
|
|
3414
|
+
...(!entry.split && args.split && entry.id === args.caseId ? { split: args.split } : {}),
|
|
3223
3415
|
status: entry.status ?? args.status,
|
|
3224
3416
|
metrics: entry.metrics ?? args.metrics,
|
|
3225
3417
|
durationMs: args.durationMs,
|
|
3226
3418
|
}));
|
|
3227
3419
|
}
|
|
3420
|
+
function readJobEngineCaseSplit(job) {
|
|
3421
|
+
const input = jsonRecord(job.input);
|
|
3422
|
+
const execution = jsonRecord(input.execution);
|
|
3423
|
+
const metadata = jsonRecord(execution.metadata);
|
|
3424
|
+
const engineCase = jsonRecord(metadata.engineCase);
|
|
3425
|
+
const split = engineCase.split;
|
|
3426
|
+
return typeof split === "string" && split.trim().length > 0
|
|
3427
|
+
? split.trim()
|
|
3428
|
+
: undefined;
|
|
3429
|
+
}
|
|
3228
3430
|
function runtimeJobDurationMs(job) {
|
|
3229
3431
|
if (typeof job.startedAt !== "string" || typeof job.finishedAt !== "string") {
|
|
3230
3432
|
return undefined;
|
|
@@ -3318,6 +3520,7 @@ function errorEvaluationSampleFromJobGroup(jobs, candidateId, attemptIndex) {
|
|
|
3318
3520
|
}
|
|
3319
3521
|
const sampleIndex = readOptionalJobNumber(job.input, "sampleIndex");
|
|
3320
3522
|
const caseId = readJobString(job.input, "caseId");
|
|
3523
|
+
const split = readJobEngineCaseSplit(job);
|
|
3321
3524
|
if (sampleIndex === null || !caseId) {
|
|
3322
3525
|
return null;
|
|
3323
3526
|
}
|
|
@@ -3342,6 +3545,7 @@ function errorEvaluationSampleFromJobGroup(jobs, candidateId, attemptIndex) {
|
|
|
3342
3545
|
...(error ? { error } : {}),
|
|
3343
3546
|
cases: [{
|
|
3344
3547
|
id: caseId,
|
|
3548
|
+
...(split ? { split } : {}),
|
|
3345
3549
|
status: "error",
|
|
3346
3550
|
...(durationMs !== undefined ? { durationMs } : {}),
|
|
3347
3551
|
metrics: {},
|
|
@@ -3586,15 +3790,16 @@ function aggregateCaseStatus(results) {
|
|
|
3586
3790
|
function selectCandidate(args) {
|
|
3587
3791
|
let selected = args.previousCandidate;
|
|
3588
3792
|
for (const candidate of args.candidates) {
|
|
3589
|
-
if (!selected ||
|
|
3793
|
+
if (!selected || hasHigherEvaluationMetric(candidate, selected, args.selection)) {
|
|
3590
3794
|
selected = candidate;
|
|
3591
3795
|
}
|
|
3592
3796
|
}
|
|
3593
3797
|
return selected;
|
|
3594
3798
|
}
|
|
3595
|
-
function
|
|
3596
|
-
const
|
|
3597
|
-
const
|
|
3799
|
+
function hasHigherEvaluationMetric(candidate, incumbent, selection) {
|
|
3800
|
+
const metric = selection?.metric ?? "score";
|
|
3801
|
+
const candidateValue = readEvaluationSelectionMean(candidate.eval, metric, selection?.caseIds);
|
|
3802
|
+
const incumbentValue = readEvaluationSelectionMean(incumbent.eval, metric, selection?.caseIds);
|
|
3598
3803
|
if (candidateValue == null) {
|
|
3599
3804
|
return false;
|
|
3600
3805
|
}
|
|
@@ -3603,9 +3808,28 @@ function hasHigherScore(candidate, incumbent) {
|
|
|
3603
3808
|
}
|
|
3604
3809
|
return candidateValue > incumbentValue;
|
|
3605
3810
|
}
|
|
3606
|
-
function
|
|
3607
|
-
const
|
|
3608
|
-
return
|
|
3811
|
+
function readEvaluationSelectionMean(evaluation, metric, caseIds) {
|
|
3812
|
+
const stats = readEvaluationSelectionStats(evaluation, metric, caseIds);
|
|
3813
|
+
return stats ? stats.mean : null;
|
|
3814
|
+
}
|
|
3815
|
+
function readEvaluationSelectionStats(evaluation, metric, caseIds) {
|
|
3816
|
+
if (!caseIds) {
|
|
3817
|
+
const direct = evaluation?.metrics?.[metric];
|
|
3818
|
+
return direct && Number.isFinite(direct.mean) ? direct : null;
|
|
3819
|
+
}
|
|
3820
|
+
if (caseIds.length === 0) {
|
|
3821
|
+
return null;
|
|
3822
|
+
}
|
|
3823
|
+
const allowed = new Set(caseIds);
|
|
3824
|
+
const values = (evaluation?.samples ?? [])
|
|
3825
|
+
.flatMap((sample) => sample.cases ?? [])
|
|
3826
|
+
.flatMap((caseResult) => {
|
|
3827
|
+
const metricValue = caseResult.metrics[metric];
|
|
3828
|
+
return allowed.has(caseResult.id) && typeof metricValue === "number" && Number.isFinite(metricValue)
|
|
3829
|
+
? [metricValue]
|
|
3830
|
+
: [];
|
|
3831
|
+
});
|
|
3832
|
+
return values.length > 0 ? metricStats(values) : null;
|
|
3609
3833
|
}
|
|
3610
3834
|
function metricStats(values) {
|
|
3611
3835
|
const count = values.length;
|
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.51",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "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.51",
|
|
26
|
+
"@workbench-ai/workbench-protocol": "0.0.51"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "^24.3.1",
|