openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
58 lines (57 loc) • 1.77 kB
JavaScript
import { _ as resolveNodeServiceIdentityEnvironment } from "./constants-ChqKLfPp.js";
import { o as resolveGatewayService } from "./service-Cc6NX6Jm.js";
//#region src/daemon/node-service.ts
/** Adapts the generic gateway service manager for OpenClaw node-host services. */
function withNodeServiceEnv(env) {
return {
...env,
...resolveNodeServiceIdentityEnvironment()
};
}
function withNodeInstallEnv(args) {
return {
...args,
env: withNodeServiceEnv(args.env),
environment: withNodeServiceEnv(args.environment ?? {})
};
}
/** Returns a service controller bound to node-host labels across all platforms. */
function resolveNodeService() {
const base = resolveGatewayService();
const hasInstalledDefinition = base.hasInstalledDefinition;
return {
...base,
stage: (args) => base.stage(withNodeInstallEnv(args)),
install: (args) => base.install(withNodeInstallEnv(args)),
uninstall: (args) => base.uninstall({
...args,
env: withNodeServiceEnv(args.env)
}),
start: (args) => base.start({
...args,
env: withNodeServiceEnv(args.env ?? {})
}),
stop: (args) => base.stop({
...args,
env: withNodeServiceEnv(args.env ?? {})
}),
restart: (args) => base.restart({
...args,
env: withNodeServiceEnv(args.env ?? {})
}),
isLoaded: (args) => {
return base.isLoaded({
env: withNodeServiceEnv(args.env ?? {}),
timeoutMs: args.timeoutMs
});
},
hasInstalledDefinition: hasInstalledDefinition ? (args) => hasInstalledDefinition({
...args,
env: withNodeServiceEnv(args.env ?? {})
}) : void 0,
readCommand: (env, opts) => base.readCommand(withNodeServiceEnv(env), opts),
readRuntime: (env, opts) => base.readRuntime(withNodeServiceEnv(env), opts)
};
}
//#endregion
export { resolveNodeService as t };