@agent-vm/agent-vm 0.0.78 → 0.0.79
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.
- package/dist/cli/commands/controller-definition.d.ts.map +1 -1
- package/dist/cli/commands/controller-definition.js +7 -3
- package/dist/cli/commands/controller-definition.js.map +1 -1
- package/dist/cli/manual-templates.d.ts.map +1 -1
- package/dist/cli/manual-templates.js +7 -3
- package/dist/cli/manual-templates.js.map +1 -1
- package/dist/controller/controller-runtime-types.d.ts +4 -0
- package/dist/controller/controller-runtime-types.d.ts.map +1 -1
- package/dist/controller/controller-runtime.d.ts.map +1 -1
- package/dist/controller/controller-runtime.js +28 -3
- package/dist/controller/controller-runtime.js.map +1 -1
- package/dist/controller/http/controller-http-route-support.d.ts +12 -0
- package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
- package/dist/controller/http/controller-http-route-support.js +12 -0
- package/dist/controller/http/controller-http-route-support.js.map +1 -1
- package/dist/controller/http/controller-http-routes.d.ts +4 -1
- package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
- package/dist/controller/http/controller-http-routes.js +75 -24
- package/dist/controller/http/controller-http-routes.js.map +1 -1
- package/dist/controller/http/controller-lease-response-types.d.ts +1 -0
- package/dist/controller/http/controller-lease-response-types.d.ts.map +1 -1
- package/dist/controller/http/controller-lease-response-types.js +1 -0
- package/dist/controller/http/controller-lease-response-types.js.map +1 -1
- package/dist/controller/http/controller-request-schemas.d.ts +1 -0
- package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
- package/dist/controller/http/controller-request-schemas.js +15 -1
- package/dist/controller/http/controller-request-schemas.js.map +1 -1
- package/dist/controller/http/controller-zone-operation-routes.d.ts +4 -2
- package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
- package/dist/controller/http/controller-zone-operation-routes.js +50 -1
- package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
- package/dist/controller/leases/lease-manager.d.ts +17 -1
- package/dist/controller/leases/lease-manager.d.ts.map +1 -1
- package/dist/controller/leases/lease-manager.js +133 -34
- package/dist/controller/leases/lease-manager.js.map +1 -1
- package/dist/controller/leases/tcp-pool.d.ts +3 -0
- package/dist/controller/leases/tcp-pool.d.ts.map +1 -1
- package/dist/controller/leases/tcp-pool.js +12 -1
- package/dist/controller/leases/tcp-pool.js.map +1 -1
- package/dist/controller/leases/tool-vm-recovery.d.ts +31 -0
- package/dist/controller/leases/tool-vm-recovery.d.ts.map +1 -0
- package/dist/controller/leases/tool-vm-recovery.js +178 -0
- package/dist/controller/leases/tool-vm-recovery.js.map +1 -0
- package/dist/controller/leases/tool-vm-runtime-record.d.ts +59 -0
- package/dist/controller/leases/tool-vm-runtime-record.d.ts.map +1 -0
- package/dist/controller/leases/tool-vm-runtime-record.js +159 -0
- package/dist/controller/leases/tool-vm-runtime-record.js.map +1 -0
- package/dist/gateway/gateway-recovery.d.ts +8 -5
- package/dist/gateway/gateway-recovery.d.ts.map +1 -1
- package/dist/gateway/gateway-recovery.js +63 -123
- package/dist/gateway/gateway-recovery.js.map +1 -1
- package/dist/gateway/gateway-runtime-record.d.ts +24 -16
- package/dist/gateway/gateway-runtime-record.d.ts.map +1 -1
- package/dist/gateway/gateway-runtime-record.js +53 -68
- package/dist/gateway/gateway-runtime-record.js.map +1 -1
- package/dist/gateway/gateway-zone-orchestrator.d.ts +6 -0
- package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
- package/dist/gateway/gateway-zone-orchestrator.js +157 -40
- package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
- package/dist/operations/controller-offline-cleanup.d.ts +3 -0
- package/dist/operations/controller-offline-cleanup.d.ts.map +1 -1
- package/dist/operations/controller-offline-cleanup.js +16 -6
- package/dist/operations/controller-offline-cleanup.js.map +1 -1
- package/dist/operations/destroy-zone.d.ts.map +1 -1
- package/dist/operations/destroy-zone.js +5 -0
- package/dist/operations/destroy-zone.js.map +1 -1
- package/dist/shared/managed-vm-process.d.ts +33 -0
- package/dist/shared/managed-vm-process.d.ts.map +1 -0
- package/dist/shared/managed-vm-process.js +248 -0
- package/dist/shared/managed-vm-process.js.map +1 -0
- package/dist/shared/port-owner.d.ts +18 -0
- package/dist/shared/port-owner.d.ts.map +1 -0
- package/dist/shared/port-owner.js +60 -0
- package/dist/shared/port-owner.js.map +1 -0
- package/package.json +11 -11
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { createManagedVm as createManagedVmFromCore, } from '@agent-vm/gondolin-adapter';
|
|
4
|
+
import { cleanupOrphanedToolVmsIfPresent } from '../controller/leases/tool-vm-recovery.js';
|
|
4
5
|
import { assertOpenClawToolVmRequirements } from '../operations/openclaw-deployment-requirements.js';
|
|
5
6
|
import { runTaskWithResult } from '../shared/run-task.js';
|
|
6
7
|
import { resolveZoneSecrets } from './credential-manager.js';
|
|
@@ -28,6 +29,9 @@ function formatCommandOutput(name, value) {
|
|
|
28
29
|
function formatGatewayCommandFailure(stepName, result) {
|
|
29
30
|
return `${stepName} failed with exit ${result.exitCode}.${formatCommandOutput('stdout', result.stdout)}${formatCommandOutput('stderr', result.stderr)}`;
|
|
30
31
|
}
|
|
32
|
+
function toPhaseCError(reason) {
|
|
33
|
+
return reason instanceof Error ? reason : new Error(String(reason));
|
|
34
|
+
}
|
|
31
35
|
async function execGatewayCommand(options) {
|
|
32
36
|
const result = await options.managedVm.exec(options.command);
|
|
33
37
|
if (result.exitCode !== 0) {
|
|
@@ -120,57 +124,81 @@ export async function startGatewayZone(options, dependencies = {}) {
|
|
|
120
124
|
const runTaskStep = options.runTask ?? (async (_title, fn) => await fn());
|
|
121
125
|
const zone = options.zoneOverride ?? findGatewayZone(options.systemConfig, options.zoneId);
|
|
122
126
|
const mappedLifecycleZone = mapSystemGatewayZoneToLifecycleZone(zone);
|
|
123
|
-
const
|
|
127
|
+
const lifecycle = (dependencies.loadGatewayLifecycle ?? loadGatewayLifecycle)(zone.gateway.type);
|
|
128
|
+
// Phase A: collect host-side prerequisites in parallel.
|
|
129
|
+
//
|
|
130
|
+
// All five branches operate on disjoint paths and have no shared in-process
|
|
131
|
+
// state:
|
|
132
|
+
// - mcpPortalMaterialization writes $cacheDir/gateways/$zoneId/mcp-portal-effective/
|
|
133
|
+
// - recovery cleanup reads/deletes $stateDir/tool-leases/*.json and
|
|
134
|
+
// $stateDir/gateway-runtime.json after ownership checks; tool VM
|
|
135
|
+
// children are cleaned before the gateway so the old gateway cannot
|
|
136
|
+
// continue issuing work while child recovery runs.
|
|
137
|
+
// - assertions reads $zone.gateway.config (pure validation)
|
|
138
|
+
// - resolveZoneSecrets reads zone.secrets (no IO beyond secretResolver)
|
|
139
|
+
// - buildGatewayImage operates on $cacheDir/gateway-images/$profile
|
|
140
|
+
//
|
|
141
|
+
// mcpPortalMaterialization and resolveZoneSecrets both call
|
|
142
|
+
// secretResolver.resolveAll concurrently with disjoint ref sets. The
|
|
143
|
+
// @1password/sdk JS client is documented in its source to be concurrency-
|
|
144
|
+
// safe on a single Client instance (SharedCore WASM module handles
|
|
145
|
+
// concurrent invocations). The op-CLI fallback layer is intentionally
|
|
146
|
+
// two-tier only — SDK → op inject — with no further serial `op read`
|
|
147
|
+
// tier; see packages/secret-management/src/onepassword-secret-resolver.ts
|
|
148
|
+
// for the rationale (the previous third tier reintroduced a documented
|
|
149
|
+
// concurrent `op read` hazard at the outer-call layer).
|
|
150
|
+
const mcpPortalMaterializationPromise = buildRuntimeMcpPortalMaterialization({
|
|
124
151
|
cacheDir: options.systemConfig.cacheDir,
|
|
125
152
|
secretResolver: options.secretResolver,
|
|
126
153
|
zone,
|
|
127
154
|
});
|
|
128
|
-
const
|
|
129
|
-
...mappedLifecycleZone,
|
|
130
|
-
...mcpPortalMaterialization,
|
|
131
|
-
egressHosts: mcpPortalMaterialization.egressHosts ?? mappedLifecycleZone.egressHosts,
|
|
132
|
-
...(options.runtimeEnvironment === undefined
|
|
133
|
-
? {}
|
|
134
|
-
: {
|
|
135
|
-
runtimeEnvironment: {
|
|
136
|
-
...mcpPortalMaterialization.runtimeEnvironment,
|
|
137
|
-
...options.runtimeEnvironment,
|
|
138
|
-
},
|
|
139
|
-
}),
|
|
140
|
-
...(options.runtimePluginConfigs === undefined
|
|
141
|
-
? {}
|
|
142
|
-
: {
|
|
143
|
-
runtimePluginConfigs: {
|
|
144
|
-
...mcpPortalMaterialization.runtimePluginConfigs,
|
|
145
|
-
...options.runtimePluginConfigs,
|
|
146
|
-
},
|
|
147
|
-
}),
|
|
148
|
-
};
|
|
149
|
-
await runTaskStep('Cleaning orphaned gateway runtime', async () => {
|
|
155
|
+
const cleanupOrphanedGateway = async () => {
|
|
150
156
|
await (dependencies.cleanupOrphanedGatewayIfPresent ?? cleanupOrphanedGatewayIfPresent)({
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
controllerPort: options.systemConfig.host.controllerPort,
|
|
154
|
-
},
|
|
157
|
+
expectedConfigPath: options.systemConfig.systemConfigPath,
|
|
158
|
+
expectedControllerPort: options.systemConfig.host.controllerPort,
|
|
155
159
|
mode: 'in-process-recovery',
|
|
156
160
|
projectNamespace: options.systemConfig.host.projectNamespace,
|
|
157
161
|
stateDir: zone.gateway.stateDir,
|
|
158
162
|
zoneId: zone.id,
|
|
159
163
|
});
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
+
};
|
|
165
|
+
// Tool VM orphan cleanup runs in-process-recovery mode only for OpenClaw
|
|
166
|
+
// zones — worker zones never spawn tool VMs, so there is no
|
|
167
|
+
// $stateDir/tool-leases/ subtree to scan. Same five-fence + ps-command
|
|
168
|
+
// discipline as the gateway cleanup above: any scope mismatch skips the
|
|
169
|
+
// record instead of signaling its PID.
|
|
170
|
+
const cleanupOrphanedToolVms = async () => {
|
|
171
|
+
if (zone.gateway.type !== 'openclaw') {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
await (dependencies.cleanupOrphanedToolVmsIfPresent ?? cleanupOrphanedToolVmsIfPresent)({
|
|
175
|
+
expectedConfigPath: options.systemConfig.systemConfigPath,
|
|
176
|
+
expectedControllerPort: options.systemConfig.host.controllerPort,
|
|
177
|
+
mode: 'in-process-recovery',
|
|
178
|
+
projectNamespace: options.systemConfig.host.projectNamespace,
|
|
179
|
+
stateDir: zone.gateway.stateDir,
|
|
180
|
+
tcpBasePort: options.systemConfig.tcpPool.basePort,
|
|
181
|
+
zoneId: zone.id,
|
|
164
182
|
});
|
|
165
|
-
}
|
|
166
|
-
const
|
|
167
|
-
|
|
183
|
+
};
|
|
184
|
+
const recoveryCleanupPromise = zone.gateway.type === 'openclaw'
|
|
185
|
+
? runTaskStep('Cleaning orphaned tool VMs', async () => {
|
|
186
|
+
await cleanupOrphanedToolVms();
|
|
187
|
+
await runTaskStep('Cleaning orphaned gateway runtime', cleanupOrphanedGateway);
|
|
188
|
+
})
|
|
189
|
+
: runTaskStep('Cleaning orphaned gateway runtime', cleanupOrphanedGateway);
|
|
190
|
+
const assertionsPromise = zone.gateway.type === 'openclaw'
|
|
191
|
+
? runTaskStep('Validating OpenClaw Tool VM requirements', async () => {
|
|
192
|
+
await assertOpenClawToolVmRequirements(options.systemConfig, zone.id);
|
|
193
|
+
})
|
|
194
|
+
: Promise.resolve();
|
|
195
|
+
const resolvedSecretsPromise = runTaskWithResult(runTaskStep, 'Resolving zone secrets', async () => await resolveZoneSecrets({
|
|
168
196
|
audience: 'gateway',
|
|
169
197
|
systemConfig: options.systemConfig,
|
|
170
198
|
zoneId: zone.id,
|
|
171
199
|
secretResolver: options.secretResolver,
|
|
172
200
|
}));
|
|
173
|
-
const
|
|
201
|
+
const imagePromise = runTaskWithResult(runTaskStep, 'Building gateway image', async () => {
|
|
174
202
|
const gatewayImageProfile = selectGatewayImageProfile({
|
|
175
203
|
systemConfig: options.systemConfig,
|
|
176
204
|
zone,
|
|
@@ -183,6 +211,51 @@ export async function startGatewayZone(options, dependencies = {}) {
|
|
|
183
211
|
...(dependencies.loadBuildConfig ? { loadBuildConfig: dependencies.loadBuildConfig } : {}),
|
|
184
212
|
});
|
|
185
213
|
});
|
|
214
|
+
// Promise.all (fail-fast) rather than Promise.allSettled here. Rationale:
|
|
215
|
+
// - The image build branch can be slow on a cold cache (minutes for a
|
|
216
|
+
// full Gondolin rebuild). If any other branch fails fast (e.g., a
|
|
217
|
+
// config assertion at ~10ms), we want the operator to see the error
|
|
218
|
+
// immediately, not after the image build completes.
|
|
219
|
+
// - The realistic multi-failure mode (1Password is down) hits both
|
|
220
|
+
// secretResolver.resolveAll callers with the same root cause at the
|
|
221
|
+
// same op-CLI timeout (~30s). Promise.all surfaces the first; that's
|
|
222
|
+
// diagnostically sufficient.
|
|
223
|
+
// - Phase C uses allSettled for a DIFFERENT reason: it has a live
|
|
224
|
+
// QEMU resource to close on partial failure. Phase A produces no
|
|
225
|
+
// such resource.
|
|
226
|
+
//
|
|
227
|
+
// Cost of fail-fast: if multiple branches reject simultaneously, the
|
|
228
|
+
// other reasons are lost (only the first reaches the caller). Background
|
|
229
|
+
// completion of the other branches is harmless — no Phase A branch
|
|
230
|
+
// produces a host-visible resource that needs cleanup.
|
|
231
|
+
const [mcpPortalMaterialization, , , resolvedSecrets, image] = await Promise.all([
|
|
232
|
+
mcpPortalMaterializationPromise,
|
|
233
|
+
recoveryCleanupPromise,
|
|
234
|
+
assertionsPromise,
|
|
235
|
+
resolvedSecretsPromise,
|
|
236
|
+
imagePromise,
|
|
237
|
+
]);
|
|
238
|
+
const lifecycleZone = {
|
|
239
|
+
...mappedLifecycleZone,
|
|
240
|
+
...mcpPortalMaterialization,
|
|
241
|
+
egressHosts: mcpPortalMaterialization.egressHosts ?? mappedLifecycleZone.egressHosts,
|
|
242
|
+
...(options.runtimeEnvironment === undefined
|
|
243
|
+
? {}
|
|
244
|
+
: {
|
|
245
|
+
runtimeEnvironment: {
|
|
246
|
+
...mcpPortalMaterialization.runtimeEnvironment,
|
|
247
|
+
...options.runtimeEnvironment,
|
|
248
|
+
},
|
|
249
|
+
}),
|
|
250
|
+
...(options.runtimePluginConfigs === undefined
|
|
251
|
+
? {}
|
|
252
|
+
: {
|
|
253
|
+
runtimePluginConfigs: {
|
|
254
|
+
...mcpPortalMaterialization.runtimePluginConfigs,
|
|
255
|
+
...options.runtimePluginConfigs,
|
|
256
|
+
},
|
|
257
|
+
}),
|
|
258
|
+
};
|
|
186
259
|
await fs.mkdir(zone.gateway.stateDir, { recursive: true });
|
|
187
260
|
if (zone.gateway.type === 'openclaw') {
|
|
188
261
|
await fs.mkdir(zone.gateway.zoneFilesDir, { recursive: true });
|
|
@@ -194,9 +267,6 @@ export async function startGatewayZone(options, dependencies = {}) {
|
|
|
194
267
|
await fs.mkdir(logDir, { recursive: true, mode: 0o700 });
|
|
195
268
|
await fs.chmod(logDir, 0o700);
|
|
196
269
|
}
|
|
197
|
-
await runTaskStep('Preparing host state', async () => {
|
|
198
|
-
await lifecycle.prepareHostState?.(lifecycleZone, options.secretResolver);
|
|
199
|
-
});
|
|
200
270
|
const vmSpec = lifecycle.buildVmSpec({
|
|
201
271
|
controllerPort: options.systemConfig.host.controllerPort,
|
|
202
272
|
gatewayCacheDir,
|
|
@@ -220,7 +290,15 @@ export async function startGatewayZone(options, dependencies = {}) {
|
|
|
220
290
|
...options.vfsMountsOverride,
|
|
221
291
|
};
|
|
222
292
|
const createManagedVm = dependencies.createManagedVm ?? createManagedVmFromCore;
|
|
223
|
-
|
|
293
|
+
// Phase C: prepareHostState writes to stateDir (realfs-mounted live in
|
|
294
|
+
// the VM), which is only read by the bootstrap exec running INSIDE the
|
|
295
|
+
// VM — that runs after createManagedVm resolves. So the host-side
|
|
296
|
+
// writes can overlap with QEMU boot. Promise.allSettled lets us close
|
|
297
|
+
// an orphan VM if prep fails after the VM came up.
|
|
298
|
+
const prepHostStatePromise = runTaskStep('Preparing host state', async () => {
|
|
299
|
+
await lifecycle.prepareHostState?.(lifecycleZone, options.secretResolver);
|
|
300
|
+
});
|
|
301
|
+
const managedVmPromise = runTaskWithResult(runTaskStep, 'Booting gateway VM', async () => await createManagedVm({
|
|
224
302
|
allowedHosts: vmSpec.allowedHosts,
|
|
225
303
|
cpus: zone.gateway.cpus,
|
|
226
304
|
env: environment,
|
|
@@ -233,6 +311,42 @@ export async function startGatewayZone(options, dependencies = {}) {
|
|
|
233
311
|
tcpHosts,
|
|
234
312
|
vfsMounts,
|
|
235
313
|
}));
|
|
314
|
+
const [prepHostStateResult, managedVmResult] = await Promise.allSettled([
|
|
315
|
+
prepHostStatePromise,
|
|
316
|
+
managedVmPromise,
|
|
317
|
+
]);
|
|
318
|
+
// Aggregate any failures from either Phase C branch. If prep failed
|
|
319
|
+
// after the VM came up, close the VM before throwing. The outer guard
|
|
320
|
+
// handles all failure paths in one place so the happy path below can
|
|
321
|
+
// rely on TypeScript narrowing both settled results to `fulfilled`
|
|
322
|
+
// without a dead-code assertion.
|
|
323
|
+
if (prepHostStateResult.status === 'rejected' || managedVmResult.status === 'rejected') {
|
|
324
|
+
const phaseCErrors = [];
|
|
325
|
+
if (prepHostStateResult.status === 'rejected') {
|
|
326
|
+
phaseCErrors.push(toPhaseCError(prepHostStateResult.reason));
|
|
327
|
+
if (managedVmResult.status === 'fulfilled') {
|
|
328
|
+
try {
|
|
329
|
+
await managedVmResult.value.close();
|
|
330
|
+
}
|
|
331
|
+
catch (closeError) {
|
|
332
|
+
phaseCErrors.push(new Error(`Failed to close gateway VM after host-state prep failure: ${closeError instanceof Error ? closeError.message : String(closeError)}`, { cause: closeError }));
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
if (managedVmResult.status === 'rejected') {
|
|
337
|
+
phaseCErrors.push(toPhaseCError(managedVmResult.reason));
|
|
338
|
+
}
|
|
339
|
+
if (phaseCErrors.length > 1) {
|
|
340
|
+
throw new AggregateError(phaseCErrors, 'Phase C failed: prep host state and/or VM boot');
|
|
341
|
+
}
|
|
342
|
+
// At least one branch rejected, so phaseCErrors has exactly one entry.
|
|
343
|
+
const [singlePhaseCError] = phaseCErrors;
|
|
344
|
+
if (singlePhaseCError === undefined) {
|
|
345
|
+
throw new Error('Phase C unreachable: rejection branch with no collected errors');
|
|
346
|
+
}
|
|
347
|
+
throw singlePhaseCError;
|
|
348
|
+
}
|
|
349
|
+
const managedVm = managedVmResult.value;
|
|
236
350
|
try {
|
|
237
351
|
await runTaskStep('Configuring gateway', async () => {
|
|
238
352
|
await execGatewayCommand({
|
|
@@ -279,13 +393,16 @@ export async function startGatewayZone(options, dependencies = {}) {
|
|
|
279
393
|
: { upstreamResponseTimeoutMs: zone.gateway.ingress.upstreamResponseTimeoutMs }),
|
|
280
394
|
});
|
|
281
395
|
await runTaskStep('Recording gateway runtime', async () => {
|
|
282
|
-
await (dependencies.writeGatewayRuntimeRecord ?? writeGatewayRuntimeRecord)(zone.gateway.stateDir, buildGatewayRuntimeRecord({
|
|
396
|
+
await (dependencies.writeGatewayRuntimeRecord ?? writeGatewayRuntimeRecord)(zone.gateway.stateDir, await buildGatewayRuntimeRecord({
|
|
283
397
|
controllerPort: options.systemConfig.host.controllerPort,
|
|
284
398
|
gatewayType: zone.gateway.type,
|
|
285
399
|
ingressPort: ingress.port,
|
|
286
400
|
managedVm,
|
|
287
401
|
processSpec,
|
|
288
402
|
projectNamespace: options.systemConfig.host.projectNamespace,
|
|
403
|
+
...(dependencies.readProcessIdentity !== undefined
|
|
404
|
+
? { readProcessIdentity: dependencies.readProcessIdentity }
|
|
405
|
+
: {}),
|
|
289
406
|
systemConfigPath: options.systemConfig.systemConfigPath,
|
|
290
407
|
zoneId: zone.id,
|
|
291
408
|
}));
|
|
@@ -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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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LoadedSystemConfig } from '../config/system-config.js';
|
|
2
|
+
import { cleanupOrphanedToolVmsIfPresent, type ToolVmCleanupResult } from '../controller/leases/tool-vm-recovery.js';
|
|
2
3
|
import { cleanupOrphanedGatewayIfPresent } from '../gateway/gateway-recovery.js';
|
|
3
4
|
export interface ControllerOfflineCleanupResult {
|
|
4
5
|
readonly results: readonly {
|
|
@@ -6,12 +7,14 @@ export interface ControllerOfflineCleanupResult {
|
|
|
6
7
|
readonly cleanupWarning?: string;
|
|
7
8
|
readonly killedPid: number | null;
|
|
8
9
|
readonly stateDir: string;
|
|
10
|
+
readonly toolVmCleanup: ToolVmCleanupResult;
|
|
9
11
|
readonly zoneId: string;
|
|
10
12
|
}[];
|
|
11
13
|
}
|
|
12
14
|
interface ControllerOfflineCleanupDependencies {
|
|
13
15
|
readonly assertControllerUnavailableForOfflineCleanup?: (controllerPort: number) => Promise<void>;
|
|
14
16
|
readonly cleanupOrphanedGatewayIfPresent?: typeof cleanupOrphanedGatewayIfPresent;
|
|
17
|
+
readonly cleanupOrphanedToolVmsIfPresent?: typeof cleanupOrphanedToolVmsIfPresent;
|
|
15
18
|
}
|
|
16
19
|
export declare function runControllerOfflineCleanup(options: {
|
|
17
20
|
readonly force?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-offline-cleanup.d.ts","sourceRoot":"","sources":["../../src/operations/controller-offline-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAEjF,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS;QAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACJ;AA8CD,UAAU,oCAAoC;IAC7C,QAAQ,CAAC,4CAA4C,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClG,QAAQ,CAAC,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;CAClF;AAED,wBAAsB,2BAA2B,CAChD,OAAO,EAAE;IACR,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,EACD,YAAY,GAAE,oCAAyC,GACrD,OAAO,CAAC,8BAA8B,CAAC,
|
|
1
|
+
{"version":3,"file":"controller-offline-cleanup.d.ts","sourceRoot":"","sources":["../../src/operations/controller-offline-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EACN,+BAA+B,EAC/B,KAAK,mBAAmB,EACxB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAEjF,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS;QAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;QAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACJ;AA8CD,UAAU,oCAAoC;IAC7C,QAAQ,CAAC,4CAA4C,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClG,QAAQ,CAAC,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;IAClF,QAAQ,CAAC,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;CAClF;AAED,wBAAsB,2BAA2B,CAChD,OAAO,EAAE;IACR,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,EACD,YAAY,GAAE,oCAAyC,GACrD,OAAO,CAAC,8BAA8B,CAAC,CA6CzC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cleanupOrphanedToolVmsIfPresent, } from '../controller/leases/tool-vm-recovery.js';
|
|
1
2
|
import { cleanupOrphanedGatewayIfPresent } from '../gateway/gateway-recovery.js';
|
|
2
3
|
function isConnectionRefusedError(error) {
|
|
3
4
|
if (typeof error !== 'object' || error === null) {
|
|
@@ -44,13 +45,21 @@ export async function runControllerOfflineCleanup(options, dependencies = {}) {
|
|
|
44
45
|
await (dependencies.assertControllerUnavailableForOfflineCleanup ??
|
|
45
46
|
assertControllerUnavailableForOfflineCleanup)(options.systemConfig.host.controllerPort);
|
|
46
47
|
}
|
|
47
|
-
const
|
|
48
|
+
const cleanupToolVms = dependencies.cleanupOrphanedToolVmsIfPresent ?? cleanupOrphanedToolVmsIfPresent;
|
|
49
|
+
const cleanupGateway = dependencies.cleanupOrphanedGatewayIfPresent ?? cleanupOrphanedGatewayIfPresent;
|
|
48
50
|
const results = [];
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
const toolVmCleanup = await cleanupToolVms({
|
|
52
|
+
expectedConfigPath: options.systemConfig.systemConfigPath,
|
|
53
|
+
expectedControllerPort: options.systemConfig.host.controllerPort,
|
|
54
|
+
mode: 'offline-cleanup',
|
|
55
|
+
projectNamespace: options.systemConfig.host.projectNamespace,
|
|
56
|
+
stateDir: zone.gateway.stateDir,
|
|
57
|
+
tcpBasePort: options.systemConfig.tcpPool.basePort,
|
|
58
|
+
zoneId: zone.id,
|
|
59
|
+
});
|
|
60
|
+
const result = await cleanupGateway({
|
|
61
|
+
expectedConfigPath: options.systemConfig.systemConfigPath,
|
|
62
|
+
expectedControllerPort: options.systemConfig.host.controllerPort,
|
|
54
63
|
mode: 'offline-cleanup',
|
|
55
64
|
projectNamespace: options.systemConfig.host.projectNamespace,
|
|
56
65
|
stateDir: zone.gateway.stateDir,
|
|
@@ -59,6 +68,7 @@ export async function runControllerOfflineCleanup(options, dependencies = {}) {
|
|
|
59
68
|
results.push({
|
|
60
69
|
...result,
|
|
61
70
|
stateDir: zone.gateway.stateDir,
|
|
71
|
+
toolVmCleanup,
|
|
62
72
|
zoneId: zone.id,
|
|
63
73
|
});
|
|
64
74
|
return { results };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-offline-cleanup.js","sourceRoot":"","sources":["../../src/operations/controller-offline-cleanup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"controller-offline-cleanup.js","sourceRoot":"","sources":["../../src/operations/controller-offline-cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroy-zone.d.ts","sourceRoot":"","sources":["../../src/operations/destroy-zone.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,wBAAsB,oBAAoB,CACzC,OAAO,EAAE;IACR,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,EACD,YAAY,EAAE;IACb,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D,GACC,OAAO,CAAC;IACV,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,CAAC,
|
|
1
|
+
{"version":3,"file":"destroy-zone.d.ts","sourceRoot":"","sources":["../../src/operations/destroy-zone.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,wBAAsB,oBAAoB,CACzC,OAAO,EAAE;IACR,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,EACD,YAAY,EAAE;IACb,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D,GACC,OAAO,CAAC;IACV,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,CAAC,CAoCD"}
|
|
@@ -17,6 +17,11 @@ export async function runControllerDestroy(options, dependencies) {
|
|
|
17
17
|
force: true,
|
|
18
18
|
recursive: true,
|
|
19
19
|
});
|
|
20
|
+
// Do NOT broaden this to `fs.rm(runtimeDir/zones/<zone>)`.
|
|
21
|
+
// runtimeDir/zones/<zone>/zone-git/ holds the authoritative git store for
|
|
22
|
+
// committed-but-unpushed zone work and is referenced via a `gitdir:` pointer
|
|
23
|
+
// in the backed-up zoneFilesDir/.git. See
|
|
24
|
+
// docs/architecture/storage-model.md "runtimeDir is two lifecycles".
|
|
20
25
|
if (zone.gateway.type === 'openclaw') {
|
|
21
26
|
await fs.rm(zone.gateway.zoneFilesDir, { force: true, recursive: true });
|
|
22
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroy-zone.js","sourceRoot":"","sources":["../../src/operations/destroy-zone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,OAIC,EACD,YAGC;IAMD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAC3C,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CACtD,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE;YAChF,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;YACjF,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC;IAED,OAAO;QACN,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"destroy-zone.js","sourceRoot":"","sources":["../../src/operations/destroy-zone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,OAIC,EACD,YAGC;IAMD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAC3C,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CACtD,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE;YAChF,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;YACjF,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QACH,2DAA2D;QAC3D,0EAA0E;QAC1E,6EAA6E;QAC7E,0CAA0C;QAC1C,qEAAqE;QACrE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC;IAED,OAAO;QACN,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare function isProcessAlive(pid: number): boolean;
|
|
2
|
+
export declare function readProcessCommand(pid: number): Promise<string | null>;
|
|
3
|
+
export interface ProcessIdentity {
|
|
4
|
+
readonly lstart: string;
|
|
5
|
+
readonly command: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function readProcessIdentity(pid: number): Promise<ProcessIdentity | null>;
|
|
8
|
+
export declare function parseProcessIdentityOutput(line: string): ProcessIdentity | null;
|
|
9
|
+
export declare function isManagedVmProcess(command: string): boolean;
|
|
10
|
+
export declare function processIdentityMatches(recorded: ProcessIdentity, current: ProcessIdentity): boolean;
|
|
11
|
+
export declare function killProcess(pid: number, signal: NodeJS.Signals): void;
|
|
12
|
+
export declare function isNoSuchProcessError(error: unknown): boolean;
|
|
13
|
+
export declare function sleep(delayMs: number): Promise<void>;
|
|
14
|
+
export declare function waitForExit(options: {
|
|
15
|
+
readonly pid: number;
|
|
16
|
+
readonly processIsAlive: (pid: number) => boolean;
|
|
17
|
+
readonly sleep: (delayMs: number) => Promise<void>;
|
|
18
|
+
readonly timeoutMs: number;
|
|
19
|
+
}): Promise<boolean>;
|
|
20
|
+
export interface ManagedVmKillDependencies {
|
|
21
|
+
readonly isProcessAlive: (pid: number) => boolean;
|
|
22
|
+
readonly killProcess: (pid: number, signal: NodeJS.Signals) => void;
|
|
23
|
+
readonly readProcessCommand: (pid: number) => Promise<string | null>;
|
|
24
|
+
readonly readProcessIdentity?: (pid: number) => Promise<ProcessIdentity | null>;
|
|
25
|
+
readonly sleep: (delayMs: number) => Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export declare function killOrphanedManagedVmProcess(options: {
|
|
28
|
+
readonly contextLabel: string;
|
|
29
|
+
readonly dependencies: ManagedVmKillDependencies;
|
|
30
|
+
readonly pid: number;
|
|
31
|
+
readonly recordedIdentity?: ProcessIdentity;
|
|
32
|
+
}): Promise<number | null>;
|
|
33
|
+
//# sourceMappingURL=managed-vm-process.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-vm-process.d.ts","sourceRoot":"","sources":["../../src/shared/managed-vm-process.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAenD;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW5E;AASD,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAwBtF;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAW/E;AA6BD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,eAAe,GACtB,OAAO,CAET;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAerE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,OAAO,CAAC,CAUnB;AAED,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AA+DD,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC3D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACjD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuEzB"}
|