UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

24 lines (23 loc) • 1.68 kB
import { r as supportsCurrentWorkerLaunch } from "./worker-build-identity-DrkJakIz.mjs"; //#region src/gateway/worker-environments/placement-target.ts function matchesWorkerPlacementTarget(current, expected) { return current?.state === expected?.state && current?.generation === expected?.generation && current?.environmentId === expected?.environmentId && current?.activeOwnerEpoch === expected?.activeOwnerEpoch; } function isExactAttachedEnvironment(environment, placement) { return Boolean(environment && environment.environmentId === placement.environmentId && environment.state === "attached" && environment.destroyRequestedAtMs === null && environment.ownerEpoch === placement.activeOwnerEpoch && environment.attachedSessionIds.length === 1 && environment.attachedSessionIds[0] === placement.sessionId); } function isCurrentActiveWorkerEnvironment(placement, environment) { return isExactAttachedEnvironment(environment, placement) && environment?.bootstrapReceipt?.bundleHash === placement.workerBundleHash && supportsCurrentWorkerLaunch(environment?.bootstrapReceipt); } function isFailedWorkerPlacementEnvironmentGone(params) { if (params.placement.environmentId === null) return true; if (!params.environmentService) return false; try { const environment = params.environmentService.get(params.placement.environmentId); return environment === void 0 || environment.state === "destroyed" || environment.state === "failed" && environment.leaseId === null; } catch { return false; } } //#endregion export { matchesWorkerPlacementTarget as i, isExactAttachedEnvironment as n, isFailedWorkerPlacementEnvironmentGone as r, isCurrentActiveWorkerEnvironment as t };