import type { OpenClawPluginApi } from "openclaw/plugin-sdk"; import type { DirigentConfig } from "../rules.js"; export function getLivePluginConfig(api: OpenClawPluginApi, fallback: DirigentConfig): DirigentConfig { const root = (api.config as Record) || {}; const plugins = (root.plugins as Record) || {}; const entries = (plugins.entries as Record) || {}; const entry = (entries.dirigent as Record) || (entries.whispergate as Record) || {}; const cfg = (entry.config as Record) || {}; if (Object.keys(cfg).length > 0) { return { enableDiscordControlTool: true, enableDirigentPolicyTool: true, enableDebugLogs: false, debugLogChannelIds: [], noReplyPort: 8787, schedulingIdentifier: "➡️", waitIdentifier: "👤", ...cfg, } as DirigentConfig; } return fallback; }