assert(isGatewayPolicyViolationError("Gateway connection closed (1008)."),"Expected 1008 to be classified as gateway policy violation.");
assert(isBundledRuntimeNameConflictError("gateway name/hostname conflict detected via bonjour"),"Expected bonjour name conflict to be classified correctly.");
assert(!policyViolationMessage.includes("本机已有 OpenClaw 网关正在运行"),"Policy violation message should no longer hard-assert a local OpenClaw gateway conflict.");
constconfig=createConfig();
constconfig=createConfig();
construntimeStatus=createRuntimeStatus({
construntimeStatus=createRuntimeStatus({
...
@@ -162,6 +170,36 @@ async function main(): Promise<void> {
...
@@ -162,6 +170,36 @@ async function main(): Promise<void> {
gatewayStatus,
gatewayStatus,
isPackaged:true
isPackaged:true
}),"Packaged bundled-runtime bootstrap should retry transient startup failures.");
}),"Packaged bundled-runtime bootstrap should retry transient startup failures.");
assert(shouldRetryManagedRuntimeStartup(config,runtimeStatus),"Packaged bundled-runtime startup should retry transient runtime failures.");