(pluginRoot, skillsPath)
| 227 | } |
| 228 | |
| 229 | async function discoverSkillDirs(pluginRoot, skillsPath) { |
| 230 | const directory = path.join(pluginRoot, skillsPath.replace(/^\.\//, "")); |
| 231 | if (!(await isDirectory(directory))) { |
| 232 | return []; |
| 233 | } |
| 234 | const entries = await fs.readdir(directory, { withFileTypes: true }); |
| 235 | return entries |
| 236 | .filter((entry) => entry.isDirectory()) |
| 237 | .map((entry) => path.join(directory, entry.name)) |
| 238 | .sort(); |
| 239 | } |
| 240 | |
| 241 | export async function computeBudgetProfile(target) { |
| 242 | if (target.kind === "skill") { |
no test coverage detected