import type { OpenClawConfig } from "../config/config.js"; import type { SecurityAuditFinding } from "./audit.js"; let auditDeepModulePromise: Promise | undefined; async function loadAuditDeepModule() { auditDeepModulePromise ??= import("./audit.deep.runtime.js"); return await auditDeepModulePromise; } export async function collectDeepCodeSafetyFindings(params: { cfg: OpenClawConfig; stateDir: string; deep: boolean; summaryCache?: Map>; }): Promise { if (!params.deep) { return []; } const auditDeep = await loadAuditDeepModule(); return [ ...(await auditDeep.collectPluginsCodeSafetyFindings({ stateDir: params.stateDir, summaryCache: params.summaryCache, })), ...(await auditDeep.collectInstalledSkillsCodeSafetyFindings({ cfg: params.cfg, stateDir: params.stateDir, summaryCache: params.summaryCache, })), ]; }