@agent-vm/agent-vm 0.0.91 → 0.0.92
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/build/gondolin-image-builder.d.ts +1 -0
- package/dist/build/gondolin-image-builder.d.ts.map +1 -1
- package/dist/build/gondolin-image-builder.js +11 -1
- package/dist/build/gondolin-image-builder.js.map +1 -1
- package/dist/cli/commands/create-app.d.ts +18 -18
- package/dist/cli/manual-templates.d.ts.map +1 -1
- package/dist/cli/manual-templates.js +4 -0
- package/dist/cli/manual-templates.js.map +1 -1
- package/dist/config/system-config.d.ts +8 -0
- package/dist/config/system-config.d.ts.map +1 -1
- package/dist/config/system-config.js +39 -0
- package/dist/config/system-config.js.map +1 -1
- package/dist/controller/controller-runtime-types.d.ts +2 -0
- package/dist/controller/controller-runtime-types.d.ts.map +1 -1
- package/dist/controller/controller-runtime.d.ts +1 -0
- package/dist/controller/controller-runtime.d.ts.map +1 -1
- package/dist/controller/controller-runtime.js +129 -3
- package/dist/controller/controller-runtime.js.map +1 -1
- package/dist/controller/health/gateway-service-health-monitor.d.ts +33 -3
- package/dist/controller/health/gateway-service-health-monitor.d.ts.map +1 -1
- package/dist/controller/health/gateway-service-health-monitor.js +209 -10
- package/dist/controller/health/gateway-service-health-monitor.js.map +1 -1
- package/dist/controller/health/gateway-vm-recovery-policy.d.ts +48 -0
- package/dist/controller/health/gateway-vm-recovery-policy.d.ts.map +1 -0
- package/dist/controller/health/gateway-vm-recovery-policy.js +135 -0
- package/dist/controller/health/gateway-vm-recovery-policy.js.map +1 -0
- package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts +8 -0
- package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts.map +1 -1
- package/dist/controller/zone-runtimes/openclaw-zone-runtime.js +116 -12
- package/dist/controller/zone-runtimes/openclaw-zone-runtime.js.map +1 -1
- package/dist/controller/zone-runtimes/zone-runtime-types.d.ts +7 -1
- package/dist/controller/zone-runtimes/zone-runtime-types.d.ts.map +1 -1
- package/dist/integration-tests/smoke-harness.d.ts.map +1 -1
- package/dist/integration-tests/smoke-harness.js +25 -17
- package/dist/integration-tests/smoke-harness.js.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { GatewayRecoveryHealthReason } from '@agent-vm/gateway-interface';
|
|
2
|
+
export type GatewayVmRecoveryObservationResult = 'failed' | 'ok' | 'stale' | 'timeout' | 'unobserved';
|
|
3
|
+
export type GatewayVmRecoveryReason = GatewayRecoveryHealthReason;
|
|
4
|
+
export interface GatewayVmAutoRecoveryPolicy {
|
|
5
|
+
readonly consecutiveFailureThreshold: number;
|
|
6
|
+
readonly cooldownMs: number;
|
|
7
|
+
readonly enabled: boolean;
|
|
8
|
+
readonly failedRecoveryResetMs: number;
|
|
9
|
+
readonly maxConsecutiveFailedRecoveries: number;
|
|
10
|
+
readonly restartTimeoutMs: number;
|
|
11
|
+
}
|
|
12
|
+
export interface CreateGatewayVmRecoveryTrackerOptions {
|
|
13
|
+
readonly policy: GatewayVmAutoRecoveryPolicy;
|
|
14
|
+
}
|
|
15
|
+
export interface GatewayVmRecoveryObservation {
|
|
16
|
+
readonly observedAtMs: number;
|
|
17
|
+
readonly result: GatewayVmRecoveryObservationResult;
|
|
18
|
+
readonly zoneId: string;
|
|
19
|
+
}
|
|
20
|
+
export interface GatewayVmRecoveryLifecycleEvent {
|
|
21
|
+
readonly observedAtMs: number;
|
|
22
|
+
readonly result?: 'failed' | 'ok' | undefined;
|
|
23
|
+
readonly zoneId: string;
|
|
24
|
+
}
|
|
25
|
+
export type GatewayVmRecoveryDecision = {
|
|
26
|
+
readonly consecutiveFailures: number;
|
|
27
|
+
readonly kind: 'none';
|
|
28
|
+
readonly reason?: 'cooldown' | 'disabled' | 'in-flight' | 'unobserved' | undefined;
|
|
29
|
+
} | {
|
|
30
|
+
readonly consecutiveFailures: number;
|
|
31
|
+
readonly kind: 'restart';
|
|
32
|
+
readonly reason: GatewayVmRecoveryReason;
|
|
33
|
+
readonly zoneId: string;
|
|
34
|
+
} | {
|
|
35
|
+
readonly consecutiveFailedRecoveries: number;
|
|
36
|
+
readonly consecutiveFailures: number;
|
|
37
|
+
readonly kind: 'suspended';
|
|
38
|
+
readonly reason: 'max-failed-recoveries';
|
|
39
|
+
readonly zoneId: string;
|
|
40
|
+
};
|
|
41
|
+
export interface GatewayVmRecoveryTracker {
|
|
42
|
+
readonly markRecoveryFinished: (event: GatewayVmRecoveryLifecycleEvent) => void;
|
|
43
|
+
readonly markRecoveryStarted: (event: GatewayVmRecoveryLifecycleEvent) => void;
|
|
44
|
+
readonly recordGatewayControlLinkObservation: (observation: GatewayVmRecoveryObservation) => GatewayVmRecoveryDecision;
|
|
45
|
+
readonly recordGatewayServiceProbe: (observation: GatewayVmRecoveryObservation) => GatewayVmRecoveryDecision;
|
|
46
|
+
}
|
|
47
|
+
export declare function createGatewayVmRecoveryTracker(options: CreateGatewayVmRecoveryTrackerOptions): GatewayVmRecoveryTracker;
|
|
48
|
+
//# sourceMappingURL=gateway-vm-recovery-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-vm-recovery-policy.d.ts","sourceRoot":"","sources":["../../../src/controller/health/gateway-vm-recovery-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE/E,MAAM,MAAM,kCAAkC,GAC3C,QAAQ,GACR,IAAI,GACJ,OAAO,GACP,SAAS,GACT,YAAY,CAAC;AAEhB,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAElE,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qCAAqC;IACrD,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;CAC7C;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,kCAAkC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,yBAAyB,GAClC;IACA,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;CAClF,GACD;IACA,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACvB,GACD;IACA,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACvB,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,IAAI,CAAC;IAChF,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,IAAI,CAAC;IAC/E,QAAQ,CAAC,mCAAmC,EAAE,CAC7C,WAAW,EAAE,4BAA4B,KACrC,yBAAyB,CAAC;IAC/B,QAAQ,CAAC,yBAAyB,EAAE,CACnC,WAAW,EAAE,4BAA4B,KACrC,yBAAyB,CAAC;CAC/B;AAqGD,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,qCAAqC,GAC5C,wBAAwB,CA4E1B"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
const createInitialGatewayVmRecoveryTrackerState = () => ({
|
|
2
|
+
consecutiveFailedRecoveries: 0,
|
|
3
|
+
gatewayControlLinkConsecutiveFailures: 0,
|
|
4
|
+
gatewayServiceConsecutiveFailures: 0,
|
|
5
|
+
lastRecoveryAttemptAtMs: undefined,
|
|
6
|
+
recoveryInFlight: false,
|
|
7
|
+
});
|
|
8
|
+
function isHealthyObservation(result) {
|
|
9
|
+
return result === 'ok';
|
|
10
|
+
}
|
|
11
|
+
function isDegradedObservation(result) {
|
|
12
|
+
return result === 'failed' || result === 'stale' || result === 'timeout';
|
|
13
|
+
}
|
|
14
|
+
function isWithinCooldown(state, policy, observedAtMs) {
|
|
15
|
+
return (state.lastRecoveryAttemptAtMs !== undefined &&
|
|
16
|
+
observedAtMs - state.lastRecoveryAttemptAtMs < policy.cooldownMs);
|
|
17
|
+
}
|
|
18
|
+
function hasActiveRecoverySuspension(state, policy, observedAtMs) {
|
|
19
|
+
return (state.consecutiveFailedRecoveries >= policy.maxConsecutiveFailedRecoveries &&
|
|
20
|
+
state.lastRecoveryAttemptAtMs !== undefined &&
|
|
21
|
+
observedAtMs - state.lastRecoveryAttemptAtMs < policy.failedRecoveryResetMs);
|
|
22
|
+
}
|
|
23
|
+
function resetFailedRecoveriesIfSuspensionExpired(state, policy, observedAtMs) {
|
|
24
|
+
if (state.consecutiveFailedRecoveries >= policy.maxConsecutiveFailedRecoveries &&
|
|
25
|
+
state.lastRecoveryAttemptAtMs !== undefined &&
|
|
26
|
+
observedAtMs - state.lastRecoveryAttemptAtMs >= policy.failedRecoveryResetMs) {
|
|
27
|
+
state.consecutiveFailedRecoveries = 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function decideRecovery(props) {
|
|
31
|
+
if (!props.policy.enabled) {
|
|
32
|
+
return { consecutiveFailures: props.consecutiveFailures, kind: 'none', reason: 'disabled' };
|
|
33
|
+
}
|
|
34
|
+
if (props.state.recoveryInFlight) {
|
|
35
|
+
return { consecutiveFailures: props.consecutiveFailures, kind: 'none', reason: 'in-flight' };
|
|
36
|
+
}
|
|
37
|
+
if (props.consecutiveFailures < props.policy.consecutiveFailureThreshold) {
|
|
38
|
+
return { consecutiveFailures: props.consecutiveFailures, kind: 'none' };
|
|
39
|
+
}
|
|
40
|
+
if (isWithinCooldown(props.state, props.policy, props.observedAtMs)) {
|
|
41
|
+
return { consecutiveFailures: props.consecutiveFailures, kind: 'none', reason: 'cooldown' };
|
|
42
|
+
}
|
|
43
|
+
resetFailedRecoveriesIfSuspensionExpired(props.state, props.policy, props.observedAtMs);
|
|
44
|
+
if (hasActiveRecoverySuspension(props.state, props.policy, props.observedAtMs)) {
|
|
45
|
+
return {
|
|
46
|
+
consecutiveFailedRecoveries: props.state.consecutiveFailedRecoveries,
|
|
47
|
+
consecutiveFailures: props.consecutiveFailures,
|
|
48
|
+
kind: 'suspended',
|
|
49
|
+
reason: 'max-failed-recoveries',
|
|
50
|
+
zoneId: props.zoneId,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
consecutiveFailures: props.consecutiveFailures,
|
|
55
|
+
kind: 'restart',
|
|
56
|
+
reason: props.reason,
|
|
57
|
+
zoneId: props.zoneId,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function createGatewayVmRecoveryTracker(options) {
|
|
61
|
+
const stateByZoneId = new Map();
|
|
62
|
+
const getStateForZone = (zoneId) => {
|
|
63
|
+
const existingState = stateByZoneId.get(zoneId);
|
|
64
|
+
if (existingState) {
|
|
65
|
+
return existingState;
|
|
66
|
+
}
|
|
67
|
+
const state = createInitialGatewayVmRecoveryTrackerState();
|
|
68
|
+
stateByZoneId.set(zoneId, state);
|
|
69
|
+
return state;
|
|
70
|
+
};
|
|
71
|
+
return {
|
|
72
|
+
markRecoveryFinished(event) {
|
|
73
|
+
const state = getStateForZone(event.zoneId);
|
|
74
|
+
state.recoveryInFlight = false;
|
|
75
|
+
if (event.result === 'ok') {
|
|
76
|
+
state.consecutiveFailedRecoveries = 0;
|
|
77
|
+
state.gatewayControlLinkConsecutiveFailures = 0;
|
|
78
|
+
state.gatewayServiceConsecutiveFailures = 0;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (event.result === 'failed') {
|
|
82
|
+
state.consecutiveFailedRecoveries += 1;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
markRecoveryStarted(event) {
|
|
86
|
+
const state = getStateForZone(event.zoneId);
|
|
87
|
+
state.lastRecoveryAttemptAtMs = event.observedAtMs;
|
|
88
|
+
state.recoveryInFlight = true;
|
|
89
|
+
},
|
|
90
|
+
recordGatewayControlLinkObservation(observation) {
|
|
91
|
+
const state = getStateForZone(observation.zoneId);
|
|
92
|
+
if (observation.result === 'unobserved') {
|
|
93
|
+
return {
|
|
94
|
+
consecutiveFailures: state.gatewayControlLinkConsecutiveFailures,
|
|
95
|
+
kind: 'none',
|
|
96
|
+
reason: 'unobserved',
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
if (isHealthyObservation(observation.result)) {
|
|
100
|
+
state.gatewayControlLinkConsecutiveFailures = 0;
|
|
101
|
+
return { consecutiveFailures: 0, kind: 'none' };
|
|
102
|
+
}
|
|
103
|
+
if (isDegradedObservation(observation.result)) {
|
|
104
|
+
state.gatewayControlLinkConsecutiveFailures += 1;
|
|
105
|
+
}
|
|
106
|
+
return decideRecovery({
|
|
107
|
+
consecutiveFailures: state.gatewayControlLinkConsecutiveFailures,
|
|
108
|
+
observedAtMs: observation.observedAtMs,
|
|
109
|
+
policy: options.policy,
|
|
110
|
+
reason: 'gateway-control-link-unhealthy',
|
|
111
|
+
state,
|
|
112
|
+
zoneId: observation.zoneId,
|
|
113
|
+
});
|
|
114
|
+
},
|
|
115
|
+
recordGatewayServiceProbe(observation) {
|
|
116
|
+
const state = getStateForZone(observation.zoneId);
|
|
117
|
+
if (isHealthyObservation(observation.result)) {
|
|
118
|
+
state.gatewayServiceConsecutiveFailures = 0;
|
|
119
|
+
return { consecutiveFailures: 0, kind: 'none' };
|
|
120
|
+
}
|
|
121
|
+
if (isDegradedObservation(observation.result)) {
|
|
122
|
+
state.gatewayServiceConsecutiveFailures += 1;
|
|
123
|
+
}
|
|
124
|
+
return decideRecovery({
|
|
125
|
+
consecutiveFailures: state.gatewayServiceConsecutiveFailures,
|
|
126
|
+
observedAtMs: observation.observedAtMs,
|
|
127
|
+
policy: options.policy,
|
|
128
|
+
reason: 'gateway-service-unhealthy',
|
|
129
|
+
state,
|
|
130
|
+
zoneId: observation.zoneId,
|
|
131
|
+
});
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=gateway-vm-recovery-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-vm-recovery-policy.js","sourceRoot":"","sources":["../../../src/controller/health/gateway-vm-recovery-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ type OpenClawZoneConfig = ControllerZoneConfig & {
|
|
|
13
13
|
}>;
|
|
14
14
|
};
|
|
15
15
|
export interface CreateOpenClawZoneRuntimeOptions {
|
|
16
|
+
readonly clearTimeoutImpl?: ((timer: NodeJS.Timeout) => void) | undefined;
|
|
17
|
+
readonly closeGatewayTimeoutMs?: number | undefined;
|
|
16
18
|
readonly deleteGatewayRuntimeRecord?: (stateDirectory: string) => Promise<void>;
|
|
17
19
|
readonly leaseManager: Pick<LeaseManager, 'listLeases' | 'releaseLease'>;
|
|
18
20
|
readonly now: () => number;
|
|
@@ -22,9 +24,15 @@ export interface CreateOpenClawZoneRuntimeOptions {
|
|
|
22
24
|
readonly runControllerLogs?: typeof runControllerLogsDefault;
|
|
23
25
|
readonly runControllerUpgrade?: typeof runControllerUpgradeDefault;
|
|
24
26
|
readonly secretResolver: SecretResolver;
|
|
27
|
+
readonly setTimeoutImpl?: ((callback: () => void, delayMs: number) => NodeJS.Timeout) | undefined;
|
|
25
28
|
readonly systemConfig: LoadedSystemConfig;
|
|
26
29
|
readonly zone: OpenClawZoneConfig;
|
|
27
30
|
}
|
|
31
|
+
declare class OpenClawZoneRestartTimeoutError extends Error {
|
|
32
|
+
readonly code = "OPENCLAW_GATEWAY_RESTART_TIMEOUT";
|
|
33
|
+
constructor(zoneId: string, timeoutMs: number);
|
|
34
|
+
}
|
|
35
|
+
export declare function isOpenClawZoneRestartTimeoutError(error: unknown): error is OpenClawZoneRestartTimeoutError;
|
|
28
36
|
export declare function createOpenClawZoneRuntime(options: CreateOpenClawZoneRuntimeOptions): OpenClawZoneRuntime;
|
|
29
37
|
export {};
|
|
30
38
|
//# sourceMappingURL=openclaw-zone-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-zone-runtime.d.ts","sourceRoot":"","sources":["../../../src/controller/zone-runtimes/openclaw-zone-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAKxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,+BAA+B,IAAI,sCAAsC,EAAE,MAAM,yCAAyC,CAAC;AACpI,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK/D,OAAO,KAAK,EACX,oBAAoB,EAEpB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"openclaw-zone-runtime.d.ts","sourceRoot":"","sources":["../../../src/controller/zone-runtimes/openclaw-zone-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAKxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,+BAA+B,IAAI,sCAAsC,EAAE,MAAM,yCAAyC,CAAC;AACpI,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK/D,OAAO,KAAK,EACX,oBAAoB,EAEpB,mBAAmB,EAGnB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,kBAAkB,GAAG,oBAAoB,GAAG;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;CAC1F,CAAC;AAEF,MAAM,WAAW,gCAAgC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1E,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClF,QAAQ,CAAC,+BAA+B,CAAC,EAAE,OAAO,sCAAsC,CAAC;IACzF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,2BAA2B,CAAC;IACnE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,wBAAwB,CAAC;IAC7D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,2BAA2B,CAAC;IACnE,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAClG,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CAClC;AAID,cAAM,+BAAgC,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,sCAAsC;gBAEvC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAI7C;AAED,wBAAgB,iCAAiC,CAChD,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,+BAA+B,CAI1C;AAoBD,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,gCAAgC,GACvC,mBAAmB,CAuQrB"}
|
|
@@ -7,6 +7,17 @@ import { runControllerDestroy as runControllerDestroyDefault } from '../../opera
|
|
|
7
7
|
import { runControllerUpgrade as runControllerUpgradeDefault } from '../../operations/upgrade-zone.js';
|
|
8
8
|
import { runControllerLogs as runControllerLogsDefault } from '../../operations/zone-logs.js';
|
|
9
9
|
import { ControllerZoneRuntimeStartError, ControllerZoneRuntimeUnavailableError, } from './zone-runtime-errors.js';
|
|
10
|
+
const defaultGatewayCloseTimeoutMs = 60_000;
|
|
11
|
+
class OpenClawZoneRestartTimeoutError extends Error {
|
|
12
|
+
code = 'OPENCLAW_GATEWAY_RESTART_TIMEOUT';
|
|
13
|
+
constructor(zoneId, timeoutMs) {
|
|
14
|
+
super(`OpenClaw gateway restart timed out for zone '${zoneId}' after ${timeoutMs}ms`);
|
|
15
|
+
this.name = 'OpenClawZoneRestartTimeoutError';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function isOpenClawZoneRestartTimeoutError(error) {
|
|
19
|
+
return (error instanceof Error && 'code' in error && error.code === 'OPENCLAW_GATEWAY_RESTART_TIMEOUT');
|
|
20
|
+
}
|
|
10
21
|
function formatUnknownError(error) {
|
|
11
22
|
return error instanceof Error ? error.message : String(error);
|
|
12
23
|
}
|
|
@@ -19,10 +30,18 @@ function buildOpenClawCombinedLogsCommand(logPath) {
|
|
|
19
30
|
'latest_openclaw_log=$(ls -1t /agent-vm/logs/*.log 2>/dev/null | grep -v "/gateway-boot-latest\\.log$" | head -n 1); if [ -n "$latest_openclaw_log" ]; then tail -n 400 "$latest_openclaw_log"; fi',
|
|
20
31
|
].join('; ');
|
|
21
32
|
}
|
|
33
|
+
function writeOpenClawZoneRuntimeLog(message) {
|
|
34
|
+
process.stderr.write(`[openclaw-zone-runtime] ${message}\n`);
|
|
35
|
+
}
|
|
22
36
|
export function createOpenClawZoneRuntime(options) {
|
|
37
|
+
const clearTimeoutImpl = options.clearTimeoutImpl ?? clearTimeout;
|
|
38
|
+
const closeGatewayTimeoutMs = options.closeGatewayTimeoutMs ?? defaultGatewayCloseTimeoutMs;
|
|
39
|
+
const setTimeoutImpl = options.setTimeoutImpl ?? setTimeout;
|
|
23
40
|
let gateway;
|
|
24
41
|
let bootedAt;
|
|
25
42
|
let lastError;
|
|
43
|
+
let lifecycleOperation = Promise.resolve();
|
|
44
|
+
let lifecycleGeneration = 0;
|
|
26
45
|
const startGateway = async () => options.restartGatewayZone
|
|
27
46
|
? await options.restartGatewayZone(options.zone.id)
|
|
28
47
|
: await startGatewayZone({
|
|
@@ -36,19 +55,68 @@ export function createOpenClawZoneRuntime(options) {
|
|
|
36
55
|
}
|
|
37
56
|
return gateway;
|
|
38
57
|
};
|
|
39
|
-
const
|
|
58
|
+
const runLifecycleOperation = async (operation) => {
|
|
59
|
+
const operationPromise = lifecycleOperation.then(operation, operation);
|
|
60
|
+
lifecycleOperation = operationPromise.then(() => undefined, () => undefined);
|
|
61
|
+
return await operationPromise;
|
|
62
|
+
};
|
|
63
|
+
const releaseZoneLeases = async (zoneId) => {
|
|
64
|
+
const leases = options.leaseManager
|
|
65
|
+
.listLeases()
|
|
66
|
+
.filter((activeLease) => activeLease.zoneId === zoneId);
|
|
67
|
+
const releaseResults = await Promise.allSettled(leases.map(async (lease) => await options.leaseManager.releaseLease(lease.id, { force: true })));
|
|
68
|
+
const failedLeaseIds = [];
|
|
69
|
+
for (const [index, releaseResult] of releaseResults.entries()) {
|
|
70
|
+
if (releaseResult.status === 'fulfilled') {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const leaseId = leases[index]?.id ?? `(unknown lease at index ${index})`;
|
|
74
|
+
failedLeaseIds.push(leaseId);
|
|
75
|
+
writeOpenClawZoneRuntimeLog(`lease '${leaseId}' release failed while restarting zone '${zoneId}': ${formatUnknownError(releaseResult.reason)}`);
|
|
76
|
+
}
|
|
77
|
+
return { failedLeaseIds };
|
|
78
|
+
};
|
|
79
|
+
const closeGatewayWithDeadline = async (activeGateway) => {
|
|
80
|
+
let timeout;
|
|
81
|
+
try {
|
|
82
|
+
await Promise.race([
|
|
83
|
+
activeGateway.vm.close(),
|
|
84
|
+
new Promise((_resolve, reject) => {
|
|
85
|
+
timeout = setTimeoutImpl(() => {
|
|
86
|
+
reject(new Error(`Gateway VM close timed out for zone '${options.zone.id}' after ${closeGatewayTimeoutMs}ms`));
|
|
87
|
+
}, closeGatewayTimeoutMs);
|
|
88
|
+
timeout.unref?.();
|
|
89
|
+
}),
|
|
90
|
+
]);
|
|
91
|
+
}
|
|
92
|
+
finally {
|
|
93
|
+
if (timeout) {
|
|
94
|
+
clearTimeoutImpl(timeout);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
const stopNow = async () => {
|
|
40
99
|
const activeGateway = gateway;
|
|
41
100
|
gateway = undefined;
|
|
42
101
|
bootedAt = undefined;
|
|
43
102
|
lastError = undefined;
|
|
44
103
|
if (activeGateway) {
|
|
45
|
-
await activeGateway
|
|
104
|
+
await closeGatewayWithDeadline(activeGateway);
|
|
46
105
|
}
|
|
47
106
|
await (options.deleteGatewayRuntimeRecord ?? deleteGatewayRuntimeRecordDefault)(options.zone.gateway.stateDir);
|
|
48
107
|
};
|
|
49
|
-
const
|
|
108
|
+
const startNow = async (expectedGeneration) => {
|
|
50
109
|
try {
|
|
51
110
|
const startedGateway = await startGateway();
|
|
111
|
+
if (expectedGeneration !== undefined && expectedGeneration !== lifecycleGeneration) {
|
|
112
|
+
try {
|
|
113
|
+
await closeGatewayWithDeadline(startedGateway);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
writeOpenClawZoneRuntimeLog(`stale gateway start cleanup failed for zone '${options.zone.id}': ${formatUnknownError(error)}`);
|
|
117
|
+
}
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
52
120
|
gateway = startedGateway;
|
|
53
121
|
bootedAt = new Date(options.now()).toISOString();
|
|
54
122
|
lastError = undefined;
|
|
@@ -60,17 +128,49 @@ export function createOpenClawZoneRuntime(options) {
|
|
|
60
128
|
throw new ControllerZoneRuntimeStartError(options.zone.id, error);
|
|
61
129
|
}
|
|
62
130
|
};
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
131
|
+
const stop = async () => await runLifecycleOperation(async () => await stopNow());
|
|
132
|
+
const start = async () => await runLifecycleOperation(async () => await startNow());
|
|
133
|
+
const restart = async (restartOptions = {}) => {
|
|
134
|
+
return await runLifecycleOperation(async () => {
|
|
135
|
+
lifecycleGeneration += 1;
|
|
136
|
+
const operationGeneration = lifecycleGeneration;
|
|
137
|
+
const restartOperation = (async () => {
|
|
138
|
+
const leaseReleaseResult = await releaseZoneLeases(options.zone.id);
|
|
139
|
+
await stopNow();
|
|
140
|
+
await startNow(operationGeneration);
|
|
141
|
+
if (operationGeneration !== lifecycleGeneration) {
|
|
142
|
+
throw new OpenClawZoneRestartTimeoutError(options.zone.id, restartOptions.timeoutMs ?? 0);
|
|
143
|
+
}
|
|
144
|
+
return { leaseReleaseFailureCount: leaseReleaseResult.failedLeaseIds.length };
|
|
145
|
+
})();
|
|
146
|
+
if (restartOptions.timeoutMs === undefined) {
|
|
147
|
+
return await restartOperation;
|
|
148
|
+
}
|
|
149
|
+
const restartTimeoutMs = restartOptions.timeoutMs;
|
|
150
|
+
let timeout;
|
|
151
|
+
try {
|
|
152
|
+
return await Promise.race([
|
|
153
|
+
restartOperation,
|
|
154
|
+
new Promise((_resolve, reject) => {
|
|
155
|
+
timeout = setTimeoutImpl(() => {
|
|
156
|
+
lifecycleGeneration += 1;
|
|
157
|
+
reject(new OpenClawZoneRestartTimeoutError(options.zone.id, restartTimeoutMs));
|
|
158
|
+
}, restartTimeoutMs);
|
|
159
|
+
timeout.unref?.();
|
|
160
|
+
}),
|
|
161
|
+
]);
|
|
162
|
+
}
|
|
163
|
+
finally {
|
|
164
|
+
if (timeout) {
|
|
165
|
+
clearTimeoutImpl(timeout);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
});
|
|
66
169
|
};
|
|
67
170
|
return {
|
|
68
171
|
destroy: async (purge) => await (options.runControllerDestroy ?? runControllerDestroyDefault)({ purge, systemConfig: options.systemConfig, zoneId: options.zone.id }, {
|
|
69
172
|
releaseZoneLeases: async (zoneId) => {
|
|
70
|
-
await
|
|
71
|
-
.listLeases()
|
|
72
|
-
.filter((activeLease) => activeLease.zoneId === zoneId)
|
|
73
|
-
.map(async (lease) => await options.leaseManager.releaseLease(lease.id, { force: true })));
|
|
173
|
+
await releaseZoneLeases(zoneId);
|
|
74
174
|
},
|
|
75
175
|
stopGatewayZone: async () => await stop(),
|
|
76
176
|
}),
|
|
@@ -124,7 +224,9 @@ export function createOpenClawZoneRuntime(options) {
|
|
|
124
224
|
zoneId,
|
|
125
225
|
});
|
|
126
226
|
},
|
|
127
|
-
restartGatewayZone: async () =>
|
|
227
|
+
restartGatewayZone: async () => {
|
|
228
|
+
await restart();
|
|
229
|
+
},
|
|
128
230
|
}),
|
|
129
231
|
restart,
|
|
130
232
|
shutdown: stop,
|
|
@@ -132,7 +234,9 @@ export function createOpenClawZoneRuntime(options) {
|
|
|
132
234
|
stop,
|
|
133
235
|
upgrade: async () => await (options.runControllerUpgrade ?? runControllerUpgradeDefault)({ systemConfig: options.systemConfig, zoneId: options.zone.id }, {
|
|
134
236
|
rebuildGatewayImage: async () => { },
|
|
135
|
-
restartGatewayZone: async () =>
|
|
237
|
+
restartGatewayZone: async () => {
|
|
238
|
+
await restart();
|
|
239
|
+
},
|
|
136
240
|
}),
|
|
137
241
|
zoneId: options.zone.id,
|
|
138
242
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-zone-runtime.js","sourceRoot":"","sources":["../../../src/controller/zone-runtimes/openclaw-zone-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,IAAI,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC1H,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE9E,OAAO,EAAE,+BAA+B,IAAI,sCAAsC,EAAE,MAAM,yCAAyC,CAAC;AACpI,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9F,OAAO,EACN,+BAA+B,EAC/B,qCAAqC,GACrC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"openclaw-zone-runtime.js","sourceRoot":"","sources":["../../../src/controller/zone-runtimes/openclaw-zone-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,7 +55,7 @@ export interface OpenClawZoneRuntime extends ControllerZoneRuntimeBase {
|
|
|
55
55
|
readonly ok: true;
|
|
56
56
|
readonly zoneId: string;
|
|
57
57
|
}>;
|
|
58
|
-
restart(): Promise<
|
|
58
|
+
restart(options?: OpenClawZoneRestartOptions): Promise<OpenClawZoneRestartResult>;
|
|
59
59
|
start(): Promise<void>;
|
|
60
60
|
stop(): Promise<void>;
|
|
61
61
|
upgrade(): Promise<{
|
|
@@ -63,6 +63,12 @@ export interface OpenClawZoneRuntime extends ControllerZoneRuntimeBase {
|
|
|
63
63
|
readonly zoneId: string;
|
|
64
64
|
}>;
|
|
65
65
|
}
|
|
66
|
+
export interface OpenClawZoneRestartResult {
|
|
67
|
+
readonly leaseReleaseFailureCount: number;
|
|
68
|
+
}
|
|
69
|
+
export interface OpenClawZoneRestartOptions {
|
|
70
|
+
readonly timeoutMs?: number | undefined;
|
|
71
|
+
}
|
|
66
72
|
export interface WorkerZoneRuntime extends ControllerZoneRuntimeBase {
|
|
67
73
|
readonly gatewayType: 'worker';
|
|
68
74
|
closeTaskForZone(taskId: string): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone-runtime-types.d.ts","sourceRoot":"","sources":["../../../src/controller/zone-runtimes/zone-runtime-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"zone-runtime-types.d.ts","sourceRoot":"","sources":["../../../src/controller/zone-runtimes/zone-runtime-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke-harness.d.ts","sourceRoot":"","sources":["../../src/integration-tests/smoke-harness.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"smoke-harness.d.ts","sourceRoot":"","sources":["../../src/integration-tests/smoke-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import path from 'node:path';
|
|
|
6
6
|
import { promisify } from 'node:util';
|
|
7
7
|
import { resolveGondolinMinimumZigVersion } from '@agent-vm/gondolin-adapter';
|
|
8
8
|
import { computeFingerprintFromConfigPath } from '../build/gondolin-image-builder.js';
|
|
9
|
-
import { resolveManagedImageRelease } from '../build/managed-image-dockerfile.js';
|
|
9
|
+
import { generateManagedDockerfile, resolveManagedImageRelease, } from '../build/managed-image-dockerfile.js';
|
|
10
10
|
import { isZigVersionAtLeast, resolveHostZigVersion } from '../build/zig-compatibility.js';
|
|
11
11
|
import { scaffoldAgentVmProject } from '../cli/init-command.js';
|
|
12
12
|
import { loadJsonConfigFile } from '../config/json-config-file.js';
|
|
@@ -359,6 +359,18 @@ export async function useLocalToolVmMcpPortalPackage(options) {
|
|
|
359
359
|
function localPackageTarballArchiveName(packageName) {
|
|
360
360
|
return `${packageName}-local.tgz`;
|
|
361
361
|
}
|
|
362
|
+
async function writeManagedOpenClawSmokeDockerfileBase(options) {
|
|
363
|
+
const managedImageRelease = await resolveManagedImageRelease();
|
|
364
|
+
const result = await generateManagedDockerfile({
|
|
365
|
+
base: 'openclaw-gateway',
|
|
366
|
+
imageTargetFamily: 'gateway',
|
|
367
|
+
imageTargetName: options.profileName,
|
|
368
|
+
managedImageRelease,
|
|
369
|
+
outputDirectory: options.dockerContextDirectory,
|
|
370
|
+
requiredOpenClawPackageNames: ['@openclaw/discord'],
|
|
371
|
+
});
|
|
372
|
+
return result.dockerfilePath;
|
|
373
|
+
}
|
|
362
374
|
function isJsonRecord(value) {
|
|
363
375
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
364
376
|
}
|
|
@@ -458,10 +470,7 @@ export async function useLocalOpenClawGatewayImagePackages(options) {
|
|
|
458
470
|
if (!gatewayProfile) {
|
|
459
471
|
throw new Error(`Gateway image profile '${options.profileName}' is not configured.`);
|
|
460
472
|
}
|
|
461
|
-
const managedImageRelease = await resolveManagedImageRelease();
|
|
462
|
-
const baseImage = managedImageRelease.baseImages['openclaw-gateway'];
|
|
463
473
|
const dockerContextDirectory = path.join(options.projectRoot, 'vm-images', 'gateways', `${options.profileName}-local-packages`);
|
|
464
|
-
const dockerfilePath = path.join(dockerContextDirectory, 'Dockerfile');
|
|
465
474
|
const localConfigContractsTarballPath = await packLocalPackageTarball({
|
|
466
475
|
packageDirectory: path.join(options.repoRoot, 'packages', 'config-contracts'),
|
|
467
476
|
packageName: 'config-contracts',
|
|
@@ -521,8 +530,10 @@ export async function useLocalOpenClawGatewayImagePackages(options) {
|
|
|
521
530
|
sourcePath: localOpenClawMcpPortalPluginTarballPath,
|
|
522
531
|
},
|
|
523
532
|
];
|
|
524
|
-
await
|
|
525
|
-
|
|
533
|
+
const dockerfilePath = await writeManagedOpenClawSmokeDockerfileBase({
|
|
534
|
+
dockerContextDirectory,
|
|
535
|
+
profileName: options.profileName,
|
|
536
|
+
});
|
|
526
537
|
await copyLocalPackageTarballsToDockerContext({
|
|
527
538
|
dockerContextDirectory,
|
|
528
539
|
tarballs: localPackageTarballs,
|
|
@@ -534,10 +545,9 @@ export async function useLocalOpenClawGatewayImagePackages(options) {
|
|
|
534
545
|
projectRoot: options.projectRoot,
|
|
535
546
|
systemConfig: options.systemConfig,
|
|
536
547
|
});
|
|
537
|
-
await fs.
|
|
538
|
-
`FROM ${baseImage.repository}:${baseImage.tag}`,
|
|
548
|
+
await fs.appendFile(dockerfilePath, [
|
|
539
549
|
'',
|
|
540
|
-
'#
|
|
550
|
+
'# Local package overlay generated by the OpenClaw smoke harness.',
|
|
541
551
|
...localPackageTarballs.map((tarball) => `COPY ${tarball.archiveName} /tmp/${tarball.archiveName}`),
|
|
542
552
|
'RUN mkdir -p /opt/agent-vm/local-packages && \\',
|
|
543
553
|
' npm install --omit=dev --no-audit --no-fund --prefix /opt/agent-vm/local-packages ' +
|
|
@@ -571,10 +581,7 @@ export async function useLocalOpenClawPluginGatewayImage(options) {
|
|
|
571
581
|
if (!gatewayProfile) {
|
|
572
582
|
throw new Error(`Gateway image profile '${options.profileName}' is not configured.`);
|
|
573
583
|
}
|
|
574
|
-
const managedImageRelease = await resolveManagedImageRelease();
|
|
575
|
-
const baseImage = managedImageRelease.baseImages['openclaw-gateway'];
|
|
576
584
|
const dockerContextDirectory = path.join(options.projectRoot, 'vm-images', 'gateways', `${options.profileName}-local-plugin`);
|
|
577
|
-
const dockerfilePath = path.join(dockerContextDirectory, 'Dockerfile');
|
|
578
585
|
const localSecretManagementTarballPath = await packLocalPackageTarball({
|
|
579
586
|
packageDirectory: path.join(options.repoRoot, 'packages', 'secret-management'),
|
|
580
587
|
packageName: 'secret-management',
|
|
@@ -610,16 +617,17 @@ export async function useLocalOpenClawPluginGatewayImage(options) {
|
|
|
610
617
|
sourcePath: localOpenClawAgentVmPluginTarballPath,
|
|
611
618
|
},
|
|
612
619
|
];
|
|
613
|
-
await
|
|
614
|
-
|
|
620
|
+
const dockerfilePath = await writeManagedOpenClawSmokeDockerfileBase({
|
|
621
|
+
dockerContextDirectory,
|
|
622
|
+
profileName: options.profileName,
|
|
623
|
+
});
|
|
615
624
|
await copyLocalPackageTarballsToDockerContext({
|
|
616
625
|
dockerContextDirectory,
|
|
617
626
|
tarballs: localPackageTarballs,
|
|
618
627
|
});
|
|
619
|
-
await fs.
|
|
620
|
-
`FROM ${baseImage.repository}:${baseImage.tag}`,
|
|
628
|
+
await fs.appendFile(dockerfilePath, [
|
|
621
629
|
'',
|
|
622
|
-
'#
|
|
630
|
+
'# Local plugin overlay generated by the OpenClaw smoke harness.',
|
|
623
631
|
...localPackageTarballs.map((tarball) => `COPY ${tarball.archiveName} /tmp/${tarball.archiveName}`),
|
|
624
632
|
'RUN mkdir -p /opt/agent-vm/local-packages && \\',
|
|
625
633
|
' npm install --omit=dev --no-audit --no-fund --prefix /opt/agent-vm/local-packages ' +
|