UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

33 lines (32 loc) • 1.26 kB
//#region src/commands/doctor-skills-core.ts /** Returns allowed skills that are unusable in the current runtime environment. */ function collectUnavailableAgentSkills(report) { return report.skills.filter((skill) => !skill.eligible && !skill.disabled && !skill.blockedByAllowlist && !skill.blockedByAgentFilter && !skill.platformIncompatible); } function formatMissingSkillSummary(skill) { return [ ["bins", skill.missing.bins], ["any bins", skill.missing.anyBins], ["env", skill.missing.env], ["config", skill.missing.config], ["os", skill.missing.os] ].filter(([, values]) => values.length > 0).map(([label, values]) => `${label}: ${values.join(", ")}`).join("; ") || "unknown requirement"; } /** Disables unavailable skills in config while preserving existing skill entries. */ function disableUnavailableSkillsInConfig(config, skills) { if (skills.length === 0) return config; const entries = { ...config.skills?.entries }; for (const skill of skills) entries[skill.skillKey] = { ...entries[skill.skillKey], enabled: false }; return { ...config, skills: { ...config.skills, entries } }; } //#endregion export { disableUnavailableSkillsInConfig as n, formatMissingSkillSummary as r, collectUnavailableAgentSkills as t };