@agent-vm/agent-vm 0.0.32 → 0.0.33

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 (96) hide show
  1. package/dist/cli/commands/controller-definition.d.ts +24 -24
  2. package/dist/cli/commands/create-app.d.ts +24 -24
  3. package/dist/cli/init-command.d.ts.map +1 -1
  4. package/dist/cli/init-command.js +17 -12
  5. package/dist/cli/init-command.js.map +1 -1
  6. package/dist/config/system-config.d.ts +35 -4
  7. package/dist/config/system-config.d.ts.map +1 -1
  8. package/dist/config/system-config.js +110 -19
  9. package/dist/config/system-config.js.map +1 -1
  10. package/dist/controller/active-task-registry.d.ts +4 -1
  11. package/dist/controller/active-task-registry.d.ts.map +1 -1
  12. package/dist/controller/active-task-registry.js +19 -2
  13. package/dist/controller/active-task-registry.js.map +1 -1
  14. package/dist/controller/controller-runtime-operations.d.ts +15 -31
  15. package/dist/controller/controller-runtime-operations.d.ts.map +1 -1
  16. package/dist/controller/controller-runtime-operations.js +17 -92
  17. package/dist/controller/controller-runtime-operations.js.map +1 -1
  18. package/dist/controller/controller-runtime-types.d.ts +16 -11
  19. package/dist/controller/controller-runtime-types.d.ts.map +1 -1
  20. package/dist/controller/controller-runtime.d.ts.map +1 -1
  21. package/dist/controller/controller-runtime.js +124 -248
  22. package/dist/controller/controller-runtime.js.map +1 -1
  23. package/dist/controller/git-pull-default-operations.js +1 -1
  24. package/dist/controller/git-pull-default-operations.js.map +1 -1
  25. package/dist/controller/git-push-operations.js +1 -1
  26. package/dist/controller/git-push-operations.js.map +1 -1
  27. package/dist/controller/http/controller-http-route-support.d.ts +2 -2
  28. package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
  29. package/dist/controller/http/controller-http-route-support.js.map +1 -1
  30. package/dist/controller/http/controller-http-routes.d.ts +6 -2
  31. package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
  32. package/dist/controller/http/controller-http-routes.js +57 -11
  33. package/dist/controller/http/controller-http-routes.js.map +1 -1
  34. package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
  35. package/dist/controller/http/controller-zone-operation-routes.js +130 -11
  36. package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
  37. package/dist/controller/leases/agent-sandbox-seeding.d.ts +55 -0
  38. package/dist/controller/leases/agent-sandbox-seeding.d.ts.map +1 -0
  39. package/dist/controller/leases/agent-sandbox-seeding.js +178 -0
  40. package/dist/controller/leases/agent-sandbox-seeding.js.map +1 -0
  41. package/dist/controller/leases/idle-reaper.d.ts +4 -1
  42. package/dist/controller/leases/idle-reaper.d.ts.map +1 -1
  43. package/dist/controller/leases/idle-reaper.js +19 -8
  44. package/dist/controller/leases/idle-reaper.js.map +1 -1
  45. package/dist/controller/leases/lease-idle-policy.d.ts +12 -0
  46. package/dist/controller/leases/lease-idle-policy.d.ts.map +1 -0
  47. package/dist/controller/leases/lease-idle-policy.js +28 -0
  48. package/dist/controller/leases/lease-idle-policy.js.map +1 -0
  49. package/dist/controller/leases/lease-manager.d.ts +3 -3
  50. package/dist/controller/leases/lease-manager.d.ts.map +1 -1
  51. package/dist/controller/leases/lease-scope.d.ts +12 -0
  52. package/dist/controller/leases/lease-scope.d.ts.map +1 -0
  53. package/dist/controller/leases/lease-scope.js +19 -0
  54. package/dist/controller/leases/lease-scope.js.map +1 -0
  55. package/dist/controller/leases/lease-workspace-paths.js +4 -4
  56. package/dist/controller/leases/lease-workspace-paths.js.map +1 -1
  57. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts +30 -0
  58. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts.map +1 -0
  59. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js +110 -0
  60. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js.map +1 -0
  61. package/dist/controller/zone-runtimes/worker-zone-runtime.d.ts +33 -0
  62. package/dist/controller/zone-runtimes/worker-zone-runtime.d.ts.map +1 -0
  63. package/dist/controller/zone-runtimes/worker-zone-runtime.js +224 -0
  64. package/dist/controller/zone-runtimes/worker-zone-runtime.js.map +1 -0
  65. package/dist/controller/zone-runtimes/zone-runtime-errors.d.ts +51 -0
  66. package/dist/controller/zone-runtimes/zone-runtime-errors.d.ts.map +1 -0
  67. package/dist/controller/zone-runtimes/zone-runtime-errors.js +94 -0
  68. package/dist/controller/zone-runtimes/zone-runtime-errors.js.map +1 -0
  69. package/dist/controller/zone-runtimes/zone-runtime-registry.d.ts +26 -0
  70. package/dist/controller/zone-runtimes/zone-runtime-registry.d.ts.map +1 -0
  71. package/dist/controller/zone-runtimes/zone-runtime-registry.js +84 -0
  72. package/dist/controller/zone-runtimes/zone-runtime-registry.js.map +1 -0
  73. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts +89 -0
  74. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts.map +1 -0
  75. package/dist/controller/zone-runtimes/zone-runtime-types.js +2 -0
  76. package/dist/controller/zone-runtimes/zone-runtime-types.js.map +1 -0
  77. package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
  78. package/dist/gateway/gateway-zone-support.js +5 -2
  79. package/dist/gateway/gateway-zone-support.js.map +1 -1
  80. package/dist/index.d.ts +1 -0
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +1 -0
  83. package/dist/index.js.map +1 -1
  84. package/dist/operations/config-validation.d.ts.map +1 -1
  85. package/dist/operations/config-validation.js +48 -2
  86. package/dist/operations/config-validation.js.map +1 -1
  87. package/dist/operations/controller-status.d.ts +13 -8
  88. package/dist/operations/controller-status.d.ts.map +1 -1
  89. package/dist/operations/controller-status.js +13 -10
  90. package/dist/operations/controller-status.js.map +1 -1
  91. package/dist/operations/doctor.d.ts.map +1 -1
  92. package/dist/operations/doctor.js +64 -6
  93. package/dist/operations/doctor.js.map +1 -1
  94. package/dist/tool-vm/tool-vm-lifecycle.d.ts +2 -2
  95. package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
  96. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"controller-runtime-operations.js","sourceRoot":"","sources":["../../src/controller/controller-runtime-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-runtime-operations.js","sourceRoot":"","sources":["../../src/controller/controller-runtime-operations.ts"],"names":[],"mappings":"AACA,OAAO,EACN,qBAAqB,EACrB,yBAAyB,GAEzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AA2BrF,MAAM,UAAU,iCAAiC,CAAC,OAkBjD;IACA,MAAM,kBAAkB,GAAG,GAA4B,EAAE;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAC/C,OAAO;YACN,YAAY,EAAE,OAAO,CAAC,eAAe,EAAE;YACvC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACN,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,CAC1C,MAAM,OAAO,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC;QACtD,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CACxC,MAAM,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE;QAC3D,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,CAC3C,MAAM,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7D,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,kBAAkB,EAAE,CAAC;QACxF,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;QAC7F,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;gBAC1E,MAAM,IAAI,2BAA2B,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,yBAAyB,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,sBAAsB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAC9C,MAAM,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,kBAAkB,EAAE;QACpE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;KAC7F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAM7C;IACA,OAAO,KAAK,IAAoC,EAAE;QACjD,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YACzC,+FAA+F;YAC/F,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACV,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAW,CAAC;IAC9B,CAAC,CAAC;AACH,CAAC"}
@@ -1,33 +1,34 @@
1
- import type { GatewayProcessSpec } from '@agent-vm/gateway-interface';
2
- import type { ManagedVm, SecretResolver } from '@agent-vm/gondolin-adapter';
1
+ import type { SecretResolver } from '@agent-vm/gondolin-adapter';
3
2
  import type { LoadedSystemConfig } from '../config/system-config.js';
4
3
  import type { deleteGatewayRuntimeRecord } from '../gateway/gateway-runtime-record.js';
5
4
  import type { startGatewayZone } from '../gateway/gateway-zone-orchestrator.js';
6
5
  import type { RunTaskFn } from '../shared/run-task.js';
7
6
  import type { ActiveWorkerTask } from './active-task-registry.js';
8
7
  import type { createControllerService } from './http/controller-http-routes.js';
9
- import type { ToolProfile } from './leases/lease-manager.js';
8
+ import type { ToolVmProfile } from './leases/lease-manager.js';
10
9
  import type { executeWorkerTask, prepareWorkerTask } from './worker-task-runner.js';
11
10
  export interface ControllerRuntime {
12
11
  readonly controllerPort: number;
13
- readonly gateway?: {
14
- readonly ingress: {
12
+ readonly zones: readonly {
13
+ readonly ingress?: {
15
14
  readonly host: string;
16
15
  readonly port: number;
17
16
  };
18
- readonly processSpec: GatewayProcessSpec;
19
- readonly vm: Pick<ManagedVm, 'close' | 'id'>;
20
- };
17
+ readonly lastError?: string;
18
+ readonly lifecycleState: 'running' | 'failed' | 'stopped';
19
+ readonly vmId?: string;
20
+ readonly zoneId: string;
21
+ }[];
21
22
  close(): Promise<void>;
22
23
  }
23
24
  export interface ControllerRuntimeDependencies {
24
25
  readonly clearIntervalImpl?: (timer: NodeJS.Timeout) => void;
25
26
  readonly createManagedToolVm?: (options: {
26
- readonly profile: ToolProfile;
27
+ readonly profile: ToolVmProfile;
27
28
  readonly tcpSlot: number;
28
29
  readonly workspaceDir: string;
29
30
  readonly zoneId: string;
30
- }) => Promise<ManagedVm>;
31
+ }) => Promise<import('@agent-vm/gondolin-adapter').ManagedVm>;
31
32
  readonly createSecretResolver?: (options: {
32
33
  readonly serviceAccountToken: string;
33
34
  }) => Promise<SecretResolver>;
@@ -53,6 +54,10 @@ export interface ControllerRuntimeDependencies {
53
54
  }
54
55
  export interface StartControllerRuntimeOptions {
55
56
  readonly systemConfig: LoadedSystemConfig;
56
- readonly zoneId: string;
57
+ readonly startupFailures?: readonly {
58
+ readonly lastError: string;
59
+ readonly zoneId: string;
60
+ }[];
61
+ readonly zoneIds?: readonly string[];
57
62
  }
58
63
  //# sourceMappingURL=controller-runtime-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller-runtime-types.d.ts","sourceRoot":"","sources":["../../src/controller/controller-runtime-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-runtime-types.d.ts","sourceRoot":"","sources":["../../src/controller/controller-runtime-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller-runtime.d.ts","sourceRoot":"","sources":["../../src/controller/controller-runtime.ts"],"names":[],"mappings":"AAiBA,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,MAAM,+BAA+B,CAAC;AAuDvC,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,6BAA6B,EACtC,YAAY,EAAE,6BAA6B,GACzC,OAAO,CAAC,iBAAiB,CAAC,CAoW5B"}
1
+ {"version":3,"file":"controller-runtime.d.ts","sourceRoot":"","sources":["../../src/controller/controller-runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,MAAM,+BAA+B,CAAC;AA6CvC,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,6BAA6B,EACtC,YAAY,EAAE,6BAA6B,GACzC,OAAO,CAAC,iBAAiB,CAAC,CAgP5B"}
@@ -1,24 +1,25 @@
1
- import { appendEvent } from '@agent-vm/agent-vm-worker';
2
1
  import { createOpCliSecretResolver } from '@agent-vm/gondolin-adapter';
3
- import { deleteGatewayRuntimeRecord as deleteGatewayRuntimeRecordDefault } from '../gateway/gateway-runtime-record.js';
4
2
  import { startGatewayZone } from '../gateway/gateway-zone-orchestrator.js';
5
3
  import { runTaskWithResult } from '../shared/run-task.js';
6
4
  import { createToolVm } from '../tool-vm/tool-vm-lifecycle.js';
7
5
  import { ActiveTaskRegistry } from './active-task-registry.js';
8
6
  import { createControllerRuntimeOperations, createStopControllerOperation, } from './controller-runtime-operations.js';
9
- import { createSecretResolver, findConfiguredZone, resolveControllerGithubToken, } from './controller-runtime-support.js';
10
- import { pullDefaultForTask, PullDefaultValidationError, } from './git-pull-default-operations.js';
11
- import { pushBranchesForTask, PushBranchesValidationError, } from './git-push-operations.js';
12
- import { ControllerRuntimeAtCapacityError, ControllerTaskNotReadyError, } from './http/controller-http-route-support.js';
7
+ import { createSecretResolver, resolveControllerGithubToken, } from './controller-runtime-support.js';
13
8
  import { createControllerService } from './http/controller-http-routes.js';
14
9
  import { startControllerHttpServer } from './http/controller-http-server.js';
15
10
  import { createIdleReaper } from './leases/idle-reaper.js';
11
+ import { ttlForLeaseScope } from './leases/lease-idle-policy.js';
16
12
  import { createLeaseManager } from './leases/lease-manager.js';
17
13
  import { createTcpPool } from './leases/tcp-pool.js';
18
14
  import { RequestHeartbeatRegistry } from './request-heartbeat-registry.js';
19
- import { createTaskStateReader } from './task-state-reader.js';
20
- import { executeWorkerTask as executeWorkerTaskDefault, prepareWorkerTask as prepareWorkerTaskDefault, } from './worker-task-runner.js';
21
- const MAX_ACTIVE_TASKS_PER_RUNTIME = 1;
15
+ import { createOpenClawZoneRuntime } from './zone-runtimes/openclaw-zone-runtime.js';
16
+ import { createWorkerZoneRuntime } from './zone-runtimes/worker-zone-runtime.js';
17
+ import { createZoneRuntimeRegistry } from './zone-runtimes/zone-runtime-registry.js';
18
+ const defaultLeaseIdleTtlPolicy = {
19
+ defaultMs: 30 * 60 * 1000,
20
+ byScopeKind: {},
21
+ byScopePrefix: {},
22
+ };
22
23
  function writeControllerRuntimeLog(message) {
23
24
  process.stderr.write(`[agent-vm] ${message}\n`);
24
25
  }
@@ -28,20 +29,17 @@ function formatUnknownError(error) {
28
29
  }
29
30
  return typeof error === 'string' ? error : JSON.stringify(error);
30
31
  }
31
- async function recordActiveTaskEvent(options) {
32
- try {
33
- await appendEvent(options.eventLogPath, options.event);
34
- }
35
- catch (error) {
36
- writeControllerRuntimeLog(`Failed to record controller event '${options.event.event}' for task '${options.taskId}': ${formatUnknownError(error)}`);
37
- }
32
+ function isOpenClawZone(zone) {
33
+ return zone.gateway.type === 'openclaw';
34
+ }
35
+ function isWorkerZone(zone) {
36
+ return zone.gateway.type === 'worker';
38
37
  }
39
38
  export async function startControllerRuntime(options, dependencies) {
40
39
  const now = dependencies.now ?? Date.now;
41
40
  const runTaskStep = dependencies.runTask ?? (async (_title, fn) => await fn());
42
41
  const secretResolver = await runTaskWithResult(runTaskStep, 'Resolving 1Password secrets', async () => await createSecretResolver(options.systemConfig, dependencies.createSecretResolver ?? createOpCliSecretResolver));
43
42
  const controllerGithubToken = await resolveControllerGithubToken(options.systemConfig, secretResolver);
44
- const callerUrl = process.env.CALLER_URL;
45
43
  const createManagedToolVm = dependencies.createManagedToolVm ??
46
44
  (async (toolVmOptions) => await createToolVm({
47
45
  cacheDir: options.systemConfig.cacheDir,
@@ -54,7 +52,6 @@ export async function startControllerRuntime(options, dependencies) {
54
52
  const tcpPool = createTcpPool(options.systemConfig.tcpPool);
55
53
  const activeTaskRegistry = new ActiveTaskRegistry();
56
54
  const requestHeartbeatRegistry = new RequestHeartbeatRegistry();
57
- const activeZone = findConfiguredZone(options.systemConfig, options.zoneId);
58
55
  const leaseManager = createLeaseManager({
59
56
  createManagedVm: async (leaseOptions) => await createManagedToolVm({
60
57
  profile: leaseOptions.profile,
@@ -68,251 +65,122 @@ export async function startControllerRuntime(options, dependencies) {
68
65
  const idleReaper = createIdleReaper({
69
66
  getLeases: () => leaseManager.listLeases(),
70
67
  now,
71
- releaseLease: async (leaseId) => {
72
- await leaseManager.releaseLease(leaseId);
68
+ releaseLease: async (leaseId, releaseOptions) => {
69
+ await leaseManager.releaseLease(leaseId, releaseOptions);
73
70
  },
74
- ttlMs: 30 * 60 * 1000,
71
+ ttlForLease: (lease) => ttlForLeaseScope({
72
+ policy: options.systemConfig.leaseIdleTtl ?? defaultLeaseIdleTtlPolicy,
73
+ scopeKey: lease.scopeKey,
74
+ }),
75
75
  });
76
- const reaperTimer = (dependencies.setIntervalImpl ?? setInterval)(() => void idleReaper.reapExpiredLeases(), 60_000);
76
+ const reaperTimer = (dependencies.setIntervalImpl ?? setInterval)(() => void idleReaper
77
+ .reapExpiredLeases()
78
+ .catch((error) => writeControllerRuntimeLog(`Idle lease reaper failed: ${error instanceof Error ? error.message : String(error)}`)), 60_000);
77
79
  const clearReaperTimer = () => (dependencies.clearIntervalImpl ?? clearInterval)(reaperTimer);
78
80
  const releaseAllLeases = async () => {
79
- let releaseError;
81
+ const releaseErrors = [];
80
82
  for (const lease of leaseManager.listLeases()) {
81
83
  try {
82
84
  // oxlint-disable-next-line eslint/no-await-in-loop -- sequential release avoids TCP slot races
83
85
  await leaseManager.releaseLease(lease.id);
84
86
  }
85
87
  catch (error) {
86
- releaseError ??= error instanceof Error ? error : new Error(formatUnknownError(error));
88
+ releaseErrors.push(error instanceof Error ? error : new Error(formatUnknownError(error)));
87
89
  writeControllerRuntimeLog(`Failed to release lease '${lease.id}' during controller shutdown: ${formatUnknownError(error)}`);
88
90
  }
89
91
  }
90
- return releaseError;
92
+ return releaseErrors.length === 0
93
+ ? undefined
94
+ : new AggregateError(releaseErrors, 'Failed to release one or more leases.');
91
95
  };
92
- const startGateway = async () => await (dependencies.startGatewayZone ?? startGatewayZone)({
93
- runTask: runTaskStep,
94
- secretResolver,
96
+ const registry = createZoneRuntimeRegistry({
97
+ createRuntimeForZone: (zone) => isOpenClawZone(zone)
98
+ ? createOpenClawZoneRuntime({
99
+ ...(dependencies.deleteGatewayRuntimeRecord
100
+ ? { deleteGatewayRuntimeRecord: dependencies.deleteGatewayRuntimeRecord }
101
+ : {}),
102
+ leaseManager,
103
+ now,
104
+ restartGatewayZone: async (zoneId) => await (dependencies.startGatewayZone ?? startGatewayZone)({
105
+ runTask: runTaskStep,
106
+ secretResolver,
107
+ systemConfig: options.systemConfig,
108
+ zoneId,
109
+ }),
110
+ secretResolver,
111
+ systemConfig: options.systemConfig,
112
+ zone,
113
+ })
114
+ : isWorkerZone(zone)
115
+ ? createWorkerZoneRuntime({
116
+ activeTaskRegistry,
117
+ ...(process.env.CALLER_URL ? { callerUrl: process.env.CALLER_URL } : {}),
118
+ controllerGithubToken,
119
+ ...(dependencies.executeWorkerTask
120
+ ? { executeWorkerTask: dependencies.executeWorkerTask }
121
+ : {}),
122
+ ...(dependencies.onWorkerTaskFinished
123
+ ? { onWorkerTaskFinished: dependencies.onWorkerTaskFinished }
124
+ : {}),
125
+ ...(dependencies.onWorkerTaskIngress
126
+ ? { onWorkerTaskIngress: dependencies.onWorkerTaskIngress }
127
+ : {}),
128
+ ...(dependencies.onWorkerTaskPrepared
129
+ ? { onWorkerTaskPrepared: dependencies.onWorkerTaskPrepared }
130
+ : {}),
131
+ ...(dependencies.prepareWorkerTask
132
+ ? { prepareWorkerTask: dependencies.prepareWorkerTask }
133
+ : {}),
134
+ requestHeartbeatRegistry,
135
+ secretResolver,
136
+ systemConfig: options.systemConfig,
137
+ zone,
138
+ })
139
+ : (() => {
140
+ throw new Error(`Unsupported gateway type for zone '${zone.id}'.`);
141
+ })(),
142
+ ...(options.startupFailures ? { startupFailures: options.startupFailures } : {}),
95
143
  systemConfig: options.systemConfig,
96
- zoneId: options.zoneId,
144
+ writeLog: writeControllerRuntimeLog,
145
+ ...(options.zoneIds ? { zoneIds: options.zoneIds } : {}),
146
+ });
147
+ await runTaskStep('Starting selected gateway zones', async () => {
148
+ await registry.startSelectedZones();
97
149
  });
98
- const zone = findConfiguredZone(options.systemConfig, options.zoneId);
99
- let gateway;
100
- let gatewayBootedAt;
101
- const requireGateway = () => {
102
- if (!gateway) {
103
- throw new Error('Gateway runtime is unavailable because the last restart did not complete.');
104
- }
105
- return gateway;
106
- };
107
- const setGateway = (startedGateway) => {
108
- gateway = startedGateway;
109
- gatewayBootedAt = new Date(now()).toISOString();
110
- };
111
- if (activeZone.gateway.type !== 'worker') {
112
- await runTaskStep('Starting gateway zone', async () => {
113
- setGateway(await startGateway());
114
- });
115
- }
116
- const stopGatewayZone = async () => {
117
- if (!gateway) {
118
- return;
119
- }
120
- const activeGateway = gateway;
121
- gateway = undefined;
122
- gatewayBootedAt = undefined;
123
- let closeError;
124
- try {
125
- await activeGateway.vm.close();
126
- }
127
- catch (error) {
128
- closeError = error;
129
- }
130
- let deleteRecordError;
131
- try {
132
- await (dependencies.deleteGatewayRuntimeRecord ?? deleteGatewayRuntimeRecordDefault)(zone.gateway.stateDir);
133
- }
134
- catch (error) {
135
- deleteRecordError = error;
136
- }
137
- if (closeError) {
138
- throw closeError;
139
- }
140
- if (deleteRecordError) {
141
- throw deleteRecordError;
142
- }
143
- };
144
- const restartGatewayZone = async () => {
145
- await stopGatewayZone();
146
- setGateway(await startGateway());
147
- };
148
150
  const serverRef = {};
149
151
  const stopController = createStopControllerOperation({
150
152
  clearReaperTimer,
151
- closeControllerServer: () => setTimeout(() => void serverRef.current?.close(), 100),
153
+ closeControllerServer: async () => {
154
+ setTimeout(() => {
155
+ void serverRef.current?.close().catch((error) => {
156
+ writeControllerRuntimeLog(`Failed to close controller HTTP server after stop request: ${formatUnknownError(error)}`);
157
+ });
158
+ }, 100);
159
+ },
152
160
  getLeases: () => leaseManager.listLeases(),
153
161
  releaseLease: async (leaseId) => await leaseManager.releaseLease(leaseId),
154
- stopGatewayZone,
162
+ stopAllZones: async () => await registry.stopAllZones(),
155
163
  });
156
- const controllerOperations = activeZone.gateway.type !== 'worker'
157
- ? {
158
- ...createControllerRuntimeOperations({
159
- activeZoneId: options.zoneId,
160
- getGateway: () => requireGateway(),
161
- getGatewayBootedAt: () => gatewayBootedAt,
162
- getZone: (zoneId) => findConfiguredZone(options.systemConfig, zoneId),
163
- leaseManager,
164
- restartGatewayZone,
165
- secretResolver,
166
- stopGatewayZone,
167
- systemConfig: options.systemConfig,
168
- }),
169
- stopController,
170
- }
171
- : { stopController };
172
- const prepareWorkerTaskForZone = activeZone.gateway.type === 'worker'
173
- ? async (zoneId, input) => {
174
- const reservationId = activeTaskRegistry.tryReserve(zoneId, MAX_ACTIVE_TASKS_PER_RUNTIME);
175
- if (!reservationId) {
176
- throw new ControllerRuntimeAtCapacityError(`Worker pod for zone '${zoneId}' is at capacity.`);
177
- }
178
- try {
179
- return await (dependencies.prepareWorkerTask ?? prepareWorkerTaskDefault)({
180
- input,
181
- systemConfig: options.systemConfig,
182
- zoneId,
183
- ...(controllerGithubToken ? { githubToken: controllerGithubToken } : {}),
184
- onTaskPrepared: async (task) => {
185
- activeTaskRegistry.activateReservation(zoneId, reservationId, task);
186
- try {
187
- await dependencies.onWorkerTaskPrepared?.(task);
188
- }
189
- catch (error) {
190
- activeTaskRegistry.clear(task.zoneId, task.taskId);
191
- throw error;
192
- }
193
- },
194
- });
195
- }
196
- catch (error) {
197
- activeTaskRegistry.releaseReservation(zoneId, reservationId);
198
- throw error;
199
- }
200
- }
201
- : undefined;
202
- const executePreparedWorkerTask = activeZone.gateway.type === 'worker'
203
- ? async (prepared) => {
204
- let heartbeatAcquired = false;
205
- try {
206
- if (callerUrl) {
207
- requestHeartbeatRegistry.acquire(prepared.input.requestTaskId, callerUrl);
208
- heartbeatAcquired = true;
209
- }
210
- return await (dependencies.executeWorkerTask ?? executeWorkerTaskDefault)(prepared, {
211
- secretResolver,
212
- systemConfig: options.systemConfig,
213
- onWorkerTaskIngress: async (zoneId, taskId, workerIngress) => {
214
- activeTaskRegistry.setWorkerIngress(zoneId, taskId, workerIngress);
215
- await dependencies.onWorkerTaskIngress?.(zoneId, taskId, workerIngress);
216
- },
217
- onTaskFinished: async (finishedZoneId, taskId) => {
218
- activeTaskRegistry.clear(finishedZoneId, taskId);
219
- await dependencies.onWorkerTaskFinished?.(finishedZoneId, taskId);
220
- },
221
- });
222
- }
223
- catch (error) {
224
- if (activeTaskRegistry.get(prepared.zoneId, prepared.taskId)) {
225
- activeTaskRegistry.clear(prepared.zoneId, prepared.taskId);
226
- }
227
- throw error;
228
- }
229
- finally {
230
- if (heartbeatAcquired) {
231
- requestHeartbeatRegistry.release(prepared.input.requestTaskId);
232
- }
233
- }
234
- }
235
- : undefined;
236
- const getTaskState = activeZone.gateway.type === 'worker'
237
- ? createTaskStateReader({ systemConfig: options.systemConfig }).read
238
- : undefined;
239
- const closeTaskForZone = activeZone.gateway.type === 'worker'
240
- ? async (zoneId, taskId) => {
241
- const activeTask = activeTaskRegistry.get(zoneId, taskId);
242
- if (!activeTask) {
243
- throw new Error(`Task '${taskId}' is not active for zone '${zoneId}'.`);
244
- }
245
- if (!activeTask.workerIngress) {
246
- throw new ControllerTaskNotReadyError(`Task '${taskId}' in zone '${zoneId}' does not have a worker ingress yet.`);
247
- }
248
- const response = await fetch(`http://${activeTask.workerIngress.host}:${String(activeTask.workerIngress.port)}/tasks/${taskId}/close`, { method: 'POST' });
249
- if (!response.ok) {
250
- throw new Error(`worker close returned HTTP ${String(response.status)}`);
251
- }
252
- return { status: 'closed' };
253
- }
254
- : undefined;
255
- const pushTaskBranches = activeZone.gateway.type === 'worker'
256
- ? async (zoneId, taskId, input) => {
257
- const activeTask = activeTaskRegistry.get(zoneId, taskId);
258
- if (!activeTask) {
259
- throw new PushBranchesValidationError(`Task '${taskId}' is not active for zone '${zoneId}'.`);
260
- }
261
- if (!controllerGithubToken) {
262
- throw new Error('Controller GitHub token is not configured. Set host.githubToken or process.env.GITHUB_TOKEN.');
263
- }
264
- return await pushBranchesForTask({
265
- activeTask,
266
- branches: input.branches,
267
- githubToken: controllerGithubToken,
268
- recordEvent: async (event) => {
269
- await recordActiveTaskEvent({
270
- event,
271
- eventLogPath: activeTask.eventLogPath,
272
- taskId,
273
- });
274
- },
275
- });
276
- }
277
- : undefined;
278
- const pullDefaultForActiveTask = activeZone.gateway.type === 'worker'
279
- ? async (zoneId, taskId, input) => {
280
- const activeTask = activeTaskRegistry.get(zoneId, taskId);
281
- if (!activeTask) {
282
- throw new PullDefaultValidationError(`Task '${taskId}' is not active for zone '${zoneId}'.`);
283
- }
284
- if (!controllerGithubToken) {
285
- throw new Error('Controller GitHub token is not configured. Set host.githubToken or process.env.GITHUB_TOKEN.');
286
- }
287
- return await pullDefaultForTask({
288
- activeTask,
289
- ...(input.currentBranch !== undefined ? { currentBranch: input.currentBranch } : {}),
290
- ...(input.currentHead !== undefined ? { currentHead: input.currentHead } : {}),
291
- repoUrl: input.repoUrl,
292
- githubToken: controllerGithubToken,
293
- recordEvent: async (event) => {
294
- await recordActiveTaskEvent({
295
- event,
296
- eventLogPath: activeTask.eventLogPath,
297
- taskId,
298
- });
299
- },
300
- ...(input.worktreeDirty !== undefined ? { worktreeDirty: input.worktreeDirty } : {}),
301
- });
302
- }
303
- : undefined;
304
164
  const operations = {
305
- ...controllerOperations,
306
- ...(prepareWorkerTaskForZone ? { prepareWorkerTask: prepareWorkerTaskForZone } : {}),
307
- ...(executePreparedWorkerTask ? { executeWorkerTask: executePreparedWorkerTask } : {}),
308
- ...(getTaskState ? { getTaskState } : {}),
309
- ...(closeTaskForZone ? { closeTaskForZone } : {}),
310
- ...(pushTaskBranches ? { pushTaskBranches } : {}),
311
- ...(pullDefaultForActiveTask ? { pullDefaultForTask: pullDefaultForActiveTask } : {}),
165
+ ...createControllerRuntimeOperations({
166
+ destroyZoneRuntime: async (zoneId, purge) => await registry.destroyZone(zoneId, purge),
167
+ getActiveLeases: () => leaseManager.listLeases(),
168
+ getOpenClawRuntime: (zoneId) => registry.getOpenClawRuntime(zoneId),
169
+ getRuntimeStatusByZone: () => registry.getSnapshotByZone(),
170
+ systemConfig: options.systemConfig,
171
+ }),
172
+ closeTaskForZone: async (zoneId, taskId) => await registry.getWorkerRuntime(zoneId).closeTaskForZone(taskId),
173
+ executeWorkerTask: async (prepared) => await registry.getWorkerRuntime(prepared.zoneId).executeWorkerTask(prepared),
174
+ getTaskState: async (zoneId, taskId) => await registry.getWorkerRuntime(zoneId).getTaskState(taskId),
175
+ prepareWorkerTask: async (zoneId, input) => await registry.getWorkerRuntime(zoneId).prepareWorkerTask(input),
176
+ pullDefaultForTask: async (zoneId, taskId, input) => await registry.getWorkerRuntime(zoneId).pullDefaultForTask(taskId, input),
177
+ pushTaskBranches: async (zoneId, taskId, input) => await registry.getWorkerRuntime(zoneId).pushTaskBranches(taskId, input),
178
+ stopController,
312
179
  };
313
180
  const controllerApp = createControllerService({
314
181
  leaseManager,
315
182
  operations,
183
+ secretResolver,
316
184
  systemConfig: options.systemConfig,
317
185
  });
318
186
  await runTaskStep(`Controller API on :${options.systemConfig.host.controllerPort}`, async () => {
@@ -322,31 +190,39 @@ export async function startControllerRuntime(options, dependencies) {
322
190
  });
323
191
  });
324
192
  await idleReaper.reapExpiredLeases();
193
+ const snapshotByZone = registry.getSnapshotByZone();
325
194
  return {
326
195
  async close() {
327
196
  clearReaperTimer();
328
197
  requestHeartbeatRegistry.stopAll();
329
198
  const releaseError = await releaseAllLeases();
199
+ let stopError;
330
200
  try {
331
- await stopGatewayZone();
201
+ await registry.stopAllZones();
202
+ }
203
+ catch (error) {
204
+ stopError = error instanceof Error ? error : new Error(formatUnknownError(error));
332
205
  }
333
206
  finally {
334
207
  await serverRef.current?.close();
335
208
  }
336
- if (releaseError) {
337
- throw releaseError;
209
+ const closeErrors = [releaseError, stopError].filter((error) => error !== undefined);
210
+ if (closeErrors.length === 1) {
211
+ throw closeErrors[0];
212
+ }
213
+ if (closeErrors.length > 1) {
214
+ throw new AggregateError(closeErrors, 'Controller shutdown failed in multiple steps.');
338
215
  }
339
216
  },
340
217
  controllerPort: options.systemConfig.host.controllerPort,
341
- ...(gateway
342
- ? {
343
- gateway: {
344
- ingress: requireGateway().ingress,
345
- processSpec: requireGateway().processSpec,
346
- vm: requireGateway().vm,
347
- },
348
- }
349
- : {}),
218
+ zones: registry.selectedZoneIds.map((zoneId) => {
219
+ const snapshot = snapshotByZone[zoneId] ?? { lifecycleState: 'stopped' };
220
+ const runtimeZone = {
221
+ lifecycleState: snapshot.lifecycleState,
222
+ zoneId,
223
+ };
224
+ return Object.assign(runtimeZone, snapshot.gateway ? { ingress: snapshot.gateway.ingress, vmId: snapshot.gateway.vm.id } : {}, snapshot.lastError ? { lastError: snapshot.lastError } : {});
225
+ }),
350
226
  };
351
227
  }
352
228
  //# sourceMappingURL=controller-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller-runtime.js","sourceRoot":"","sources":["../../src/controller/controller-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-runtime.js","sourceRoot":"","sources":["../../src/controller/controller-runtime.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { scrubGithubTokenFromOutput } from './git-auth-support.js';
3
3
  import { runGitCommandWithTransientRetries } from './git-retry-support.js';
4
4
  const GIT_OPERATION_TIMEOUT_MS = 120_000;
5
5
  const GIT_PULL_RETRY_AFTER_SECONDS = 300;
6
- const GIT_PULL_RETRY_AFTER_MESSAGE = 'GitHub or the network is still rejecting the pull after retries. Try git-pull-default again in 5 minutes if the task is still running; otherwise start a new task.';
6
+ const GIT_PULL_RETRY_AFTER_MESSAGE = 'GitHub or the network is still rejecting the pull after retries. Try git-pull-default again in 5 minutes; the controller retains task state while the task remains registered.';
7
7
  export class PullDefaultValidationError extends Error {
8
8
  }
9
9
  class GitCommandFailureError extends Error {