@agent-vm/agent-vm 0.0.32 → 0.0.34

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 (150) hide show
  1. package/dist/build/gondolin-image-builder.d.ts.map +1 -1
  2. package/dist/build/gondolin-image-builder.js +7 -12
  3. package/dist/build/gondolin-image-builder.js.map +1 -1
  4. package/dist/cli/agent-vm-cli-support.d.ts +7 -0
  5. package/dist/cli/agent-vm-cli-support.d.ts.map +1 -1
  6. package/dist/cli/agent-vm-cli-support.js +2 -0
  7. package/dist/cli/agent-vm-cli-support.js.map +1 -1
  8. package/dist/cli/build-command.d.ts.map +1 -1
  9. package/dist/cli/build-command.js +15 -7
  10. package/dist/cli/build-command.js.map +1 -1
  11. package/dist/cli/commands/command-definition-support.js +1 -1
  12. package/dist/cli/commands/command-definition-support.js.map +1 -1
  13. package/dist/cli/commands/controller-definition.d.ts +24 -24
  14. package/dist/cli/commands/create-app.d.ts +60 -24
  15. package/dist/cli/commands/create-app.d.ts.map +1 -1
  16. package/dist/cli/commands/create-app.js +2 -0
  17. package/dist/cli/commands/create-app.js.map +1 -1
  18. package/dist/cli/commands/manual-definition.d.ts +31 -0
  19. package/dist/cli/commands/manual-definition.d.ts.map +1 -0
  20. package/dist/cli/commands/manual-definition.js +64 -0
  21. package/dist/cli/commands/manual-definition.js.map +1 -0
  22. package/dist/cli/controller-operation-commands.d.ts.map +1 -1
  23. package/dist/cli/controller-operation-commands.js +2 -1
  24. package/dist/cli/controller-operation-commands.js.map +1 -1
  25. package/dist/cli/init-command.d.ts.map +1 -1
  26. package/dist/cli/init-command.js +83 -52
  27. package/dist/cli/init-command.js.map +1 -1
  28. package/dist/cli/manual-commands.d.ts +10 -0
  29. package/dist/cli/manual-commands.d.ts.map +1 -0
  30. package/dist/cli/manual-commands.js +25 -0
  31. package/dist/cli/manual-commands.js.map +1 -0
  32. package/dist/cli/manual-templates.d.ts +12 -0
  33. package/dist/cli/manual-templates.d.ts.map +1 -0
  34. package/dist/cli/manual-templates.js +214 -0
  35. package/dist/cli/manual-templates.js.map +1 -0
  36. package/dist/config/json-config-file.d.ts +2 -0
  37. package/dist/config/json-config-file.d.ts.map +1 -0
  38. package/dist/config/json-config-file.js +32 -0
  39. package/dist/config/json-config-file.js.map +1 -0
  40. package/dist/config/system-config.d.ts +35 -4
  41. package/dist/config/system-config.d.ts.map +1 -1
  42. package/dist/config/system-config.js +127 -27
  43. package/dist/config/system-config.js.map +1 -1
  44. package/dist/controller/active-task-registry.d.ts +4 -1
  45. package/dist/controller/active-task-registry.d.ts.map +1 -1
  46. package/dist/controller/active-task-registry.js +19 -2
  47. package/dist/controller/active-task-registry.js.map +1 -1
  48. package/dist/controller/controller-runtime-operations.d.ts +15 -31
  49. package/dist/controller/controller-runtime-operations.d.ts.map +1 -1
  50. package/dist/controller/controller-runtime-operations.js +17 -92
  51. package/dist/controller/controller-runtime-operations.js.map +1 -1
  52. package/dist/controller/controller-runtime-types.d.ts +17 -12
  53. package/dist/controller/controller-runtime-types.d.ts.map +1 -1
  54. package/dist/controller/controller-runtime.d.ts.map +1 -1
  55. package/dist/controller/controller-runtime.js +126 -250
  56. package/dist/controller/controller-runtime.js.map +1 -1
  57. package/dist/controller/git-pull-default-operations.js +1 -1
  58. package/dist/controller/git-pull-default-operations.js.map +1 -1
  59. package/dist/controller/git-push-operations.js +1 -1
  60. package/dist/controller/git-push-operations.js.map +1 -1
  61. package/dist/controller/http/controller-http-route-support.d.ts +2 -2
  62. package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
  63. package/dist/controller/http/controller-http-route-support.js.map +1 -1
  64. package/dist/controller/http/controller-http-routes.d.ts +8 -4
  65. package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
  66. package/dist/controller/http/controller-http-routes.js +102 -26
  67. package/dist/controller/http/controller-http-routes.js.map +1 -1
  68. package/dist/controller/http/controller-request-schemas.d.ts +2 -2
  69. package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
  70. package/dist/controller/http/controller-request-schemas.js +2 -2
  71. package/dist/controller/http/controller-request-schemas.js.map +1 -1
  72. package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
  73. package/dist/controller/http/controller-zone-operation-routes.js +130 -11
  74. package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
  75. package/dist/controller/leases/agent-sandbox-seeding.d.ts +61 -0
  76. package/dist/controller/leases/agent-sandbox-seeding.d.ts.map +1 -0
  77. package/dist/controller/leases/agent-sandbox-seeding.js +186 -0
  78. package/dist/controller/leases/agent-sandbox-seeding.js.map +1 -0
  79. package/dist/controller/leases/idle-reaper.d.ts +4 -1
  80. package/dist/controller/leases/idle-reaper.d.ts.map +1 -1
  81. package/dist/controller/leases/idle-reaper.js +19 -8
  82. package/dist/controller/leases/idle-reaper.js.map +1 -1
  83. package/dist/controller/leases/lease-idle-policy.d.ts +12 -0
  84. package/dist/controller/leases/lease-idle-policy.d.ts.map +1 -0
  85. package/dist/controller/leases/lease-idle-policy.js +28 -0
  86. package/dist/controller/leases/lease-idle-policy.js.map +1 -0
  87. package/dist/controller/leases/lease-manager.d.ts +6 -6
  88. package/dist/controller/leases/lease-manager.d.ts.map +1 -1
  89. package/dist/controller/leases/lease-manager.js +23 -6
  90. package/dist/controller/leases/lease-manager.js.map +1 -1
  91. package/dist/controller/leases/lease-scope.d.ts +12 -0
  92. package/dist/controller/leases/lease-scope.d.ts.map +1 -0
  93. package/dist/controller/leases/lease-scope.js +19 -0
  94. package/dist/controller/leases/lease-scope.js.map +1 -0
  95. package/dist/controller/leases/lease-work-mount-paths.d.ts +17 -0
  96. package/dist/controller/leases/lease-work-mount-paths.d.ts.map +1 -0
  97. package/dist/controller/leases/lease-work-mount-paths.js +120 -0
  98. package/dist/controller/leases/lease-work-mount-paths.js.map +1 -0
  99. package/dist/controller/worker-task-runner.d.ts.map +1 -1
  100. package/dist/controller/worker-task-runner.js +32 -10
  101. package/dist/controller/worker-task-runner.js.map +1 -1
  102. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts +30 -0
  103. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts.map +1 -0
  104. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js +110 -0
  105. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js.map +1 -0
  106. package/dist/controller/zone-runtimes/worker-zone-runtime.d.ts +33 -0
  107. package/dist/controller/zone-runtimes/worker-zone-runtime.d.ts.map +1 -0
  108. package/dist/controller/zone-runtimes/worker-zone-runtime.js +224 -0
  109. package/dist/controller/zone-runtimes/worker-zone-runtime.js.map +1 -0
  110. package/dist/controller/zone-runtimes/zone-runtime-errors.d.ts +51 -0
  111. package/dist/controller/zone-runtimes/zone-runtime-errors.d.ts.map +1 -0
  112. package/dist/controller/zone-runtimes/zone-runtime-errors.js +94 -0
  113. package/dist/controller/zone-runtimes/zone-runtime-errors.js.map +1 -0
  114. package/dist/controller/zone-runtimes/zone-runtime-registry.d.ts +26 -0
  115. package/dist/controller/zone-runtimes/zone-runtime-registry.d.ts.map +1 -0
  116. package/dist/controller/zone-runtimes/zone-runtime-registry.js +84 -0
  117. package/dist/controller/zone-runtimes/zone-runtime-registry.js.map +1 -0
  118. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts +89 -0
  119. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts.map +1 -0
  120. package/dist/controller/zone-runtimes/zone-runtime-types.js +2 -0
  121. package/dist/controller/zone-runtimes/zone-runtime-types.js.map +1 -0
  122. package/dist/gateway/gateway-image-builder.d.ts.map +1 -1
  123. package/dist/gateway/gateway-image-builder.js +2 -2
  124. package/dist/gateway/gateway-image-builder.js.map +1 -1
  125. package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
  126. package/dist/gateway/gateway-zone-support.js +5 -2
  127. package/dist/gateway/gateway-zone-support.js.map +1 -1
  128. package/dist/index.d.ts +1 -0
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +1 -0
  131. package/dist/index.js.map +1 -1
  132. package/dist/operations/config-validation.d.ts.map +1 -1
  133. package/dist/operations/config-validation.js +48 -2
  134. package/dist/operations/config-validation.js.map +1 -1
  135. package/dist/operations/controller-status.d.ts +13 -8
  136. package/dist/operations/controller-status.d.ts.map +1 -1
  137. package/dist/operations/controller-status.js +13 -10
  138. package/dist/operations/controller-status.js.map +1 -1
  139. package/dist/operations/doctor.d.ts.map +1 -1
  140. package/dist/operations/doctor.js +64 -6
  141. package/dist/operations/doctor.js.map +1 -1
  142. package/dist/tool-vm/tool-vm-lifecycle.d.ts +5 -5
  143. package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
  144. package/dist/tool-vm/tool-vm-lifecycle.js +12 -12
  145. package/dist/tool-vm/tool-vm-lifecycle.js.map +1 -1
  146. package/package.json +8 -7
  147. package/dist/controller/leases/lease-workspace-paths.d.ts +0 -14
  148. package/dist/controller/leases/lease-workspace-paths.d.ts.map +0 -1
  149. package/dist/controller/leases/lease-workspace-paths.js +0 -104
  150. package/dist/controller/leases/lease-workspace-paths.js.map +0 -1
@@ -1,102 +1,27 @@
1
- import { resolveZoneSecrets } from '../gateway/credential-manager.js';
2
1
  import { buildControllerStatus, buildControllerZoneStatus, } from '../operations/controller-status.js';
3
- import { runControllerCredentialsRefresh } from '../operations/credentials-refresh.js';
4
- import { runControllerDestroy } from '../operations/destroy-zone.js';
5
- import { runControllerUpgrade } from '../operations/upgrade-zone.js';
6
- import { runControllerLogs } from '../operations/zone-logs.js';
2
+ import { ControllerZoneNotFoundError } from './zone-runtimes/zone-runtime-errors.js';
7
3
  export function createControllerRuntimeOperations(options) {
8
- const assertActiveZone = (targetZoneId) => {
9
- if (targetZoneId !== options.activeZoneId) {
10
- throw new Error(`Controller is running zone '${options.activeZoneId}', not '${targetZoneId}'. Multi-zone runtime selection is not implemented yet.`);
11
- }
12
- };
13
- const getGatewayIfAvailable = () => {
14
- try {
15
- return options.getGateway();
16
- }
17
- catch {
18
- return undefined;
19
- }
20
- };
21
4
  const buildRuntimeStatus = () => {
22
- const gateway = getGatewayIfAvailable();
23
- const bootedAt = options.getGatewayBootedAt();
5
+ const zones = options.getRuntimeStatusByZone();
24
6
  return {
25
- activeLeases: options.leaseManager.listLeases(),
26
- activeZoneId: options.activeZoneId,
27
- ...(gateway ? { gateway } : {}),
28
- ...(gateway && bootedAt ? { bootedAt } : {}),
7
+ activeLeases: options.getActiveLeases(),
8
+ ...(zones ? { zones } : {}),
29
9
  };
30
10
  };
31
11
  return {
32
- enableSshForZone: async (targetZoneId) => {
33
- assertActiveZone(targetZoneId);
34
- return await options.getGateway().vm.enableSsh();
35
- },
36
- execInZone: async (targetZoneId, command) => {
37
- assertActiveZone(targetZoneId);
38
- const result = await options.getGateway().vm.exec(command);
39
- return {
40
- exitCode: result.exitCode,
41
- stderr: result.stderr,
42
- stdout: result.stdout,
43
- };
44
- },
45
- destroyZone: async (targetZoneId, purge) => {
46
- assertActiveZone(targetZoneId);
47
- return await runControllerDestroy({
48
- purge,
49
- systemConfig: options.systemConfig,
50
- zoneId: targetZoneId,
51
- }, {
52
- releaseZoneLeases: async () => {
53
- for (const lease of options.leaseManager
54
- .listLeases()
55
- .filter((activeLease) => activeLease.zoneId === targetZoneId)) {
56
- // oxlint-disable-next-line eslint/no-await-in-loop -- sequential release avoids TCP slot races
57
- await options.leaseManager.releaseLease(lease.id);
58
- }
59
- },
60
- stopGatewayZone: options.stopGatewayZone,
61
- });
62
- },
12
+ destroyZone: async (targetZoneId, purge) => await options.destroyZoneRuntime(targetZoneId, purge),
13
+ enableSshForZone: async (targetZoneId) => await options.getOpenClawRuntime(targetZoneId).enableSsh(),
14
+ execInZone: async (targetZoneId, command) => await options.getOpenClawRuntime(targetZoneId).exec(command),
63
15
  getStatus: async () => buildControllerStatus(options.systemConfig, buildRuntimeStatus()),
64
- getZoneStatus: async (targetZoneId) => buildControllerZoneStatus(options.systemConfig, targetZoneId, buildRuntimeStatus()),
65
- getZoneLogs: async (targetZoneId) => {
66
- assertActiveZone(targetZoneId);
67
- const gateway = options.getGateway();
68
- return await runControllerLogs({
69
- zoneId: targetZoneId,
70
- }, {
71
- readGatewayLogs: async () => (await gateway.vm.exec(`cat ${gateway.processSpec.logPath} 2>/dev/null || echo ""`))
72
- .stdout,
73
- });
74
- },
75
- refreshZoneCredentials: async (targetZoneId) => {
76
- assertActiveZone(targetZoneId);
77
- return await runControllerCredentialsRefresh({
78
- zoneId: targetZoneId,
79
- }, {
80
- refreshZoneSecrets: async (zoneId) => {
81
- await resolveZoneSecrets({
82
- secretResolver: options.secretResolver,
83
- systemConfig: options.systemConfig,
84
- zoneId,
85
- });
86
- },
87
- restartGatewayZone: async () => await options.restartGatewayZone(),
88
- });
89
- },
90
- upgradeZone: async (targetZoneId) => {
91
- assertActiveZone(targetZoneId);
92
- return await runControllerUpgrade({
93
- systemConfig: options.systemConfig,
94
- zoneId: targetZoneId,
95
- }, {
96
- rebuildGatewayImage: async () => { },
97
- restartGatewayZone: options.restartGatewayZone,
98
- });
16
+ getZoneLogs: async (targetZoneId) => await options.getOpenClawRuntime(targetZoneId).getLogs(),
17
+ getZoneStatus: async (targetZoneId) => {
18
+ if (!options.systemConfig.zones.some((zone) => zone.id === targetZoneId)) {
19
+ throw new ControllerZoneNotFoundError(targetZoneId);
20
+ }
21
+ return buildControllerZoneStatus(options.systemConfig, targetZoneId, buildRuntimeStatus());
99
22
  },
23
+ refreshZoneCredentials: async (targetZoneId) => await options.getOpenClawRuntime(targetZoneId).refreshCredentials(),
24
+ upgradeZone: async (targetZoneId) => await options.getOpenClawRuntime(targetZoneId).upgrade(),
100
25
  };
101
26
  }
102
27
  export function createStopControllerOperation(options) {
@@ -107,10 +32,10 @@ export function createStopControllerOperation(options) {
107
32
  await options.releaseLease(lease.id);
108
33
  }
109
34
  try {
110
- await options.stopGatewayZone();
35
+ await options.stopAllZones();
111
36
  }
112
37
  finally {
113
- options.closeControllerServer();
38
+ await options.closeControllerServer();
114
39
  }
115
40
  return { ok: true };
116
41
  };
@@ -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
- readonly workspaceDir: string;
29
+ readonly hostWorkMountDir: 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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEpF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS;QACxB,QAAQ,CAAC,OAAO,CAAC,EAAE;YAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,cAAc,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE;QACxC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,OAAO,4BAA4B,EAAE,SAAS,CAAC,CAAC;IAC9D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE;QACzC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;KACrC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9B,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,0BAA0B,CAAC;IACxE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACtD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACtD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAC3D,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAC1B,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACpC,OAAO,EAAE,MAAM,KACX,MAAM,CAAC,OAAO,CAAC;IACpB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACpD,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE;QACpC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACtB,KAAK,OAAO,CAAC;QACb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACvB,CAAC,CAAC;CACH;AAED,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS;QACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC"}
@@ -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"}