@workbench-ai/workbench-core 0.0.65 → 0.0.67
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/execution-jobs.js +0 -3
- package/dist/execution-outputs.d.ts.map +1 -1
- package/dist/execution-outputs.js +5 -16
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +134 -113
- package/dist/inspection.d.ts +24 -18
- package/dist/inspection.d.ts.map +1 -1
- package/dist/inspection.js +35 -28
- package/dist/runtime-utils.d.ts +6 -1
- package/dist/runtime-utils.d.ts.map +1 -1
- package/dist/runtime-utils.js +92 -0
- package/dist/trace-files.d.ts.map +1 -1
- package/dist/trace-files.js +7 -50
- package/package.json +8 -3
package/dist/execution-jobs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-outputs.d.ts","sourceRoot":"","sources":["../src/execution-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,IAAI,EAEJ,uBAAuB,EAEvB,sBAAsB,EACtB,eAAe,EAChB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-outputs.d.ts","sourceRoot":"","sources":["../src/execution-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,IAAI,EAEJ,uBAAuB,EAEvB,sBAAsB,EACtB,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAK1C,MAAM,WAAW,gCAAgC;IAC/C,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,wBAAgB,wCAAwC,CACtD,SAAS,EAAE,sBAAsB,EACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAC7B,gCAAgC,CAoClC;AAED,wBAAgB,wCAAwC,CAAC,SAAS,EAAE,sBAAsB,GAAG,MAAM,EAAE,CAuFpG;AAuCD,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAKzF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { normalizeUsageSummary } from "./execution-usage.js";
|
|
2
|
+
import { isJsonPayload } from "./runtime-utils.js";
|
|
2
3
|
export function validateWorkbenchExecutionOutputPayloads(execution, payloads) {
|
|
3
4
|
const issues = [];
|
|
4
5
|
const declaredOutputs = new Map(execution.outputs.map((output) => [output.name, output]));
|
|
@@ -184,7 +185,7 @@ function normalizeCandidatePatch(value, execution, contract, issues) {
|
|
|
184
185
|
files,
|
|
185
186
|
fileChanges,
|
|
186
187
|
...(typeof record?.summary === "string" ? { summary: record.summary } : {}),
|
|
187
|
-
...(
|
|
188
|
+
...(isJsonPayload(record?.feedback) ? { feedback: record.feedback } : {}),
|
|
188
189
|
};
|
|
189
190
|
}
|
|
190
191
|
function normalizeResult(value, execution, contract, issues) {
|
|
@@ -198,7 +199,7 @@ function normalizeResult(value, execution, contract, issues) {
|
|
|
198
199
|
...(record?.cases !== undefined ? { cases: normalizeCaseResults(record.cases, `${contract.name}.cases`, issues) } : {}),
|
|
199
200
|
...(usage ? { usage } : {}),
|
|
200
201
|
...(typeof record?.summary === "string" ? { summary: record.summary } : {}),
|
|
201
|
-
...(
|
|
202
|
+
...(isJsonPayload(record?.feedback) ? { feedback: record.feedback } : {}),
|
|
202
203
|
};
|
|
203
204
|
}
|
|
204
205
|
function normalizeSnapshotFiles(value, label, issues) {
|
|
@@ -260,10 +261,10 @@ function normalizeCaseResults(value, label, issues) {
|
|
|
260
261
|
...(status ? { status } : {}),
|
|
261
262
|
...(record.durationMs !== undefined ? { durationMs: readFiniteNumber(record.durationMs, `${itemLabel}.durationMs`, issues) ?? 0 } : {}),
|
|
262
263
|
metrics: normalizeNumberRecord(record.metrics ?? {}, `${itemLabel}.metrics`, issues),
|
|
263
|
-
...(
|
|
264
|
+
...(isJsonPayload(record.source) && record.source && typeof record.source === "object" && !Array.isArray(record.source)
|
|
264
265
|
? { source: record.source }
|
|
265
266
|
: {}),
|
|
266
|
-
...(
|
|
267
|
+
...(isJsonPayload(record.feedback) ? { feedback: record.feedback } : {}),
|
|
267
268
|
...(criteria && criteria.length > 0 ? { criteria } : {}),
|
|
268
269
|
}];
|
|
269
270
|
});
|
|
@@ -386,15 +387,3 @@ function isSafeRelativePath(filePath) {
|
|
|
386
387
|
function normalizeRelativePath(filePath) {
|
|
387
388
|
return filePath.replace(/\\/gu, "/").replace(/^\.\/+/u, "").replace(/\/+/gu, "/");
|
|
388
389
|
}
|
|
389
|
-
function isJson(value) {
|
|
390
|
-
if (value === null || typeof value === "boolean" || typeof value === "number" || typeof value === "string") {
|
|
391
|
-
return true;
|
|
392
|
-
}
|
|
393
|
-
if (Array.isArray(value)) {
|
|
394
|
-
return value.every(isJson);
|
|
395
|
-
}
|
|
396
|
-
if (value && typeof value === "object") {
|
|
397
|
-
return Object.values(value).every(isJson);
|
|
398
|
-
}
|
|
399
|
-
return false;
|
|
400
|
-
}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export { composeRuntimeDockerfileWithAdapterInstallers, type WorkbenchRuntimeAda
|
|
|
9
9
|
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";
|
|
10
10
|
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";
|
|
11
11
|
export type { WorkbenchExecutionRuntimeInput, WorkbenchWorkloadStepCommand, } from "./execution-runtime-types.ts";
|
|
12
|
-
export { asRuntimeRecord, importNodeModule, nodeBuiltin, normalizeWorkbenchWorkerId, normalizeRuntimeRegistry, quoteShellArg, resolveDockerRuntimeImageRef, resolveWorkbenchWorkerId, } from "./runtime-utils.ts";
|
|
12
|
+
export { asRuntimeRecord, importNodeModule, jsonRecord, nodeBuiltin, normalizeRelativePath, normalizeWorkbenchWorkerId, normalizeRuntimeRegistry, quoteShellArg, readSurfaceFiles, resolveDockerRuntimeImageRef, resolveWorkbenchWorkerId, writeSurfaceFiles, } from "./runtime-utils.ts";
|
|
13
13
|
export { assignUsageRole, extractExecutionUsageFromTrace, mergeUsageSummaries, } from "./execution-usage.ts";
|
|
14
14
|
export { createWorkbenchProgressStdoutParser, publishWorkbenchProgressStdoutEnvelope, } from "./execution-events.ts";
|
|
15
15
|
export { persistWorkbenchAdapterAuthUpdates, } from "./adapter-auth-updates.ts";
|
|
@@ -17,7 +17,7 @@ export { resolveSandboxTemplateImage, } from "./sandbox-backends/template-images
|
|
|
17
17
|
export { readOutputTraceFiles, workbenchTraceExecutionDirectory, workbenchTraceRunDirectory, workbenchTraceRunDirectoryName, } from "./trace-files.ts";
|
|
18
18
|
export { assertWorkbenchAdapterOperationSupport, assertWorkbenchAdapterOperationResultOk, collectWorkbenchAdapterOperationIssues, collectWorkbenchAdapterOperationRequirements, ensureWorkbenchAdapterOutputDir, WORKBENCH_ADAPTER_RESULT_FILE, normalizeWorkbenchAdapterOperationRequest, normalizeWorkbenchAdapterOperationResult, readWorkbenchAdapterOperationRequest, readWorkbenchAdapterOperationResult, workbenchAdapterOperationResultPath, writeWorkbenchAdapterOperationResult, type WorkbenchAdapterOperationRequest, type WorkbenchAdapterOperationResult, type WorkbenchAdapterOperationResultValue, type WorkbenchAdapterOperationRequirement, type WorkbenchEngineResolveResult, type WorkbenchEngineCaseSpec, } from "@workbench-ai/workbench-protocol";
|
|
19
19
|
export { applyWorkbenchCandidatePatch, type ApplyWorkbenchCandidatePatchInput, } from "./candidate-patch.ts";
|
|
20
|
-
export { createWorkbenchSandboxFileStore, createSandboxAdapterRequest, executionResultFromCompletedSandboxJob, materializeWorkbenchSandboxInput, readWorkbenchExecutionSpec, sanitizeWorkbenchExecutionJobForSandbox, } from "./sandbox-inputs.ts";
|
|
20
|
+
export { createWorkbenchSandboxFileStore, createSandboxAdapterRequest, executionResultFromCompletedSandboxJob, isSurfaceSnapshotFile, materializeWorkbenchSandboxInput, readWorkbenchExecutionSpec, sanitizeWorkbenchExecutionJobForSandbox, } from "./sandbox-inputs.ts";
|
|
21
21
|
export { compileWorkbenchExecutionGraph, type CompileExecutionGraphInput, type WorkbenchExecutionGraph, type WorkbenchExecutionGraphNode, } from "./execution-graph.ts";
|
|
22
22
|
export { createBaselineCandidateExecution, createBaselineCandidateJob, createWorkbenchExecutionJob, expectedWorkbenchRunJobCount, engineCaseForCase, engineCaseIds, attemptJobCountForRunSpec, workbenchExecutionJobPurpose, MAX_WORKBENCH_RUN_BUDGET, planWorkbenchExecutionJobsForPurpose, validateWorkbenchRunEnvelope, workbenchExecutionJobId, type WorkbenchRunWorkflow, } from "./execution-jobs.ts";
|
|
23
23
|
export { addCapacity, capacityFits, runWorkbenchExecutionDag, subtractCapacity, workbenchJobDependencies, workbenchJobHostCost, workbenchJobResources, type WorkbenchExecutionDagCapacity, type WorkbenchExecutionDagResult, type WorkbenchExecutionDagRunInput, } from "./execution-scheduler.ts";
|
|
@@ -25,7 +25,7 @@ export { assertWorkbenchExecutionIsolation, collectWorkbenchExecutionIsolationIs
|
|
|
25
25
|
export { collectSandboxAllocationScopeIssues, collectExecutionCapabilityScopeIssues, collectSandboxHandleScopeIssues, createWorkbenchSandboxAllocation, createWorkbenchSandboxExecutionMetadata, createWorkbenchExecutionCapability, executeValidatedSandboxExecution, type SandboxExecutionFileStore, type SandboxExecutionOptions, type SandboxBackendCapabilities, type SandboxBackendDescriptor, type SandboxCreateRequest, type SandboxEnvironmentImage, type SandboxExecRequest, type SandboxHandle, type SandboxMaterializedInput, type SandboxPlane, type ValidatedSandboxExecutionResult, } from "./sandbox-plane.ts";
|
|
26
26
|
export { buildCandidateCaseExecutionRefs, buildWorkbenchExecutionEvidence, isWorkbenchExecutionActive, readWorkbenchExecutionId, readWorkbenchExecutionMetadataNumber, readWorkbenchExecutionMetadataString, readWorkbenchExecutionPurpose, resolveWorkbenchJobGroupStatus, } from "./execution-evidence.ts";
|
|
27
27
|
export { buildCandidateLineage, buildWorkbenchEvaluationComparison, buildWorkbenchEvaluationMetricDescriptors, formatEvaluationConfigurationLabel, isCompleteEvaluationSummary, readEvaluationScore, type WorkbenchCandidateEvaluationRollup, type WorkbenchEvaluationComparison, type WorkbenchEvaluationComparisonRow, type WorkbenchEvaluationMetricDescriptor, } from "@workbench-ai/workbench-contract";
|
|
28
|
-
export { WorkbenchInspectionError, createWorkbenchInspection, type WorkbenchFailureDetail, type WorkbenchFailureDiagnosis, type WorkbenchFailureKind, type WorkbenchInspection, type WorkbenchInspectionBackend, type
|
|
28
|
+
export { WorkbenchInspectionError, createWorkbenchInspection, pickDefaultCandidateFilePath, selectedFilePath, type WorkbenchFailureDetail, type WorkbenchFailureDiagnosis, type WorkbenchFailureKind, type WorkbenchInspection, type WorkbenchInspectionBackend, type WorkbenchInspectionCandidateFileSurfaceInput, type WorkbenchInspectionCandidateInput, type WorkbenchInspectionCaseReviewInput, type WorkbenchInspectionErrorOptions, type WorkbenchInspectionEvaluationInput, type WorkbenchInspectionExecutionFileSurfaceInput, type WorkbenchInspectionExecutionInput, type WorkbenchInspectionFileListInput, type WorkbenchInspectionFileSurface, type WorkbenchInspectionFileSurfaceInput, type WorkbenchInspectionRunDetail, type WorkbenchInspectionRunInput, } from "./inspection.ts";
|
|
29
29
|
export { buildWorkbenchTraceSessionsFromFiles, combineWorkbenchTraceSessions, finalizeWorkbenchExecutionTraceForJob, mergeWorkbenchExecutionTracesByJob, readWorkbenchExecutionTraceFiles, traceSessionLabel, type WorkbenchTraceMergeJob, } from "./execution-traces.ts";
|
|
30
30
|
export { DOCKER_SANDBOX_BACKEND, assertSandboxHostHealthForBackend, createDockerSandboxBackendDescriptor, createDockerSandboxPlane, resolveWorkbenchSandboxBackendName, sandboxBackendAdmissionForResources, sandboxHostHealthExpectationForBackend, type SandboxBackendAdmission, type SandboxBackendHostCost, type SandboxBackendRequestedResources, type SandboxHostHealthExpectation, type WorkbenchSandboxBackendName, } from "./sandbox-backends/index.ts";
|
|
31
31
|
export type { WorkbenchExecutionEventPublisher, WorkbenchExecutionProgressTarget, } from "./execution-events.ts";
|
|
@@ -62,10 +62,10 @@ export declare function workbenchProjectSourceFingerprint(input: Omit<WorkbenchP
|
|
|
62
62
|
export declare function workbenchRuntimeBundleFingerprint(bundle: WorkbenchRuntimeBundle): string;
|
|
63
63
|
export declare function workbenchSurfaceFilesEqualForExchange(left: readonly SurfaceSnapshotFile[], right: readonly SurfaceSnapshotFile[]): boolean;
|
|
64
64
|
export declare function workbenchRuntimeBundleStats(bundle: WorkbenchRuntimeBundle): WorkbenchRuntimeBundleStats;
|
|
65
|
-
export declare function
|
|
65
|
+
export declare function workbenchRuntimeProjectedActiveId(args: {
|
|
66
66
|
candidates: readonly CandidateRecord[];
|
|
67
|
+
evaluations?: readonly EvaluationScorecard[];
|
|
67
68
|
runs: readonly RunSummary[];
|
|
68
|
-
preferredActiveId?: string | null;
|
|
69
69
|
benchmarkFingerprint: string;
|
|
70
70
|
}): string | null;
|
|
71
71
|
export interface WorkbenchRunMaterialization {
|
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
|
@@ -6,7 +6,7 @@ import YAML from "yaml";
|
|
|
6
6
|
import { adapterCommandName, assertWorkbenchAdapterOperationResultOk, collectWorkbenchAdapterAuthRequirements, collectWorkbenchAdapterInvocations, parseWorkbenchAdapterManifest, readWorkbenchAdapterOperationResult, WORKBENCH_ADAPTER_RESULT_FILE, WORKBENCH_RUNTIME_CONTROL_TOKEN_ENV, WORKBENCH_RUNTIME_CONTROL_URL_ENV, workbenchAdapterOperationCommand, workbenchAdapterOperationExecutor, workbenchAdapterOperationResultPath, } from "@workbench-ai/workbench-protocol";
|
|
7
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
|
-
import { asRuntimeRecord, importNodeModule, isJsonPayload, jsonRecord, nodeBuiltin, quoteShellArg, resolveWorkbenchWorkerId, } from "./runtime-utils.js";
|
|
9
|
+
import { asRuntimeRecord, importNodeModule, isJsonPayload, jsonRecord, nodeBuiltin, normalizeRelativePath, readSurfaceFiles, quoteShellArg, resolveWorkbenchWorkerId, writeSurfaceFiles, } from "./runtime-utils.js";
|
|
10
10
|
import { createWorkbenchExecutionCapability, createWorkbenchSandboxAllocation, collectExecutionCapabilityScopeIssues, collectSandboxAllocationScopeIssues, collectSandboxHandleScopeIssues, assertSandboxBackendSupportsNetworkPolicy, executeValidatedSandboxExecution, } from "./sandbox-plane.js";
|
|
11
11
|
import { createSandboxBackendPlaneForBackend, } from "./sandbox-backends/index.js";
|
|
12
12
|
import { applyWorkbenchCandidatePatch } from "./candidate-patch.js";
|
|
@@ -20,7 +20,7 @@ export { BENCHMARK_SPEC_FILE, CANDIDATE_SPEC_FILE, DEFAULT_EXECUTION_RESOURCES,
|
|
|
20
20
|
export { composeRuntimeDockerfileWithAdapterInstallers, } from "./runtime-dockerfile.js";
|
|
21
21
|
export { adapterCommandName, cloneWorkbenchAdapterManifest, collectWorkbenchAdapterAuthRequirements, collectWorkbenchAdapterInvocations, parseWorkbenchAdapterManifest, workbenchAdapterManifestRequiresAuth, workbenchAdapterManifestSupportsOperation, workbenchAdapterOperationCommand, workbenchAdapterOperationExecutor, withDefaultWorkbenchAdapterAuth, withDefaultWorkbenchAdapterAuthProfiles, } from "@workbench-ai/workbench-protocol";
|
|
22
22
|
export { adapterAuthEnv, createWorkbenchAdapterAuthBundle, defaultWorkbenchAdapterAuthStoreRoot, localWorkbenchAdapterAuthStore, normalizeWorkbenchAdapterAuthTarget, parseWorkbenchAdapterAuthTarget, sanitizeWorkbenchAdapterAuthBundle, } from "./adapter-auth.js";
|
|
23
|
-
export { asRuntimeRecord, importNodeModule, nodeBuiltin, normalizeWorkbenchWorkerId, normalizeRuntimeRegistry, quoteShellArg, resolveDockerRuntimeImageRef, resolveWorkbenchWorkerId, } from "./runtime-utils.js";
|
|
23
|
+
export { asRuntimeRecord, importNodeModule, jsonRecord, nodeBuiltin, normalizeRelativePath, normalizeWorkbenchWorkerId, normalizeRuntimeRegistry, quoteShellArg, readSurfaceFiles, resolveDockerRuntimeImageRef, resolveWorkbenchWorkerId, writeSurfaceFiles, } from "./runtime-utils.js";
|
|
24
24
|
export { assignUsageRole, extractExecutionUsageFromTrace, mergeUsageSummaries, } from "./execution-usage.js";
|
|
25
25
|
export { createWorkbenchProgressStdoutParser, publishWorkbenchProgressStdoutEnvelope, } from "./execution-events.js";
|
|
26
26
|
export { persistWorkbenchAdapterAuthUpdates, } from "./adapter-auth-updates.js";
|
|
@@ -28,7 +28,7 @@ export { resolveSandboxTemplateImage, } from "./sandbox-backends/template-images
|
|
|
28
28
|
export { readOutputTraceFiles, workbenchTraceExecutionDirectory, workbenchTraceRunDirectory, workbenchTraceRunDirectoryName, } from "./trace-files.js";
|
|
29
29
|
export { assertWorkbenchAdapterOperationSupport, assertWorkbenchAdapterOperationResultOk, collectWorkbenchAdapterOperationIssues, collectWorkbenchAdapterOperationRequirements, ensureWorkbenchAdapterOutputDir, WORKBENCH_ADAPTER_RESULT_FILE, normalizeWorkbenchAdapterOperationRequest, normalizeWorkbenchAdapterOperationResult, readWorkbenchAdapterOperationRequest, readWorkbenchAdapterOperationResult, workbenchAdapterOperationResultPath, writeWorkbenchAdapterOperationResult, } from "@workbench-ai/workbench-protocol";
|
|
30
30
|
export { applyWorkbenchCandidatePatch, } from "./candidate-patch.js";
|
|
31
|
-
export { createWorkbenchSandboxFileStore, createSandboxAdapterRequest, executionResultFromCompletedSandboxJob, materializeWorkbenchSandboxInput, readWorkbenchExecutionSpec, sanitizeWorkbenchExecutionJobForSandbox, } from "./sandbox-inputs.js";
|
|
31
|
+
export { createWorkbenchSandboxFileStore, createSandboxAdapterRequest, executionResultFromCompletedSandboxJob, isSurfaceSnapshotFile, materializeWorkbenchSandboxInput, readWorkbenchExecutionSpec, sanitizeWorkbenchExecutionJobForSandbox, } from "./sandbox-inputs.js";
|
|
32
32
|
export { compileWorkbenchExecutionGraph, } from "./execution-graph.js";
|
|
33
33
|
export { createBaselineCandidateExecution, createBaselineCandidateJob, createWorkbenchExecutionJob, expectedWorkbenchRunJobCount, engineCaseForCase, engineCaseIds, attemptJobCountForRunSpec, workbenchExecutionJobPurpose, MAX_WORKBENCH_RUN_BUDGET, planWorkbenchExecutionJobsForPurpose, validateWorkbenchRunEnvelope, workbenchExecutionJobId, } from "./execution-jobs.js";
|
|
34
34
|
export { addCapacity, capacityFits, runWorkbenchExecutionDag, subtractCapacity, workbenchJobDependencies, workbenchJobHostCost, workbenchJobResources, } from "./execution-scheduler.js";
|
|
@@ -36,7 +36,7 @@ export { assertWorkbenchExecutionIsolation, collectWorkbenchExecutionIsolationIs
|
|
|
36
36
|
export { collectSandboxAllocationScopeIssues, collectExecutionCapabilityScopeIssues, collectSandboxHandleScopeIssues, createWorkbenchSandboxAllocation, createWorkbenchSandboxExecutionMetadata, createWorkbenchExecutionCapability, executeValidatedSandboxExecution, } from "./sandbox-plane.js";
|
|
37
37
|
export { buildCandidateCaseExecutionRefs, buildWorkbenchExecutionEvidence, isWorkbenchExecutionActive, readWorkbenchExecutionId, readWorkbenchExecutionMetadataNumber, readWorkbenchExecutionMetadataString, readWorkbenchExecutionPurpose, resolveWorkbenchJobGroupStatus, } from "./execution-evidence.js";
|
|
38
38
|
export { buildCandidateLineage, buildWorkbenchEvaluationComparison, buildWorkbenchEvaluationMetricDescriptors, formatEvaluationConfigurationLabel, isCompleteEvaluationSummary, readEvaluationScore, } from "@workbench-ai/workbench-contract";
|
|
39
|
-
export { WorkbenchInspectionError, createWorkbenchInspection, } from "./inspection.js";
|
|
39
|
+
export { WorkbenchInspectionError, createWorkbenchInspection, pickDefaultCandidateFilePath, selectedFilePath, } from "./inspection.js";
|
|
40
40
|
export { buildWorkbenchTraceSessionsFromFiles, combineWorkbenchTraceSessions, finalizeWorkbenchExecutionTraceForJob, mergeWorkbenchExecutionTracesByJob, readWorkbenchExecutionTraceFiles, traceSessionLabel, } from "./execution-traces.js";
|
|
41
41
|
export { DOCKER_SANDBOX_BACKEND, assertSandboxHostHealthForBackend, createDockerSandboxBackendDescriptor, createDockerSandboxPlane, resolveWorkbenchSandboxBackendName, sandboxBackendAdmissionForResources, sandboxHostHealthExpectationForBackend, } from "./sandbox-backends/index.js";
|
|
42
42
|
export function sanitizeWorkbenchRuntimeJobForExchange(job) {
|
|
@@ -152,7 +152,6 @@ export function workbenchProjectSourceFingerprint(input) {
|
|
|
152
152
|
export function workbenchRuntimeBundleFingerprint(bundle) {
|
|
153
153
|
const canonical = {
|
|
154
154
|
schema: bundle.schema,
|
|
155
|
-
activeId: bundle.activeId,
|
|
156
155
|
candidates: sortByStableKey(bundle.candidates.map(workbenchRuntimeCandidateIdentityForExchange), (candidate) => candidate.id),
|
|
157
156
|
candidateFiles: sortByStableKey(bundle.candidateFiles.map((group) => ({
|
|
158
157
|
candidateId: group.candidateId,
|
|
@@ -185,36 +184,143 @@ export function workbenchRuntimeBundleStats(bundle) {
|
|
|
185
184
|
activeId: bundle.activeId,
|
|
186
185
|
};
|
|
187
186
|
}
|
|
188
|
-
export function
|
|
187
|
+
export function workbenchRuntimeProjectedActiveId(args) {
|
|
189
188
|
const candidateById = new Map(args.candidates.map((candidate) => [
|
|
190
189
|
candidate.id,
|
|
191
190
|
candidate,
|
|
192
191
|
]));
|
|
193
|
-
const
|
|
192
|
+
const candidate = (candidateId) => {
|
|
194
193
|
if (!candidateId) {
|
|
195
194
|
return null;
|
|
196
195
|
}
|
|
197
196
|
const candidate = candidateById.get(candidateId) ?? null;
|
|
198
|
-
return candidate?.benchmarkFingerprint === args.benchmarkFingerprint
|
|
199
|
-
? candidate.id
|
|
200
|
-
: null;
|
|
197
|
+
return candidate?.benchmarkFingerprint === args.benchmarkFingerprint ? candidate : null;
|
|
201
198
|
};
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}
|
|
205
|
-
function latestExplicitRunActiveIdForBenchmark(runs, compatible, benchmarkFingerprint) {
|
|
206
|
-
return runs
|
|
199
|
+
let active = null;
|
|
200
|
+
for (const run of args.runs
|
|
207
201
|
.slice()
|
|
208
202
|
.sort((left, right) => {
|
|
209
203
|
const leftAt = left.finishedAt ?? left.startedAt;
|
|
210
204
|
const rightAt = right.finishedAt ?? right.startedAt;
|
|
211
205
|
return leftAt.localeCompare(rightAt) || left.id.localeCompare(right.id);
|
|
212
|
-
})
|
|
213
|
-
.
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
206
|
+
})) {
|
|
207
|
+
if (run.status !== "finished" || run.benchmarkFingerprint !== args.benchmarkFingerprint) {
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
if (run.workflow === "eval") {
|
|
211
|
+
if (!active) {
|
|
212
|
+
const evaluated = candidate(run.outputCandidateId ?? run.candidateId);
|
|
213
|
+
if (evaluated && runtimeCandidateSelectionMean(evaluated, run, args.evaluations) !== null) {
|
|
214
|
+
active = evaluated;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
const challenger = candidate(run.outputCandidateId ?? run.candidateId);
|
|
220
|
+
if (!challenger) {
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
if (!active) {
|
|
224
|
+
if (runtimeCandidateSelectionMean(challenger, run, args.evaluations) !== null) {
|
|
225
|
+
active = challenger;
|
|
226
|
+
}
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
if (hasHigherRuntimeSelectionMetric(challenger, active, run, args.evaluations)) {
|
|
230
|
+
active = challenger;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (active) {
|
|
234
|
+
return active.id;
|
|
235
|
+
}
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
function hasHigherRuntimeSelectionMetric(candidate, incumbent, run, evaluations) {
|
|
239
|
+
const candidateValue = runtimeCandidateSelectionMean(candidate, run, evaluations);
|
|
240
|
+
const incumbentValue = runtimeCandidateSelectionMean(incumbent, run, evaluations);
|
|
241
|
+
if (candidateValue == null) {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
if (incumbentValue == null) {
|
|
245
|
+
return true;
|
|
246
|
+
}
|
|
247
|
+
return candidateValue > incumbentValue;
|
|
248
|
+
}
|
|
249
|
+
function runtimeCandidateSelectionMean(candidate, run, evaluations) {
|
|
250
|
+
const selection = runtimeRunSelection(run);
|
|
251
|
+
const runAt = run.finishedAt ?? run.startedAt;
|
|
252
|
+
const scorecards = (evaluations ?? [])
|
|
253
|
+
.filter((evaluation) => evaluation.candidateId === candidate.id &&
|
|
254
|
+
evaluation.benchmarkFingerprint === run.benchmarkFingerprint &&
|
|
255
|
+
(evaluation.runId === run.id || evaluation.updatedAt <= runAt))
|
|
256
|
+
.sort((left, right) => Number(right.runId === run.id) - Number(left.runId === run.id) ||
|
|
257
|
+
right.updatedAt.localeCompare(left.updatedAt) || right.id.localeCompare(left.id));
|
|
258
|
+
const selectedScorecard = scorecards.find((evaluation) => evaluation.selectionMetric === selection.metric &&
|
|
259
|
+
evaluation.selectionLabel === selection.label &&
|
|
260
|
+
evaluation.selectionScore &&
|
|
261
|
+
Number.isFinite(evaluation.selectionScore.mean));
|
|
262
|
+
if (selectedScorecard?.selectionScore) {
|
|
263
|
+
return selectedScorecard.selectionScore.mean;
|
|
264
|
+
}
|
|
265
|
+
for (const scorecard of scorecards) {
|
|
266
|
+
const evaluation = {
|
|
267
|
+
...scorecard.evaluation,
|
|
268
|
+
metrics: scorecard.evaluation.metrics ?? scorecard.metrics,
|
|
269
|
+
};
|
|
270
|
+
const mean = readEvaluationSelectionMeanForRuntime(evaluation, selection);
|
|
271
|
+
if (mean !== null) {
|
|
272
|
+
return mean;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
const embedded = readEvaluationSelectionMeanForRuntime(candidate.eval, selection);
|
|
276
|
+
if (embedded !== null) {
|
|
277
|
+
return embedded;
|
|
278
|
+
}
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
function runtimeRunSelection(run) {
|
|
282
|
+
const selectBy = run.selectBy?.trim();
|
|
283
|
+
if (!selectBy) {
|
|
284
|
+
return { metric: "score" };
|
|
285
|
+
}
|
|
286
|
+
const splitMatch = /^(.+?) on split=(.+)$/u.exec(selectBy);
|
|
287
|
+
if (splitMatch) {
|
|
288
|
+
return {
|
|
289
|
+
metric: splitMatch[1].trim() || "score",
|
|
290
|
+
label: selectBy,
|
|
291
|
+
split: splitMatch[2].trim(),
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
const allCasesMatch = /^(.+?) on all cases$/u.exec(selectBy);
|
|
295
|
+
return {
|
|
296
|
+
metric: allCasesMatch?.[1]?.trim() || "score",
|
|
297
|
+
label: selectBy,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
function readEvaluationSelectionMeanForRuntime(evaluation, selection) {
|
|
301
|
+
if (!selection.split) {
|
|
302
|
+
return readEvaluationSelectionMean(evaluation, selection.metric);
|
|
303
|
+
}
|
|
304
|
+
const sampleValues = (evaluation?.samples ?? []).flatMap((sample) => (sample.cases ?? []).flatMap((caseResult) => {
|
|
305
|
+
const value = caseResult.metrics[selection.metric];
|
|
306
|
+
return caseResult.split === selection.split &&
|
|
307
|
+
typeof value === "number" &&
|
|
308
|
+
Number.isFinite(value)
|
|
309
|
+
? [value]
|
|
310
|
+
: [];
|
|
311
|
+
}));
|
|
312
|
+
if (sampleValues.length > 0) {
|
|
313
|
+
return metricStats(sampleValues).mean;
|
|
314
|
+
}
|
|
315
|
+
const caseValues = (evaluation?.cases ?? []).flatMap((caseStats) => {
|
|
316
|
+
const value = caseStats.metrics[selection.metric]?.mean;
|
|
317
|
+
return caseStats.split === selection.split &&
|
|
318
|
+
typeof value === "number" &&
|
|
319
|
+
Number.isFinite(value)
|
|
320
|
+
? [value]
|
|
321
|
+
: [];
|
|
322
|
+
});
|
|
323
|
+
return caseValues.length > 0 ? metricStats(caseValues).mean : null;
|
|
218
324
|
}
|
|
219
325
|
function workbenchCandidateSourceYamlForFingerprint(sourceYaml) {
|
|
220
326
|
const parsed = YAML.parse(sourceYaml);
|
|
@@ -3447,86 +3553,6 @@ function runtimePrivateDir(root) {
|
|
|
3447
3553
|
function runtimeEnginePrivateDir(root) {
|
|
3448
3554
|
return `${runtimePrivateDir(root)}/engine`;
|
|
3449
3555
|
}
|
|
3450
|
-
async function writeSurfaceFiles(root, files) {
|
|
3451
|
-
const fs = await importNodeModule(nodeBuiltin("fs/promises"));
|
|
3452
|
-
const path = await importNodeModule(nodeBuiltin("path"));
|
|
3453
|
-
for (const file of files) {
|
|
3454
|
-
const target = path.join(root, normalizeRelativePath(file.path));
|
|
3455
|
-
await fs.mkdir(path.dirname(target), { recursive: true });
|
|
3456
|
-
const body = file.encoding === "base64"
|
|
3457
|
-
? Buffer.from(file.content, "base64")
|
|
3458
|
-
: Buffer.from(file.content, "utf8");
|
|
3459
|
-
await fs.writeFile(target, body);
|
|
3460
|
-
if (file.executable) {
|
|
3461
|
-
await fs.chmod(target, 0o755).catch(() => undefined);
|
|
3462
|
-
}
|
|
3463
|
-
}
|
|
3464
|
-
}
|
|
3465
|
-
async function readSurfaceFiles(root, options = {}) {
|
|
3466
|
-
const fs = await importNodeModule(nodeBuiltin("fs/promises"));
|
|
3467
|
-
const path = await importNodeModule(nodeBuiltin("path"));
|
|
3468
|
-
const utf8Decoder = new TextDecoder("utf-8", { fatal: true });
|
|
3469
|
-
const files = [];
|
|
3470
|
-
async function walk(directory) {
|
|
3471
|
-
const entries = await fs
|
|
3472
|
-
.readdir(directory, { withFileTypes: true })
|
|
3473
|
-
.catch(() => []);
|
|
3474
|
-
for (const entry of entries) {
|
|
3475
|
-
const absolutePath = path.join(directory, entry.name);
|
|
3476
|
-
const relativePath = normalizeRelativePath(path.relative(root, absolutePath).replace(/\\/gu, "/"));
|
|
3477
|
-
if (options.ignorePath?.(relativePath)) {
|
|
3478
|
-
continue;
|
|
3479
|
-
}
|
|
3480
|
-
if (entry.isDirectory()) {
|
|
3481
|
-
await walk(absolutePath);
|
|
3482
|
-
continue;
|
|
3483
|
-
}
|
|
3484
|
-
if (!entry.isFile()) {
|
|
3485
|
-
continue;
|
|
3486
|
-
}
|
|
3487
|
-
let body;
|
|
3488
|
-
let stats;
|
|
3489
|
-
try {
|
|
3490
|
-
body = await fs.readFile(absolutePath);
|
|
3491
|
-
stats = await fs.stat(absolutePath);
|
|
3492
|
-
}
|
|
3493
|
-
catch (error) {
|
|
3494
|
-
if (isVanishedWalkEntry(error)) {
|
|
3495
|
-
continue;
|
|
3496
|
-
}
|
|
3497
|
-
throw error;
|
|
3498
|
-
}
|
|
3499
|
-
const content = encodeSurfaceSnapshotContent(body, utf8Decoder);
|
|
3500
|
-
files.push({
|
|
3501
|
-
path: relativePath,
|
|
3502
|
-
kind: content.encoding === "base64" ? "binary" : "text",
|
|
3503
|
-
encoding: content.encoding,
|
|
3504
|
-
content: content.content,
|
|
3505
|
-
executable: (stats.mode & 0o111) !== 0,
|
|
3506
|
-
});
|
|
3507
|
-
}
|
|
3508
|
-
}
|
|
3509
|
-
await walk(root);
|
|
3510
|
-
return files.sort((left, right) => left.path.localeCompare(right.path));
|
|
3511
|
-
}
|
|
3512
|
-
function isVanishedWalkEntry(error) {
|
|
3513
|
-
const code = error?.code;
|
|
3514
|
-
return code === "ENOENT" || code === "ENOTDIR";
|
|
3515
|
-
}
|
|
3516
|
-
function encodeSurfaceSnapshotContent(body, utf8Decoder) {
|
|
3517
|
-
try {
|
|
3518
|
-
return {
|
|
3519
|
-
encoding: "utf8",
|
|
3520
|
-
content: utf8Decoder.decode(body),
|
|
3521
|
-
};
|
|
3522
|
-
}
|
|
3523
|
-
catch {
|
|
3524
|
-
return {
|
|
3525
|
-
encoding: "base64",
|
|
3526
|
-
content: body.toString("base64"),
|
|
3527
|
-
};
|
|
3528
|
-
}
|
|
3529
|
-
}
|
|
3530
3556
|
function normalizeResultMetrics(value) {
|
|
3531
3557
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
3532
3558
|
return undefined;
|
|
@@ -4179,8 +4205,14 @@ function aggregateCaseStatus(results) {
|
|
|
4179
4205
|
return undefined;
|
|
4180
4206
|
}
|
|
4181
4207
|
function selectCandidate(args) {
|
|
4182
|
-
let selected = args.previousCandidate
|
|
4208
|
+
let selected = args.previousCandidate &&
|
|
4209
|
+
readEvaluationSelectionMean(args.previousCandidate.eval, args.selection?.metric ?? "score", args.selection?.caseIds) !== null
|
|
4210
|
+
? args.previousCandidate
|
|
4211
|
+
: null;
|
|
4183
4212
|
for (const candidate of args.candidates) {
|
|
4213
|
+
if (readEvaluationSelectionMean(candidate.eval, args.selection?.metric ?? "score", args.selection?.caseIds) === null) {
|
|
4214
|
+
continue;
|
|
4215
|
+
}
|
|
4184
4216
|
if (!selected || hasHigherEvaluationMetric(candidate, selected, args.selection)) {
|
|
4185
4217
|
selected = candidate;
|
|
4186
4218
|
}
|
|
@@ -4245,17 +4277,6 @@ function metricStats(values) {
|
|
|
4245
4277
|
max: Math.max(...values),
|
|
4246
4278
|
};
|
|
4247
4279
|
}
|
|
4248
|
-
function normalizeRelativePath(filePath) {
|
|
4249
|
-
const normalized = filePath.replace(/\\/gu, "/").replace(/^\/+/u, "");
|
|
4250
|
-
if (!normalized || normalized.includes("\0")) {
|
|
4251
|
-
throw new Error("File paths must be non-empty relative paths.");
|
|
4252
|
-
}
|
|
4253
|
-
const parts = normalized.split("/");
|
|
4254
|
-
if (parts.some((part) => part === ".." || part === "." || part === "")) {
|
|
4255
|
-
throw new Error(`Unsafe relative file path: ${filePath}`);
|
|
4256
|
-
}
|
|
4257
|
-
return normalized;
|
|
4258
|
-
}
|
|
4259
4280
|
function detectMimeType(filePath) {
|
|
4260
4281
|
const lower = filePath.toLowerCase();
|
|
4261
4282
|
if (lower.endsWith(".md") || lower.endsWith(".markdown")) {
|
package/dist/inspection.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type WorkbenchEvaluationComparison } from "@workbench-ai/workbench-contract";
|
|
2
|
-
import type { AuthoredWorkbenchSourceDocument, CandidateCaseReview, CandidateFilePreview, CandidateFileSummary, CandidateLineageGraph, CandidateRecord, EvaluationScorecard, RemoteWorkbenchJob, RunSummary, RuntimeSnapshot,
|
|
2
|
+
import type { AuthoredWorkbenchSourceDocument, CandidateCaseReview, CandidateFilePreview, CandidateFileSummary, CandidateLineageGraph, CandidateRecord, EvaluationScorecard, RemoteWorkbenchJob, RunSummary, RuntimeSnapshot, WorkbenchExecutionEventRole, WorkbenchExecutionTrace, WorkbenchExecutionTraceDetail, WorkbenchTraceSession } from "@workbench-ai/workbench-contract";
|
|
3
3
|
export interface WorkbenchInspectionErrorOptions {
|
|
4
4
|
status?: number;
|
|
5
5
|
}
|
|
@@ -11,16 +11,20 @@ export declare class WorkbenchInspectionError extends Error {
|
|
|
11
11
|
export interface WorkbenchInspectionFileListInput {
|
|
12
12
|
fingerprint?: string | null;
|
|
13
13
|
}
|
|
14
|
-
export interface
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
export interface WorkbenchInspectionFileSurface {
|
|
15
|
+
files: CandidateFileSummary[];
|
|
16
|
+
preview: CandidateFilePreview | null;
|
|
17
17
|
}
|
|
18
|
-
export interface
|
|
18
|
+
export interface WorkbenchInspectionFileSurfaceInput extends WorkbenchInspectionFileListInput {
|
|
19
|
+
path?: string | null;
|
|
20
|
+
view?: "diff" | "raw" | "rendered";
|
|
19
21
|
}
|
|
20
22
|
export interface WorkbenchInspectionCandidateInput {
|
|
21
23
|
id: string;
|
|
22
24
|
}
|
|
23
|
-
export interface
|
|
25
|
+
export interface WorkbenchInspectionCandidateFileSurfaceInput extends WorkbenchInspectionCandidateInput {
|
|
26
|
+
path?: string | null;
|
|
27
|
+
view?: "diff" | "raw" | "rendered";
|
|
24
28
|
}
|
|
25
29
|
export interface WorkbenchInspectionEvaluationInput {
|
|
26
30
|
id: string;
|
|
@@ -39,9 +43,9 @@ export interface WorkbenchInspectionExecutionInput {
|
|
|
39
43
|
runId: string;
|
|
40
44
|
jobId: string;
|
|
41
45
|
}
|
|
42
|
-
export interface
|
|
43
|
-
path
|
|
44
|
-
view
|
|
46
|
+
export interface WorkbenchInspectionExecutionFileSurfaceInput extends WorkbenchInspectionExecutionInput {
|
|
47
|
+
path?: string | null;
|
|
48
|
+
view?: "diff" | "raw" | "rendered";
|
|
45
49
|
}
|
|
46
50
|
export interface WorkbenchInspectionRunDetail {
|
|
47
51
|
run: RunSummary;
|
|
@@ -72,16 +76,16 @@ export interface WorkbenchInspectionBackend {
|
|
|
72
76
|
projectId: string;
|
|
73
77
|
snapshot(): Promise<RuntimeSnapshot>;
|
|
74
78
|
spec(input: WorkbenchInspectionFileListInput): Promise<AuthoredWorkbenchSourceDocument>;
|
|
75
|
-
sourceFiles(input: WorkbenchInspectionFileListInput): Promise<
|
|
79
|
+
sourceFiles(input: WorkbenchInspectionFileListInput): Promise<CandidateFileSummary[]>;
|
|
80
|
+
sourceFileSurface(input: WorkbenchInspectionFileSurfaceInput): Promise<WorkbenchInspectionFileSurface>;
|
|
76
81
|
candidate(input: WorkbenchInspectionCandidateInput): Promise<CandidateRecord>;
|
|
77
|
-
candidateFiles(input: WorkbenchInspectionCandidateInput): Promise<
|
|
78
|
-
|
|
79
|
-
changedPaths: readonly string[];
|
|
80
|
-
}>;
|
|
82
|
+
candidateFiles(input: WorkbenchInspectionCandidateInput): Promise<CandidateFileSummary[]>;
|
|
83
|
+
candidateFileSurface(input: WorkbenchInspectionCandidateFileSurfaceInput): Promise<WorkbenchInspectionFileSurface>;
|
|
81
84
|
evaluation(input: WorkbenchInspectionEvaluationInput): Promise<EvaluationScorecard>;
|
|
82
85
|
run(input: WorkbenchInspectionRunInput): Promise<WorkbenchInspectionRunDetail>;
|
|
83
86
|
jobInRun?(input: WorkbenchInspectionExecutionInput): Promise<RemoteWorkbenchJob>;
|
|
84
|
-
executionFiles(input: WorkbenchInspectionExecutionInput): Promise<
|
|
87
|
+
executionFiles(input: WorkbenchInspectionExecutionInput): Promise<CandidateFileSummary[]>;
|
|
88
|
+
executionFileSurface(input: WorkbenchInspectionExecutionFileSurfaceInput): Promise<WorkbenchInspectionFileSurface>;
|
|
85
89
|
caseReview?(input: WorkbenchInspectionCaseReviewInput): Promise<CandidateCaseReview>;
|
|
86
90
|
executionTrace?(input: WorkbenchInspectionExecutionInput): Promise<WorkbenchExecutionTraceDetail>;
|
|
87
91
|
traceForJob?(job: RemoteWorkbenchJob, role: WorkbenchExecutionEventRole): WorkbenchExecutionTrace;
|
|
@@ -91,21 +95,23 @@ export interface WorkbenchInspection {
|
|
|
91
95
|
snapshot(): Promise<RuntimeSnapshot>;
|
|
92
96
|
spec(input?: WorkbenchInspectionFileListInput): Promise<AuthoredWorkbenchSourceDocument>;
|
|
93
97
|
sourceFiles(input?: WorkbenchInspectionFileListInput): Promise<CandidateFileSummary[]>;
|
|
94
|
-
|
|
98
|
+
sourceFileSurface(input?: WorkbenchInspectionFileSurfaceInput): Promise<WorkbenchInspectionFileSurface>;
|
|
95
99
|
candidate(input: WorkbenchInspectionCandidateInput): Promise<CandidateRecord>;
|
|
96
100
|
candidateFiles(input: WorkbenchInspectionCandidateInput): Promise<CandidateFileSummary[]>;
|
|
97
|
-
|
|
101
|
+
candidateFileSurface(input: WorkbenchInspectionCandidateFileSurfaceInput): Promise<WorkbenchInspectionFileSurface>;
|
|
98
102
|
evaluations(): Promise<WorkbenchEvaluationComparison>;
|
|
99
103
|
evaluation(input: WorkbenchInspectionEvaluationInput): Promise<EvaluationScorecard>;
|
|
100
104
|
caseReview(input: WorkbenchInspectionCaseReviewInput): Promise<CandidateCaseReview>;
|
|
101
105
|
run(input: WorkbenchInspectionRunInput): Promise<WorkbenchInspectionRunDetail>;
|
|
102
106
|
executionTrace(input: WorkbenchInspectionExecutionInput): Promise<WorkbenchExecutionTraceDetail>;
|
|
103
107
|
executionFiles(input: WorkbenchInspectionExecutionInput): Promise<CandidateFileSummary[]>;
|
|
104
|
-
|
|
108
|
+
executionFileSurface(input: WorkbenchInspectionExecutionFileSurfaceInput): Promise<WorkbenchInspectionFileSurface>;
|
|
105
109
|
lineage(): Promise<CandidateLineageGraph>;
|
|
106
110
|
diagnose(input?: {
|
|
107
111
|
targetId?: string | null;
|
|
108
112
|
}): Promise<WorkbenchFailureDiagnosis>;
|
|
109
113
|
}
|
|
110
114
|
export declare function createWorkbenchInspection(backend: WorkbenchInspectionBackend): WorkbenchInspection;
|
|
115
|
+
export declare function selectedFilePath(requestedPath: string | null | undefined, files: readonly CandidateFileSummary[]): string | null;
|
|
116
|
+
export declare function pickDefaultCandidateFilePath(files: readonly CandidateFileSummary[]): string | null;
|
|
111
117
|
//# sourceMappingURL=inspection.d.ts.map
|
package/dist/inspection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../src/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,+BAA+B,EAC/B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EAEnB,kBAAkB,EAElB,UAAU,EACV,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../src/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,+BAA+B,EAC/B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EAEnB,kBAAkB,EAElB,UAAU,EACV,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,EACvB,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;AAW1C,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,+BAAoC;CAM3E;AAED,MAAM,WAAW,gCAAgC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,mCAAoC,SAAQ,gCAAgC;IAC3F,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;CACpC;AAED,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,4CAA6C,SAAQ,iCAAiC;IACrG,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;CACpC;AAED,MAAM,WAAW,kCAAkC;IACjD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kCAAkC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,4CAA6C,SAAQ,iCAAiC;IACrG,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;CACpC;AAED,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAEpF,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACxF,WAAW,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACtF,iBAAiB,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACvG,SAAS,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9E,cAAc,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC1F,oBAAoB,CAAC,KAAK,EAAE,4CAA4C,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACnH,UAAU,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpF,GAAG,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC/E,QAAQ,CAAC,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjF,cAAc,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC1F,oBAAoB,CAAC,KAAK,EAAE,4CAA4C,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACnH,UAAU,CAAC,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrF,cAAc,CAAC,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAClG,WAAW,CAAC,CACV,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,2BAA2B,GAChC,uBAAuB,CAAC;IAC3B,mBAAmB,CAAC,CAClB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,2BAA2B,GAChC,qBAAqB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACzF,WAAW,CAAC,KAAK,CAAC,EAAE,gCAAgC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACvF,iBAAiB,CAAC,KAAK,CAAC,EAAE,mCAAmC,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxG,SAAS,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9E,cAAc,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC1F,oBAAoB,CAAC,KAAK,EAAE,4CAA4C,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACnH,WAAW,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACtD,UAAU,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpF,UAAU,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpF,GAAG,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC/E,cAAc,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACjG,cAAc,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC1F,oBAAoB,CAAC,KAAK,EAAE,4CAA4C,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACnH,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACpF;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,CAyErB;AAED,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACxC,KAAK,EAAE,SAAS,oBAAoB,EAAE,GACrC,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,oBAAoB,EAAE,GACrC,MAAM,GAAG,IAAI,CAIf"}
|
package/dist/inspection.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { buildCandidateLineage, buildWorkbenchEvaluationComparison, } from "@workbench-ai/workbench-contract";
|
|
2
2
|
import { buildCandidateCaseExecutionRefs, buildWorkbenchExecutionEvidence, } from "./execution-evidence.js";
|
|
3
|
-
import { candidateRecordWithoutDerivedFields,
|
|
3
|
+
import { candidateRecordWithoutDerivedFields, createCaseReview, } from "./index.js";
|
|
4
4
|
export class WorkbenchInspectionError extends Error {
|
|
5
5
|
status;
|
|
6
6
|
statusCode;
|
|
@@ -15,25 +15,11 @@ export function createWorkbenchInspection(backend) {
|
|
|
15
15
|
return {
|
|
16
16
|
snapshot: () => backend.snapshot(),
|
|
17
17
|
spec: (input = {}) => backend.spec(input),
|
|
18
|
-
sourceFiles:
|
|
19
|
-
|
|
20
|
-
return summarizeCandidateFiles(files, files.map((file) => file.path));
|
|
21
|
-
},
|
|
22
|
-
sourcePreview: async (input) => createCandidateFilePreview({
|
|
23
|
-
files: await backend.sourceFiles(input),
|
|
24
|
-
path: input.path,
|
|
25
|
-
view: input.view,
|
|
26
|
-
}),
|
|
18
|
+
sourceFiles: (input = {}) => backend.sourceFiles(input),
|
|
19
|
+
sourceFileSurface: (input = {}) => backend.sourceFileSurface(input),
|
|
27
20
|
candidate: async (input) => candidateRecordWithoutDerivedFields(await backend.candidate(input)),
|
|
28
|
-
candidateFiles:
|
|
29
|
-
|
|
30
|
-
return summarizeCandidateFiles(result.files, result.changedPaths);
|
|
31
|
-
},
|
|
32
|
-
candidatePreview: async (input) => createCandidateFilePreview({
|
|
33
|
-
files: (await backend.candidateFiles(input)).files,
|
|
34
|
-
path: input.path,
|
|
35
|
-
view: input.view,
|
|
36
|
-
}),
|
|
21
|
+
candidateFiles: (input) => backend.candidateFiles(input),
|
|
22
|
+
candidateFileSurface: (input) => backend.candidateFileSurface(input),
|
|
37
23
|
evaluations: async () => {
|
|
38
24
|
const snapshot = await backend.snapshot();
|
|
39
25
|
return buildWorkbenchEvaluationComparison(snapshot.evaluations);
|
|
@@ -76,15 +62,8 @@ export function createWorkbenchInspection(backend) {
|
|
|
76
62
|
}),
|
|
77
63
|
};
|
|
78
64
|
},
|
|
79
|
-
executionFiles:
|
|
80
|
-
|
|
81
|
-
return summarizeCandidateFiles(files, files.map((file) => file.path));
|
|
82
|
-
},
|
|
83
|
-
executionPreview: async (input) => createCandidateFilePreview({
|
|
84
|
-
files: await backend.executionFiles(input),
|
|
85
|
-
path: input.path,
|
|
86
|
-
view: input.view,
|
|
87
|
-
}),
|
|
65
|
+
executionFiles: (input) => backend.executionFiles(input),
|
|
66
|
+
executionFileSurface: (input) => backend.executionFileSurface(input),
|
|
88
67
|
lineage: async () => {
|
|
89
68
|
const snapshot = await backend.snapshot();
|
|
90
69
|
return buildCandidateLineage({
|
|
@@ -102,6 +81,34 @@ export function createWorkbenchInspection(backend) {
|
|
|
102
81
|
},
|
|
103
82
|
};
|
|
104
83
|
}
|
|
84
|
+
export function selectedFilePath(requestedPath, files) {
|
|
85
|
+
const normalizedPath = requestedPath?.trim();
|
|
86
|
+
if (normalizedPath && files.some((file) => file.path === normalizedPath)) {
|
|
87
|
+
return normalizedPath;
|
|
88
|
+
}
|
|
89
|
+
return pickDefaultCandidateFilePath(files);
|
|
90
|
+
}
|
|
91
|
+
export function pickDefaultCandidateFilePath(files) {
|
|
92
|
+
return files
|
|
93
|
+
.map((entry) => entry.path)
|
|
94
|
+
.sort(compareCandidateFilePreference)[0] ?? null;
|
|
95
|
+
}
|
|
96
|
+
function compareCandidateFilePreference(left, right) {
|
|
97
|
+
const order = scoreCandidateFilePreference(left) - scoreCandidateFilePreference(right);
|
|
98
|
+
return order === 0 ? left.localeCompare(right) : order;
|
|
99
|
+
}
|
|
100
|
+
function scoreCandidateFilePreference(path) {
|
|
101
|
+
if (path.endsWith("/SKILL.md") || path === "SKILL.md") {
|
|
102
|
+
return 0;
|
|
103
|
+
}
|
|
104
|
+
if (path.endsWith(".md")) {
|
|
105
|
+
return 1;
|
|
106
|
+
}
|
|
107
|
+
if (path.endsWith(".yaml") || path.endsWith(".yml")) {
|
|
108
|
+
return 2;
|
|
109
|
+
}
|
|
110
|
+
return 3;
|
|
111
|
+
}
|
|
105
112
|
async function diagnoseWorkbenchFailures(args) {
|
|
106
113
|
const targetRun = args.targetId
|
|
107
114
|
? args.snapshot.runs.find((run) => run.id === args.targetId)
|
package/dist/runtime-utils.d.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import type { Json } from "@workbench-ai/workbench-contract";
|
|
1
|
+
import type { Json, SurfaceSnapshotFile } from "@workbench-ai/workbench-contract";
|
|
2
2
|
export declare function importNodeModule<T>(specifier: string): Promise<T>;
|
|
3
3
|
export declare function nodeBuiltin(name: string): string;
|
|
4
4
|
export declare function asRuntimeRecord(value: unknown): Record<string, unknown>;
|
|
5
5
|
export declare function jsonRecord(value: unknown): Record<string, Json>;
|
|
6
6
|
export declare function numberValue(value: unknown): number | undefined;
|
|
7
7
|
export declare function stringValue(value: unknown): string | undefined;
|
|
8
|
+
export declare function normalizeRelativePath(filePath: string): string;
|
|
9
|
+
export declare function writeSurfaceFiles(root: string, files: readonly SurfaceSnapshotFile[]): Promise<void>;
|
|
10
|
+
export declare function readSurfaceFiles(root: string, options?: {
|
|
11
|
+
ignorePath?: (path: string) => boolean;
|
|
12
|
+
}): Promise<SurfaceSnapshotFile[]>;
|
|
8
13
|
export declare function isJsonPayload(value: unknown): value is import("@workbench-ai/workbench-contract").Json;
|
|
9
14
|
export declare function resolveDockerRuntimeImageRef(imageRef: string, options: {
|
|
10
15
|
runtimeRegistry: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-utils.d.ts","sourceRoot":"","sources":["../src/runtime-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,
|
|
1
|
+
{"version":3,"file":"runtime-utils.d.ts","sourceRoot":"","sources":["../src/runtime-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAE1C,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAEvE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIvE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAI/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,mBAAmB,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GACvD,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA+ChC;AAwBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,kCAAkC,EAAE,IAAI,CAWtG;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GAChF,MAAM,CASR;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAeD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAS7E;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,SAAS,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CASjG;AAoBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD"}
|
package/dist/runtime-utils.js
CHANGED
|
@@ -28,6 +28,98 @@ export function numberValue(value) {
|
|
|
28
28
|
export function stringValue(value) {
|
|
29
29
|
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
30
30
|
}
|
|
31
|
+
export function normalizeRelativePath(filePath) {
|
|
32
|
+
const normalized = filePath.replace(/\\/gu, "/").replace(/^\/+/u, "");
|
|
33
|
+
if (!normalized || normalized.includes("\0")) {
|
|
34
|
+
throw new Error("File paths must be non-empty relative paths.");
|
|
35
|
+
}
|
|
36
|
+
const parts = normalized.split("/");
|
|
37
|
+
if (parts.some((part) => part === ".." || part === "." || part === "")) {
|
|
38
|
+
throw new Error(`Unsafe relative file path: ${filePath}`);
|
|
39
|
+
}
|
|
40
|
+
return normalized;
|
|
41
|
+
}
|
|
42
|
+
export async function writeSurfaceFiles(root, files) {
|
|
43
|
+
const fs = await importNodeModule(nodeBuiltin("fs/promises"));
|
|
44
|
+
const path = await importNodeModule(nodeBuiltin("path"));
|
|
45
|
+
await fs.mkdir(root, { recursive: true });
|
|
46
|
+
for (const file of files) {
|
|
47
|
+
const target = path.join(root, normalizeRelativePath(file.path));
|
|
48
|
+
await fs.mkdir(path.dirname(target), { recursive: true });
|
|
49
|
+
const body = file.encoding === "base64"
|
|
50
|
+
? Buffer.from(file.content, "base64")
|
|
51
|
+
: Buffer.from(file.content, "utf8");
|
|
52
|
+
await fs.writeFile(target, body);
|
|
53
|
+
if (file.executable) {
|
|
54
|
+
await fs.chmod(target, 0o755).catch(() => undefined);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export async function readSurfaceFiles(root, options = {}) {
|
|
59
|
+
const fs = await importNodeModule(nodeBuiltin("fs/promises"));
|
|
60
|
+
const path = await importNodeModule(nodeBuiltin("path"));
|
|
61
|
+
const utf8Decoder = new TextDecoder("utf-8", { fatal: true });
|
|
62
|
+
const files = [];
|
|
63
|
+
async function walk(directory) {
|
|
64
|
+
const entries = await fs
|
|
65
|
+
.readdir(directory, { withFileTypes: true })
|
|
66
|
+
.catch(() => []);
|
|
67
|
+
for (const entry of entries) {
|
|
68
|
+
const absolutePath = path.join(directory, entry.name);
|
|
69
|
+
const relativePath = normalizeRelativePath(path.relative(root, absolutePath).replace(/\\/gu, "/"));
|
|
70
|
+
if (options.ignorePath?.(relativePath)) {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (entry.isDirectory()) {
|
|
74
|
+
await walk(absolutePath);
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
if (!entry.isFile()) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
let body;
|
|
81
|
+
let stats;
|
|
82
|
+
try {
|
|
83
|
+
body = await fs.readFile(absolutePath);
|
|
84
|
+
stats = await fs.stat(absolutePath);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
if (isVanishedWalkEntry(error)) {
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
const content = encodeSurfaceSnapshotContent(body, utf8Decoder);
|
|
93
|
+
files.push({
|
|
94
|
+
path: relativePath,
|
|
95
|
+
kind: content.encoding === "base64" ? "binary" : "text",
|
|
96
|
+
encoding: content.encoding,
|
|
97
|
+
content: content.content,
|
|
98
|
+
executable: (stats.mode & 0o111) !== 0,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
await walk(root);
|
|
103
|
+
return files.sort((left, right) => left.path.localeCompare(right.path));
|
|
104
|
+
}
|
|
105
|
+
function isVanishedWalkEntry(error) {
|
|
106
|
+
const code = error?.code;
|
|
107
|
+
return code === "ENOENT" || code === "ENOTDIR";
|
|
108
|
+
}
|
|
109
|
+
function encodeSurfaceSnapshotContent(body, utf8Decoder) {
|
|
110
|
+
try {
|
|
111
|
+
return {
|
|
112
|
+
encoding: "utf8",
|
|
113
|
+
content: utf8Decoder.decode(body),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return {
|
|
118
|
+
encoding: "base64",
|
|
119
|
+
content: body.toString("base64"),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
31
123
|
export function isJsonPayload(value) {
|
|
32
124
|
if (value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
33
125
|
return Number.isFinite(value) || typeof value !== "number";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-files.d.ts","sourceRoot":"","sources":["../src/trace-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAO1C,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"trace-files.d.ts","sourceRoot":"","sources":["../src/trace-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAO1C,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAOhH;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAK9E;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAET;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,yBAAyB,CAAC;CACpC,GAAG,MAAM,CAET;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAKT"}
|
package/dist/trace-files.js
CHANGED
|
@@ -1,38 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { normalizeRelativePath, readSurfaceFiles, } from "./runtime-utils.js";
|
|
2
2
|
export const WORKBENCH_TRACE_ROOT = ".workbench/traces";
|
|
3
3
|
export async function readOutputTraceFiles(outputRoot, traceRoot) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
for (const entry of entries) {
|
|
11
|
-
const absolutePath = path.join(directory, entry.name);
|
|
12
|
-
if (entry.isDirectory()) {
|
|
13
|
-
const relativeDirectory = normalizeRelativePath(path.relative(outputRoot, absolutePath).replace(/\\/gu, "/"));
|
|
14
|
-
if (shouldSkipTraceDirectory(relativeDirectory)) {
|
|
15
|
-
continue;
|
|
16
|
-
}
|
|
17
|
-
await walk(absolutePath);
|
|
18
|
-
continue;
|
|
19
|
-
}
|
|
20
|
-
if (!entry.isFile()) {
|
|
21
|
-
continue;
|
|
22
|
-
}
|
|
23
|
-
const body = await fs.readFile(absolutePath);
|
|
24
|
-
const content = encodeTraceFileContent(body, decoder);
|
|
25
|
-
files.push({
|
|
26
|
-
path: normalizeRelativePath(`${traceRoot}/${path.relative(outputRoot, absolutePath).replace(/\\/gu, "/")}`),
|
|
27
|
-
kind: content.encoding === "base64" ? "binary" : "text",
|
|
28
|
-
encoding: content.encoding,
|
|
29
|
-
content: content.content,
|
|
30
|
-
executable: false,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
await walk(outputRoot);
|
|
35
|
-
return files;
|
|
4
|
+
return (await readSurfaceFiles(outputRoot, { ignorePath: shouldSkipTraceDirectory }))
|
|
5
|
+
.map((file) => ({
|
|
6
|
+
...file,
|
|
7
|
+
path: normalizeRelativePath(`${traceRoot}/${file.path}`),
|
|
8
|
+
executable: false,
|
|
9
|
+
}));
|
|
36
10
|
}
|
|
37
11
|
export function traceFilePaths(files) {
|
|
38
12
|
return files
|
|
@@ -62,20 +36,6 @@ function shouldSkipTraceDirectory(relativeDirectory) {
|
|
|
62
36
|
|| relativeDirectory.endsWith("/session/workspace")
|
|
63
37
|
|| relativeDirectory.includes("/session/workspace/");
|
|
64
38
|
}
|
|
65
|
-
function encodeTraceFileContent(body, utf8Decoder) {
|
|
66
|
-
try {
|
|
67
|
-
return {
|
|
68
|
-
encoding: "utf8",
|
|
69
|
-
content: utf8Decoder.decode(body),
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
return {
|
|
74
|
-
encoding: "base64",
|
|
75
|
-
content: body.toString("base64"),
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
39
|
function sanitizeTracePathSegment(value) {
|
|
80
40
|
const sanitized = value
|
|
81
41
|
.trim()
|
|
@@ -89,6 +49,3 @@ function tracePurposeSequence(purpose) {
|
|
|
89
49
|
}
|
|
90
50
|
return 2;
|
|
91
51
|
}
|
|
92
|
-
function normalizeRelativePath(filePath) {
|
|
93
|
-
return filePath.replace(/\\/gu, "/").replace(/^\/+/u, "").replace(/\/+/gu, "/");
|
|
94
|
-
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workbench-ai/workbench-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.67",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "git+https://github.com/workbench-ai/workbench.git",
|
|
7
|
+
"directory": "packages/core"
|
|
8
|
+
},
|
|
4
9
|
"type": "module",
|
|
5
10
|
"main": "dist/index.js",
|
|
6
11
|
"types": "dist/index.d.ts",
|
|
@@ -17,8 +22,8 @@
|
|
|
17
22
|
],
|
|
18
23
|
"dependencies": {
|
|
19
24
|
"yaml": "^2.8.2",
|
|
20
|
-
"@workbench-ai/workbench-
|
|
21
|
-
"@workbench-ai/workbench-
|
|
25
|
+
"@workbench-ai/workbench-contract": "0.0.67",
|
|
26
|
+
"@workbench-ai/workbench-protocol": "0.0.67"
|
|
22
27
|
},
|
|
23
28
|
"devDependencies": {
|
|
24
29
|
"@types/node": "^24.3.1",
|