@the-open-engine/zeroshot 6.29.1 → 6.30.0

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/lib/agent-cli-provider/contract-actions.d.ts +1 -1
  3. package/lib/agent-cli-provider/contract-actions.d.ts.map +1 -1
  4. package/lib/agent-cli-provider/contract-actions.js +5 -5
  5. package/lib/agent-cli-provider/contract-actions.js.map +1 -1
  6. package/lib/agent-cli-provider/contract-invoke.d.ts +1 -1
  7. package/lib/agent-cli-provider/contract-invoke.d.ts.map +1 -1
  8. package/lib/agent-cli-provider/contract-invoke.js +2 -2
  9. package/lib/agent-cli-provider/contract-invoke.js.map +1 -1
  10. package/lib/agent-cli-provider/contract-support.d.ts +1 -1
  11. package/lib/agent-cli-provider/contract-support.d.ts.map +1 -1
  12. package/lib/agent-cli-provider/contract-support.js +2 -2
  13. package/lib/agent-cli-provider/contract-support.js.map +1 -1
  14. package/lib/agent-cli-provider/contract.d.ts +1 -0
  15. package/lib/agent-cli-provider/contract.d.ts.map +1 -1
  16. package/lib/agent-cli-provider/contract.js +1 -1
  17. package/lib/agent-cli-provider/contract.js.map +1 -1
  18. package/lib/agent-cli-provider/index.d.ts +1 -1
  19. package/lib/agent-cli-provider/index.d.ts.map +1 -1
  20. package/lib/agent-cli-provider/index.js +2 -1
  21. package/lib/agent-cli-provider/index.js.map +1 -1
  22. package/lib/agent-cli-provider/provider-registry.d.ts +1 -0
  23. package/lib/agent-cli-provider/provider-registry.d.ts.map +1 -1
  24. package/lib/agent-cli-provider/provider-registry.js +4 -0
  25. package/lib/agent-cli-provider/provider-registry.js.map +1 -1
  26. package/lib/agent-cli-provider/single-agent-runtime.d.ts +3 -3
  27. package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -1
  28. package/lib/agent-cli-provider/single-agent-runtime.js +22 -48
  29. package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -1
  30. package/lib/cluster-worker/engine-adapter-common.js +37 -0
  31. package/lib/cluster-worker/engine-adapter.js +20 -20
  32. package/lib/cluster-worker/engine-start.js +59 -0
  33. package/lib/cluster-worker/index.js +49 -67
  34. package/lib/cluster-worker/runtime-dependencies.js +49 -0
  35. package/lib/cluster-worker/runtime-support.js +2 -34
  36. package/lib/cluster-worker/terminal-normalizer.js +9 -10
  37. package/package.json +11 -1
  38. package/protocol/openengine-cluster/v1/worker.schema.json +171 -9
  39. package/src/agent-cli-provider/contract-actions.ts +9 -5
  40. package/src/agent-cli-provider/contract-invoke.ts +3 -2
  41. package/src/agent-cli-provider/contract-support.ts +12 -6
  42. package/src/agent-cli-provider/contract.ts +6 -1
  43. package/src/agent-cli-provider/index.ts +1 -0
  44. package/src/agent-cli-provider/provider-registry.ts +4 -0
  45. package/src/agent-cli-provider/single-agent-runtime.ts +32 -45
@@ -11,26 +11,21 @@ const provider_registry_1 = require("./provider-registry");
11
11
  const MODEL_LEVELS = ['level1', 'level2', 'level3'];
12
12
  const REASONING_EFFORTS = ['low', 'medium', 'high', 'xhigh', 'max'];
13
13
  const LEGACY_ISOLATED_PROVIDER_SETTINGS_ENV = 'ZEROSHOT_ISOLATED_PROVIDER_SETTINGS_JSON';
14
- const settingsModule = require('../../lib/settings');
15
14
  const providerDetectionModule = require('../../lib/provider-detection');
16
- const claudeAuthModule = require('../../lib/settings/claude-auth');
17
- const loadSettingsFn = moduleFunction(settingsModule, 'loadSettings');
18
- const getClaudeCommandFn = moduleFunction(settingsModule, 'getClaudeCommand');
19
15
  const commandExistsFn = moduleFunction(providerDetectionModule, 'commandExists');
20
16
  const getHelpOutputFn = moduleFunction(providerDetectionModule, 'getHelpOutput');
21
17
  const getVersionOutputFn = moduleFunction(providerDetectionModule, 'getVersionOutput');
22
- const resolveClaudeAuthFn = moduleFunction(claudeAuthModule, 'resolveClaudeAuth');
23
- function prepareSingleAgentProviderCommand(input) {
18
+ function prepareSingleAgentProviderCommand(input, runtimeSettings) {
24
19
  rejectCallerSuppliedModelProvenance(input);
25
20
  const baseOptions = input.options ?? {};
26
- const settings = loadRuntimeSettings();
21
+ const settings = runtimeSettings ?? loadRuntimeSettings();
27
22
  const adapter = adapterForRuntimeInput(input.provider, settings);
28
23
  const providerSettings = runtimeProviderSettings(settings, adapter.id, baseOptions.cwd ?? process.cwd());
29
24
  const requestedWebSearch = baseOptions.structuredOutputRecovery
30
25
  ? recoveryWebSearchOption(adapter)
31
26
  : (baseOptions.webSearch ?? providerSettings.webSearch);
32
27
  assertWebSearchDeclared(adapter.id, requestedWebSearch);
33
- const cliFeatures = resolveRuntimeCliFeatures(adapter.id, baseOptions.cliFeatures, requestedWebSearch === true);
28
+ const cliFeatures = resolveRuntimeCliFeatures(adapter.id, baseOptions.cliFeatures, requestedWebSearch === true, settings);
34
29
  const authEnv = baseOptions.authEnv ?? resolveRuntimeAuthEnv(adapter.id, settings);
35
30
  const options = buildRuntimeOptions(baseOptions, adapter, providerSettings, {
36
31
  cliFeatures,
@@ -59,12 +54,12 @@ function buildRuntimeCommand(adapter, context, options) {
59
54
  }
60
55
  return recoveryAdapter.buildStructuredOutputRecoveryCommand(context, options);
61
56
  }
62
- function detectRuntimeProviderCliFeatures(provider) {
63
- return probeRuntimeProviderCli(provider).capabilities;
57
+ function detectRuntimeProviderCliFeatures(provider, runtimeSettings) {
58
+ return probeRuntimeProviderCli(provider, undefined, runtimeSettings).capabilities;
64
59
  }
65
- function resolveRuntimeCliFeatures(provider, overrides, webSearchRequested) {
60
+ function resolveRuntimeCliFeatures(provider, overrides, webSearchRequested, runtimeSettings) {
66
61
  if (provider === 'gateway') {
67
- const detected = detectRuntimeProviderCliFeatures(provider);
62
+ const detected = detectRuntimeProviderCliFeatures(provider, runtimeSettings);
68
63
  return {
69
64
  ...detected,
70
65
  ...overrides,
@@ -73,16 +68,16 @@ function resolveRuntimeCliFeatures(provider, overrides, webSearchRequested) {
73
68
  };
74
69
  }
75
70
  if ((0, provider_registry_1.getProviderRegistryEntry)(provider).invoke.lane === 'acp-stdio') {
76
- const detected = detectRuntimeProviderCliFeatures(provider);
71
+ const detected = detectRuntimeProviderCliFeatures(provider, runtimeSettings);
77
72
  if (overrides === undefined)
78
73
  return detected;
79
74
  return mergeAcpFailClosedCliFeatures(detected, overrides);
80
75
  }
81
76
  if (overrides === undefined)
82
- return detectRuntimeProviderCliFeatures(provider);
77
+ return detectRuntimeProviderCliFeatures(provider, runtimeSettings);
83
78
  if (!webSearchRequested)
84
79
  return overrides;
85
- const detected = detectRuntimeProviderCliFeatures(provider);
80
+ const detected = detectRuntimeProviderCliFeatures(provider, runtimeSettings);
86
81
  return {
87
82
  ...overrides,
88
83
  supportsResume: 'supportsResume' in detected &&
@@ -110,13 +105,14 @@ function mergeAcpFailClosedCliFeatures(detected, overrides) {
110
105
  supportsTerminalTools: false,
111
106
  };
112
107
  }
113
- function probeRuntimeProviderCli(provider, evidence) {
108
+ function probeRuntimeProviderCli(provider, evidence, runtimeSettings) {
114
109
  const adapter = (0, adapters_1.getProviderAdapter)(provider);
115
110
  if (adapter.id === 'gateway') {
116
- return probeGatewayProvider(adapter);
111
+ return probeGatewayProvider(adapter, runtimeSettings);
117
112
  }
118
113
  const requested = (0, provider_registry_1.getProviderRegistryEntry)(adapter.id).settingsFields.includes('webSearch')
119
- ? runtimeProviderSettings(loadRuntimeSettings(), adapter.id, process.cwd()).webSearch === true
114
+ ? runtimeProviderSettings(runtimeSettings ?? loadRuntimeSettings(), adapter.id, process.cwd())
115
+ .webSearch === true
120
116
  : false;
121
117
  const helpCommand = runtimeHelpCommand(adapter.id);
122
118
  const commandAvailable = evidence === undefined
@@ -248,7 +244,9 @@ function modelSpecFromResolved(resolved) {
248
244
  function resolveRuntimeAuthEnv(provider, settings) {
249
245
  if (provider !== 'claude')
250
246
  return {};
251
- return stringRecordFromUnknown(resolveClaudeAuthFn(settings), 'resolveClaudeAuth');
247
+ const claudeAuthModule = require('../../lib/settings/claude-auth');
248
+ const resolveClaudeAuth = moduleFunction(claudeAuthModule, 'resolveClaudeAuth');
249
+ return stringRecordFromUnknown(resolveClaudeAuth(settings), 'resolveClaudeAuth');
252
250
  }
253
251
  function adapterForRuntimeInput(provider, settings) {
254
252
  const configured = provider ?? optionalString(settings.defaultProvider, 'settings.defaultProvider');
@@ -274,15 +272,12 @@ function runtimeProviderSettings(settings, provider, cwd) {
274
272
  return defaultLevel === undefined ? base : { ...base, defaultLevel };
275
273
  }
276
274
  function runtimeHelpCommand(provider) {
277
- if (provider === 'claude') {
278
- return commandPartsFromUnknown(getClaudeCommandFn(), 'getClaudeCommand');
279
- }
280
275
  return (0, provider_registry_1.resolveProviderCommand)(provider);
281
276
  }
282
- function probeGatewayProvider(adapter) {
277
+ function probeGatewayProvider(adapter, runtimeSettings) {
283
278
  const capabilities = attestedCliFeatures(adapter, '', '');
284
279
  try {
285
- const settings = loadRuntimeSettings();
280
+ const settings = runtimeSettings ?? loadRuntimeSettings();
286
281
  const providerSettings = runtimeProviderSettings(settings, 'gateway', process.cwd());
287
282
  (0, gateway_tools_1.resolveGatewayConfiguration)(providerSettings.gateway, 'settings.providerSettings.gateway', process.cwd());
288
283
  return {
@@ -332,7 +327,9 @@ function loadRuntimeSettings() {
332
327
  if (Object.prototype.hasOwnProperty.call(process.env, LEGACY_ISOLATED_PROVIDER_SETTINGS_ENV)) {
333
328
  throw new Error(`${LEGACY_ISOLATED_PROVIDER_SETTINGS_ENV} is not a trusted settings channel; use the settings file.`);
334
329
  }
335
- return requiredRecord(loadSettingsFn(), 'loadSettings');
330
+ const settingsModule = require('../../lib/settings');
331
+ const loadSettings = moduleFunction(settingsModule, 'loadSettings');
332
+ return requiredRecord(loadSettings(), 'loadSettings');
336
333
  }
337
334
  function rejectCallerSuppliedModelProvenance(input) {
338
335
  if (Object.prototype.hasOwnProperty.call(input, 'modelSpecSource')) {
@@ -349,13 +346,6 @@ function moduleFunction(moduleValue, field) {
349
346
  function isUnknownFunction(value) {
350
347
  return typeof value === 'function';
351
348
  }
352
- function commandPartsFromUnknown(value, field) {
353
- const record = requiredRecord(value, field);
354
- return {
355
- command: requiredStringValue(record.command, `${field}.command`),
356
- args: stringArray(record.args, `${field}.args`),
357
- };
358
- }
359
349
  function levelOverridesFromUnknown(value, field) {
360
350
  if (value === undefined)
361
351
  return {};
@@ -427,11 +417,6 @@ function optionalString(value, field) {
427
417
  return value;
428
418
  throw new Error(`${field} must be a string.`);
429
419
  }
430
- function requiredStringValue(value, field) {
431
- if (typeof value === 'string' && value.length > 0)
432
- return value;
433
- throw new Error(`${field} must be a non-empty string.`);
434
- }
435
420
  function optionalRecord(value, field) {
436
421
  if (value === undefined || value === null)
437
422
  return undefined;
@@ -454,17 +439,6 @@ function stringRecordFromUnknown(value, field) {
454
439
  }
455
440
  return result;
456
441
  }
457
- function stringArray(value, field) {
458
- if (!Array.isArray(value))
459
- throw new Error(`${field} must be an array.`);
460
- const result = [];
461
- for (const item of value) {
462
- if (typeof item !== 'string')
463
- throw new Error(`${field} entries must be strings.`);
464
- result.push(item);
465
- }
466
- return result;
467
- }
468
442
  function stringResult(value) {
469
443
  if (typeof value === 'string')
470
444
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"single-agent-runtime.js","sourceRoot":"","sources":["../../src/agent-cli-provider/single-agent-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"single-agent-runtime.js","sourceRoot":"","sources":["../../src/agent-cli-provider/single-agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ const PUBLIC_ADAPTER_METHODS = Object.freeze([
4
+ 'start',
5
+ 'status',
6
+ 'stop',
7
+ 'waitForCleanup',
8
+ 'close',
9
+ ]);
10
+
11
+ function createAdapterFacade(adapter) {
12
+ return Object.freeze(
13
+ Object.fromEntries(PUBLIC_ADAPTER_METHODS.map((name) => [name, adapter[name].bind(adapter)]))
14
+ );
15
+ }
16
+
17
+ function requestText(request, artifactText) {
18
+ if (request.source === 'issue') return request.issue;
19
+ if (request.source === 'prompt') return request.prompt;
20
+ return typeof artifactText === 'function' ? artifactText() : artifactText;
21
+ }
22
+
23
+ function declaredFailureEvent() {
24
+ return { type: 'failed', code: 'crash', reason: 'declared_failure' };
25
+ }
26
+
27
+ function frozenResourceStatus(resource, state, details) {
28
+ if (!resource) return null;
29
+ return Object.freeze({ clusterId: resource.clusterId, state, ...details });
30
+ }
31
+
32
+ module.exports = {
33
+ createAdapterFacade,
34
+ declaredFailureEvent,
35
+ frozenResourceStatus,
36
+ requestText,
37
+ };
@@ -2,6 +2,11 @@
2
2
 
3
3
  const { cloneJson } = require('./object-utils');
4
4
  const { inputFromRequest } = require('./engine-input');
5
+ const {
6
+ createAdapterFacade,
7
+ declaredFailureEvent,
8
+ frozenResourceStatus,
9
+ } = require('./engine-adapter-common');
5
10
 
6
11
  const TERMINAL_TOPICS = new Set(['CLUSTER_COMPLETE', 'CLUSTER_FAILED']);
7
12
 
@@ -9,16 +14,20 @@ function messageKey(message) {
9
14
  return message.id ?? `${message.timestamp}:${message.topic}:${message.sender}`;
10
15
  }
11
16
 
17
+ function completionPayload(data) {
18
+ const payload = {};
19
+ if (Object.prototype.hasOwnProperty.call(data, 'result')) payload.result = data.result;
20
+ if (Object.prototype.hasOwnProperty.call(data, 'artifacts')) payload.artifacts = data.artifacts;
21
+ return payload;
22
+ }
23
+
12
24
  function terminalEventFromMessage(message) {
13
25
  const data = message.content?.data || {};
14
26
  if (message.topic === 'CLUSTER_COMPLETE') {
15
27
  return {
16
28
  type: 'complete',
17
29
  summary: data.reason || message.content?.text,
18
- ...(Object.prototype.hasOwnProperty.call(data, 'result') ? { result: data.result } : {}),
19
- ...(Object.prototype.hasOwnProperty.call(data, 'artifacts')
20
- ? { artifacts: data.artifacts }
21
- : {}),
30
+ ...completionPayload(data),
22
31
  };
23
32
  }
24
33
  return {
@@ -128,7 +137,7 @@ class CurrentEngineAdapter {
128
137
  try {
129
138
  this.foldDurableMessages();
130
139
  } catch {
131
- this.resource.onEvent({ type: 'failed', code: 'crash', reason: 'declared_failure' });
140
+ this.resource.onEvent(declaredFailureEvent());
132
141
  }
133
142
  });
134
143
  }
@@ -193,12 +202,12 @@ class CurrentEngineAdapter {
193
202
  foldClusterState(cluster) {
194
203
  if (!cluster) {
195
204
  if (!this.terminalObserved) {
196
- this.resource.onEvent({ type: 'failed', code: 'crash', reason: 'declared_failure' });
205
+ this.resource.onEvent(declaredFailureEvent());
197
206
  }
198
207
  return 'released';
199
208
  }
200
209
  if (!this.terminalObserved && ['failed', 'stopped', 'killed'].includes(cluster.state)) {
201
- this.resource.onEvent({ type: 'failed', code: 'crash', reason: 'declared_failure' });
210
+ this.resource.onEvent(declaredFailureEvent());
202
211
  } else if (cluster.state === 'running') {
203
212
  this.resource.onEvent({ type: 'running' });
204
213
  }
@@ -210,13 +219,11 @@ class CurrentEngineAdapter {
210
219
  this.foldDurableMessages();
211
220
  const cluster = this.orchestrator.getCluster(this.resource.clusterId);
212
221
  if (!cluster && !this.startSettled) {
213
- return Object.freeze({ clusterId: this.resource.clusterId, state: 'starting' });
222
+ return frozenResourceStatus(this.resource, 'starting');
214
223
  }
215
224
  const state = this.foldClusterState(cluster);
216
- if (!cluster) return Object.freeze({ clusterId: this.resource.clusterId, state });
217
- return Object.freeze({
218
- clusterId: this.resource.clusterId,
219
- state,
225
+ if (!cluster) return frozenResourceStatus(this.resource, state);
226
+ return frozenResourceStatus(this.resource, state, {
220
227
  messageCount: cluster.ledger.count({ cluster_id: this.resource.clusterId }),
221
228
  pidAliveDiagnostic: this.orchestrator.getStatus(this.resource.clusterId).isZombie !== true,
222
229
  });
@@ -277,14 +284,7 @@ class CurrentEngineAdapter {
277
284
  }
278
285
 
279
286
  function createCurrentEngineAdapter(options = {}) {
280
- const adapter = new CurrentEngineAdapter(options);
281
- return Object.freeze({
282
- start: adapter.start.bind(adapter),
283
- status: adapter.status.bind(adapter),
284
- stop: adapter.stop.bind(adapter),
285
- waitForCleanup: adapter.waitForCleanup.bind(adapter),
286
- close: adapter.close.bind(adapter),
287
- });
287
+ return createAdapterFacade(new CurrentEngineAdapter(options));
288
288
  }
289
289
 
290
290
  module.exports = { createCurrentEngineAdapter, inputFromRequest, terminalEventFromMessage };
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ const { CANCELLED, createArtifactPreparation } = require('./runtime-support');
4
+
5
+ function createEngineStart(runtime, request, clusterId) {
6
+ const prepareArtifacts =
7
+ request.source === 'artifact'
8
+ ? createArtifactPreparation({
9
+ resolver: runtime.artifactResolver,
10
+ artifacts: request.artifacts,
11
+ clusterId,
12
+ getProfile: () => runtime.profile,
13
+ signal: runtime.preparationController.signal,
14
+ reportFailure: runtime.cleanupFailureReporter,
15
+ })
16
+ : null;
17
+ return Promise.resolve(
18
+ runtime.engineAdapter.start({
19
+ request,
20
+ profile: runtime.profile,
21
+ ...(prepareArtifacts ? { prepareArtifacts } : {}),
22
+ clusterId,
23
+ onEvent: runtime.onEngineEvent,
24
+ })
25
+ );
26
+ }
27
+
28
+ function assertEngineResource(resource, request, clusterId) {
29
+ if (resource?.clusterId && resource.clusterId !== clusterId) {
30
+ throw new Error('Engine allocated a cluster with a different id');
31
+ }
32
+ if (request.source === 'artifact' && resource?.artifactsStaged !== true) {
33
+ throw new Error('Engine started without staging artifact input');
34
+ }
35
+ }
36
+
37
+ async function acceptEngineStart(runtime, resource, request, clusterId) {
38
+ if (resource === CANCELLED) {
39
+ if (!runtime.machine.terminalReceipt) await runtime.machine.result();
40
+ return runtime.machine.status();
41
+ }
42
+ assertEngineResource(resource, request, clusterId);
43
+ if (runtime.machine.state === 'starting') runtime.machine.transition('running');
44
+ return runtime.machine.status();
45
+ }
46
+
47
+ async function handleEngineStartFailure(runtime, error) {
48
+ if (runtime.claimTerminalAuthority('engine:start')) {
49
+ runtime.machine.terminal(runtime.failureReceipt('failed', 'crash', 'declared_failure'));
50
+ }
51
+ await runtime.stopEngine();
52
+ if (runtime.terminalAuthority !== 'engine:start' && !runtime.machine.terminalReceipt) {
53
+ await runtime.machine.result();
54
+ return runtime.machine.status();
55
+ }
56
+ throw error;
57
+ }
58
+
59
+ module.exports = { acceptEngineStart, createEngineStart, handleEngineStartFailure };
@@ -1,17 +1,20 @@
1
1
  'use strict';
2
2
 
3
3
  const { validateLegacyShipRequest } = require('./contracts');
4
- const { createCurrentEngineAdapter } = require('./engine-adapter');
5
4
  const { cloneJson, deepFreeze } = require('./object-utils');
6
5
  const { createDeploymentProfileRegistry, DEFAULT_BOUNDS } = require('./profiles');
7
6
  const {
8
7
  CANCELLED,
9
8
  assertIsolatedProfile,
10
- createArtifactPreparation,
11
9
  errorOutcome,
12
10
  resolveRuntimeDependencies,
13
11
  runCancellable,
14
12
  } = require('./runtime-support');
13
+ const {
14
+ acceptEngineStart,
15
+ createEngineStart,
16
+ handleEngineStartFailure,
17
+ } = require('./engine-start');
15
18
  const { releaseEngine, stopEngine } = require('./runtime-engine');
16
19
  const { LegacyWorkerStateMachine } = require('./state-machine');
17
20
  const { createTerminalNormalizer } = require('./terminal-normalizer');
@@ -131,49 +134,14 @@ class LegacyClusterWorkerRuntime {
131
134
  async startEngine(request, clusterId) {
132
135
  this.engineStartAttempted = true;
133
136
  try {
134
- const prepareArtifacts =
135
- request.source === 'artifact'
136
- ? createArtifactPreparation({
137
- resolver: this.artifactResolver,
138
- artifacts: request.artifacts,
139
- clusterId,
140
- getProfile: () => this.profile,
141
- signal: this.preparationController.signal,
142
- reportFailure: this.cleanupFailureReporter,
143
- })
144
- : null;
145
- const engineStart = Promise.resolve(
146
- this.engineAdapter.start({
147
- request,
148
- profile: this.profile,
149
- ...(prepareArtifacts ? { prepareArtifacts } : {}),
150
- clusterId,
151
- onEvent: this.onEngineEvent,
152
- })
153
- );
154
- const resource = await Promise.race([engineStart, this.terminalClaimed]);
155
- if (resource === CANCELLED) {
156
- if (!this.machine.terminalReceipt) await this.machine.result();
157
- return this.machine.status();
158
- }
159
- if (resource?.clusterId && resource.clusterId !== clusterId) {
160
- throw new Error('Engine allocated a cluster with a different id');
161
- }
162
- if (request.source === 'artifact' && resource?.artifactsStaged !== true) {
163
- throw new Error('Engine started without staging artifact input');
164
- }
165
- if (this.machine.state === 'starting') this.machine.transition('running');
166
- return this.machine.status();
137
+ const resource = await Promise.race([
138
+ createEngineStart(this, request, clusterId),
139
+ this.terminalClaimed,
140
+ ]);
141
+ const status = await acceptEngineStart(this, resource, request, clusterId);
142
+ return status;
167
143
  } catch (error) {
168
- if (this.claimTerminalAuthority('engine:start')) {
169
- this.machine.terminal(this.failureReceipt('failed', 'crash', 'declared_failure'));
170
- }
171
- await this.stopEngine();
172
- if (this.terminalAuthority !== 'engine:start' && !this.machine.terminalReceipt) {
173
- await this.machine.result();
174
- return this.machine.status();
175
- }
176
- throw error;
144
+ return handleEngineStartFailure(this, error);
177
145
  }
178
146
  }
179
147
  beginLifecycle() {
@@ -187,7 +155,7 @@ class LegacyClusterWorkerRuntime {
187
155
  this.armExecutionTimeout(this.initialExecutionBound());
188
156
  return clusterId;
189
157
  }
190
- async start(request) {
158
+ claimStartRequest(request) {
191
159
  if (this.startClaimed) throw new Error('Worker facade permits exactly one start');
192
160
  const requestSnapshot = deepFreeze(cloneJson(request));
193
161
  validateLegacyShipRequest(requestSnapshot);
@@ -196,33 +164,43 @@ class LegacyClusterWorkerRuntime {
196
164
  }
197
165
  // Claim synchronously so concurrent calls cannot allocate two resources.
198
166
  this.startClaimed = true;
199
- let clusterId;
167
+ return requestSnapshot;
168
+ }
169
+ resolveStartProfile(request) {
170
+ const profileResolution = this.profileRegistry.resolve(
171
+ request.isolationProfile,
172
+ request.providerProfile,
173
+ Object.freeze({ signal: this.preparationController.signal })
174
+ );
175
+ if (!profileResolution || typeof profileResolution.then !== 'function') {
176
+ this.profile = assertIsolatedProfile(profileResolution, request);
177
+ }
178
+ return profileResolution;
179
+ }
180
+ async handleStartFailure(error) {
181
+ if (this.terminalAuthority !== null) {
182
+ if (!this.machine.terminalReceipt) await this.machine.result();
183
+ return this.machine.status();
184
+ }
185
+ if (!this.machine.clusterId) {
186
+ this.startClaimed = false;
187
+ throw error;
188
+ }
189
+ if (this.claimTerminalAuthority('engine:start-setup')) {
190
+ this.machine.terminal(this.failureReceipt('failed', 'crash', 'declared_failure'));
191
+ }
192
+ throw error;
193
+ }
194
+ async start(request) {
195
+ const requestSnapshot = this.claimStartRequest(request);
200
196
  try {
201
- const profileResolution = this.profileRegistry.resolve(
202
- requestSnapshot.isolationProfile,
203
- requestSnapshot.providerProfile,
204
- Object.freeze({ signal: this.preparationController.signal })
205
- );
206
- if (!profileResolution || typeof profileResolution.then !== 'function') {
207
- this.profile = assertIsolatedProfile(profileResolution, requestSnapshot);
208
- }
209
- clusterId = this.beginLifecycle();
197
+ const profileResolution = this.resolveStartProfile(requestSnapshot);
198
+ const clusterId = this.beginLifecycle();
210
199
  const prepared = await this.prepareStart(requestSnapshot, clusterId, profileResolution);
211
200
  if (prepared === CANCELLED) return this.machine.status();
212
201
  return this.startEngine(requestSnapshot, clusterId);
213
202
  } catch (error) {
214
- if (this.terminalAuthority !== null) {
215
- if (!this.machine.terminalReceipt) await this.machine.result();
216
- return this.machine.status();
217
- }
218
- if (!this.machine.clusterId) {
219
- this.startClaimed = false;
220
- throw error;
221
- }
222
- if (this.machine.clusterId && this.claimTerminalAuthority('engine:start-setup')) {
223
- this.machine.terminal(this.failureReceipt('failed', 'crash', 'declared_failure'));
224
- }
225
- throw error;
203
+ return this.handleStartFailure(error);
226
204
  }
227
205
  }
228
206
  status() {
@@ -283,6 +261,10 @@ class LegacyClusterWorkerRuntime {
283
261
  }
284
262
  }
285
263
 
264
+ function createCurrentEngineAdapter(...args) {
265
+ return require('./engine-adapter').createCurrentEngineAdapter(...args);
266
+ }
267
+
286
268
  function createLegacyClusterWorker(dependencies = {}) {
287
269
  return createWorkerFacade(new LegacyClusterWorkerRuntime(dependencies));
288
270
  }
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ const { randomUUID } = require('crypto');
4
+ const { createDeploymentProfileRegistry } = require('./profiles');
5
+
6
+ const DEPENDENCY_KEYS = new Set([
7
+ 'profileRegistry',
8
+ 'artifactResolver',
9
+ 'artifactReceiptSink',
10
+ 'engineAdapter',
11
+ 'clock',
12
+ 'timers',
13
+ 'idFactory',
14
+ 'cleanupFailureReporter',
15
+ ]);
16
+
17
+ function assertRuntimeDependencies(dependencies) {
18
+ const unknownDependencies = Object.keys(dependencies).filter((key) => !DEPENDENCY_KEYS.has(key));
19
+ if (unknownDependencies.length > 0) {
20
+ throw new Error(`Unsupported worker dependencies: ${unknownDependencies.join(', ')}`);
21
+ }
22
+ if (
23
+ dependencies.cleanupFailureReporter !== undefined &&
24
+ typeof dependencies.cleanupFailureReporter !== 'function'
25
+ ) {
26
+ throw new Error('cleanupFailureReporter must be a function');
27
+ }
28
+ }
29
+
30
+ function applyRuntimeDependencyDefaults(dependencies, defaultCleanupFailureReporter) {
31
+ return {
32
+ profileRegistry: dependencies.profileRegistry || createDeploymentProfileRegistry(),
33
+ artifactResolver: dependencies.artifactResolver || null,
34
+ artifactReceiptSink: dependencies.artifactReceiptSink || null,
35
+ engineAdapter:
36
+ dependencies.engineAdapter || require('./engine-adapter').createCurrentEngineAdapter(),
37
+ clock: dependencies.clock || (() => Date.now()),
38
+ timers: dependencies.timers || { setTimeout, clearTimeout },
39
+ idFactory: dependencies.idFactory || (() => `legacy-worker-${randomUUID()}`),
40
+ cleanupFailureReporter: dependencies.cleanupFailureReporter || defaultCleanupFailureReporter,
41
+ };
42
+ }
43
+
44
+ function resolveRuntimeDependencies(dependencies, defaultCleanupFailureReporter) {
45
+ assertRuntimeDependencies(dependencies);
46
+ return applyRuntimeDependencyDefaults(dependencies, defaultCleanupFailureReporter);
47
+ }
48
+
49
+ module.exports = { resolveRuntimeDependencies };