@workbench-ai/workbench-protocol 0.0.68 → 0.0.70

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.
@@ -28,11 +28,6 @@ export interface WorkbenchAdapterHandlerContext<TContext = unknown> {
28
28
  }
29
29
  export type WorkbenchAdapterOperationHandler<TContext = unknown> = (context: WorkbenchAdapterHandlerContext<TContext>) => WorkbenchAdapterHandlerReturn | Promise<WorkbenchAdapterHandlerReturn>;
30
30
  export type WorkbenchAdapterHandlerReturn = WorkbenchAdapterOperationResult | WorkbenchAdapterOperationResultValue | undefined | void;
31
- export interface RunDefinedWorkbenchAdapterOptions<TContext = unknown> {
32
- requestPath?: string;
33
- outputRoot?: string;
34
- runtime?: TContext;
35
- }
36
31
  export declare function defineAdapter<TContext = unknown>(definition: WorkbenchAdapterDefinition<TContext>): WorkbenchAdapterDefinition<TContext>;
37
32
  export declare function defineEngineResolver<TContext = unknown>(definition?: WorkbenchAdapterOperationDefinition<TContext>): WorkbenchAdapterOperationDefinition<TContext>;
38
33
  export declare function defineSkillRunner<TContext = unknown>(definition?: WorkbenchAdapterOperationDefinition<TContext>): WorkbenchAdapterOperationDefinition<TContext>;
@@ -40,7 +35,6 @@ export declare function defineEngineRunner<TContext = unknown>(definition?: Work
40
35
  export declare function defineImprover<TContext = unknown>(definition?: WorkbenchAdapterOperationDefinition<TContext>): WorkbenchAdapterOperationDefinition<TContext>;
41
36
  export declare function adapterSlot(path: string, operation: WorkbenchAdapterOperation): WorkbenchAdapterSlotManifest;
42
37
  export declare function workbenchAdapterManifestFromDefinition(definition: WorkbenchAdapterDefinition): WorkbenchAdapterManifest;
43
- export declare function runDefinedAdapter<TContext = unknown>(definition: WorkbenchAdapterDefinition<TContext>, options?: RunDefinedWorkbenchAdapterOptions<TContext>): Promise<WorkbenchAdapterOperationResult | null>;
44
38
  export declare function operationDefinitionForRequest<TContext = unknown>(definition: WorkbenchAdapterDefinition<TContext>, operation: WorkbenchAdapterOperation): WorkbenchAdapterOperationDefinition<TContext> | undefined;
45
39
  export declare function adapterResult<TValue extends WorkbenchAdapterOperationResultValue>(operation: WorkbenchAdapterOperation, value: TValue, metadata?: Omit<WorkbenchAdapterOperationResult<TValue>, "protocol" | "operation" | "value">): WorkbenchAdapterOperationResult<TValue>;
46
40
  export declare function adapterSlotInvocation(request: WorkbenchAdapterOperationRequest, slots: Record<string, WorkbenchAdapterSlotManifest> | undefined, name: string): WorkbenchAdapterInvocationLike | null;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-definition.d.ts","sourceRoot":"","sources":["../src/adapter-definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-definition.d.ts","sourceRoot":"","sources":["../src/adapter-definition.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { promises as fs } from "node:fs";
2
1
  import { WORKBENCH_ADAPTER_MANIFEST_PROTOCOL, adapterCommandName, normalizeWorkbenchAdapterOperation, } from "./adapter-manifest.js";
3
- import { WORKBENCH_ADAPTER_RESULT_PROTOCOL, ensureWorkbenchAdapterOutputDir, readWorkbenchAdapterOperationRequest, workbenchAdapterOperationResultPath, writeWorkbenchAdapterOperationResult, } from "./adapter-protocol.js";
2
+ import { WORKBENCH_ADAPTER_RESULT_PROTOCOL, } from "./adapter-protocol.js";
4
3
  export function defineAdapter(definition) {
5
4
  return definition;
6
5
  }
@@ -37,41 +36,6 @@ export function workbenchAdapterManifestFromDefinition(definition) {
37
36
  ...(definition.slots ? { slots: cloneJson(definition.slots) } : {}),
38
37
  };
39
38
  }
40
- export async function runDefinedAdapter(definition, options = {}) {
41
- let request = await readWorkbenchAdapterOperationRequest(options.requestPath);
42
- if (request.invocation.use !== definition.id) {
43
- throw new Error(`Adapter ${definition.id} cannot execute request for ${request.invocation.use}.`);
44
- }
45
- if (options.outputRoot && options.outputRoot !== request.paths.output) {
46
- request = {
47
- ...request,
48
- paths: {
49
- ...request.paths,
50
- output: options.outputRoot,
51
- result: workbenchAdapterOperationResultPath(options.outputRoot),
52
- },
53
- };
54
- }
55
- await ensureWorkbenchAdapterOutputDir(request);
56
- const operationDefinition = operationDefinitionForRequest(definition, request.operation);
57
- if (!operationDefinition) {
58
- throw new Error(`Adapter ${definition.id} does not implement ${request.operation}.`);
59
- }
60
- if (!operationDefinition.handle) {
61
- throw new Error(`Adapter ${definition.id} ${request.operation} does not define a handler.`);
62
- }
63
- const handlerResult = await operationDefinition.handle(adapterHandlerContext({
64
- definition,
65
- request,
66
- runtime: options.runtime,
67
- }));
68
- if (await fileExists(request.paths.result)) {
69
- return null;
70
- }
71
- const result = normalizeHandlerResult(request.operation, handlerResult);
72
- await writeWorkbenchAdapterOperationResult(request.paths.output, result);
73
- return result;
74
- }
75
39
  export function operationDefinitionForRequest(definition, operation) {
76
40
  if (operation === "engine.resolve") {
77
41
  return definition.engineResolve;
@@ -116,31 +80,6 @@ function addOperation(operations, adapterId, operation, definition) {
116
80
  function cloneJson(value) {
117
81
  return JSON.parse(JSON.stringify(value));
118
82
  }
119
- function adapterHandlerContext(args) {
120
- return {
121
- request: args.request,
122
- operation: args.request.operation,
123
- invocation: args.request.invocation,
124
- with: adapterWithRecord(args.request),
125
- paths: args.request.paths,
126
- runtime: args.runtime,
127
- slot: (name) => adapterSlotInvocation(args.request, args.definition.slots, name),
128
- result: (value, metadata = {}) => adapterResult(args.request.operation, value, metadata),
129
- };
130
- }
131
- function normalizeHandlerResult(operation, result) {
132
- if (isOperationResult(result)) {
133
- return result;
134
- }
135
- return adapterResult(operation, result === undefined ? null : result);
136
- }
137
- function isOperationResult(value) {
138
- return !!value &&
139
- typeof value === "object" &&
140
- !Array.isArray(value) &&
141
- value.protocol === WORKBENCH_ADAPTER_RESULT_PROTOCOL &&
142
- typeof value.operation === "string";
143
- }
144
83
  function adapterWithRecord(request) {
145
84
  const value = request.invocation.with;
146
85
  return value && typeof value === "object" && !Array.isArray(value)
@@ -168,6 +107,3 @@ function isInvocationLike(value) {
168
107
  typeof value.use === "string" &&
169
108
  (value.use.length > 0);
170
109
  }
171
- async function fileExists(filePath) {
172
- return fs.stat(filePath).then((stat) => stat.isFile(), () => false);
173
- }
@@ -52,18 +52,14 @@ export interface WorkbenchAdapterOperationRequirement {
52
52
  operation: WorkbenchAdapterOperation;
53
53
  }
54
54
  export declare function adapterCommandName(adapterId: string): string;
55
- export declare function workbenchAdapterManifestSupportsOperation(manifest: WorkbenchAdapterManifest, operation: WorkbenchAdapterOperation): boolean;
56
55
  export declare function workbenchAdapterOperationCommand(manifest: WorkbenchAdapterManifest, operation: WorkbenchAdapterOperation): string;
57
56
  export declare function workbenchAdapterOperationExecutor(manifest: WorkbenchAdapterManifest, operation: WorkbenchAdapterOperation): WorkbenchAdapterOperationExecutor;
58
57
  export declare function cloneWorkbenchAdapterManifest(manifest: WorkbenchAdapterManifest): WorkbenchAdapterManifest;
59
58
  export declare function parseWorkbenchAdapterManifest(source: string, label?: string): WorkbenchAdapterManifest;
60
59
  export declare function workbenchAdapterManifestRequiresAuth(manifest: WorkbenchAdapterManifest): boolean;
61
60
  export declare function collectWorkbenchAdapterInvocations(roots: readonly WorkbenchAdapterInvocationLike[], manifests: readonly WorkbenchAdapterManifest[] | Map<string, WorkbenchAdapterManifest>): WorkbenchAdapterInvocationLike[];
62
- export declare function collectWorkbenchAdapterOperationRequirements(roots: readonly WorkbenchAdapterOperationRequirement[], manifests: readonly WorkbenchAdapterManifest[] | Map<string, WorkbenchAdapterManifest>): WorkbenchAdapterOperationRequirement[];
63
- export declare function collectWorkbenchAdapterOperationIssues(roots: readonly WorkbenchAdapterOperationRequirement[], manifests: readonly WorkbenchAdapterManifest[] | Map<string, WorkbenchAdapterManifest>): string[];
64
61
  export declare function assertWorkbenchAdapterOperationSupport(roots: readonly WorkbenchAdapterOperationRequirement[], manifests: readonly WorkbenchAdapterManifest[] | Map<string, WorkbenchAdapterManifest>): void;
65
62
  export declare function collectWorkbenchAdapterAuthRequirements(roots: readonly WorkbenchAdapterInvocationLike[], manifests: readonly WorkbenchAdapterManifest[] | Map<string, WorkbenchAdapterManifest>): WorkbenchAdapterAuthRequirement[];
66
63
  export declare function withDefaultWorkbenchAdapterAuthProfiles<T extends Record<string, unknown>>(spec: T, manifests: readonly WorkbenchAdapterManifest[] | Map<string, WorkbenchAdapterManifest>): T;
67
- export declare function withDefaultWorkbenchAdapterAuth<T extends WorkbenchAdapterInvocationLike>(invocation: T, manifests: readonly WorkbenchAdapterManifest[] | Map<string, WorkbenchAdapterManifest>): T;
68
64
  export declare function normalizeWorkbenchAdapterOperation(value: unknown, label: string): WorkbenchAdapterOperation;
69
65
  //# sourceMappingURL=adapter-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-manifest.d.ts","sourceRoot":"","sources":["../src/adapter-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-manifest.d.ts","sourceRoot":"","sources":["../src/adapter-manifest.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export const WORKBENCH_ADAPTER_MANIFEST_PROTOCOL = "workbench.adapter-manifest.v
3
3
  export function adapterCommandName(adapterId) {
4
4
  return `workbench-adapter-${adapterId}`;
5
5
  }
6
- export function workbenchAdapterManifestSupportsOperation(manifest, operation) {
6
+ function workbenchAdapterManifestSupportsOperation(manifest, operation) {
7
7
  return manifest.operations[normalizeWorkbenchAdapterOperation(operation, "adapter operation")] !== undefined;
8
8
  }
9
9
  export function workbenchAdapterOperationCommand(manifest, operation) {
@@ -134,7 +134,7 @@ export function collectWorkbenchAdapterInvocations(roots, manifests) {
134
134
  }
135
135
  return collected;
136
136
  }
137
- export function collectWorkbenchAdapterOperationRequirements(roots, manifests) {
137
+ function collectWorkbenchAdapterOperationRequirements(roots, manifests) {
138
138
  const manifestById = manifestMap(manifests);
139
139
  const collected = [];
140
140
  const queue = roots.flatMap((root) => {
@@ -172,7 +172,7 @@ export function collectWorkbenchAdapterOperationRequirements(roots, manifests) {
172
172
  }
173
173
  return collected;
174
174
  }
175
- export function collectWorkbenchAdapterOperationIssues(roots, manifests) {
175
+ function collectWorkbenchAdapterOperationIssues(roots, manifests) {
176
176
  const manifestById = manifestMap(manifests);
177
177
  const issues = new Map();
178
178
  for (const requirement of collectWorkbenchAdapterOperationRequirements(roots, manifestById)) {
@@ -223,7 +223,7 @@ function applyInvocationDefault(record, key, manifestById) {
223
223
  record[key] = withDefaultWorkbenchAdapterAuth(invocation, manifestById);
224
224
  }
225
225
  }
226
- export function withDefaultWorkbenchAdapterAuth(invocation, manifests) {
226
+ function withDefaultWorkbenchAdapterAuth(invocation, manifests) {
227
227
  return applyDefaultWorkbenchAdapterAuth(cloneJson(invocation), manifestMap(manifests));
228
228
  }
229
229
  function applyDefaultWorkbenchAdapterAuth(invocation, manifestById) {
@@ -8,6 +8,7 @@ export interface WorkbenchAdapterOperationRequest {
8
8
  protocol: typeof WORKBENCH_ADAPTER_PROTOCOL;
9
9
  id: string;
10
10
  jobId?: string;
11
+ progress?: WorkbenchAdapterProgress;
11
12
  operation: WorkbenchAdapterOperation;
12
13
  invocation: {
13
14
  use: string;
@@ -57,6 +58,21 @@ export interface WorkbenchAdapterOperationRequest {
57
58
  enginePrivate?: string;
58
59
  };
59
60
  }
61
+ export interface WorkbenchAdapterProgress {
62
+ projectId: string;
63
+ runId: string;
64
+ jobId: string;
65
+ executionId: string;
66
+ attempt: number;
67
+ target: WorkbenchAdapterProgressTarget;
68
+ }
69
+ export interface WorkbenchAdapterProgressTarget {
70
+ url: string;
71
+ token: string;
72
+ ownerUserId?: string;
73
+ flushWindowMs?: number;
74
+ transport?: "http" | "stdout" | "both";
75
+ }
60
76
  export type WorkbenchAdapterOperationResultValue = WorkbenchEngineResolveResult | WorkbenchResult | WorkbenchSkillPatch | Json | null;
61
77
  export interface WorkbenchAdapterOperationResult<TValue extends WorkbenchAdapterOperationResultValue = WorkbenchAdapterOperationResultValue> {
62
78
  protocol: typeof WORKBENCH_ADAPTER_RESULT_PROTOCOL;
@@ -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,eAAe,EACf,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAQ/B,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAC/E,eAAO,MAAM,6BAA6B,0BAA0B,CAAC;AAErE,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,OAAO,0BAA0B,CAAC;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,yBAAyB,CAAC;IACrC,UAAU,EAAE;QACV,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,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,KAAK,CAAC,EAAE;YACN,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE;gBACR,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;YACF,GAAG,CAAC,EAAE;gBACJ,GAAG,EAAE,MAAM,CAAC;gBACZ,IAAI,CAAC,EAAE,IAAI,CAAC;gBACZ,IAAI,CAAC,EAAE,IAAI,CAAC;gBACZ,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;SACH,CAAC;QACF,OAAO,CAAC,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;SAClB,CAAC;QACF,OAAO,CAAC,EAAE;YACR,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,IAAI,CAAC,EAAE;YACL,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,MAAM,oCAAoC,GAC5C,4BAA4B,GAC5B,eAAe,GACf,mBAAmB,GACnB,IAAI,GACJ,IAAI,CAAC;AAET,MAAM,WAAW,+BAA+B,CAAC,MAAM,SAAS,oCAAoC,GAAG,oCAAoC;IACzI,QAAQ,EAAE,OAAO,iCAAiC,CAAC;IACnD,SAAS,EAAE,yBAAyB,CAAC;IACrC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,wBAAsB,oCAAoC,CACxD,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,gCAAgC,CAAC,CAO3C;AAED,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,OAAO,GACb,gCAAgC,CA0ClC;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAsB,oCAAoC,CAAC,MAAM,SAAS,oCAAoC,EAC5G,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,+BAA+B,CAAC,MAAM,CAAC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,mCAAmC,CACvD,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,+BAA+B,CAAC,CAK1C;AAED,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,yBAAyB,GACpC,+BAA+B,CAuBjC;AAED,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,+BAA+B,EACvC,KAAK,SAAsB,GAC1B,IAAI,CAON"}
1
+ {"version":3,"file":"adapter-protocol.d.ts","sourceRoot":"","sources":["../src/adapter-protocol.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export function normalizeWorkbenchAdapterOperationRequest(value) {
37
37
  protocol: WORKBENCH_ADAPTER_PROTOCOL,
38
38
  id: requiredString(record.id, "adapter request id"),
39
39
  ...(typeof record.jobId === "string" ? { jobId: record.jobId } : {}),
40
+ ...(record.progress !== undefined ? { progress: normalizeAdapterProgress(record.progress) } : {}),
40
41
  operation,
41
42
  invocation: {
42
43
  use,
@@ -57,6 +58,37 @@ export function normalizeWorkbenchAdapterOperationRequest(value) {
57
58
  },
58
59
  };
59
60
  }
61
+ function normalizeAdapterProgress(value) {
62
+ const record = requiredJsonRecord(value, "adapter request progress");
63
+ return {
64
+ projectId: requiredString(record.projectId, "adapter request progress.projectId"),
65
+ runId: requiredString(record.runId, "adapter request progress.runId"),
66
+ jobId: requiredString(record.jobId, "adapter request progress.jobId"),
67
+ executionId: requiredString(record.executionId, "adapter request progress.executionId"),
68
+ attempt: requiredPositiveInteger(record.attempt, "adapter request progress.attempt"),
69
+ target: normalizeAdapterProgressTarget(record.target),
70
+ };
71
+ }
72
+ function normalizeAdapterProgressTarget(value) {
73
+ const record = requiredJsonRecord(value, "adapter request progress.target");
74
+ const target = {
75
+ url: requiredString(record.url, "adapter request progress.target.url"),
76
+ token: requiredString(record.token, "adapter request progress.target.token"),
77
+ };
78
+ if (record.ownerUserId !== undefined) {
79
+ target.ownerUserId = requiredString(record.ownerUserId, "adapter request progress.target.ownerUserId");
80
+ }
81
+ if (record.flushWindowMs !== undefined) {
82
+ target.flushWindowMs = requiredNonNegativeNumber(record.flushWindowMs, "adapter request progress.target.flushWindowMs");
83
+ }
84
+ if (record.transport !== undefined) {
85
+ if (record.transport !== "http" && record.transport !== "stdout" && record.transport !== "both") {
86
+ throw new Error("adapter request progress.target.transport must be http, stdout, or both.");
87
+ }
88
+ target.transport = record.transport;
89
+ }
90
+ return target;
91
+ }
60
92
  export async function ensureWorkbenchAdapterOutputDir(request) {
61
93
  await fs.mkdir(request.paths.output, { recursive: true });
62
94
  }
@@ -242,3 +274,15 @@ function requiredString(value, label) {
242
274
  }
243
275
  return value;
244
276
  }
277
+ function requiredPositiveInteger(value, label) {
278
+ if (typeof value !== "number" || !Number.isInteger(value) || value <= 0) {
279
+ throw new Error(`${label} must be a positive integer.`);
280
+ }
281
+ return value;
282
+ }
283
+ function requiredNonNegativeNumber(value, label) {
284
+ if (typeof value !== "number" || !Number.isFinite(value) || value < 0) {
285
+ throw new Error(`${label} must be a non-negative number.`);
286
+ }
287
+ return value;
288
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"built-in-manifests.d.ts","sourceRoot":"","sources":["../src/built-in-manifests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAc/B,MAAM,MAAM,+BAA+B,GACvC,WAAW,GACX,OAAO,GACP,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,8BAA8B,GACtC,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,yBAAyB,GACjC,+BAA+B,GAC/B,8BAA8B,CAAC;AA+EnC,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CAI3F;AAED,wBAAgB,gCAAgC,IAAI,wBAAwB,EAAE,CAI7E;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,yBAAyB,CAEvF"}
1
+ {"version":3,"file":"built-in-manifests.d.ts","sourceRoot":"","sources":["../src/built-in-manifests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAc/B,MAAM,MAAM,+BAA+B,GACvC,WAAW,GACX,OAAO,GACP,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,8BAA8B,GACtC,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,yBAAyB,GACjC,+BAA+B,GAC/B,8BAA8B,CAAC;AA2EnC,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CAI3F;AAED,wBAAgB,gCAAgC,IAAI,wBAAwB,EAAE,CAI7E;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,yBAAyB,CAEvF"}
@@ -4,10 +4,6 @@ const BUILT_IN_ADAPTER_MANIFESTS = Object.fromEntries(Object.entries({
4
4
  workbench: defineAdapter({
5
5
  id: "workbench",
6
6
  engineResolve: defineEngineResolver(),
7
- engineRun: defineEngineRunner({ executor: "host" }),
8
- slots: {
9
- score: adapterSlot("/score", "engine.run"),
10
- },
11
7
  }),
12
8
  codex: defineAdapter({
13
9
  id: "codex",
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { WORKBENCH_ADAPTER_MANIFEST_PROTOCOL, adapterCommandName, assertWorkbenchAdapterOperationSupport, cloneWorkbenchAdapterManifest, collectWorkbenchAdapterAuthRequirements, collectWorkbenchAdapterInvocations, collectWorkbenchAdapterOperationIssues, collectWorkbenchAdapterOperationRequirements, parseWorkbenchAdapterManifest, normalizeWorkbenchAdapterOperation, workbenchAdapterManifestSupportsOperation, workbenchAdapterOperationCommand, workbenchAdapterOperationExecutor, workbenchAdapterManifestRequiresAuth, withDefaultWorkbenchAdapterAuth, withDefaultWorkbenchAdapterAuthProfiles, type WorkbenchPrimitiveAdapterOperation, type WorkbenchAdapterOperation, type WorkbenchAdapterOperationExecutor, type WorkbenchAdapterOperationManifest, type WorkbenchAdapterSlotManifest, type WorkbenchAdapterAuthEnvManifest, type WorkbenchAdapterAuthFileManifest, type WorkbenchAdapterAuthManifest, type WorkbenchAdapterAuthMethodManifest, type WorkbenchAdapterAuthRequirement, type WorkbenchAdapterInvocationLike, type WorkbenchAdapterManifest, type WorkbenchAdapterOperationRequirement, } from "./adapter-manifest.ts";
1
+ export { WORKBENCH_ADAPTER_MANIFEST_PROTOCOL, adapterCommandName, assertWorkbenchAdapterOperationSupport, cloneWorkbenchAdapterManifest, collectWorkbenchAdapterAuthRequirements, collectWorkbenchAdapterInvocations, parseWorkbenchAdapterManifest, normalizeWorkbenchAdapterOperation, workbenchAdapterOperationCommand, workbenchAdapterOperationExecutor, workbenchAdapterManifestRequiresAuth, withDefaultWorkbenchAdapterAuthProfiles, type WorkbenchPrimitiveAdapterOperation, type WorkbenchAdapterOperation, type WorkbenchAdapterOperationExecutor, type WorkbenchAdapterOperationManifest, type WorkbenchAdapterSlotManifest, type WorkbenchAdapterAuthEnvManifest, type WorkbenchAdapterAuthFileManifest, type WorkbenchAdapterAuthManifest, type WorkbenchAdapterAuthMethodManifest, type WorkbenchAdapterAuthRequirement, type WorkbenchAdapterInvocationLike, type WorkbenchAdapterManifest, type WorkbenchAdapterOperationRequirement, } from "./adapter-manifest.ts";
2
2
  export { builtinWorkbenchAdapterManifest, builtinWorkbenchAdapterManifests, isWorkbenchBuiltInAdapterId, type WorkbenchBuiltInAdapterId, type WorkbenchEngineHelperAdapterId, type WorkbenchPublicBuiltInAdapterId, } from "./built-in-manifests.ts";
3
3
  export { WORKBENCH_ADAPTER_PROTOCOL, WORKBENCH_ADAPTER_RESULT_FILE, WORKBENCH_ADAPTER_RESULT_PROTOCOL, assertWorkbenchAdapterOperationResultOk, ensureWorkbenchAdapterOutputDir, normalizeWorkbenchAdapterOperationRequest, normalizeWorkbenchAdapterOperationResult, readWorkbenchAdapterOperationRequest, readWorkbenchAdapterOperationResult, workbenchAdapterOperationResultPath, writeWorkbenchAdapterOperationResult, type WorkbenchAdapterOperationRequest, type WorkbenchAdapterOperationResult, type WorkbenchAdapterOperationResultValue, } from "./adapter-protocol.ts";
4
- export { normalizeWorkbenchEngineCase, normalizeWorkbenchEngineCaseFiles, normalizeWorkbenchEngineCaseSpec, normalizeWorkbenchEngineResolveResult, type WorkbenchEngineCase, type WorkbenchEngineCaseFiles, type WorkbenchEngineCaseEnvironmentSpec, type WorkbenchEngineCaseSpec, type WorkbenchEngineResolveResult, } from "./engine-resolve-result.ts";
5
- export { adapterResult, adapterSlot, adapterSlotInvocation, defineAdapter, defineEngineResolver, defineSkillRunner, defineEngineRunner, defineImprover, operationDefinitionForRequest, runDefinedAdapter, workbenchAdapterManifestFromDefinition, type WorkbenchAdapterDefinition, type WorkbenchAdapterHandlerContext, type WorkbenchAdapterHandlerReturn, type WorkbenchAdapterOperationDefinition, type WorkbenchAdapterOperationHandler, type RunDefinedWorkbenchAdapterOptions, } from "./adapter-definition.ts";
6
- export { WORKBENCH_RUNTIME_CONTROL_TOKEN_ENV, WORKBENCH_RUNTIME_CONTROL_URL_ENV, runWorkbenchRuntimeOperationSequence, type RunWorkbenchRuntimeControlOptions, type WorkbenchRuntimeControlInvocation, type WorkbenchRuntimeControlOperation, type WorkbenchRuntimeControlOperationInputs, type WorkbenchRuntimeControlOperationSequenceRequest, type WorkbenchRuntimeControlOperationSequenceResult, } from "./runtime-control.ts";
4
+ export { normalizeWorkbenchEngineCase, normalizeWorkbenchEngineCaseFiles, normalizeWorkbenchEngineCaseSpec, type WorkbenchEngineCase, type WorkbenchEngineCaseFiles, type WorkbenchEngineCaseEnvironmentSpec, type WorkbenchEngineCaseSpec, type WorkbenchEngineResolveResult, } from "./engine-resolve-result.ts";
5
+ export { adapterResult, adapterSlot, adapterSlotInvocation, defineAdapter, defineEngineResolver, defineSkillRunner, defineEngineRunner, defineImprover, operationDefinitionForRequest, workbenchAdapterManifestFromDefinition, type WorkbenchAdapterDefinition, type WorkbenchAdapterHandlerContext, type WorkbenchAdapterHandlerReturn, type WorkbenchAdapterOperationDefinition, type WorkbenchAdapterOperationHandler, } from "./adapter-definition.ts";
6
+ export { WORKBENCH_RUNTIME_CONTROL_TOKEN_ENV, WORKBENCH_RUNTIME_CONTROL_TIMEOUT_MS_ENV, WORKBENCH_RUNTIME_CONTROL_URL_ENV, runWorkbenchRuntimeOperationSequence, type RunWorkbenchRuntimeControlOptions, type WorkbenchRuntimeControlInvocation, type WorkbenchRuntimeControlOperation, type WorkbenchRuntimeControlOperationInputs, type WorkbenchRuntimeControlOperationSequenceRequest, type WorkbenchRuntimeControlOperationSequenceResult, } from "./runtime-control.ts";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,EACnC,kBAAkB,EAClB,sCAAsC,EACtC,6BAA6B,EAC7B,uCAAuC,EACvC,kCAAkC,EAClC,sCAAsC,EACtC,4CAA4C,EAC5C,6BAA6B,EAC7B,kCAAkC,EAClC,yCAAyC,EACzC,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,+BAA+B,EAC/B,uCAAuC,EACvC,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EACjC,KAAK,kCAAkC,EACvC,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,oCAAoC,GAC1C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,GACrC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,iCAAiC,EACjC,uCAAuC,EACvC,+BAA+B,EAC/B,yCAAyC,EACzC,wCAAwC,EACxC,oCAAoC,EACpC,mCAAmC,EACnC,mCAAmC,EACnC,oCAAoC,EACpC,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,GAC1C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,gCAAgC,EAChC,qCAAqC,EACrC,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,6BAA6B,EAC7B,iBAAiB,EACjB,sCAAsC,EACtC,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAClC,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,GACvC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mCAAmC,EACnC,iCAAiC,EACjC,oCAAoC,EACpC,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,sCAAsC,EAC3C,KAAK,+CAA+C,EACpD,KAAK,8CAA8C,GACpD,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,EACnC,kBAAkB,EAClB,sCAAsC,EACtC,6BAA6B,EAC7B,uCAAuC,EACvC,kCAAkC,EAClC,6BAA6B,EAC7B,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,uCAAuC,EACvC,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EACjC,KAAK,kCAAkC,EACvC,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,oCAAoC,GAC1C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,GACrC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,iCAAiC,EACjC,uCAAuC,EACvC,+BAA+B,EAC/B,yCAAyC,EACzC,wCAAwC,EACxC,oCAAoC,EACpC,mCAAmC,EACnC,mCAAmC,EACnC,oCAAoC,EACpC,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,GAC1C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,gCAAgC,EAChC,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,6BAA6B,EAC7B,sCAAsC,EACtC,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAClC,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,GACtC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mCAAmC,EACnC,wCAAwC,EACxC,iCAAiC,EACjC,oCAAoC,EACpC,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,sCAAsC,EAC3C,KAAK,+CAA+C,EACpD,KAAK,8CAA8C,GACpD,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export { WORKBENCH_ADAPTER_MANIFEST_PROTOCOL, adapterCommandName, assertWorkbenchAdapterOperationSupport, cloneWorkbenchAdapterManifest, collectWorkbenchAdapterAuthRequirements, collectWorkbenchAdapterInvocations, collectWorkbenchAdapterOperationIssues, collectWorkbenchAdapterOperationRequirements, parseWorkbenchAdapterManifest, normalizeWorkbenchAdapterOperation, workbenchAdapterManifestSupportsOperation, workbenchAdapterOperationCommand, workbenchAdapterOperationExecutor, workbenchAdapterManifestRequiresAuth, withDefaultWorkbenchAdapterAuth, withDefaultWorkbenchAdapterAuthProfiles, } from "./adapter-manifest.js";
1
+ export { WORKBENCH_ADAPTER_MANIFEST_PROTOCOL, adapterCommandName, assertWorkbenchAdapterOperationSupport, cloneWorkbenchAdapterManifest, collectWorkbenchAdapterAuthRequirements, collectWorkbenchAdapterInvocations, parseWorkbenchAdapterManifest, normalizeWorkbenchAdapterOperation, workbenchAdapterOperationCommand, workbenchAdapterOperationExecutor, workbenchAdapterManifestRequiresAuth, withDefaultWorkbenchAdapterAuthProfiles, } from "./adapter-manifest.js";
2
2
  export { builtinWorkbenchAdapterManifest, builtinWorkbenchAdapterManifests, isWorkbenchBuiltInAdapterId, } from "./built-in-manifests.js";
3
3
  export { WORKBENCH_ADAPTER_PROTOCOL, WORKBENCH_ADAPTER_RESULT_FILE, WORKBENCH_ADAPTER_RESULT_PROTOCOL, assertWorkbenchAdapterOperationResultOk, ensureWorkbenchAdapterOutputDir, normalizeWorkbenchAdapterOperationRequest, normalizeWorkbenchAdapterOperationResult, readWorkbenchAdapterOperationRequest, readWorkbenchAdapterOperationResult, workbenchAdapterOperationResultPath, writeWorkbenchAdapterOperationResult, } from "./adapter-protocol.js";
4
- export { normalizeWorkbenchEngineCase, normalizeWorkbenchEngineCaseFiles, normalizeWorkbenchEngineCaseSpec, normalizeWorkbenchEngineResolveResult, } from "./engine-resolve-result.js";
5
- export { adapterResult, adapterSlot, adapterSlotInvocation, defineAdapter, defineEngineResolver, defineSkillRunner, defineEngineRunner, defineImprover, operationDefinitionForRequest, runDefinedAdapter, workbenchAdapterManifestFromDefinition, } from "./adapter-definition.js";
6
- export { WORKBENCH_RUNTIME_CONTROL_TOKEN_ENV, WORKBENCH_RUNTIME_CONTROL_URL_ENV, runWorkbenchRuntimeOperationSequence, } from "./runtime-control.js";
4
+ export { normalizeWorkbenchEngineCase, normalizeWorkbenchEngineCaseFiles, normalizeWorkbenchEngineCaseSpec, } from "./engine-resolve-result.js";
5
+ export { adapterResult, adapterSlot, adapterSlotInvocation, defineAdapter, defineEngineResolver, defineSkillRunner, defineEngineRunner, defineImprover, operationDefinitionForRequest, workbenchAdapterManifestFromDefinition, } from "./adapter-definition.js";
6
+ export { WORKBENCH_RUNTIME_CONTROL_TOKEN_ENV, WORKBENCH_RUNTIME_CONTROL_TIMEOUT_MS_ENV, WORKBENCH_RUNTIME_CONTROL_URL_ENV, runWorkbenchRuntimeOperationSequence, } from "./runtime-control.js";
@@ -3,6 +3,7 @@ import type { WorkbenchAdapterOperation } from "./adapter-manifest.ts";
3
3
  import type { WorkbenchAdapterOperationResult } from "./adapter-protocol.ts";
4
4
  export declare const WORKBENCH_RUNTIME_CONTROL_URL_ENV = "WORKBENCH_RUNTIME_CONTROL_URL";
5
5
  export declare const WORKBENCH_RUNTIME_CONTROL_TOKEN_ENV = "WORKBENCH_RUNTIME_CONTROL_TOKEN";
6
+ export declare const WORKBENCH_RUNTIME_CONTROL_TIMEOUT_MS_ENV = "WORKBENCH_RUNTIME_CONTROL_TIMEOUT_MS";
6
7
  export interface WorkbenchRuntimeControlInvocation {
7
8
  use: string;
8
9
  with?: Json;
@@ -43,6 +44,7 @@ export interface WorkbenchRuntimeControlOperationSequenceResult {
43
44
  export interface RunWorkbenchRuntimeControlOptions {
44
45
  url?: string;
45
46
  token?: string;
47
+ timeoutMs?: number;
46
48
  fetch?: typeof fetch;
47
49
  }
48
50
  export declare function runWorkbenchRuntimeOperationSequence(request: WorkbenchRuntimeControlOperationSequenceRequest, options?: RunWorkbenchRuntimeControlOptions): Promise<WorkbenchRuntimeControlOperationSequenceResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-control.d.ts","sourceRoot":"","sources":["../src/runtime-control.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EACnB,YAAY,EACZ,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EACV,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,iCAAiC,kCAAkC,CAAC;AACjF,eAAO,MAAM,mCAAmC,oCAAoC,CAAC;AAErF,MAAM,WAAW,iCAAiC;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,yBAAyB,CAAC;IACrC,UAAU,EAAE,iCAAiC,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sCAAsC;IACrD,KAAK,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,aAAa,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,MAAM,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,+CAA+C;IAC9D,MAAM,CAAC,EAAE,sCAAsC,CAAC;IAChD,UAAU,EAAE,SAAS,gCAAgC,EAAE,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,8CAA8C;IAC7D,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,+BAA+B,EAAE,CAAC;IACpD,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,+CAA+C,EACxD,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,8CAA8C,CAAC,CAgBzD"}
1
+ {"version":3,"file":"runtime-control.d.ts","sourceRoot":"","sources":["../src/runtime-control.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EACnB,YAAY,EACZ,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EACV,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,iCAAiC,kCAAkC,CAAC;AACjF,eAAO,MAAM,mCAAmC,oCAAoC,CAAC;AACrF,eAAO,MAAM,wCAAwC,yCAAyC,CAAC;AAG/F,MAAM,WAAW,iCAAiC;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,yBAAyB,CAAC;IACrC,UAAU,EAAE,iCAAiC,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sCAAsC;IACrD,KAAK,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,aAAa,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,MAAM,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,+CAA+C;IAC9D,MAAM,CAAC,EAAE,sCAAsC,CAAC;IAChD,UAAU,EAAE,SAAS,gCAAgC,EAAE,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,8CAA8C;IAC7D,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,+BAA+B,EAAE,CAAC;IACpD,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,+CAA+C,EACxD,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,8CAA8C,CAAC,CAiBzD"}
@@ -2,6 +2,8 @@ import http from "node:http";
2
2
  import https from "node:https";
3
3
  export const WORKBENCH_RUNTIME_CONTROL_URL_ENV = "WORKBENCH_RUNTIME_CONTROL_URL";
4
4
  export const WORKBENCH_RUNTIME_CONTROL_TOKEN_ENV = "WORKBENCH_RUNTIME_CONTROL_TOKEN";
5
+ export const WORKBENCH_RUNTIME_CONTROL_TIMEOUT_MS_ENV = "WORKBENCH_RUNTIME_CONTROL_TIMEOUT_MS";
6
+ const DEFAULT_RUNTIME_CONTROL_TIMEOUT_MS = 30 * 60_000;
5
7
  export async function runWorkbenchRuntimeOperationSequence(request, options = {}) {
6
8
  const url = (options.url ?? process.env[WORKBENCH_RUNTIME_CONTROL_URL_ENV] ?? "").trim();
7
9
  const token = (options.token ?? process.env[WORKBENCH_RUNTIME_CONTROL_TOKEN_ENV] ?? "").trim();
@@ -10,33 +12,64 @@ export async function runWorkbenchRuntimeOperationSequence(request, options = {}
10
12
  }
11
13
  const fetchImpl = options.fetch ?? fetch;
12
14
  const endpoint = new URL("/v1/operation-sequence", url);
15
+ const timeoutMs = runtimeControlRequestTimeoutMs(options.timeoutMs);
13
16
  const response = options.fetch
14
- ? await postRuntimeControlJsonWithFetch(fetchImpl, endpoint, token, request)
15
- : await postRuntimeControlJson(endpoint, token, request);
17
+ ? await postRuntimeControlJsonWithFetch(fetchImpl, endpoint, token, request, timeoutMs)
18
+ : await postRuntimeControlJson(endpoint, token, request, timeoutMs);
16
19
  if (response.status < 200 || response.status >= 300) {
17
20
  const message = readResponseError(response.payload) ?? `Workbench runtime-control request failed with status ${response.status}.`;
18
21
  throw new Error(message);
19
22
  }
20
23
  return normalizeRuntimeControlOperationSequenceResult(response.payload);
21
24
  }
22
- async function postRuntimeControlJsonWithFetch(fetchImpl, url, token, request) {
23
- const response = await fetchImpl(url, {
24
- method: "POST",
25
- headers: {
26
- "authorization": `Bearer ${token}`,
27
- "content-type": "application/json",
28
- },
29
- body: JSON.stringify(request),
30
- });
31
- return {
32
- status: response.status,
33
- payload: await response.json().catch(() => null),
34
- };
25
+ async function postRuntimeControlJsonWithFetch(fetchImpl, url, token, request, timeoutMs) {
26
+ const controller = new AbortController();
27
+ let timedOut = false;
28
+ const timer = setTimeout(() => {
29
+ timedOut = true;
30
+ controller.abort();
31
+ }, timeoutMs);
32
+ try {
33
+ const response = await fetchImpl(url, {
34
+ method: "POST",
35
+ headers: {
36
+ "authorization": `Bearer ${token}`,
37
+ "content-type": "application/json",
38
+ },
39
+ body: JSON.stringify(request),
40
+ signal: controller.signal,
41
+ });
42
+ return {
43
+ status: response.status,
44
+ payload: await response.json().catch(() => null),
45
+ };
46
+ }
47
+ catch (error) {
48
+ if (timedOut) {
49
+ throw runtimeControlTimeoutError(timeoutMs);
50
+ }
51
+ throw error;
52
+ }
53
+ finally {
54
+ clearTimeout(timer);
55
+ }
35
56
  }
36
- async function postRuntimeControlJson(url, token, request) {
57
+ async function postRuntimeControlJson(url, token, request, timeoutMs) {
37
58
  const body = JSON.stringify(request);
38
59
  const client = url.protocol === "https:" ? https : http;
39
60
  return await new Promise((resolve, reject) => {
61
+ let settled = false;
62
+ let timer;
63
+ const settle = (callback) => {
64
+ if (settled) {
65
+ return;
66
+ }
67
+ settled = true;
68
+ if (timer) {
69
+ clearTimeout(timer);
70
+ }
71
+ callback();
72
+ };
40
73
  const outgoing = client.request(url, {
41
74
  method: "POST",
42
75
  headers: {
@@ -58,17 +91,36 @@ async function postRuntimeControlJson(url, token, request) {
58
91
  catch {
59
92
  payload = null;
60
93
  }
61
- resolve({
94
+ settle(() => resolve({
62
95
  status: incoming.statusCode ?? 0,
63
96
  payload,
64
- });
97
+ }));
65
98
  });
99
+ incoming.on("error", (error) => settle(() => reject(error)));
66
100
  });
67
- outgoing.on("error", reject);
68
- outgoing.setTimeout(0);
101
+ outgoing.on("error", (error) => settle(() => reject(error)));
102
+ timer = setTimeout(() => {
103
+ outgoing.destroy(runtimeControlTimeoutError(timeoutMs));
104
+ }, timeoutMs);
69
105
  outgoing.end(body);
70
106
  });
71
107
  }
108
+ function runtimeControlRequestTimeoutMs(configured) {
109
+ if (typeof configured === "number" && Number.isFinite(configured) && configured > 0) {
110
+ return Math.floor(configured);
111
+ }
112
+ const raw = process.env[WORKBENCH_RUNTIME_CONTROL_TIMEOUT_MS_ENV];
113
+ if (raw) {
114
+ const parsed = Number(raw);
115
+ if (Number.isFinite(parsed) && parsed > 0) {
116
+ return Math.floor(parsed);
117
+ }
118
+ }
119
+ return DEFAULT_RUNTIME_CONTROL_TIMEOUT_MS;
120
+ }
121
+ function runtimeControlTimeoutError(timeoutMs) {
122
+ return new Error(`Workbench runtime-control request timed out after ${timeoutMs}ms.`);
123
+ }
72
124
  function normalizeRuntimeControlOperationSequenceResult(value) {
73
125
  if (!value || typeof value !== "object" || Array.isArray(value)) {
74
126
  throw new Error("Workbench runtime-control response must be an object.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workbench-ai/workbench-protocol",
3
- "version": "0.0.68",
3
+ "version": "0.0.70",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/workbench-ai/workbench.git",
@@ -20,7 +20,7 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "yaml": "^2.8.2",
23
- "@workbench-ai/workbench-contract": "0.0.68"
23
+ "@workbench-ai/workbench-contract": "0.0.70"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/node": "^24.3.1",