agent-mp 0.5.33 → 0.5.34
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.
- package/dist/commands/repl.js +56 -0
- package/package.json +1 -1
package/dist/commands/repl.js
CHANGED
|
@@ -855,6 +855,9 @@ function cmdHelp(fi) {
|
|
|
855
855
|
{ key: '/run rev <id>', value: 'Run only reviewer' },
|
|
856
856
|
{ key: '/run explorer [task]', value: 'Run only explorer' },
|
|
857
857
|
{ key: '/explorer [task]', value: 'Run explorer (shortcut)' },
|
|
858
|
+
{ key: '/orch <feature-id>', value: 'Lanza SOLO orchestrator — genera plan.json' },
|
|
859
|
+
{ key: '/impl <task-id>', value: 'Lanza SOLO implementor — ejecuta plan existente' },
|
|
860
|
+
{ key: '/rev <task-id>', value: 'Lanza SOLO reviewer — valida implementación' },
|
|
858
861
|
{ key: '/model', value: 'Cambiar modelo del coordinador' },
|
|
859
862
|
{ key: '/provider', value: 'Cambiar proveedor activo (Gemini / Qwen)' },
|
|
860
863
|
{ key: '/login', value: 'Configurar API key (Qwen o Gemini)' },
|
|
@@ -1196,6 +1199,59 @@ export async function runRepl(resumeSession) {
|
|
|
1196
1199
|
});
|
|
1197
1200
|
break;
|
|
1198
1201
|
}
|
|
1202
|
+
// Comandos cortos para lanzar roles directamente
|
|
1203
|
+
case 'orch': {
|
|
1204
|
+
// /orch <feature-id> — lanza solo orchestrator sin preguntas
|
|
1205
|
+
const featureId = args.join(' ').trim();
|
|
1206
|
+
if (!featureId) {
|
|
1207
|
+
fi.println(chalk.red(' Uso: /orch <feature-id>'));
|
|
1208
|
+
break;
|
|
1209
|
+
}
|
|
1210
|
+
await withEngine(async (engine) => {
|
|
1211
|
+
const result = await engine.runOrchestrator(`.agent/docs/${featureId}`, undefined, featureId);
|
|
1212
|
+
fi.println(chalk.green(` ✓ Task ID: ${result.taskId}`));
|
|
1213
|
+
fi.println(chalk.green(` ✓ Plan: .agent/tasks/${result.taskId}/plan.json`));
|
|
1214
|
+
});
|
|
1215
|
+
break;
|
|
1216
|
+
}
|
|
1217
|
+
case 'impl': {
|
|
1218
|
+
// /impl <task-id> — lanza solo implementor con plan existente
|
|
1219
|
+
const taskId = args.join(' ').trim();
|
|
1220
|
+
if (!taskId) {
|
|
1221
|
+
fi.println(chalk.red(' Uso: /impl <task-id>'));
|
|
1222
|
+
break;
|
|
1223
|
+
}
|
|
1224
|
+
await withEngine(async (engine) => {
|
|
1225
|
+
const taskDir = path.join(engine['projectDir'], '.agent', 'tasks', taskId);
|
|
1226
|
+
if (!await fileExists(taskDir)) {
|
|
1227
|
+
fi.println(chalk.red(` ✗ Task "${taskId}" no existe`));
|
|
1228
|
+
return;
|
|
1229
|
+
}
|
|
1230
|
+
const plan = await readJson(path.join(taskDir, 'plan.json'));
|
|
1231
|
+
await engine.runImplementor(taskId, plan);
|
|
1232
|
+
fi.println(chalk.green(` ✓ Implementación completada`));
|
|
1233
|
+
});
|
|
1234
|
+
break;
|
|
1235
|
+
}
|
|
1236
|
+
case 'rev': {
|
|
1237
|
+
// /rev <task-id> — lanza solo reviewer
|
|
1238
|
+
const taskId = args.join(' ').trim();
|
|
1239
|
+
if (!taskId) {
|
|
1240
|
+
fi.println(chalk.red(' Uso: /rev <task-id>'));
|
|
1241
|
+
break;
|
|
1242
|
+
}
|
|
1243
|
+
await withEngine(async (engine) => {
|
|
1244
|
+
const taskDir = path.join(engine['projectDir'], '.agent', 'tasks', taskId);
|
|
1245
|
+
if (!await fileExists(taskDir)) {
|
|
1246
|
+
fi.println(chalk.red(` ✗ Task "${taskId}" no existe`));
|
|
1247
|
+
return;
|
|
1248
|
+
}
|
|
1249
|
+
const plan = await readJson(path.join(taskDir, 'plan.json'));
|
|
1250
|
+
const progress = await readJson(path.join(taskDir, 'progress.json'));
|
|
1251
|
+
await engine.runReviewer(taskId, plan, progress);
|
|
1252
|
+
});
|
|
1253
|
+
break;
|
|
1254
|
+
}
|
|
1199
1255
|
case 'models':
|
|
1200
1256
|
case 'model':
|
|
1201
1257
|
await withRl((rl) => cmdModels(args[0], fi, rl));
|