convoke-agents 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -33,7 +33,7 @@ workflows:
33
33
  - learning-card
34
34
  - pivot-patch-persevere
35
35
  - vortex-navigation
36
- version: 3.0.2
36
+ version: 3.0.4
37
37
  user_name: '{user}'
38
38
  communication_language: en
39
39
  party_mode_enabled: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "convoke-agents",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
4
4
  "description": "Agent teams for complex systems, compatible with BMad Method",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -57,8 +57,12 @@ async function main() {
57
57
  const configCheck = checkModuleConfig(mod);
58
58
  checks.push(configCheck);
59
59
  if (configCheck.passed) {
60
- checks.push(checkModuleAgents(mod));
61
- checks.push(checkModuleWorkflows(mod));
60
+ if (Array.isArray(mod.config.agents) && mod.config.agents.length > 0) {
61
+ checks.push(checkModuleAgents(mod));
62
+ }
63
+ if (Array.isArray(mod.config.workflows) && mod.config.workflows.length > 0) {
64
+ checks.push(checkModuleWorkflows(mod));
65
+ }
62
66
  }
63
67
  }
64
68
 
@@ -147,28 +151,27 @@ function checkModuleConfig(mod) {
147
151
  };
148
152
  }
149
153
 
150
- if (!Array.isArray(mod.config.agents) || mod.config.agents.length === 0) {
151
- return {
152
- name: label,
153
- passed: false,
154
- error: 'config.yaml missing or empty agents section',
155
- fix: `Check ${mod.configPath}`
156
- };
157
- }
154
+ const hasAgents = Array.isArray(mod.config.agents) && mod.config.agents.length > 0;
155
+ const hasWorkflows = Array.isArray(mod.config.workflows) && mod.config.workflows.length > 0;
158
156
 
159
- if (!Array.isArray(mod.config.workflows) || mod.config.workflows.length === 0) {
157
+ // A module must have at least agents or workflows
158
+ if (!hasAgents && !hasWorkflows) {
160
159
  return {
161
160
  name: label,
162
161
  passed: false,
163
- error: 'config.yaml missing or empty workflows section',
162
+ error: 'config.yaml missing both agents and workflows sections',
164
163
  fix: `Check ${mod.configPath}`
165
164
  };
166
165
  }
167
166
 
167
+ const parts = [];
168
+ if (hasAgents) parts.push(`${mod.config.agents.length} agents`);
169
+ if (hasWorkflows) parts.push(`${mod.config.workflows.length} workflows`);
170
+
168
171
  return {
169
172
  name: label,
170
173
  passed: true,
171
- info: `${mod.config.agents.length} agents, ${mod.config.workflows.length} workflows`
174
+ info: parts.join(', ')
172
175
  };
173
176
  }
174
177
 
@@ -115,6 +115,13 @@ async function refreshInstallation(projectRoot, options = {}) {
115
115
 
116
116
  if (!isSameRoot) {
117
117
  await fs.copy(packageEnhance, targetEnhance, { overwrite: true });
118
+ // Stamp enhance config version to match package version
119
+ const targetEnhanceConfig = path.join(targetEnhance, 'config.yaml');
120
+ if (fs.existsSync(targetEnhanceConfig)) {
121
+ const ecContent = yaml.load(fs.readFileSync(targetEnhanceConfig, 'utf8'));
122
+ ecContent.version = version;
123
+ fs.writeFileSync(targetEnhanceConfig, yaml.dump(ecContent, { lineWidth: -1 }), 'utf8');
124
+ }
118
125
  changes.push('Refreshed Enhance module: _bmad/bme/_enhance/');
119
126
  if (verbose) console.log(' Refreshed Enhance module: _bmad/bme/_enhance/');
120
127
  } else {