export interface HarborForgeMonitorConfig { enabled?: boolean; backendUrl?: string; identifier?: string; apiKey?: string; monitorPort?: number; reportIntervalSec?: number; httpFallbackIntervalSec?: number; logLevel?: 'debug' | 'info' | 'warn' | 'error'; } interface OpenClawPluginApiLike { config?: Record; } export function getLivePluginConfig( api: OpenClawPluginApiLike, fallback: HarborForgeMonitorConfig ): HarborForgeMonitorConfig { const root = (api.config as Record) || {}; const plugins = (root.plugins as Record) || {}; const entries = (plugins.entries as Record) || {}; const entry = (entries['harbor-forge'] as Record) || {}; const cfg = (entry.config as Record) || {}; if (Object.keys(cfg).length > 0 || Object.keys(entry).length > 0) { return { ...fallback, ...cfg, enabled: typeof cfg.enabled === 'boolean' ? cfg.enabled : typeof entry.enabled === 'boolean' ? entry.enabled : fallback.enabled, } as HarborForgeMonitorConfig; } return fallback; }