24 lines
944 B
TypeScript
24 lines
944 B
TypeScript
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<string, unknown>) || {};
|
|
const plugins = (root.plugins as Record<string, unknown>) || {};
|
|
const entries = (plugins.entries as Record<string, unknown>) || {};
|
|
const entry = (entries.dirigent as Record<string, unknown>) || (entries.whispergate as Record<string, unknown>) || {};
|
|
const cfg = (entry.config as Record<string, unknown>) || {};
|
|
if (Object.keys(cfg).length > 0) {
|
|
return {
|
|
enableDiscordControlTool: true,
|
|
enableDirigentPolicyTool: true,
|
|
enableDebugLogs: false,
|
|
debugLogChannelIds: [],
|
|
noReplyPort: 8787,
|
|
schedulingIdentifier: "➡️",
|
|
waitIdentifier: "👤",
|
|
...cfg,
|
|
} as DirigentConfig;
|
|
}
|
|
return fallback;
|
|
}
|