@agent-vm/agent-vm 0.0.94 → 0.0.96

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 (90) hide show
  1. package/dist/cli/agent-vm-cli-support.d.ts +2 -1
  2. package/dist/cli/agent-vm-cli-support.d.ts.map +1 -1
  3. package/dist/cli/agent-vm-cli-support.js +2 -1
  4. package/dist/cli/agent-vm-cli-support.js.map +1 -1
  5. package/dist/cli/commands/controller-definition.d.ts +78 -0
  6. package/dist/cli/commands/controller-definition.d.ts.map +1 -1
  7. package/dist/cli/commands/controller-definition.js +34 -0
  8. package/dist/cli/commands/controller-definition.js.map +1 -1
  9. package/dist/cli/commands/create-app.d.ts +78 -0
  10. package/dist/cli/commands/create-app.d.ts.map +1 -1
  11. package/dist/cli/controller-operation-commands.d.ts +3 -1
  12. package/dist/cli/controller-operation-commands.d.ts.map +1 -1
  13. package/dist/cli/controller-operation-commands.js +125 -6
  14. package/dist/cli/controller-operation-commands.js.map +1 -1
  15. package/dist/cli/manual-templates.d.ts.map +1 -1
  16. package/dist/cli/manual-templates.js +11 -5
  17. package/dist/cli/manual-templates.js.map +1 -1
  18. package/dist/config/system-config.d.ts +0 -3
  19. package/dist/config/system-config.d.ts.map +1 -1
  20. package/dist/config/system-config.js +1 -7
  21. package/dist/config/system-config.js.map +1 -1
  22. package/dist/controller/controller-runtime-operations.d.ts +9 -1
  23. package/dist/controller/controller-runtime-operations.d.ts.map +1 -1
  24. package/dist/controller/controller-runtime-operations.js +1 -0
  25. package/dist/controller/controller-runtime-operations.js.map +1 -1
  26. package/dist/controller/controller-runtime-types.d.ts +2 -1
  27. package/dist/controller/controller-runtime-types.d.ts.map +1 -1
  28. package/dist/controller/controller-runtime.d.ts.map +1 -1
  29. package/dist/controller/controller-runtime.js +36 -8
  30. package/dist/controller/controller-runtime.js.map +1 -1
  31. package/dist/controller/health/channel-provider-recovery-observation.d.ts.map +1 -1
  32. package/dist/controller/health/channel-provider-recovery-observation.js +4 -1
  33. package/dist/controller/health/channel-provider-recovery-observation.js.map +1 -1
  34. package/dist/controller/health/gateway-vm-recovery-policy.d.ts +2 -1
  35. package/dist/controller/health/gateway-vm-recovery-policy.d.ts.map +1 -1
  36. package/dist/controller/health/gateway-vm-recovery-policy.js +11 -1
  37. package/dist/controller/health/gateway-vm-recovery-policy.js.map +1 -1
  38. package/dist/controller/health/gateway-vm-recovery-runner.d.ts.map +1 -1
  39. package/dist/controller/health/gateway-vm-recovery-runner.js +20 -4
  40. package/dist/controller/health/gateway-vm-recovery-runner.js.map +1 -1
  41. package/dist/controller/http/controller-client.d.ts +3 -0
  42. package/dist/controller/http/controller-client.d.ts.map +1 -1
  43. package/dist/controller/http/controller-client.js +12 -0
  44. package/dist/controller/http/controller-client.js.map +1 -1
  45. package/dist/controller/http/controller-http-route-support.d.ts +3 -0
  46. package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
  47. package/dist/controller/http/controller-http-route-support.js.map +1 -1
  48. package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
  49. package/dist/controller/http/controller-zone-operation-routes.js +12 -0
  50. package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
  51. package/dist/controller/zone-runtimes/gateway-zone-state-machine.d.ts.map +1 -1
  52. package/dist/controller/zone-runtimes/gateway-zone-state-machine.js +3 -0
  53. package/dist/controller/zone-runtimes/gateway-zone-state-machine.js.map +1 -1
  54. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts +8 -1
  55. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts.map +1 -1
  56. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js +150 -34
  57. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js.map +1 -1
  58. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts +8 -0
  59. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts.map +1 -1
  60. package/dist/gateway/credential-manager.d.ts +1 -1
  61. package/dist/gateway/credential-manager.d.ts.map +1 -1
  62. package/dist/gateway/credential-manager.js +3 -18
  63. package/dist/gateway/credential-manager.js.map +1 -1
  64. package/dist/gateway/gateway-recovery.d.ts +7 -2
  65. package/dist/gateway/gateway-recovery.d.ts.map +1 -1
  66. package/dist/gateway/gateway-recovery.js +73 -0
  67. package/dist/gateway/gateway-recovery.js.map +1 -1
  68. package/dist/gateway/gateway-zone-orchestrator.d.ts +8 -1
  69. package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
  70. package/dist/gateway/gateway-zone-orchestrator.js +216 -84
  71. package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
  72. package/dist/gateway/gateway-zone-support.d.ts +1 -0
  73. package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
  74. package/dist/gateway/gateway-zone-support.js.map +1 -1
  75. package/dist/gateway/mcp-portal-effective-config.d.ts +2 -0
  76. package/dist/gateway/mcp-portal-effective-config.d.ts.map +1 -1
  77. package/dist/gateway/mcp-portal-effective-config.js +40 -8
  78. package/dist/gateway/mcp-portal-effective-config.js.map +1 -1
  79. package/dist/integration-tests/e2e-harness.d.ts.map +1 -1
  80. package/dist/integration-tests/e2e-harness.js +92 -68
  81. package/dist/integration-tests/e2e-harness.js.map +1 -1
  82. package/dist/operations/config-validation.js +1 -1
  83. package/dist/operations/doctor.d.ts.map +1 -1
  84. package/dist/operations/doctor.js +1 -6
  85. package/dist/operations/doctor.js.map +1 -1
  86. package/dist/operations/zone-git-doctor.d.ts +1 -0
  87. package/dist/operations/zone-git-doctor.d.ts.map +1 -1
  88. package/dist/operations/zone-git-doctor.js +3 -1
  89. package/dist/operations/zone-git-doctor.js.map +1 -1
  90. package/package.json +11 -11
@@ -9,13 +9,93 @@ import { runGatewayHealthCheck } from './gateway-health-check.js';
9
9
  import { buildGatewayImage, } from './gateway-image-builder.js';
10
10
  import { loadGatewayLifecycle } from './gateway-lifecycle-loader.js';
11
11
  import { GatewayOwnershipUnsafeError } from './gateway-ownership-evidence.js';
12
- import { cleanupOrphanedGatewayIfPresent } from './gateway-recovery.js';
12
+ import { cleanupOrphanedGatewayIfPresent, preflightOrphanedGatewayCleanupIfPresent, } from './gateway-recovery.js';
13
13
  import { buildGatewayRuntimeRecord, writeGatewayRuntimeRecord, } from './gateway-runtime-record.js';
14
14
  import { findGatewayZone, mapSystemGatewayZoneToLifecycleZone, } from './gateway-zone-support.js';
15
- import { writeMcpPortalEffectiveConfig } from './mcp-portal-effective-config.js';
15
+ import { preflightMcpPortalEffectiveConfig, writeMcpPortalEffectiveConfig, } from './mcp-portal-effective-config.js';
16
16
  const defaultGatewayReadinessRetryDelayMs = 500;
17
17
  const defaultGatewayReadinessTimeoutMs = 60_000;
18
18
  const defaultGatewayReadinessMaxAttempts = Math.ceil(defaultGatewayReadinessTimeoutMs / defaultGatewayReadinessRetryDelayMs);
19
+ function isRecord(value) {
20
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
21
+ }
22
+ function stableJson(value) {
23
+ if (Array.isArray(value)) {
24
+ return `[${value.map((entry) => stableJson(entry)).join(',')}]`;
25
+ }
26
+ if (isRecord(value)) {
27
+ return `{${Object.keys(value)
28
+ .sort()
29
+ .map((key) => `${JSON.stringify(key)}:${stableJson(value[key])}`)
30
+ .join(',')}}`;
31
+ }
32
+ return JSON.stringify(value) ?? 'undefined';
33
+ }
34
+ function secretRefCacheKey(secretRef) {
35
+ return stableJson(secretRef);
36
+ }
37
+ function createPreflightCachingSecretResolver(secretResolver) {
38
+ const cachedSecrets = new Map();
39
+ let frozen = false;
40
+ const resolver = {
41
+ resolve: async (secretRef) => {
42
+ const cacheKey = secretRefCacheKey(secretRef);
43
+ if (cachedSecrets.has(cacheKey)) {
44
+ const cachedSecret = cachedSecrets.get(cacheKey);
45
+ if (cachedSecret === undefined) {
46
+ throw new Error('Preflight secret cache contained an undefined value.');
47
+ }
48
+ return cachedSecret;
49
+ }
50
+ if (frozen) {
51
+ throw new Error('Gateway secret preflight cache missed a post-preflight resolve call.');
52
+ }
53
+ const resolvedSecret = await secretResolver.resolve(secretRef);
54
+ cachedSecrets.set(cacheKey, resolvedSecret);
55
+ return resolvedSecret;
56
+ },
57
+ resolveAll: async (secretRefs) => {
58
+ const resolvedSecrets = {};
59
+ const missingSecretRefs = {};
60
+ for (const [secretName, secretRef] of Object.entries(secretRefs)) {
61
+ const cacheKey = secretRefCacheKey(secretRef);
62
+ if (cachedSecrets.has(cacheKey)) {
63
+ const cachedSecret = cachedSecrets.get(cacheKey);
64
+ if (cachedSecret === undefined) {
65
+ throw new Error('Preflight secret cache contained an undefined value.');
66
+ }
67
+ resolvedSecrets[secretName] = cachedSecret;
68
+ }
69
+ else {
70
+ missingSecretRefs[secretName] = secretRef;
71
+ }
72
+ }
73
+ if (Object.keys(missingSecretRefs).length === 0) {
74
+ return resolvedSecrets;
75
+ }
76
+ if (frozen) {
77
+ throw new Error(`Gateway secret preflight cache missed ${String(Object.keys(missingSecretRefs).length)} post-preflight resolveAll secret(s).`);
78
+ }
79
+ const freshSecrets = await secretResolver.resolveAll(missingSecretRefs);
80
+ for (const [secretName, secretRef] of Object.entries(missingSecretRefs)) {
81
+ const resolvedSecret = freshSecrets[secretName];
82
+ if (resolvedSecret === undefined) {
83
+ throw new Error(`Secret resolver omitted preflight secret '${secretName}'.`);
84
+ }
85
+ cachedSecrets.set(secretRefCacheKey(secretRef), resolvedSecret);
86
+ resolvedSecrets[secretName] = resolvedSecret;
87
+ }
88
+ return resolvedSecrets;
89
+ },
90
+ };
91
+ return {
92
+ freeze: () => {
93
+ frozen = true;
94
+ return resolver;
95
+ },
96
+ resolver,
97
+ };
98
+ }
19
99
  function selectGatewayImageProfile(options) {
20
100
  const profile = options.systemConfig.imageProfiles.gateways[options.zone.gateway.imageProfile];
21
101
  if (!profile) {
@@ -30,9 +110,6 @@ function formatCommandOutput(name, value) {
30
110
  function formatGatewayCommandFailure(stepName, result) {
31
111
  return `${stepName} failed with exit ${result.exitCode}.${formatCommandOutput('stdout', result.stdout)}${formatCommandOutput('stderr', result.stderr)}`;
32
112
  }
33
- function toPhaseCError(reason) {
34
- return reason instanceof Error ? reason : new Error(String(reason));
35
- }
36
113
  async function execGatewayCommand(options) {
37
114
  const result = await options.managedVm.exec(options.command);
38
115
  if (result.exitCode !== 0) {
@@ -66,7 +143,7 @@ async function waitForHealth(options) {
66
143
  logPath: options.logPath,
67
144
  managedVm: options.managedVm,
68
145
  });
69
- throw new Error(`Gateway readiness check failed after ${maxAttempts} attempts over ${formatElapsedSeconds(startedAtMs)}s. Last probe: ${lastObservation}. Gateway process may still be booting, or it may have crashed before opening its health port.${logTail ? `\nGateway log tail (${options.logPath}):\n${logTail}` : ''}`);
146
+ throw new Error(`Gateway service health check failed after ${maxAttempts} attempts over ${formatElapsedSeconds(startedAtMs)}s. Last probe: ${lastObservation}. Gateway process may still be booting, or it may have crashed before opening its health port.${logTail ? `\nGateway log tail (${options.logPath}):\n${logTail}` : ''}`);
70
147
  }
71
148
  const result = await runGatewayHealthCheck({
72
149
  exec: async (command) => await options.managedVm.exec(command),
@@ -98,7 +175,10 @@ async function buildRuntimeMcpPortalMaterialization(props) {
98
175
  ];
99
176
  const effectiveHostConfigDir = path.join(props.cacheDir, 'gateways', zone.id, 'mcp-portal-effective');
100
177
  const effectiveVmConfigDir = '/home/openclaw/.openclaw/cache/mcp-portal-effective';
101
- const materialization = await writeMcpPortalEffectiveConfig({
178
+ const buildEffectiveConfig = props.writeEffectiveConfig === false
179
+ ? preflightMcpPortalEffectiveConfig
180
+ : writeMcpPortalEffectiveConfig;
181
+ const materialization = await buildEffectiveConfig({
102
182
  authoredConfigDir: zone.mcpPortal.configDir,
103
183
  effectiveHostConfigDir,
104
184
  effectiveVmConfigDir,
@@ -121,6 +201,78 @@ async function buildRuntimeMcpPortalMaterialization(props) {
121
201
  },
122
202
  };
123
203
  }
204
+ async function buildGatewayImageForZone(options, dependencies = {}) {
205
+ const gatewayImageProfile = selectGatewayImageProfile({
206
+ systemConfig: options.systemConfig,
207
+ zone: options.zone,
208
+ });
209
+ return await buildGatewayImage({
210
+ buildConfigPath: gatewayImageProfile.buildConfig,
211
+ cacheDir: path.join(options.systemConfig.cacheDir, 'gateway-images', options.zone.gateway.imageProfile),
212
+ }, {
213
+ ...(dependencies.buildImage ? { buildImage: dependencies.buildImage } : {}),
214
+ ...(dependencies.buildGondolinImage
215
+ ? { buildGondolinImage: dependencies.buildGondolinImage }
216
+ : {}),
217
+ ...(dependencies.loadBuildConfig ? { loadBuildConfig: dependencies.loadBuildConfig } : {}),
218
+ });
219
+ }
220
+ export async function preflightGatewayZoneStart(options, dependencies = {}) {
221
+ const prerequisites = await preflightGatewayZoneStartPrerequisites(options, dependencies);
222
+ const zone = options.zoneOverride ?? findGatewayZone(options.systemConfig, options.zoneId);
223
+ const image = options.prebuiltImage ??
224
+ (await buildGatewayImageForZone({
225
+ systemConfig: options.systemConfig,
226
+ zone,
227
+ }, dependencies));
228
+ return { image, secretResolver: prerequisites.secretResolver };
229
+ }
230
+ async function preflightGatewayZoneStartPrerequisites(options, dependencies = {}) {
231
+ const zone = options.zoneOverride ?? findGatewayZone(options.systemConfig, options.zoneId);
232
+ const mappedLifecycleZone = mapSystemGatewayZoneToLifecycleZone(zone);
233
+ const lifecycle = (dependencies.loadGatewayLifecycle ?? loadGatewayLifecycle)(zone.gateway.type);
234
+ const cachingSecretResolver = createPreflightCachingSecretResolver(options.secretResolver);
235
+ const [mcpPortalMaterialization] = await Promise.all([
236
+ buildRuntimeMcpPortalMaterialization({
237
+ cacheDir: options.systemConfig.cacheDir,
238
+ secretResolver: cachingSecretResolver.resolver,
239
+ writeEffectiveConfig: false,
240
+ zone,
241
+ }),
242
+ resolveZoneSecrets({
243
+ audience: 'gateway',
244
+ secretResolver: cachingSecretResolver.resolver,
245
+ systemConfig: options.systemConfig,
246
+ zoneId: zone.id,
247
+ }),
248
+ ]);
249
+ const lifecycleZone = {
250
+ ...mappedLifecycleZone,
251
+ ...mcpPortalMaterialization,
252
+ egressHosts: mcpPortalMaterialization.egressHosts ?? mappedLifecycleZone.egressHosts,
253
+ ...(options.runtimeEnvironment === undefined
254
+ ? {}
255
+ : {
256
+ runtimeEnvironment: {
257
+ ...mcpPortalMaterialization.runtimeEnvironment,
258
+ ...options.runtimeEnvironment,
259
+ },
260
+ }),
261
+ ...(options.runtimePluginConfigs === undefined
262
+ ? {}
263
+ : {
264
+ runtimePluginConfigs: {
265
+ ...mcpPortalMaterialization.runtimePluginConfigs,
266
+ ...options.runtimePluginConfigs,
267
+ },
268
+ }),
269
+ };
270
+ if (zone.gateway.type === 'openclaw') {
271
+ await assertOpenClawToolVmRequirements({ ...options.systemConfig, zones: [zone] }, zone.id);
272
+ }
273
+ await lifecycle.preflightHostState?.(lifecycleZone, cachingSecretResolver.resolver);
274
+ return { secretResolver: cachingSecretResolver.freeze() };
275
+ }
124
276
  export async function startGatewayZone(options, dependencies = {}) {
125
277
  const runTaskStep = options.runTask ?? (async (_title, fn) => await fn());
126
278
  const zone = options.zoneOverride ?? findGatewayZone(options.systemConfig, options.zoneId);
@@ -132,10 +284,36 @@ export async function startGatewayZone(options, dependencies = {}) {
132
284
  // owner-unsafe evidence cannot be masked by a faster 1Password, config,
133
285
  // or build failure. Safety beats diagnostic speed here: if an unknown
134
286
  // process owns the gateway ingress, the controller must report that as
135
- // the current blocker and must not proceed toward a second gateway.
136
- //
137
- // Tool VM children are cleaned before the gateway so an old gateway
138
- // cannot continue issuing work while child recovery runs.
287
+ // the current blocker and must not proceed toward a second gateway. This
288
+ // preflight is intentionally non-destructive; actual cleanup happens only
289
+ // after secrets, host-state preflight, and image build have succeeded.
290
+ const preflightOrphanedGatewayCleanup = async () => {
291
+ const preflightResult = await (dependencies.preflightOrphanedGatewayCleanupIfPresent ??
292
+ preflightOrphanedGatewayCleanupIfPresent)({
293
+ configuredIngressPort: zone.gateway.port,
294
+ expectedConfigPath: options.systemConfig.systemConfigPath,
295
+ expectedControllerPort: options.systemConfig.host.controllerPort,
296
+ mode: 'in-process-recovery',
297
+ projectNamespace: options.systemConfig.host.projectNamespace,
298
+ stateDir: zone.gateway.stateDir,
299
+ zoneId: zone.id,
300
+ });
301
+ if (preflightResult.ownershipEvidence !== undefined) {
302
+ throw new GatewayOwnershipUnsafeError({
303
+ evidence: preflightResult.ownershipEvidence,
304
+ message: `Gateway ownership is unsafe for zone '${zone.id}': ${preflightResult.ownershipEvidence.kind}.`,
305
+ });
306
+ }
307
+ };
308
+ await runTaskStep('Preflighting gateway runtime ownership', preflightOrphanedGatewayCleanup);
309
+ // Phase B: prove non-ownership host-side prerequisites before any
310
+ // destructive cleanup. The returned resolver is frozen to preflighted
311
+ // secret values so post-cleanup startup cannot re-enter 1Password.
312
+ const startupPreflight = await runTaskWithResult(runTaskStep, 'Preflighting gateway start', async () => await preflightGatewayZoneStartPrerequisites(options, dependencies));
313
+ const startupSecretResolver = startupPreflight.secretResolver;
314
+ // Phase C cleanup runs after replacement prerequisites are proven. Tool VM
315
+ // children are cleaned before the gateway so an old gateway cannot continue
316
+ // issuing work while child recovery runs.
139
317
  const cleanupOrphanedGateway = async () => {
140
318
  const cleanupResult = await (dependencies.cleanupOrphanedGatewayIfPresent ?? cleanupOrphanedGatewayIfPresent)({
141
319
  configuredIngressPort: zone.gateway.port,
@@ -167,23 +345,14 @@ export async function startGatewayZone(options, dependencies = {}) {
167
345
  zoneId: zone.id,
168
346
  });
169
347
  };
170
- if (zone.gateway.type === 'openclaw') {
171
- await runTaskStep('Cleaning orphaned tool VMs', async () => {
172
- await cleanupOrphanedToolVms();
173
- await runTaskStep('Cleaning orphaned gateway runtime', cleanupOrphanedGateway);
174
- });
175
- }
176
- else {
177
- await runTaskStep('Cleaning orphaned gateway runtime', cleanupOrphanedGateway);
178
- }
179
- // Phase B: collect non-ownership host-side prerequisites in parallel.
348
+ // Phase D: collect startup artifacts in parallel.
180
349
  //
181
350
  // All four branches operate on disjoint paths and have no shared in-process
182
351
  // state:
183
352
  // - mcpPortalMaterialization writes $cacheDir/gateways/$zoneId/mcp-portal-effective/
184
353
  // - assertions reads $zone.gateway.config (pure validation)
185
354
  // - resolveZoneSecrets reads zone.secrets (no IO beyond secretResolver)
186
- // - buildGatewayImage operates on $cacheDir/gateway-images/$profile
355
+ // - image is the prebuilt Phase B image whenever protected preflight ran
187
356
  //
188
357
  // mcpPortalMaterialization and resolveZoneSecrets both call
189
358
  // secretResolver.resolveAll concurrently with disjoint ref sets. The
@@ -196,7 +365,7 @@ export async function startGatewayZone(options, dependencies = {}) {
196
365
  // concurrent `op read` hazard at the outer-call layer).
197
366
  const mcpPortalMaterializationPromise = buildRuntimeMcpPortalMaterialization({
198
367
  cacheDir: options.systemConfig.cacheDir,
199
- secretResolver: options.secretResolver,
368
+ secretResolver: startupSecretResolver,
200
369
  zone,
201
370
  });
202
371
  const assertionsPromise = zone.gateway.type === 'openclaw'
@@ -208,21 +377,13 @@ export async function startGatewayZone(options, dependencies = {}) {
208
377
  audience: 'gateway',
209
378
  systemConfig: options.systemConfig,
210
379
  zoneId: zone.id,
211
- secretResolver: options.secretResolver,
380
+ secretResolver: startupSecretResolver,
212
381
  }));
213
- const imagePromise = runTaskWithResult(runTaskStep, 'Building gateway image', async () => {
214
- const gatewayImageProfile = selectGatewayImageProfile({
382
+ const imagePromise = runTaskWithResult(runTaskStep, 'Building gateway image', async () => options.prebuiltImage ??
383
+ (await buildGatewayImageForZone({
215
384
  systemConfig: options.systemConfig,
216
385
  zone,
217
- });
218
- return await buildGatewayImage({
219
- buildConfigPath: gatewayImageProfile.buildConfig,
220
- cacheDir: path.join(options.systemConfig.cacheDir, 'gateway-images', zone.gateway.imageProfile),
221
- }, {
222
- ...(dependencies.buildImage ? { buildImage: dependencies.buildImage } : {}),
223
- ...(dependencies.loadBuildConfig ? { loadBuildConfig: dependencies.loadBuildConfig } : {}),
224
- });
225
- });
386
+ }, dependencies)));
226
387
  // Promise.all (fail-fast) rather than Promise.allSettled here. Rationale:
227
388
  // - The image build branch can be slow on a cold cache (minutes for a
228
389
  // full Gondolin rebuild). If any other branch fails fast (e.g., a
@@ -232,9 +393,8 @@ export async function startGatewayZone(options, dependencies = {}) {
232
393
  // secretResolver.resolveAll callers with the same root cause at the
233
394
  // same op-CLI timeout (~30s). Promise.all surfaces the first; that's
234
395
  // diagnostically sufficient.
235
- // - Phase C uses allSettled for a DIFFERENT reason: it has a live
236
- // QEMU resource to close on partial failure. Phase B produces no
237
- // such resource.
396
+ // - Later phases create live QEMU resources and must keep narrower,
397
+ // sequential cleanup rules.
238
398
  //
239
399
  // Cost of fail-fast: if multiple branches reject simultaneously, the
240
400
  // other reasons are lost (only the first reaches the caller). Background
@@ -246,6 +406,15 @@ export async function startGatewayZone(options, dependencies = {}) {
246
406
  resolvedSecretsPromise,
247
407
  imagePromise,
248
408
  ]);
409
+ if (zone.gateway.type === 'openclaw') {
410
+ await runTaskStep('Cleaning orphaned tool VMs', async () => {
411
+ await cleanupOrphanedToolVms();
412
+ await runTaskStep('Cleaning orphaned gateway runtime', cleanupOrphanedGateway);
413
+ });
414
+ }
415
+ else {
416
+ await runTaskStep('Cleaning orphaned gateway runtime', cleanupOrphanedGateway);
417
+ }
249
418
  const lifecycleZone = {
250
419
  ...mappedLifecycleZone,
251
420
  ...mcpPortalMaterialization,
@@ -301,15 +470,13 @@ export async function startGatewayZone(options, dependencies = {}) {
301
470
  ...options.vfsMountsOverride,
302
471
  };
303
472
  const createManagedVm = dependencies.createManagedVm ?? createManagedVmFromCore;
304
- // Phase C: prepareHostState writes to stateDir (realfs-mounted live in
305
- // the VM), which is only read by the bootstrap exec running INSIDE the
306
- // VM that runs after createManagedVm resolves. So the host-side
307
- // writes can overlap with QEMU boot. Promise.allSettled lets us close
308
- // an orphan VM if prep fails after the VM came up.
309
- const prepHostStatePromise = runTaskStep('Preparing host state', async () => {
310
- await lifecycle.prepareHostState?.(lifecycleZone, options.secretResolver);
473
+ // Phase E: write host state before creating a new VM. This is deliberately
474
+ // sequential: if the final write fails after orphan cleanup, startup aborts
475
+ // without creating a second gateway VM that then needs cleanup.
476
+ await runTaskStep('Preparing host state', async () => {
477
+ await lifecycle.prepareHostState?.(lifecycleZone, startupSecretResolver);
311
478
  });
312
- const managedVmPromise = runTaskWithResult(runTaskStep, 'Booting gateway VM', async () => await createManagedVm({
479
+ const managedVm = await runTaskWithResult(runTaskStep, 'Booting gateway VM', async () => await createManagedVm({
313
480
  allowedHosts: vmSpec.allowedHosts,
314
481
  cpus: zone.gateway.cpus,
315
482
  env: environment,
@@ -322,42 +489,6 @@ export async function startGatewayZone(options, dependencies = {}) {
322
489
  tcpHosts,
323
490
  vfsMounts,
324
491
  }));
325
- const [prepHostStateResult, managedVmResult] = await Promise.allSettled([
326
- prepHostStatePromise,
327
- managedVmPromise,
328
- ]);
329
- // Aggregate any failures from either Phase C branch. If prep failed
330
- // after the VM came up, close the VM before throwing. The outer guard
331
- // handles all failure paths in one place so the happy path below can
332
- // rely on TypeScript narrowing both settled results to `fulfilled`
333
- // without a dead-code assertion.
334
- if (prepHostStateResult.status === 'rejected' || managedVmResult.status === 'rejected') {
335
- const phaseCErrors = [];
336
- if (prepHostStateResult.status === 'rejected') {
337
- phaseCErrors.push(toPhaseCError(prepHostStateResult.reason));
338
- if (managedVmResult.status === 'fulfilled') {
339
- try {
340
- await managedVmResult.value.close();
341
- }
342
- catch (closeError) {
343
- phaseCErrors.push(new Error(`Failed to close gateway VM after host-state prep failure: ${closeError instanceof Error ? closeError.message : String(closeError)}`, { cause: closeError }));
344
- }
345
- }
346
- }
347
- if (managedVmResult.status === 'rejected') {
348
- phaseCErrors.push(toPhaseCError(managedVmResult.reason));
349
- }
350
- if (phaseCErrors.length > 1) {
351
- throw new AggregateError(phaseCErrors, 'Phase C failed: prep host state and/or VM boot');
352
- }
353
- // At least one branch rejected, so phaseCErrors has exactly one entry.
354
- const [singlePhaseCError] = phaseCErrors;
355
- if (singlePhaseCError === undefined) {
356
- throw new Error('Phase C unreachable: rejection branch with no collected errors');
357
- }
358
- throw singlePhaseCError;
359
- }
360
- const managedVm = managedVmResult.value;
361
492
  try {
362
493
  await runTaskStep('Configuring gateway', async () => {
363
494
  await execGatewayCommand({
@@ -373,9 +504,10 @@ export async function startGatewayZone(options, dependencies = {}) {
373
504
  stepName: 'Starting gateway',
374
505
  });
375
506
  });
376
- await runTaskStep('Waiting for readiness', async () => {
507
+ const startupHealthCheck = processSpec.serviceHealthCheck ?? processSpec.healthCheck;
508
+ await runTaskStep('Waiting for service health', async () => {
377
509
  await waitForHealth({
378
- healthCheck: processSpec.healthCheck,
510
+ healthCheck: startupHealthCheck,
379
511
  logPath: processSpec.logPath,
380
512
  managedVm,
381
513
  ...(dependencies.gatewayReadinessMaxAttempts !== undefined
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-zone-orchestrator.js","sourceRoot":"","sources":["../../src/gateway/gateway-zone-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-zone-orchestrator.js","sourceRoot":"","sources":["../../src/gateway/gateway-zone-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { RunTaskFn } from '../shared/run-task.js';
4
4
  export type GatewayZone = SystemConfig['zones'][number];
5
5
  export interface StartGatewayZoneOptions {
6
6
  readonly environmentOverride?: Record<string, string>;
7
+ readonly prebuiltImage?: import('@agent-vm/gondolin-adapter').BuildImageResult | undefined;
7
8
  readonly runTask?: RunTaskFn;
8
9
  readonly runtimeEnvironment?: Readonly<Record<string, string>>;
9
10
  readonly runtimePluginConfigs?: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-zone-support.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-zone-support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,QAAQ,CAAC,cAAc,EAAE,OAAO,6BAA6B,EAAE,cAAc,CAAC;IAC9E,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,8BAA8B,CAAC,WAAW,CAAC,CAAC;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,4BAA4B,EAAE,gBAAgB,CAAC;IACtE,QAAQ,CAAC,OAAO,EAAE;QACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,OAAO,4BAA4B,EAAE,SAAS,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CACvB,MAAM,EACN;QACC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACvB,CACD,CAAC;IACF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CACzB,MAAM,EACN;QACC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE;YACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;YACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;SAClC,CAAC;KACF,CACD,CAAC;CACF;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAOvF;AAqBD,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,WAAW,GAAG,iBAAiB,CAyCxF"}
1
+ {"version":3,"file":"gateway-zone-support.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-zone-support.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-zone-support.js","sourceRoot":"","sources":["../../src/gateway/gateway-zone-support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-zone-support.js","sourceRoot":"","sources":["../../src/gateway/gateway-zone-support.ts"],"names":[],"mappings":"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"}
@@ -33,5 +33,7 @@ export type McpPortalEffectiveConfigWriteResult = Omit<McpPortalEffectiveConfigP
33
33
  export declare function planMcpPortalEffectiveConfig(props: McpPortalEffectiveConfigProps): Promise<McpPortalEffectiveConfigPlan>;
34
34
  export declare function planMcpPortalEffectiveConfigFromConfig(props: McpPortalEffectiveConfigFromConfigProps): Promise<McpPortalEffectiveConfigPlan>;
35
35
  export declare function resolveMcpPortalEffectiveConfigFromConfig(props: McpPortalEffectiveConfigFromConfigProps): Promise<McpPortalEffectiveConfigPlan>;
36
+ export declare function resolveMcpPortalEffectiveConfig(props: McpPortalEffectiveConfigProps): Promise<McpPortalEffectiveConfigWriteResult>;
37
+ export declare function preflightMcpPortalEffectiveConfig(props: McpPortalEffectiveConfigProps): Promise<McpPortalEffectiveConfigWriteResult>;
36
38
  export declare function writeMcpPortalEffectiveConfig(props: McpPortalEffectiveConfigProps): Promise<McpPortalEffectiveConfigWriteResult>;
37
39
  //# sourceMappingURL=mcp-portal-effective-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-portal-effective-config.d.ts","sourceRoot":"","sources":["../../src/gateway/mcp-portal-effective-config.ts"],"names":[],"mappings":"AAIA,OAAO,EAGN,KAAK,SAAS,EACd,KAAK,eAAe,EAEpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAa,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEjG,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uCAAuC;IACvD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,eAAe,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;CAC9E;AAED,MAAM,MAAM,mCAAmC,GAAG,IAAI,CACrD,4BAA4B,EAC5B,oBAAoB,GAAG,uBAAuB,CAC9C,CAAC;AAgUF,wBAAsB,4BAA4B,CACjD,KAAK,EAAE,6BAA6B,GAClC,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAED,wBAAsB,sCAAsC,CAC3D,KAAK,EAAE,uCAAuC,GAC5C,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAED,wBAAsB,yCAAyC,CAC9D,KAAK,EAAE,uCAAuC,GAC5C,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAED,wBAAsB,6BAA6B,CAClD,KAAK,EAAE,6BAA6B,GAClC,OAAO,CAAC,mCAAmC,CAAC,CAiB9C"}
1
+ {"version":3,"file":"mcp-portal-effective-config.d.ts","sourceRoot":"","sources":["../../src/gateway/mcp-portal-effective-config.ts"],"names":[],"mappings":"AAIA,OAAO,EAGN,KAAK,SAAS,EACd,KAAK,eAAe,EAEpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAa,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEjG,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uCAAuC;IACvD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,eAAe,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;CAC9E;AAED,MAAM,MAAM,mCAAmC,GAAG,IAAI,CACrD,4BAA4B,EAC5B,oBAAoB,GAAG,uBAAuB,CAC9C,CAAC;AAgUF,wBAAsB,4BAA4B,CACjD,KAAK,EAAE,6BAA6B,GAClC,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAED,wBAAsB,sCAAsC,CAC3D,KAAK,EAAE,uCAAuC,GAC5C,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAED,wBAAsB,yCAAyC,CAC9D,KAAK,EAAE,uCAAuC,GAC5C,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAeD,wBAAsB,+BAA+B,CACpD,KAAK,EAAE,6BAA6B,GAClC,OAAO,CAAC,mCAAmC,CAAC,CAE9C;AAsBD,wBAAsB,iCAAiC,CACtD,KAAK,EAAE,6BAA6B,GAClC,OAAO,CAAC,mCAAmC,CAAC,CAK9C;AAED,wBAAsB,6BAA6B,CAClD,KAAK,EAAE,6BAA6B,GAClC,OAAO,CAAC,mCAAmC,CAAC,CAU9C"}
@@ -236,14 +236,7 @@ export async function planMcpPortalEffectiveConfigFromConfig(props) {
236
236
  export async function resolveMcpPortalEffectiveConfigFromConfig(props) {
237
237
  return await buildEffectivePlanFromConfig(props, true);
238
238
  }
239
- export async function writeMcpPortalEffectiveConfig(props) {
240
- const plan = await buildEffectivePlan(props, true);
241
- await mkdir(props.effectiveHostConfigDir, { recursive: true, mode: 0o700 });
242
- await writeEffectiveConfigGeneration({
243
- directoryPath: props.effectiveHostConfigDir,
244
- mcpConfigContent: `${JSON.stringify(plan.effectiveMcpConfig, null, '\t')}\n`,
245
- portalConfigContent: `${JSON.stringify(plan.effectivePortalConfig, null, '\t')}\n`,
246
- });
239
+ function effectiveConfigWriteResultFromPlan(plan) {
247
240
  return {
248
241
  effectiveConfigDir: plan.effectiveConfigDir,
249
242
  pluginConfig: plan.pluginConfig,
@@ -253,4 +246,43 @@ export async function writeMcpPortalEffectiveConfig(props) {
253
246
  runtimeMediatedSecrets: plan.runtimeMediatedSecrets,
254
247
  };
255
248
  }
249
+ export async function resolveMcpPortalEffectiveConfig(props) {
250
+ return effectiveConfigWriteResultFromPlan(await buildEffectivePlan(props, true));
251
+ }
252
+ async function assertEffectiveConfigDirectoryWritable(directoryPath) {
253
+ const probeName = `.agent-vm-mcp-portal-effective-preflight-${process.pid}-${randomUUID()}`;
254
+ const mcpProbePath = path.join(directoryPath, `${probeName}.mcp.tmp`);
255
+ const portalProbePath = path.join(directoryPath, `${probeName}.portal.tmp`);
256
+ const manifestProbePath = path.join(directoryPath, `${probeName}.manifest.tmp`);
257
+ try {
258
+ await writeNewFileAndSync(mcpProbePath, '{}\n');
259
+ await writeNewFileAndSync(portalProbePath, '{}\n');
260
+ await replaceFileAtomically(manifestProbePath, '{}\n');
261
+ await syncDirectory(directoryPath);
262
+ }
263
+ finally {
264
+ await Promise.all([
265
+ rm(mcpProbePath, { force: true }),
266
+ rm(portalProbePath, { force: true }),
267
+ rm(manifestProbePath, { force: true }),
268
+ rm(`${manifestProbePath}.${process.pid}.tmp`, { force: true }),
269
+ ]);
270
+ }
271
+ }
272
+ export async function preflightMcpPortalEffectiveConfig(props) {
273
+ const plan = await buildEffectivePlan(props, true);
274
+ await mkdir(props.effectiveHostConfigDir, { recursive: true, mode: 0o700 });
275
+ await assertEffectiveConfigDirectoryWritable(props.effectiveHostConfigDir);
276
+ return effectiveConfigWriteResultFromPlan(plan);
277
+ }
278
+ export async function writeMcpPortalEffectiveConfig(props) {
279
+ const plan = await buildEffectivePlan(props, true);
280
+ await mkdir(props.effectiveHostConfigDir, { recursive: true, mode: 0o700 });
281
+ await writeEffectiveConfigGeneration({
282
+ directoryPath: props.effectiveHostConfigDir,
283
+ mcpConfigContent: `${JSON.stringify(plan.effectiveMcpConfig, null, '\t')}\n`,
284
+ portalConfigContent: `${JSON.stringify(plan.effectivePortalConfig, null, '\t')}\n`,
285
+ });
286
+ return effectiveConfigWriteResultFromPlan(plan);
287
+ }
256
288
  //# sourceMappingURL=mcp-portal-effective-config.js.map