UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

36 lines (35 loc) 1.18 kB
import { l as readConfigFileSnapshotForWrite } from "./io.runtime-B9iJRs3w.js"; import { r as replaceConfigFile } from "./mutate-ZNN4iFCn.js"; import "./config-Cs0XXL3x.js"; import { r as hasConfiguredCommandOwners, t as formatCommandOwnerFromChannelSender } from "./doctor-command-owner-BMpVjvKQ.js"; //#region src/pairing/command-owner.ts /** Adds the approved sender as command owner only when no owner exists yet. */ async function bootstrapCommandOwnerFromPairing(params) { const ownerEntry = formatCommandOwnerFromChannelSender(params); if (!ownerEntry) return { ownerEntry: null, status: "unavailable" }; const { snapshot, writeOptions } = await readConfigFileSnapshotForWrite(); if (hasConfiguredCommandOwners(snapshot.sourceConfig)) return { ownerEntry, status: "already-configured" }; const nextConfig = structuredClone(snapshot.sourceConfig); nextConfig.commands = { ...nextConfig.commands, ownerAllowFrom: [ownerEntry] }; await replaceConfigFile({ nextConfig, snapshot, writeOptions, afterWrite: { mode: "auto" } }); return { ownerEntry, status: "configured" }; } //#endregion export { bootstrapCommandOwnerFromPairing as t };