@maestro-ai/mcp-server 5.4.5 → 5.5.1
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/README.md +68 -83
- package/dist/content/rules/RULES.md +14 -0
- package/dist/core/metrics/MetricsCollector.d.ts +28 -12
- package/dist/core/metrics/MetricsCollector.d.ts.map +1 -1
- package/dist/core/metrics/MetricsCollector.js +151 -12
- package/dist/core/metrics/MetricsCollector.js.map +1 -1
- package/dist/core/validation/ValidationPipeline.d.ts +24 -2
- package/dist/core/validation/ValidationPipeline.d.ts.map +1 -1
- package/dist/core/validation/ValidationPipeline.js +46 -2
- package/dist/core/validation/ValidationPipeline.js.map +1 -1
- package/dist/core/validation/layers/DeliverableValidator.d.ts +13 -0
- package/dist/core/validation/layers/DeliverableValidator.d.ts.map +1 -0
- package/dist/core/validation/layers/DeliverableValidator.js +276 -0
- package/dist/core/validation/layers/DeliverableValidator.js.map +1 -0
- package/dist/flows/onboarding-orchestrator.js +5 -5
- package/dist/flows/onboarding-orchestrator.js.map +1 -1
- package/dist/gates/contextual-recommender.d.ts.map +1 -1
- package/dist/gates/contextual-recommender.js +260 -1
- package/dist/gates/contextual-recommender.js.map +1 -1
- package/dist/gates/validator.d.ts +5 -6
- package/dist/gates/validator.d.ts.map +1 -1
- package/dist/gates/validator.js +9 -6
- package/dist/gates/validator.js.map +1 -1
- package/dist/handlers/shared-prompt-handler.d.ts.map +1 -1
- package/dist/handlers/shared-prompt-handler.js +15 -14
- package/dist/handlers/shared-prompt-handler.js.map +1 -1
- package/dist/middleware/adr-generation.middleware.d.ts +5 -0
- package/dist/middleware/adr-generation.middleware.d.ts.map +1 -0
- package/dist/middleware/adr-generation.middleware.js +214 -0
- package/dist/middleware/adr-generation.middleware.js.map +1 -0
- package/dist/middleware/flow-engine.middleware.d.ts +5 -3
- package/dist/middleware/flow-engine.middleware.d.ts.map +1 -1
- package/dist/middleware/flow-engine.middleware.js +18 -10
- package/dist/middleware/flow-engine.middleware.js.map +1 -1
- package/dist/middleware/index.d.ts +18 -11
- package/dist/middleware/index.d.ts.map +1 -1
- package/dist/middleware/index.js +24 -11
- package/dist/middleware/index.js.map +1 -1
- package/dist/middleware/orchestration-pipeline.middleware.d.ts +42 -0
- package/dist/middleware/orchestration-pipeline.middleware.d.ts.map +1 -0
- package/dist/middleware/orchestration-pipeline.middleware.js +57 -0
- package/dist/middleware/orchestration-pipeline.middleware.js.map +1 -0
- package/dist/middleware/skill-injection.middleware.d.ts.map +1 -1
- package/dist/middleware/skill-injection.middleware.js +6 -9
- package/dist/middleware/skill-injection.middleware.js.map +1 -1
- package/dist/middleware/validation.middleware.d.ts +11 -0
- package/dist/middleware/validation.middleware.d.ts.map +1 -1
- package/dist/middleware/validation.middleware.js +64 -4
- package/dist/middleware/validation.middleware.js.map +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +20 -14
- package/dist/router.js.map +1 -1
- package/dist/services/flow-engine.d.ts +1 -0
- package/dist/services/flow-engine.d.ts.map +1 -1
- package/dist/services/flow-engine.js +22 -10
- package/dist/services/flow-engine.js.map +1 -1
- package/dist/services/watcher.service.d.ts +45 -0
- package/dist/services/watcher.service.d.ts.map +1 -0
- package/dist/services/watcher.service.js +106 -0
- package/dist/services/watcher.service.js.map +1 -0
- package/dist/state/context.d.ts +15 -4
- package/dist/state/context.d.ts.map +1 -1
- package/dist/state/context.js +36 -9
- package/dist/state/context.js.map +1 -1
- package/dist/state/storage.d.ts.map +1 -1
- package/dist/state/storage.js +6 -0
- package/dist/state/storage.js.map +1 -1
- package/dist/tests/aprovar-gate.test.d.ts +2 -0
- package/dist/tests/aprovar-gate.test.d.ts.map +1 -0
- package/dist/tests/aprovar-gate.test.js +113 -0
- package/dist/tests/aprovar-gate.test.js.map +1 -0
- package/dist/tests/deliverable-validator.test.d.ts +12 -0
- package/dist/tests/deliverable-validator.test.d.ts.map +1 -0
- package/dist/tests/deliverable-validator.test.js +214 -0
- package/dist/tests/deliverable-validator.test.js.map +1 -0
- package/dist/tests/flow-engine.test.d.ts +2 -0
- package/dist/tests/flow-engine.test.d.ts.map +1 -0
- package/dist/tests/flow-engine.test.js +85 -0
- package/dist/tests/flow-engine.test.js.map +1 -0
- package/dist/tests/gate-orientation.test.d.ts +2 -0
- package/dist/tests/gate-orientation.test.d.ts.map +1 -0
- package/dist/tests/gate-orientation.test.js +59 -0
- package/dist/tests/gate-orientation.test.js.map +1 -0
- package/dist/tests/middleware.test.js +30 -4
- package/dist/tests/middleware.test.js.map +1 -1
- package/dist/tests/watcher.service.test.d.ts +2 -0
- package/dist/tests/watcher.service.test.d.ts.map +1 -0
- package/dist/tests/watcher.service.test.js +119 -0
- package/dist/tests/watcher.service.test.js.map +1 -0
- package/dist/tools/aprovar-gate.d.ts.map +1 -1
- package/dist/tools/aprovar-gate.js +4 -0
- package/dist/tools/aprovar-gate.js.map +1 -1
- package/dist/tools/contexto.d.ts.map +1 -1
- package/dist/tools/contexto.js +41 -0
- package/dist/tools/contexto.js.map +1 -1
- package/dist/tools/iniciar-projeto.d.ts.map +1 -1
- package/dist/tools/iniciar-projeto.js +6 -40
- package/dist/tools/iniciar-projeto.js.map +1 -1
- package/dist/tools/maestro-tool.d.ts.map +1 -1
- package/dist/tools/maestro-tool.js +34 -14
- package/dist/tools/maestro-tool.js.map +1 -1
- package/dist/tools/proximo.d.ts.map +1 -1
- package/dist/tools/proximo.js +224 -71
- package/dist/tools/proximo.js.map +1 -1
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +27 -0
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/validar-gate.d.ts +8 -1
- package/dist/tools/validar-gate.d.ts.map +1 -1
- package/dist/tools/validar-gate.js +147 -99
- package/dist/tools/validar-gate.js.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/gate-orientation.d.ts +11 -0
- package/dist/utils/gate-orientation.d.ts.map +1 -0
- package/dist/utils/gate-orientation.js +64 -0
- package/dist/utils/gate-orientation.js.map +1 -0
- package/dist/utils/ide-paths.d.ts +11 -0
- package/dist/utils/ide-paths.d.ts.map +1 -1
- package/dist/utils/ide-paths.js +27 -0
- package/dist/utils/ide-paths.js.map +1 -1
- package/dist/utils/instructions.d.ts +6 -1
- package/dist/utils/instructions.d.ts.map +1 -1
- package/dist/utils/instructions.js +32 -1
- package/dist/utils/instructions.js.map +1 -1
- package/package.json +2 -1
- package/dist/gates/compatibility-wrapper.d.ts +0 -139
- package/dist/gates/compatibility-wrapper.d.ts.map +0 -1
- package/dist/gates/compatibility-wrapper.js +0 -362
- package/dist/gates/compatibility-wrapper.js.map +0 -1
- package/dist/gates/unified-validator.d.ts +0 -67
- package/dist/gates/unified-validator.d.ts.map +0 -1
- package/dist/gates/unified-validator.js +0 -234
- package/dist/gates/unified-validator.js.map +0 -1
package/dist/tools/proximo.js
CHANGED
|
@@ -3,27 +3,98 @@ import { existsSync, readdirSync } from "fs";
|
|
|
3
3
|
import { parsearEstado, serializarEstado } from "../state/storage.js";
|
|
4
4
|
import { getFaseComStitch, getFluxoComStitch } from "../flows/types.js";
|
|
5
5
|
import { classificarPRD } from "../flows/classifier.js"; // @deprecated v6.0 - usar ClassificacaoProgressivaService
|
|
6
|
-
import { validarGate, validarGateComTemplate } from "../gates/validator.js";
|
|
7
6
|
import { setCurrentDirectory } from "../state/context.js";
|
|
8
7
|
import { parsearResumo, serializarResumo, criarResumoInicial, extrairResumoEntregavel } from "../state/memory.js";
|
|
9
|
-
import { gerarInstrucaoCorrecao } from "../utils/instructions.js";
|
|
8
|
+
import { gerarInstrucaoCorrecao, gerarInstrucaoContinuidade } from "../utils/instructions.js";
|
|
10
9
|
import { logEvent, EventTypes } from "../utils/history.js";
|
|
11
10
|
import { getSpecialistPersona } from "../services/specialist.service.js";
|
|
12
11
|
import { gerarSystemMd } from "../utils/system-md.js";
|
|
13
12
|
import { getSkillParaFase } from "../utils/prompt-mapper.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { formatSkillMessage, detectIDE, getSkillResourcePath as getIDESkillResourcePath } from "../utils/ide-paths.js";
|
|
13
|
+
import { resolveProjectPath } from "../utils/files.js";
|
|
14
|
+
import { formatSkillHydrationCommand, detectIDE, getSkillResourcePath as getIDESkillResourcePath } from "../utils/ide-paths.js";
|
|
17
15
|
import { inferirContextoBalanceado } from "../utils/inferencia-contextual.js";
|
|
18
16
|
import { verificarSkillCarregada } from "../utils/content-injector.js";
|
|
19
|
-
import { ContentResolverService } from "../services/content-resolver.service.js";
|
|
20
|
-
import { SkillLoaderService } from "../services/skill-loader.service.js";
|
|
21
17
|
import { saveFile, saveMultipleFiles, formatSavedFilesConfirmation } from "../utils/persistence.js";
|
|
22
18
|
import { classificacaoProgressiva } from "../services/classificacao-progressiva.service.js"; // v6.0
|
|
23
19
|
import { getSpecialistQuestions } from "../handlers/specialist-phase-handler.js"; // v7.0
|
|
24
20
|
import { resolverPathEntregavel, listarPathsEsperados } from "../utils/entregavel-path.js"; // v5.5.0
|
|
25
21
|
import { readFile } from "fs/promises";
|
|
26
22
|
import { isPrototypePhase } from "../handlers/prototype-phase-handler.js"; // v9.0
|
|
23
|
+
// v6.3 S5.1: Autonomia calibrada
|
|
24
|
+
import { DecisionEngine } from "../core/decision/DecisionEngine.js";
|
|
25
|
+
// V6 Sprint 4+5: Gate orientation e watcher de entregáveis
|
|
26
|
+
import { generateGateOrientationDoc } from "../utils/gate-orientation.js";
|
|
27
|
+
import { startFileWatcher, stopFileWatcher } from "../services/watcher.service.js";
|
|
28
|
+
import { RiskEvaluator } from "../core/risk/RiskEvaluator.js";
|
|
29
|
+
/**
|
|
30
|
+
* v6.3 S5.2-S5.3: Avalia autonomia para o avanço de fase usando RiskEvaluator + DecisionEngine.
|
|
31
|
+
* Retorna null se pode prosseguir, ou ToolResult de bloqueio se requer aprovação humana.
|
|
32
|
+
*/
|
|
33
|
+
async function avaliarAutonomia(estado, nomeFase, diretorio, autoFlow) {
|
|
34
|
+
if (autoFlow)
|
|
35
|
+
return null; // Modo automático: sempre passa direto
|
|
36
|
+
try {
|
|
37
|
+
const riskEvaluator = new RiskEvaluator(diretorio);
|
|
38
|
+
const decisionEngine = new DecisionEngine();
|
|
39
|
+
// Avaliar risco do avanço de fase
|
|
40
|
+
const riskInfo = await riskEvaluator.evaluate(`advance-phase-${nomeFase}`, {
|
|
41
|
+
filesAffected: 1,
|
|
42
|
+
hasTests: estado.gates_validados.length > 0,
|
|
43
|
+
});
|
|
44
|
+
// Mapear nível do RiskEvaluator para DecisionEngine
|
|
45
|
+
const riskMap = {
|
|
46
|
+
SAFE: 'baixo', LOW: 'baixo', MEDIUM: 'medio', HIGH: 'alto', DANGEROUS: 'critico',
|
|
47
|
+
};
|
|
48
|
+
const decisionRisk = riskMap[riskInfo.level] ?? 'medio';
|
|
49
|
+
const decision = await decisionEngine.evaluate({
|
|
50
|
+
operation: `advance-phase-${nomeFase}`,
|
|
51
|
+
riskLevel: decisionRisk,
|
|
52
|
+
context: {
|
|
53
|
+
fase: estado.fase_atual,
|
|
54
|
+
hasHistoricalMatch: estado.gates_validados.length > 0,
|
|
55
|
+
matchesKnownPattern: true,
|
|
56
|
+
isNovelOperation: estado.fase_atual === 1,
|
|
57
|
+
hasFullContext: !!nomeFase,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
// v6.3 S5.4: Só bloqueia em risco crítico / human_only
|
|
61
|
+
if (decision.action === 'human_only') {
|
|
62
|
+
return {
|
|
63
|
+
content: [{
|
|
64
|
+
type: "text",
|
|
65
|
+
text: `# ✋ Aprovação Necessária — Autonomia Calibrada (v6.3)
|
|
66
|
+
|
|
67
|
+
O sistema avaliou que esta operação requer aprovação explícita do usuário.
|
|
68
|
+
|
|
69
|
+
| Fator | Valor |
|
|
70
|
+
|-------|-------|
|
|
71
|
+
| **Fase** | ${estado.fase_atual} — ${nomeFase} |
|
|
72
|
+
| **Risco** | ${riskInfo.level} (score: ${riskInfo.score}) |
|
|
73
|
+
| **Confiança da IA** | ${Math.round(decision.confidence * 100)}% |
|
|
74
|
+
|
|
75
|
+
## Fatores de Risco Detectados
|
|
76
|
+
${riskInfo.factors.map(f => `- **${f.name}** (peso: ${f.weight}) — ${f.description}`).join('\n')}
|
|
77
|
+
|
|
78
|
+
## Raciocínio
|
|
79
|
+
\`\`\`
|
|
80
|
+
${decision.reasoning}
|
|
81
|
+
\`\`\`
|
|
82
|
+
|
|
83
|
+
> 🔐 Para prosseguir, confirme: **"Confirmo o avanço da fase ${estado.fase_atual}"**
|
|
84
|
+
> Ou use \`auto_flow: true\` para modo automático sem checagens de risco.
|
|
85
|
+
`,
|
|
86
|
+
}],
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
// Para outros níveis, apenas loga (não bloqueia)
|
|
90
|
+
console.log(`[Autonomia v6.3] fase=${estado.fase_atual} nome=${nomeFase} confianca=${Math.round(decision.confidence * 100)}% risco=${riskInfo.level} acao=${decision.action}`);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
// Best-effort — nunca bloqueia o fluxo
|
|
94
|
+
console.warn('[Autonomia v6.3] Falha na avaliação (non-blocking):', err);
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
27
98
|
/**
|
|
28
99
|
* Calcula score de qualidade
|
|
29
100
|
*/
|
|
@@ -258,6 +329,10 @@ ${instrucoesSkill}
|
|
|
258
329
|
// v5.5.0: Após validação, entregavel é garantidamente string não-vazia
|
|
259
330
|
// TypeScript assertion para evitar erros de tipo
|
|
260
331
|
const entregavelValidado = entregavel;
|
|
332
|
+
// v6.3 S5.3: Avaliação de autonomia — RiskEvaluator + DecisionEngine
|
|
333
|
+
const autonomiaBlock = await avaliarAutonomia(estado, faseAtualInfo?.nome ?? `Fase ${estado.fase_atual}`, diretorio, args.auto_flow ?? false);
|
|
334
|
+
if (autonomiaBlock)
|
|
335
|
+
return autonomiaBlock;
|
|
261
336
|
// Verificar se há bloqueio de aprovação pendente (Gate)
|
|
262
337
|
if (estado.aguardando_aprovacao) {
|
|
263
338
|
// v5.5.0: Incluir instruções de correção no bloqueio
|
|
@@ -415,11 +490,11 @@ Inclua no MESMO prompt qualquer ajuste de domínio/stack ou integrações críti
|
|
|
415
490
|
isError: true,
|
|
416
491
|
};
|
|
417
492
|
}
|
|
418
|
-
// Enforcement de skill + template + checklist antes de avançar
|
|
419
|
-
//
|
|
493
|
+
// v6.0 Sprint 5: Enforcement de skill + template + checklist antes de avançar
|
|
494
|
+
// Verificação obrigatória em TODOS os modos (incluindo auto_flow)
|
|
420
495
|
const ideDetectada = detectIDE(diretorio) || 'windsurf';
|
|
421
496
|
const skillObrigatoria = getSkillParaFase(faseAtual.nome);
|
|
422
|
-
if (skillObrigatoria
|
|
497
|
+
if (skillObrigatoria) {
|
|
423
498
|
const skillOk = await verificarSkillCarregada(diretorio, skillObrigatoria, ideDetectada).catch(() => false);
|
|
424
499
|
if (!skillOk) {
|
|
425
500
|
return {
|
|
@@ -441,48 +516,75 @@ Carregue e leia a skill antes de gerar o entregável:
|
|
|
441
516
|
};
|
|
442
517
|
}
|
|
443
518
|
}
|
|
444
|
-
//
|
|
445
|
-
|
|
519
|
+
// v6.1 Correção 1: Usar validateDeliverable() ao invés de validate()
|
|
520
|
+
// O validate() aplicava regras de TypeScript em documentos Markdown — ineficaz.
|
|
521
|
+
// validateDeliverable() valida conteúdo semântico por fase: seções, gate checklist, tamanho.
|
|
446
522
|
const tier = estado.tier_gate || "base";
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
let
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
// Usar validação baseada em template (enforcement)
|
|
454
|
-
usouTemplate = true;
|
|
455
|
-
const resultado = validacaoTemplate.resultado;
|
|
456
|
-
// Converter resultado do template para formato legado para compatibilidade
|
|
457
|
-
qualityScore = resultado.qualidade?.scoreGeral || resultado.score || 0;
|
|
458
|
-
// Criar estrutura compatível para gateResultado
|
|
459
|
-
gateResultado = {
|
|
460
|
-
valido: resultado.valido,
|
|
461
|
-
itens_validados: resultado.checkboxes?.preenchidos.map((c) => c.texto) || [],
|
|
462
|
-
itens_pendentes: resultado.checkboxes?.faltando.map((c) => c.texto) || [],
|
|
463
|
-
sugestoes: resultado.sugestoes || [],
|
|
464
|
-
};
|
|
465
|
-
// Criar estrutura compatível para estruturaResult
|
|
466
|
-
estruturaResult = {
|
|
467
|
-
valido: resultado.estrutura?.valida || false,
|
|
468
|
-
score: resultado.estrutura?.score || 0,
|
|
469
|
-
secoes_encontradas: resultado.estrutura?.secoesEncontradas || [],
|
|
470
|
-
secoes_faltando: resultado.estrutura?.secoesFaltando || [],
|
|
471
|
-
tamanho_ok: true,
|
|
472
|
-
feedback: resultado.feedback || [],
|
|
473
|
-
};
|
|
523
|
+
console.log(`[proximo] Iniciando validateDeliverable (fase: ${faseAtual.nome}, tier: ${tier})`);
|
|
524
|
+
const { ValidationPipeline } = await import("../core/validation/ValidationPipeline.js");
|
|
525
|
+
const validationPipeline = new ValidationPipeline();
|
|
526
|
+
let validationResult;
|
|
527
|
+
try {
|
|
528
|
+
validationResult = await validationPipeline.validateDeliverable(entregavelValidado, faseAtual.nome, tier, faseAtual.gate_checklist || []);
|
|
474
529
|
}
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
530
|
+
catch (error) {
|
|
531
|
+
console.error('[proximo] Erro ao executar validateDeliverable:', error);
|
|
532
|
+
return {
|
|
533
|
+
content: [{
|
|
534
|
+
type: "text",
|
|
535
|
+
text: `# ❌ Erro na Validação do Entregável
|
|
536
|
+
|
|
537
|
+
Ocorreu um erro ao validar o entregável da fase **${faseAtual.nome}**.
|
|
538
|
+
|
|
539
|
+
**Erro:** ${error instanceof Error ? error.message : String(error)}
|
|
540
|
+
|
|
541
|
+
Por favor, verifique:
|
|
542
|
+
1. O entregável está formatado corretamente em Markdown?
|
|
543
|
+
2. O conteúdo segue o template da fase?
|
|
544
|
+
3. Todos os itens do gate checklist estão evidenciados?
|
|
545
|
+
|
|
546
|
+
Se o erro persistir, contate o suporte técnico.`,
|
|
547
|
+
}],
|
|
548
|
+
isError: true,
|
|
549
|
+
};
|
|
481
550
|
}
|
|
551
|
+
const qualityScore = validationResult.overallScore;
|
|
552
|
+
// Converter resultado para formato compatível com mensagens de erro
|
|
553
|
+
const gateResultado = {
|
|
554
|
+
valido: validationResult.passed,
|
|
555
|
+
itens_validados: validationResult.results
|
|
556
|
+
.filter(r => r.passed)
|
|
557
|
+
.map(r => `${r.layer}: ${r.score.toFixed(0)}%`),
|
|
558
|
+
itens_pendentes: validationResult.results
|
|
559
|
+
.filter(r => !r.passed)
|
|
560
|
+
.flatMap(r => r.issues.map(i => `[${r.layer}] ${i.message}`)),
|
|
561
|
+
sugestoes: validationResult.recommendations
|
|
562
|
+
};
|
|
563
|
+
const estruturaResult = {
|
|
564
|
+
valido: validationResult.passed,
|
|
565
|
+
score: qualityScore,
|
|
566
|
+
secoes_encontradas: validationResult.results
|
|
567
|
+
.filter(r => r.passed)
|
|
568
|
+
.map(r => r.layer),
|
|
569
|
+
secoes_faltando: validationResult.results
|
|
570
|
+
.filter(r => !r.passed)
|
|
571
|
+
.map(r => r.layer),
|
|
572
|
+
tamanho_ok: true,
|
|
573
|
+
feedback: validationResult.recommendations
|
|
574
|
+
};
|
|
575
|
+
console.log(`[proximo] validateDeliverable completo — Score: ${qualityScore}/100, Passou: ${validationResult.passed}`);
|
|
482
576
|
// Score < 50: BLOQUEAR com instruções detalhadas de correção
|
|
483
577
|
if (qualityScore < 50) {
|
|
578
|
+
// V6 Sprint 2: Ativar modo compulsório também no score < 50
|
|
579
|
+
estado.em_estado_compulsorio = true;
|
|
580
|
+
estado.aguardando_aprovacao = false; // Score < 50 não aguarda aprovação — é bloqueio total
|
|
581
|
+
try {
|
|
582
|
+
await saveFile(`${diretorio}/.maestro/estado.json`, serializarEstado(estado).content);
|
|
583
|
+
}
|
|
584
|
+
catch { /* silencioso */ }
|
|
484
585
|
const ideParaBloqueio = detectIDE(diretorio) || 'windsurf';
|
|
485
|
-
const feedbackBloqueio = gerarInstrucaoCorrecao(faseAtual.nome, qualityScore, gateResultado.itens_validados || [], gateResultado.itens_pendentes || [], gateResultado.sugestoes || [], estruturaResult.secoes_faltando || [], ideParaBloqueio
|
|
586
|
+
const feedbackBloqueio = gerarInstrucaoCorrecao(faseAtual.nome, qualityScore, gateResultado.itens_validados || [], gateResultado.itens_pendentes || [], gateResultado.sugestoes || [], estruturaResult.secoes_faltando || [], ideParaBloqueio, diretorio // V6 Sprint 1: payload de auto-correção
|
|
587
|
+
);
|
|
486
588
|
// Feedback de leitura do disco
|
|
487
589
|
const feedbackLeituraBloqueio = entregavelLidoDoDisco && caminhoResolvido
|
|
488
590
|
? `> 📄 **Entregável lido de:** \`${caminhoResolvido}\`\n\n`
|
|
@@ -512,6 +614,8 @@ ${feedbackBloqueio}
|
|
|
512
614
|
estado.aguardando_aprovacao = true;
|
|
513
615
|
estado.motivo_bloqueio = "Score abaixo de 70 - requer aprovação do usuário";
|
|
514
616
|
estado.score_bloqueado = qualityScore;
|
|
617
|
+
// V6 Sprint 2: Ativar modo compulsório — bloqueia divagação da IA
|
|
618
|
+
estado.em_estado_compulsorio = true;
|
|
515
619
|
// Serializar estado bloqueado
|
|
516
620
|
const estadoBloqueado = serializarEstado(estado);
|
|
517
621
|
// v5.3: Persistência direta para estado bloqueado
|
|
@@ -523,7 +627,8 @@ ${feedbackBloqueio}
|
|
|
523
627
|
}
|
|
524
628
|
// v5.5.0: Feedback instrutor com templates e checklists
|
|
525
629
|
const ideParaAprovacao = detectIDE(diretorio) || 'windsurf';
|
|
526
|
-
const feedbackAprovacao = gerarInstrucaoCorrecao(faseAtual.nome, qualityScore, gateResultado.itens_validados || [], gateResultado.itens_pendentes || [], gateResultado.sugestoes || [], estruturaResult.secoes_faltando || [], ideParaAprovacao
|
|
630
|
+
const feedbackAprovacao = gerarInstrucaoCorrecao(faseAtual.nome, qualityScore, gateResultado.itens_validados || [], gateResultado.itens_pendentes || [], gateResultado.sugestoes || [], estruturaResult.secoes_faltando || [], ideParaAprovacao, diretorio // V6 Sprint 1: para payload de auto-correção
|
|
631
|
+
);
|
|
527
632
|
// Feedback de leitura do disco
|
|
528
633
|
const feedbackLeituraAprovacao = entregavelLidoDoDisco && caminhoResolvido
|
|
529
634
|
? `> 📄 **Entregável lido de:** \`${caminhoResolvido}\`\n\n`
|
|
@@ -570,6 +675,36 @@ O projeto foi **bloqueado** aguardando decisão do usuário:
|
|
|
570
675
|
});
|
|
571
676
|
// Atualizar estado com entregável registrado
|
|
572
677
|
estado.entregaveis[`fase_${estado.fase_atual}`] = caminhoArquivo;
|
|
678
|
+
// V6 Sprint 2: Garantir que ga saiu do modo compulsório ao avançar com sucesso
|
|
679
|
+
estado.em_estado_compulsorio = false;
|
|
680
|
+
estado.aguardando_aprovacao = false;
|
|
681
|
+
estado.motivo_bloqueio = undefined;
|
|
682
|
+
estado.score_bloqueado = undefined;
|
|
683
|
+
// V6 Sprint 6: PHASE_TYPE_MAP — classifica o tipo da PROXIMA fase para Smart Auto-Flow
|
|
684
|
+
// Nomes canônicos extraídos de flows/types.ts (FLUXO_SIMPLES, FLUXO_MEDIO, FLUXO_COMPLEXO, FASE_STITCH)
|
|
685
|
+
const PHASE_TYPE_MAP = {
|
|
686
|
+
// --- input_required: fase de coleta com o usuário ---
|
|
687
|
+
'Produto': 'input_required',
|
|
688
|
+
// --- derived: fases que derivam de fases anteriores, sem dúvidas do usuário ---
|
|
689
|
+
'Requisitos': 'derived',
|
|
690
|
+
'UX Design': 'derived',
|
|
691
|
+
'Modelo de Domínio': 'derived',
|
|
692
|
+
'Arquitetura': 'derived',
|
|
693
|
+
'Arquitetura Avançada': 'derived',
|
|
694
|
+
'Backlog': 'derived',
|
|
695
|
+
'Contrato API': 'derived',
|
|
696
|
+
'Prototipagem': 'derived', // Sprint Stitch: deriva do Design Doc
|
|
697
|
+
// --- technical: implementação pura, sem perguntas conceituais ---
|
|
698
|
+
'Banco de Dados': 'technical',
|
|
699
|
+
'Segurança': 'technical',
|
|
700
|
+
'Testes': 'technical',
|
|
701
|
+
'Performance': 'technical',
|
|
702
|
+
'Observabilidade': 'technical',
|
|
703
|
+
'Frontend': 'technical',
|
|
704
|
+
'Backend': 'technical',
|
|
705
|
+
'Integração': 'technical',
|
|
706
|
+
'Deploy Final': 'technical',
|
|
707
|
+
};
|
|
573
708
|
// Preparar/atualizar resumo
|
|
574
709
|
let resumo;
|
|
575
710
|
if (args.resumo_json) {
|
|
@@ -757,6 +892,42 @@ ${criterios.slice(0, 5).map(c => `- ${c}`).join("\n")}
|
|
|
757
892
|
catch (error) {
|
|
758
893
|
console.warn('Aviso: Não foi possível atualizar histórico/SYSTEM.md:', error);
|
|
759
894
|
}
|
|
895
|
+
// V6 Sprint 4: Gerar guia de Gate da PRÓXIMA fase (TDD Invertido)
|
|
896
|
+
// Cria docs/fase-XX/.orientacoes-gate.md com os critérios exatos de validação
|
|
897
|
+
if (proximaFase) {
|
|
898
|
+
try {
|
|
899
|
+
const gateOrientationPath = await generateGateOrientationDoc(diretorio, proximaFase.nome, estado.fase_atual);
|
|
900
|
+
// Atualizar flow_phase_type da próxima fase no estado (Sprint 6)
|
|
901
|
+
estado.flow_phase_type = PHASE_TYPE_MAP[proximaFase.nome] ?? 'derived';
|
|
902
|
+
if (gateOrientationPath) {
|
|
903
|
+
console.log(`[proximo] Guia de Gate gerado: ${gateOrientationPath}`);
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
catch (error) {
|
|
907
|
+
console.warn('[proximo] Falha ao gerar orientação de gate (não crítico):', error);
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
// V6 Sprint 5: Gerenciar ciclo de vida do watcher de entregáveis
|
|
911
|
+
// Parar watcher da fase anterior (evita leak de file handles)
|
|
912
|
+
stopFileWatcher(diretorio);
|
|
913
|
+
// Iniciar watcher para o PRÓXIMO entregável assim que a fase avançar
|
|
914
|
+
if (proximaFase) {
|
|
915
|
+
const proximaFaseDirName = `fase-${estado.fase_atual.toString().padStart(2, '0')}-${proximaFase.nome.toLowerCase().replace(/\s/g, '-')}`;
|
|
916
|
+
const proximoEntregavelPath = `${diretorio}/docs/${proximaFaseDirName}/${proximaFase.entregavel_esperado}`;
|
|
917
|
+
startFileWatcher({
|
|
918
|
+
filePath: proximoEntregavelPath,
|
|
919
|
+
diretorio,
|
|
920
|
+
faseNome: proximaFase.nome,
|
|
921
|
+
tier: estado.tier_gate || 'base',
|
|
922
|
+
gateChecklist: proximaFase.gate_checklist || [],
|
|
923
|
+
onValidationResult: (score, feedback, filePath) => {
|
|
924
|
+
// Log no console — o usuário será notificado via IDE ao chamar executar
|
|
925
|
+
console.log(`\n==========================================\n[watcher] ${proximaFase.nome} | Score: ${score} | ${filePath}`);
|
|
926
|
+
if (score >= 0)
|
|
927
|
+
console.log(`[watcher] Feedback:\n${feedback}\n==========================================\n`);
|
|
928
|
+
}
|
|
929
|
+
}).catch(err => console.warn('[watcher] Não foi possível iniciar o watcher:', err));
|
|
930
|
+
}
|
|
760
931
|
// v6.0: Bloco de interrupção pós-PRD removido — classificação progressiva já cuida disso
|
|
761
932
|
// v5.5.0: Feedback visual quando entregável foi lido do disco
|
|
762
933
|
const feedbackLeitura = entregavelLidoDoDisco && caminhoResolvido
|
|
@@ -765,40 +936,19 @@ ${criterios.slice(0, 5).map(c => `- ${c}`).join("\n")}
|
|
|
765
936
|
|
|
766
937
|
`
|
|
767
938
|
: "";
|
|
768
|
-
// Gerar informações da próxima skill
|
|
939
|
+
// v7.0: Gerar informações da próxima skill usando menção dinâmica da IDE
|
|
769
940
|
const proximaSkillInfo = await (async () => {
|
|
770
941
|
if (!proximaFase)
|
|
771
942
|
return "";
|
|
772
943
|
const proximaSkill = getSkillParaFase(proximaFase.nome);
|
|
773
944
|
if (!proximaSkill)
|
|
774
945
|
return "";
|
|
775
|
-
// Detectar modo do projeto
|
|
776
|
-
const mode = (estado.config?.mode || "balanced");
|
|
777
|
-
try {
|
|
778
|
-
// Injeção ativa: carregar e incluir conteúdo real da skill na resposta
|
|
779
|
-
const contentResolver = new ContentResolverService(diretorio);
|
|
780
|
-
const skillLoader = new SkillLoaderService(contentResolver);
|
|
781
|
-
const contextPackage = await skillLoader.loadForPhase(proximaFase.nome, mode);
|
|
782
|
-
if (contextPackage) {
|
|
783
|
-
return `\n\n---\n\n# 🧠 Contexto do Especialista — ${proximaFase.nome}\n\n${skillLoader.formatAsMarkdown(contextPackage)}\n`;
|
|
784
|
-
}
|
|
785
|
-
}
|
|
786
|
-
catch (error) {
|
|
787
|
-
console.warn("[proximo] Falha ao carregar skill ativa, usando fallback:", error);
|
|
788
|
-
}
|
|
789
|
-
// Fallback: referência textual (compatibilidade v4)
|
|
790
946
|
const ide = estado.ide || detectIDE(diretorio) || 'windsurf';
|
|
791
947
|
return `
|
|
792
948
|
|
|
793
949
|
## 🤖 Próximo Especialista
|
|
794
950
|
|
|
795
|
-
${
|
|
796
|
-
|
|
797
|
-
> 💡 **Próximos passos:**
|
|
798
|
-
> 1. Ative a skill: \`@${proximaSkill}\`
|
|
799
|
-
> 2. Leia SKILL.md para entender a fase
|
|
800
|
-
> 3. Consulte o template apropriado
|
|
801
|
-
> 4. Siga o checklist de validação
|
|
951
|
+
${formatSkillHydrationCommand(proximaSkill, ide)}
|
|
802
952
|
`;
|
|
803
953
|
})();
|
|
804
954
|
const resposta = `# ✅ Fase ${faseAnterior} Concluída!
|
|
@@ -826,6 +976,9 @@ ${proximaSkillInfo}
|
|
|
826
976
|
---
|
|
827
977
|
|
|
828
978
|
`;
|
|
979
|
+
// V6 Sprint 6: Instrução de continuidade autônoma
|
|
980
|
+
// Retorna vazio para fases 'input_required' (especialista faz as perguntas naturalmente)
|
|
981
|
+
const continuidade = gerarInstrucaoContinuidade(diretorio, faseAnterior, proximaFase?.nome ?? '', estado.flow_phase_type ?? 'derived');
|
|
829
982
|
// v5.3: Persistência direta — salvar todos os arquivos via fs
|
|
830
983
|
try {
|
|
831
984
|
await saveMultipleFiles(filesToSave);
|
|
@@ -838,7 +991,7 @@ ${proximaSkillInfo}
|
|
|
838
991
|
// v5: next_action e progress são calculados automaticamente pelo middleware flow-engine.middleware.ts
|
|
839
992
|
// Mantemos apenas specialist_persona e estado_atualizado para o middleware processar
|
|
840
993
|
return {
|
|
841
|
-
content: [{ type: "text", text: feedbackLeitura + resposta + confirmacao }],
|
|
994
|
+
content: [{ type: "text", text: feedbackLeitura + resposta + confirmacao + continuidade }],
|
|
842
995
|
estado_atualizado: estadoFile.content,
|
|
843
996
|
specialist_persona: specialist || undefined,
|
|
844
997
|
// next_action e progress serão adicionados pelo middleware withFlowEngine
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proximo.js","sourceRoot":"","sources":["../../src/tools/proximo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proximo.js","sourceRoot":"","sources":["../../src/tools/proximo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAiBnE,UAAU,UAAU;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAwKlE;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAaxB,CAAC"}
|
package/dist/tools/status.js
CHANGED
|
@@ -8,6 +8,7 @@ import { formatSkillMessage, detectIDE } from "../utils/ide-paths.js";
|
|
|
8
8
|
import { getSpecialistPersona } from "../services/specialist.service.js";
|
|
9
9
|
import { formatError, embedAllMetadata } from "../utils/response-formatter.js";
|
|
10
10
|
import { withStructuredContent } from "../services/structured-content.service.js";
|
|
11
|
+
import { MetricsCollector } from "../core/metrics/MetricsCollector.js";
|
|
11
12
|
/**
|
|
12
13
|
* Tool: status
|
|
13
14
|
* Retorna status completo do projeto (modo stateless)
|
|
@@ -34,6 +35,31 @@ export async function status(args) {
|
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
setCurrentDirectory(args.diretorio);
|
|
38
|
+
// v6.3 S4.3: Coletar métricas reais do projeto (best-effort)
|
|
39
|
+
let metricsSection = "";
|
|
40
|
+
try {
|
|
41
|
+
const collector = new MetricsCollector();
|
|
42
|
+
const metrics = await collector.collect(args.diretorio, estado);
|
|
43
|
+
const scoreBar = (score) => {
|
|
44
|
+
const filled = Math.round(score / 10);
|
|
45
|
+
return "█".repeat(filled) + "░".repeat(10 - filled) + ` ${score}%`;
|
|
46
|
+
};
|
|
47
|
+
metricsSection = `
|
|
48
|
+
## 📊 Métricas do Projeto
|
|
49
|
+
|
|
50
|
+
| Métrica | Valor |
|
|
51
|
+
|---------|-------|
|
|
52
|
+
| **Score Geral** | ${scoreBar(metrics.scoreGeral)} |
|
|
53
|
+
| **Documentação** | ${scoreBar(metrics.scoreDocumentacao)} |
|
|
54
|
+
| **Entregaveis** | ${metrics.entregaveisGerados}/${metrics.totalFases} fases |
|
|
55
|
+
| **ADRs gerados** | ${metrics.adrsEncontrados} |
|
|
56
|
+
| **Arquivos de código** | ${metrics.arquivosCodigo} |
|
|
57
|
+
| **Arquivos de teste** | ${metrics.arquivosTeste} (ratio: ${Math.round(metrics.ratioTestesCodigo * 100)}%) |
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Métricas são best-effort
|
|
62
|
+
}
|
|
37
63
|
// Verifica se há conteúdo local disponível (via npx)
|
|
38
64
|
const avisoContentLocal = temContentLocal(args.diretorio) ? "" : `
|
|
39
65
|
> ℹ️ **Contúdo embutido**: Usando conteúdo embutido via npx. Para especialistas/templates personalizados, execute \`npx @maestro-ai/cli\`.`;
|
|
@@ -110,6 +136,7 @@ ${Object.keys(estado.entregaveis).length > 0
|
|
|
110
136
|
---
|
|
111
137
|
|
|
112
138
|
**Última atualização:** ${new Date(estado.atualizado_em).toLocaleString("pt-BR")}
|
|
139
|
+
${metricsSection}
|
|
113
140
|
`;
|
|
114
141
|
const specialist = faseAtual ? getSpecialistPersona(faseAtual.nome) : null;
|
|
115
142
|
const progress = {
|
package/dist/tools/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAqB,gBAAgB,EAAgB,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAyC,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAkB,WAAW,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { ToolResult } from "../types/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* v6.3: Sistema de gates unificado usando IntelligentGateEngine
|
|
4
|
+
* Substitui os 3 sistemas paralelos anteriores:
|
|
5
|
+
* - gates/validator.ts (GATE_CHECKLISTS legado)
|
|
6
|
+
* - core/validation/layers/DeliverableValidator.ts
|
|
7
|
+
* - gates/template-validator.ts
|
|
8
|
+
*/
|
|
2
9
|
interface ValidarGateArgs {
|
|
3
10
|
fase?: number;
|
|
4
11
|
entregavel?: string;
|
|
@@ -7,7 +14,7 @@ interface ValidarGateArgs {
|
|
|
7
14
|
}
|
|
8
15
|
/**
|
|
9
16
|
* Tool: validar_gate
|
|
10
|
-
*
|
|
17
|
+
* v6.3: Usa IntelligentGateEngine como sistema principal (com fallback legado automático)
|
|
11
18
|
*/
|
|
12
19
|
export declare function validarGate(args: ValidarGateArgs): Promise<ToolResult>;
|
|
13
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validar-gate.d.ts","sourceRoot":"","sources":["../../src/tools/validar-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"validar-gate.d.ts","sourceRoot":"","sources":["../../src/tools/validar-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,mBAAmB,CAAC;AAc7E;;;;;;GAMG;AAEH,UAAU,eAAe;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AA4ID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CA4I5E;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;CAqB7B,CAAC"}
|