@workbench-ai/workbench-protocol 0.0.41 → 0.0.42
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,11 +1,13 @@
|
|
|
1
1
|
export interface WorkbenchAdapterManifest {
|
|
2
2
|
id: string;
|
|
3
3
|
protocol: "workbench.adapter.v1";
|
|
4
|
+
capabilities?: WorkbenchAdapterCapability[];
|
|
4
5
|
setup: string[];
|
|
5
6
|
command: string;
|
|
6
7
|
auth?: WorkbenchAdapterAuthManifest;
|
|
7
8
|
refs?: string[];
|
|
8
9
|
}
|
|
10
|
+
export type WorkbenchAdapterCapability = "task-source" | "runner" | "scorer" | "optimizer";
|
|
9
11
|
export interface WorkbenchAdapterAuthManifest {
|
|
10
12
|
methods?: Record<string, WorkbenchAdapterAuthMethodManifest>;
|
|
11
13
|
slots?: Record<string, {
|
|
@@ -44,7 +46,8 @@ export declare function collectWorkbenchAdapterAuthRequirements(roots: readonly
|
|
|
44
46
|
export declare function withDefaultWorkbenchAdapterAuthProfiles<T extends {
|
|
45
47
|
improve?: WorkbenchAdapterInvocationLike;
|
|
46
48
|
run: WorkbenchAdapterInvocationLike;
|
|
47
|
-
|
|
49
|
+
score?: WorkbenchAdapterInvocationLike;
|
|
50
|
+
grade?: WorkbenchAdapterInvocationLike;
|
|
48
51
|
}>(spec: T, manifests: readonly WorkbenchAdapterManifest[] | Map<string, WorkbenchAdapterManifest>): T;
|
|
49
52
|
export declare function withDefaultWorkbenchAdapterAuth<T extends WorkbenchAdapterInvocationLike>(invocation: T, manifests: readonly WorkbenchAdapterManifest[] | Map<string, WorkbenchAdapterManifest>): T;
|
|
50
53
|
//# sourceMappingURL=adapter-manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-manifest.d.ts","sourceRoot":"","sources":["../src/adapter-manifest.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,sBAAsB,CAAC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,4BAA4B,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;KAC9D,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kCAAkC;IACjD,GAAG,CAAC,EAAE,+BAA+B,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,gCAAgC,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,wBAAwB,GACjC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"adapter-manifest.d.ts","sourceRoot":"","sources":["../src/adapter-manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter-manifest.js
CHANGED
|
@@ -5,6 +5,7 @@ export function adapterCommandName(adapterId) {
|
|
|
5
5
|
export function cloneWorkbenchAdapterManifest(manifest) {
|
|
6
6
|
return {
|
|
7
7
|
...manifest,
|
|
8
|
+
...(manifest.capabilities ? { capabilities: [...manifest.capabilities] } : {}),
|
|
8
9
|
setup: [...manifest.setup],
|
|
9
10
|
...(manifest.auth ? { auth: cloneJson(manifest.auth) } : {}),
|
|
10
11
|
...(manifest.refs ? { refs: [...manifest.refs] } : {}),
|
|
@@ -16,7 +17,7 @@ export function parseWorkbenchAdapterManifest(source, label = "workbench.adapter
|
|
|
16
17
|
throw new Error(`${label} must be a YAML object.`);
|
|
17
18
|
}
|
|
18
19
|
const record = parsed;
|
|
19
|
-
rejectUnknownManifestKeys(record, label, ["id", "protocol", "setup", "command", "auth", "refs"]);
|
|
20
|
+
rejectUnknownManifestKeys(record, label, ["id", "protocol", "capabilities", "setup", "command", "auth", "refs"]);
|
|
20
21
|
const id = readAdapterId(record.id, `${label}.id`);
|
|
21
22
|
if (record.protocol !== "workbench.adapter.v1") {
|
|
22
23
|
throw new Error(`${label}.protocol must be workbench.adapter.v1.`);
|
|
@@ -27,6 +28,9 @@ export function parseWorkbenchAdapterManifest(source, label = "workbench.adapter
|
|
|
27
28
|
const setup = record.setup === undefined
|
|
28
29
|
? []
|
|
29
30
|
: readStringArray(record.setup, `${label}.setup`);
|
|
31
|
+
const capabilities = record.capabilities === undefined
|
|
32
|
+
? undefined
|
|
33
|
+
: readAdapterCapabilities(record.capabilities, `${label}.capabilities`);
|
|
30
34
|
const refs = record.refs === undefined
|
|
31
35
|
? undefined
|
|
32
36
|
: readAdapterRefs(record.refs, `${label}.refs`);
|
|
@@ -34,12 +38,22 @@ export function parseWorkbenchAdapterManifest(source, label = "workbench.adapter
|
|
|
34
38
|
return {
|
|
35
39
|
id,
|
|
36
40
|
protocol: "workbench.adapter.v1",
|
|
41
|
+
...(capabilities ? { capabilities } : {}),
|
|
37
42
|
setup,
|
|
38
43
|
command,
|
|
39
44
|
...(auth ? { auth } : {}),
|
|
40
45
|
...(refs ? { refs } : {}),
|
|
41
46
|
};
|
|
42
47
|
}
|
|
48
|
+
function readAdapterCapabilities(value, label) {
|
|
49
|
+
const allowed = new Set(["task-source", "runner", "scorer", "optimizer"]);
|
|
50
|
+
return readStringArray(value, label).map((entry, index) => {
|
|
51
|
+
if (!allowed.has(entry)) {
|
|
52
|
+
throw new Error(`${label}[${index}] must be task-source, runner, scorer, or optimizer.`);
|
|
53
|
+
}
|
|
54
|
+
return entry;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
43
57
|
export function workbenchAdapterManifestRequiresAuth(manifest) {
|
|
44
58
|
return defaultWorkbenchAdapterAuthForManifest(manifest) !== undefined;
|
|
45
59
|
}
|
|
@@ -76,7 +90,12 @@ export function withDefaultWorkbenchAdapterAuthProfiles(spec, manifests) {
|
|
|
76
90
|
clone.improve = withDefaultWorkbenchAdapterAuth(clone.improve, manifestById);
|
|
77
91
|
}
|
|
78
92
|
clone.run = withDefaultWorkbenchAdapterAuth(clone.run, manifestById);
|
|
79
|
-
|
|
93
|
+
if (clone.score) {
|
|
94
|
+
clone.score = withDefaultWorkbenchAdapterAuth(clone.score, manifestById);
|
|
95
|
+
}
|
|
96
|
+
if (clone.grade) {
|
|
97
|
+
clone.grade = withDefaultWorkbenchAdapterAuth(clone.grade, manifestById);
|
|
98
|
+
}
|
|
80
99
|
return clone;
|
|
81
100
|
}
|
|
82
101
|
export function withDefaultWorkbenchAdapterAuth(invocation, manifests) {
|
|
@@ -42,6 +42,12 @@ export interface WorkbenchAdapterCommandRequest {
|
|
|
42
42
|
task?: string;
|
|
43
43
|
runnerOutput?: string;
|
|
44
44
|
traces?: string;
|
|
45
|
+
cwd?: string;
|
|
46
|
+
subject?: string;
|
|
47
|
+
tests?: string;
|
|
48
|
+
logs?: string;
|
|
49
|
+
artifacts?: string;
|
|
50
|
+
scorecard?: string;
|
|
45
51
|
};
|
|
46
52
|
}
|
|
47
53
|
export interface WorkbenchAdapterResultMetadata {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-protocol.d.ts","sourceRoot":"","sources":["../src/adapter-protocol.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,IAAI,EACJ,YAAY,EACZ,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,sBAAsB,CAAC;IACjC,SAAS,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;IACF,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-protocol.d.ts","sourceRoot":"","sources":["../src/adapter-protocol.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,IAAI,EACJ,YAAY,EACZ,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,sBAAsB,CAAC;IACjC,SAAS,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;IACF,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,8BAA8B;IAC7C,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,wBAAsB,kCAAkC,CACtD,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,8BAA8B,CAAC,CAOzC;AAED,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,OAAO,GACb,8BAA8B,CAoDhC;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAsB,mCAAmC,CACvD,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,8BAA8B,CAAC,CAkBzC"}
|
package/dist/adapter-protocol.js
CHANGED
|
@@ -17,7 +17,7 @@ export function normalizeWorkbenchAdapterCommandRequest(value) {
|
|
|
17
17
|
const adapter = requiredJsonRecord(record.adapter, "adapter request adapter");
|
|
18
18
|
const paths = requiredJsonRecord(record.paths, "adapter request paths");
|
|
19
19
|
const purpose = requiredPurpose(execution.purpose, "adapter request execution.purpose");
|
|
20
|
-
const role =
|
|
20
|
+
const role = normalizeExecutionRole(execution.role, purpose);
|
|
21
21
|
const use = requiredString(adapter.use, "adapter request adapter.use");
|
|
22
22
|
return {
|
|
23
23
|
protocol: "workbench.adapter.v1",
|
|
@@ -52,6 +52,12 @@ export function normalizeWorkbenchAdapterCommandRequest(value) {
|
|
|
52
52
|
...(typeof paths.task === "string" ? { task: paths.task } : {}),
|
|
53
53
|
...(typeof paths.runnerOutput === "string" ? { runnerOutput: paths.runnerOutput } : {}),
|
|
54
54
|
...(typeof paths.traces === "string" ? { traces: paths.traces } : {}),
|
|
55
|
+
...(typeof paths.cwd === "string" ? { cwd: paths.cwd } : {}),
|
|
56
|
+
...(typeof paths.subject === "string" ? { subject: paths.subject } : {}),
|
|
57
|
+
...(typeof paths.tests === "string" ? { tests: paths.tests } : {}),
|
|
58
|
+
...(typeof paths.logs === "string" ? { logs: paths.logs } : {}),
|
|
59
|
+
...(typeof paths.artifacts === "string" ? { artifacts: paths.artifacts } : {}),
|
|
60
|
+
...(typeof paths.scorecard === "string" ? { scorecard: paths.scorecard } : {}),
|
|
55
61
|
},
|
|
56
62
|
};
|
|
57
63
|
}
|
|
@@ -130,10 +136,10 @@ function requiredJsonRecord(value, label) {
|
|
|
130
136
|
return value;
|
|
131
137
|
}
|
|
132
138
|
function requiredPurpose(value, label) {
|
|
133
|
-
if (value === "improve" || value === "run-task" || value === "grade-task") {
|
|
139
|
+
if (value === "improve" || value === "trial" || value === "run-task" || value === "grade-task") {
|
|
134
140
|
return value;
|
|
135
141
|
}
|
|
136
|
-
throw new Error(`${label} must be improve, run-task, or grade-task.`);
|
|
142
|
+
throw new Error(`${label} must be improve, trial, run-task, or grade-task.`);
|
|
137
143
|
}
|
|
138
144
|
function requiredString(value, label) {
|
|
139
145
|
if (typeof value !== "string" || value.length === 0) {
|
|
@@ -148,8 +154,17 @@ function executionPurposeRole(purpose) {
|
|
|
148
154
|
if (purpose === "run-task") {
|
|
149
155
|
return "runner";
|
|
150
156
|
}
|
|
157
|
+
if (purpose === "trial") {
|
|
158
|
+
return "runner";
|
|
159
|
+
}
|
|
151
160
|
return "grader";
|
|
152
161
|
}
|
|
162
|
+
function normalizeExecutionRole(value, purpose) {
|
|
163
|
+
if (value === "optimizer" || value === "runner" || value === "grader") {
|
|
164
|
+
return value;
|
|
165
|
+
}
|
|
166
|
+
return executionPurposeRole(purpose);
|
|
167
|
+
}
|
|
153
168
|
function jsonRecord(value) {
|
|
154
169
|
return value && typeof value === "object" && !Array.isArray(value)
|
|
155
170
|
? value
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workbench-ai/workbench-protocol",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.42",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"yaml": "^2.8.2",
|
|
23
|
-
"@workbench-ai/workbench-contract": "0.0.
|
|
23
|
+
"@workbench-ai/workbench-contract": "0.0.42"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "^24.3.1",
|