Fix: Support custom module agent compilation in rebuildAgentFiles()
- Check module's own agents directory first for custom modules - Fall back to installer source for built-in modules - Fixes custom module agent compilation issue in alpha versions This change enables rebuildAgentFiles() to properly compile agents from custom modules by first checking the module's own agents/ directory for .agent.yaml files. If found, it uses those files directly. Otherwise, it falls back to the installer source directory for built-in modules (core, bmm, bmb, etc.). Tested with custom module 'po' (Prompt Optimizer) - agents compile successfully and slash commands are generated correctly.
This commit is contained in:
parent
9d510fc075
commit
4fd7bba8f0
|
|
@ -1466,12 +1466,24 @@ class Installer {
|
||||||
* @param {string} moduleName - Module name
|
* @param {string} moduleName - Module name
|
||||||
*/
|
*/
|
||||||
async rebuildAgentFiles(modulePath, moduleName) {
|
async rebuildAgentFiles(modulePath, moduleName) {
|
||||||
// Get source agents directory from installer
|
// First try module's own agents directory (for custom modules)
|
||||||
const sourceAgentsPath =
|
let sourceAgentsPath = path.join(modulePath, 'agents');
|
||||||
moduleName === 'core' ? path.join(getModulePath('core'), 'agents') : path.join(getSourcePath(`modules/${moduleName}`), 'agents');
|
|
||||||
|
|
||||||
if (!(await fs.pathExists(sourceAgentsPath))) {
|
// Check if module has its own .agent.yaml files
|
||||||
return; // No source agents to rebuild
|
let hasOwnAgents = false;
|
||||||
|
if (await fs.pathExists(sourceAgentsPath)) {
|
||||||
|
const files = await fs.readdir(sourceAgentsPath);
|
||||||
|
hasOwnAgents = files.some(f => f.endsWith('.agent.yaml'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// If no agents in module directory, try installer source (for built-in modules)
|
||||||
|
if (!hasOwnAgents) {
|
||||||
|
sourceAgentsPath =
|
||||||
|
moduleName === 'core' ? path.join(getModulePath('core'), 'agents') : path.join(getSourcePath(`modules/${moduleName}`), 'agents');
|
||||||
|
|
||||||
|
if (!(await fs.pathExists(sourceAgentsPath))) {
|
||||||
|
return; // No source agents to rebuild
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine project directory (parent of bmad/ directory)
|
// Determine project directory (parent of bmad/ directory)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue