@workbench-ai/workbench 0.0.49 → 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.
@@ -1,7 +1,7 @@
1
- export type InitSubjectKind = "skill" | "command";
1
+ export type InitCandidateKind = "skill" | "command";
2
2
  export type InitAgent = string;
3
3
  export interface WorkbenchInitScaffoldOptions {
4
- kind: InitSubjectKind;
4
+ kind: InitCandidateKind;
5
5
  name: string;
6
6
  agent?: InitAgent;
7
7
  example: boolean;
@@ -11,9 +11,9 @@ export interface WorkbenchInitScaffoldFile {
11
11
  content: string;
12
12
  }
13
13
  export interface WorkbenchInitScaffold {
14
- kind: InitSubjectKind;
14
+ kind: InitCandidateKind;
15
15
  name: string;
16
- subjectRoot: string;
16
+ candidateRoot: string;
17
17
  seedFileTarget: string;
18
18
  seedDirectoryTarget: string;
19
19
  files: WorkbenchInitScaffoldFile[];
@@ -1 +1 @@
1
- {"version":3,"file":"init-scaffold.d.ts","sourceRoot":"","sources":["../src/init-scaffold.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,yBAAyB,EAAE,CAAC;CACpC;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,qBAAqB,CAkBxG"}
1
+ {"version":3,"file":"init-scaffold.d.ts","sourceRoot":"","sources":["../src/init-scaffold.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,yBAAyB,EAAE,CAAC;CACpC;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,qBAAqB,CAkBxG"}
@@ -12,7 +12,7 @@ export function createWorkbenchInitScaffold(options) {
12
12
  return {
13
13
  kind: template.kind,
14
14
  name: options.name,
15
- subjectRoot: template.subjectRoot(context),
15
+ candidateRoot: template.candidateRoot(context),
16
16
  seedFileTarget: template.seedFileTarget(context),
17
17
  seedDirectoryTarget: template.seedDirectoryTarget(context),
18
18
  files: template.files(context),
@@ -26,5 +26,5 @@ function requireAgent(options) {
26
26
  }
27
27
  function slugify(value) {
28
28
  const slug = value.trim().toLowerCase().replace(/[^a-z0-9]+/gu, "-").replace(/^-+|-+$/gu, "");
29
- return slug || "workbench-subject";
29
+ return slug || "workbench-candidate";
30
30
  }
@@ -1,4 +1,4 @@
1
- import type { InitAgent, InitSubjectKind, WorkbenchInitScaffoldFile } from "./init-scaffold.js";
1
+ import type { InitAgent, InitCandidateKind, WorkbenchInitScaffoldFile } from "./init-scaffold.js";
2
2
  interface WorkbenchInitTemplateContext {
3
3
  name: string;
4
4
  slug: string;
@@ -6,14 +6,14 @@ interface WorkbenchInitTemplateContext {
6
6
  example: boolean;
7
7
  }
8
8
  export interface WorkbenchInitTemplate {
9
- kind: InitSubjectKind;
9
+ kind: InitCandidateKind;
10
10
  requiresAgent: boolean;
11
- subjectRoot(context: WorkbenchInitTemplateContext): string;
11
+ candidateRoot(context: WorkbenchInitTemplateContext): string;
12
12
  seedFileTarget(context: WorkbenchInitTemplateContext): string;
13
13
  seedDirectoryTarget(context: WorkbenchInitTemplateContext): string;
14
14
  files(context: WorkbenchInitTemplateContext): WorkbenchInitScaffoldFile[];
15
15
  }
16
- export type WorkbenchInitTemplatePack = Record<InitSubjectKind, WorkbenchInitTemplate>;
16
+ export type WorkbenchInitTemplatePack = Record<InitCandidateKind, WorkbenchInitTemplate>;
17
17
  export declare const defaultWorkbenchInitTemplatePack: WorkbenchInitTemplatePack;
18
18
  export {};
19
19
  //# sourceMappingURL=init-template-pack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-template-pack.d.ts","sourceRoot":"","sources":["../src/init-template-pack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,UAAU,4BAA4B;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC;IAC3D,cAAc,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC;IAC9D,mBAAmB,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC;IACnE,KAAK,CAAC,OAAO,EAAE,4BAA4B,GAAG,yBAAyB,EAAE,CAAC;CAC3E;AAED,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;AAEvF,eAAO,MAAM,gCAAgC,EAAE,yBAiD9C,CAAC"}
1
+ {"version":3,"file":"init-template-pack.d.ts","sourceRoot":"","sources":["../src/init-template-pack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,UAAU,4BAA4B;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC;IAC7D,cAAc,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC;IAC9D,mBAAmB,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC;IACnE,KAAK,CAAC,OAAO,EAAE,4BAA4B,GAAG,yBAAyB,EAAE,CAAC;CAC3E;AAED,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAEzF,eAAO,MAAM,gCAAgC,EAAE,yBA+C9C,CAAC"}
@@ -2,18 +2,17 @@ export const defaultWorkbenchInitTemplatePack = {
2
2
  skill: {
3
3
  kind: "skill",
4
4
  requiresAgent: true,
5
- subjectRoot: ({ agent }) => `subjects/${requiredAgent(agent)}/files`,
6
- seedFileTarget: ({ agent }) => `subjects/${requiredAgent(agent)}/files/SKILL.md`,
7
- seedDirectoryTarget: ({ agent }) => `subjects/${requiredAgent(agent)}/files`,
5
+ candidateRoot: () => "candidates/current/files",
6
+ seedFileTarget: () => "candidates/current/files/SKILL.md",
7
+ seedDirectoryTarget: () => "candidates/current/files",
8
8
  files: ({ name, slug, agent, example }) => {
9
9
  const adapter = requiredAgent(agent);
10
10
  return [
11
11
  { path: "benchmark.yaml", content: skillBenchmarkSpec(name, adapter) },
12
- { path: `subjects/${adapter}/subject.yaml`, content: skillSubjectSpec(name, adapter) },
13
- { path: `optimizers/${adapter}.yaml`, content: optimizerSpec(name, "SKILL.md", adapter) },
14
- { path: `subjects/${adapter}/files/SKILL.md`, content: skillMarkdown(name, slug, example) },
15
- { path: `subjects/${adapter}/files/prepare.sh`, content: subjectPrepareScript() },
16
- { path: `subjects/${adapter}/files/agents/openai.yaml`, content: skillOpenAiMetadata(name, slug) },
12
+ { path: "candidates/current/candidate.yaml", content: skillCandidateSpec(name, adapter) },
13
+ { path: "candidates/current/files/SKILL.md", content: skillMarkdown(name, slug, example) },
14
+ { path: "candidates/current/files/prepare.sh", content: candidatePrepareScript() },
15
+ { path: "candidates/current/files/agents/openai.yaml", content: skillOpenAiMetadata(name, slug) },
17
16
  { path: "environment/Dockerfile", content: nodeDockerfile() },
18
17
  { path: "tasks/task-001/task.yaml", content: taskYaml(skillCasePrompt(name)) },
19
18
  { path: "tasks/task-001/tests/rubric.md", content: skillExpectedRubric() },
@@ -27,22 +26,21 @@ export const defaultWorkbenchInitTemplatePack = {
27
26
  command: {
28
27
  kind: "command",
29
28
  requiresAgent: false,
30
- subjectRoot: () => "subjects/command/files",
31
- seedFileTarget: () => "subjects/command/files/run.js",
32
- seedDirectoryTarget: () => "subjects/command/files",
29
+ candidateRoot: () => "candidates/current/files",
30
+ seedFileTarget: () => "candidates/current/files/run.js",
31
+ seedDirectoryTarget: () => "candidates/current/files",
33
32
  files: ({ name, example }) => [
34
33
  { path: "benchmark.yaml", content: commandBenchmarkSpec(name) },
35
- { path: "subjects/command/subject.yaml", content: commandSubjectSpec(name) },
36
- { path: "optimizers/command.yaml", content: commandOptimizerSpec(name) },
37
- { path: "subjects/command/files/run.js", content: commandRunnerSource() },
38
- { path: "subjects/command/files/prepare.sh", content: subjectPrepareScript() },
34
+ { path: "candidates/current/candidate.yaml", content: commandCandidateSpec(name) },
35
+ { path: "candidates/current/files/run.js", content: commandRunnerSource() },
36
+ { path: "candidates/current/files/prepare.sh", content: candidatePrepareScript() },
39
37
  { path: "environment/Dockerfile", content: nodeDockerfile() },
40
38
  { path: "tasks/task-001/task.yaml", content: taskYaml("The command should produce a concise result for this task.\n") },
41
- { path: "tasks/task-001/tests/required-output.txt", content: "command subject ran\n" },
39
+ { path: "tasks/task-001/tests/required-output.txt", content: "command candidate ran\n" },
42
40
  { path: "tasks/task-001/tests/test.sh", content: commandTestScript() },
43
41
  ...(example ? [
44
42
  { path: "tasks/task-002/task.yaml", content: taskYaml("The command should still produce deterministic output for a second task.\n") },
45
- { path: "tasks/task-002/tests/required-output.txt", content: "command subject ran\n" },
43
+ { path: "tasks/task-002/tests/required-output.txt", content: "command candidate ran\n" },
46
44
  { path: "tasks/task-002/tests/test.sh", content: commandTestScript() },
47
45
  ] : []),
48
46
  ],
@@ -69,7 +67,7 @@ function taskYaml(task) {
69
67
  }
70
68
  function skillBenchmarkSpec(name, agent) {
71
69
  return [
72
- "version: 3",
70
+ "version: 4",
73
71
  `name: ${yamlString(name)}`,
74
72
  `description: ${yamlString(`Evaluate the ${name} skill across representative tasks.`)}`,
75
73
  "engine:",
@@ -80,7 +78,7 @@ function skillBenchmarkSpec(name, agent) {
80
78
  " score:",
81
79
  " use: rubric",
82
80
  " with:",
83
- " instructions: Score the completed task from the current working directory and engine-private verifier files. Do not score the subject guidance by keyword matching.",
81
+ " instructions: Score the completed task from the current working directory and engine-private verifier files. Do not score the candidate guidance by keyword matching.",
84
82
  " parallelism: 2",
85
83
  " judge:",
86
84
  ` use: ${agent}`,
@@ -95,28 +93,23 @@ function skillBenchmarkSpec(name, agent) {
95
93
  "",
96
94
  ].join("\n");
97
95
  }
98
- function skillSubjectSpec(name, agent) {
96
+ function skillCandidateSpec(name, agent) {
99
97
  return [
100
- "version: 3",
98
+ "version: 4",
101
99
  `name: ${yamlString(name)}`,
102
100
  "files:",
103
101
  " path: files",
104
102
  "prepare:",
105
- " command: sh input/subject/prepare.sh",
106
- "run:",
107
- ` use: ${agent}`,
108
- ...agentDefaultWithLines(agent, " "),
109
- "",
110
- ].join("\n");
111
- }
112
- function optimizerSpec(name, editablePath, agent) {
113
- return [
114
- "version: 3",
115
- `name: ${yamlString(`${name} optimizer`)}`,
116
- `description: ${yamlString(`Improve subject files for ${name}.`)}`,
117
- "edits:",
118
- ` - ${editablePath}`,
103
+ " command: sh input/candidate/prepare.sh",
104
+ "defaultRun: main",
105
+ "runs:",
106
+ " main:",
107
+ ` name: ${yamlString(`Run with ${agent}`)}`,
108
+ ` use: ${agent}`,
109
+ ...agentDefaultWithLines(agent, " "),
119
110
  "improve:",
111
+ " edits:",
112
+ " - SKILL.md",
120
113
  ` use: ${agent}`,
121
114
  ...agentDefaultWithLines(agent, " "),
122
115
  "",
@@ -133,7 +126,7 @@ function agentDefaultWithLines(agent, indent) {
133
126
  }
134
127
  function commandBenchmarkSpec(name) {
135
128
  return [
136
- "version: 3",
129
+ "version: 4",
137
130
  `name: ${yamlString(name)}`,
138
131
  `description: ${yamlString(`Evaluate the ${name} command implementation across representative tasks.`)}`,
139
132
  "engine:",
@@ -146,42 +139,37 @@ function commandBenchmarkSpec(name) {
146
139
  "",
147
140
  ].join("\n");
148
141
  }
149
- function commandSubjectSpec(name) {
142
+ function commandCandidateSpec(name) {
150
143
  const runnerCommand = JSON.stringify("node run.js");
144
+ const improveCommand = JSON.stringify("node -e \"const fs=require('fs');const file='run.js';const current=fs.existsSync(file)?fs.readFileSync(file,'utf8'):'';const next=current.replace(/\\s*$/,'')+'\\n// Workbench candidate revision.\\n';fs.writeFileSync(file,next);\"");
151
145
  return [
152
- "version: 3",
146
+ "version: 4",
153
147
  `name: ${yamlString(name)}`,
154
148
  "files:",
155
149
  " path: files",
156
150
  "prepare:",
157
- " command: sh input/subject/prepare.sh",
158
- "run:",
159
- " use: command",
160
- " with:",
161
- ` command: ${runnerCommand}`,
162
- "",
163
- ].join("\n");
164
- }
165
- function commandOptimizerSpec(name) {
166
- const optimizerCommand = JSON.stringify("node -e \"const fs=require('fs');const file='run.js';const current=fs.existsSync(file)?fs.readFileSync(file,'utf8'):'';const next=current.replace(/\\s*$/,'')+'\\n// Workbench subject revision.\\n';fs.writeFileSync(file,next);\"");
167
- return [
168
- "version: 3",
169
- `name: ${yamlString(`${name} optimizer`)}`,
170
- `description: ${yamlString(`Improve subject command files for ${name}.`)}`,
171
- "edits:",
172
- " - run.js",
151
+ " command: sh input/candidate/prepare.sh",
152
+ "defaultRun: main",
153
+ "runs:",
154
+ " main:",
155
+ " name: Command",
156
+ " use: command",
157
+ " with:",
158
+ ` command: ${runnerCommand}`,
173
159
  "improve:",
160
+ " edits:",
161
+ " - run.js",
174
162
  " use: command",
175
163
  " with:",
176
- ` command: ${optimizerCommand}`,
164
+ ` command: ${improveCommand}`,
177
165
  "",
178
166
  ].join("\n");
179
167
  }
180
- function subjectPrepareScript() {
168
+ function candidatePrepareScript() {
181
169
  return [
182
170
  "#!/usr/bin/env sh",
183
171
  "set -eu",
184
- "cp -R input/subject/. .",
172
+ "cp -R input/candidate/. .",
185
173
  "",
186
174
  ].join("\n");
187
175
  }
@@ -267,8 +255,8 @@ function commandRunnerSource() {
267
255
  "const fs = require('fs');",
268
256
  "const path = require('path');",
269
257
  "",
270
- "fs.writeFileSync(path.join(process.cwd(), 'command-output.txt'), 'command subject ran\\n');",
271
- "console.log('command subject ran');",
258
+ "fs.writeFileSync(path.join(process.cwd(), 'command-output.txt'), 'command candidate ran\\n');",
259
+ "console.log('command candidate ran');",
272
260
  "",
273
261
  ].join("\n");
274
262
  }
@@ -1,15 +1,15 @@
1
- import { type SubjectRecord, type EvaluationScorecard, type HostedWorkbenchJob, type RunSummary, type RuntimeEvent, type SurfaceSnapshotFile, type WorkbenchExecutionTrace, type WorkbenchTraceSession } from "@workbench-ai/workbench-core";
1
+ import { type CandidateRecord, type EvaluationScorecard, type HostedWorkbenchJob, type RunSummary, type RuntimeEvent, type SurfaceSnapshotFile, type WorkbenchRuntimeBundle, type WorkbenchRuntimeBundleStats, type WorkbenchRuntimeImportResult, type WorkbenchExecutionTrace, type WorkbenchTraceSession } from "@workbench-ai/workbench-core";
2
2
  export interface LocalArchiveSnapshot {
3
3
  activeId: string | null;
4
- subjects: SubjectRecord[];
5
- subjectFiles: Record<string, SurfaceSnapshotFile[]>;
4
+ candidates: CandidateRecord[];
5
+ candidateFiles: Record<string, SurfaceSnapshotFile[]>;
6
6
  evaluations: EvaluationScorecard[];
7
7
  runs: RunSummary[];
8
8
  events: RuntimeEvent[];
9
9
  }
10
10
  export interface LocalArchiveIndex {
11
11
  activeId: string | null;
12
- subjects: SubjectRecord[];
12
+ candidates: CandidateRecord[];
13
13
  evaluations: EvaluationScorecard[];
14
14
  runs: RunSummary[];
15
15
  events: RuntimeEvent[];
@@ -23,20 +23,24 @@ export declare function loadLocalArchive(workspace: string): Promise<LocalArchiv
23
23
  export declare function loadLocalArchiveIndex(workspace: string): Promise<LocalArchiveIndex>;
24
24
  export declare function saveLocalArchive(workspace: string, snapshot: LocalArchiveSnapshot): Promise<void>;
25
25
  export declare function saveLocalJobs(workspace: string, jobs: readonly HostedWorkbenchJob[]): Promise<void>;
26
+ export declare function exportLocalRuntimeBundle(workspace: string): Promise<WorkbenchRuntimeBundle>;
27
+ export declare function importLocalRuntimeBundle(workspace: string, bundle: WorkbenchRuntimeBundle): Promise<WorkbenchRuntimeImportResult>;
28
+ export declare function runtimeBundleStats(bundle: WorkbenchRuntimeBundle): WorkbenchRuntimeBundleStats;
29
+ export declare function sanitizeRuntimeJobForExchange(job: HostedWorkbenchJob): HostedWorkbenchJob;
26
30
  export declare function readLocalExecutionFiles(workspace: string, jobId: string): Promise<SurfaceSnapshotFile[]>;
27
- export declare function readLocalSubjectRecord(workspace: string, subjectId: string): Promise<SubjectRecord>;
28
- export declare function readLocalSubjectFilesForId(workspace: string, subjectId: string): Promise<SurfaceSnapshotFile[]>;
31
+ export declare function readLocalCandidateRecord(workspace: string, candidateId: string): Promise<CandidateRecord>;
32
+ export declare function readLocalCandidateFilesForId(workspace: string, candidateId: string): Promise<SurfaceSnapshotFile[]>;
29
33
  export declare function readLocalEvaluationRecord(workspace: string, evaluationId: string): Promise<EvaluationScorecard>;
30
34
  export declare function readLocalRunRecord(workspace: string, runId: string): Promise<RunSummary>;
31
35
  export declare function readLocalJobs(workspace: string): Promise<LocalArchivedJob[]>;
32
36
  export declare function readLocalRunJobs(workspace: string, runId: string): Promise<LocalArchivedJob[]>;
33
37
  export declare function readLocalJobInRun(workspace: string, runId: string, jobId: string): Promise<LocalArchivedJob | null>;
34
- export declare function upsertLocalSubject(snapshot: LocalArchiveSnapshot, subject: SubjectRecord, files: readonly SurfaceSnapshotFile[]): LocalArchiveSnapshot;
38
+ export declare function upsertLocalCandidate(snapshot: LocalArchiveSnapshot, candidate: CandidateRecord, files: readonly SurfaceSnapshotFile[]): LocalArchiveSnapshot;
35
39
  export declare function upsertLocalEvaluation(snapshot: LocalArchiveSnapshot, evaluation: EvaluationScorecard): LocalArchiveSnapshot;
36
- export declare function appendLocalRun(snapshot: LocalArchiveSnapshot, run: RunSummary, events: readonly RuntimeEvent[]): LocalArchiveSnapshot;
40
+ export declare function upsertLocalRun(snapshot: LocalArchiveSnapshot, run: RunSummary, events: readonly RuntimeEvent[]): LocalArchiveSnapshot;
37
41
  export declare function setLocalActive(snapshot: LocalArchiveSnapshot, activeId: string | null): LocalArchiveSnapshot;
38
- export declare function readLocalSubject(snapshot: LocalArchiveSnapshot, subjectId: string): SubjectRecord;
39
- export declare function readLocalSubjectFiles(snapshot: LocalArchiveSnapshot, subjectId: string): SurfaceSnapshotFile[];
40
- export declare function materializeSubjectRoot(workspace: string, subjectRoot: string, files: readonly SurfaceSnapshotFile[]): Promise<string[]>;
42
+ export declare function readLocalCandidate(snapshot: LocalArchiveSnapshot, candidateId: string): CandidateRecord;
43
+ export declare function readLocalCandidateFiles(snapshot: LocalArchiveSnapshot, candidateId: string): SurfaceSnapshotFile[];
44
+ export declare function materializeCandidateRoot(workspace: string, candidateRoot: string, files: readonly SurfaceSnapshotFile[]): Promise<string[]>;
41
45
  export declare function findArchivedFile(files: readonly SurfaceSnapshotFile[], filePath: string): SurfaceSnapshotFile | null;
42
46
  //# sourceMappingURL=local-archive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-archive.d.ts","sourceRoot":"","sources":["../src/local-archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-archive.d.ts","sourceRoot":"","sources":["../src/local-archive.ts"],"names":[],"mappings":"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"}