openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
17 lines (16 loc) • 998 B
JavaScript
import { i as resolveGlobalSingleton } from "./global-singleton-Dc_stLtU.js";
import { a as getPluginRuntimeGatewayRequestScope } from "./gateway-request-scope-BCMYlsDI.js";
import { t as createWorkerSessionPlacementStore } from "./placement-store-D2ojt5RF.js";
//#region src/gateway/session-worker-placement-context.ts
const localPlacementState = resolveGlobalSingleton(Symbol.for("openclaw.localSessionWorkerPlacementContext"), () => ({}), (state) => {
state.store = void 0;
});
/** Uses the live Gateway owner when present; embedded runtimes share the same lightweight DB. */
function resolveSessionWorkerPlacementContext(owner) {
const gatewayContext = getPluginRuntimeGatewayRequestScope()?.context ?? owner;
if (gatewayContext?.workerSessionPlacementService) return gatewayContext;
localPlacementState.store ??= createWorkerSessionPlacementStore();
return { workerSessionPlacementService: localPlacementState.store };
}
//#endregion
export { resolveSessionWorkerPlacementContext as t };