@maestro-ai/mcp-server 5.3.8 → 5.4.0
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/handlers/specialist-phase-handler.d.ts +6 -1
- package/dist/handlers/specialist-phase-handler.d.ts.map +1 -1
- package/dist/handlers/specialist-phase-handler.js +75 -34
- package/dist/handlers/specialist-phase-handler.js.map +1 -1
- package/dist/handlers/specialist-questions.d.ts +2 -0
- package/dist/handlers/specialist-questions.d.ts.map +1 -0
- package/dist/handlers/specialist-questions.js +65 -0
- package/dist/handlers/specialist-questions.js.map +1 -0
- package/dist/services/classificacao-progressiva.service.d.ts +9 -0
- package/dist/services/classificacao-progressiva.service.d.ts.map +1 -1
- package/dist/services/classificacao-progressiva.service.js +219 -0
- package/dist/services/classificacao-progressiva.service.js.map +1 -1
- package/dist/tools/consolidated/avancar.d.ts.map +1 -1
- package/dist/tools/consolidated/avancar.js +3 -57
- package/dist/tools/consolidated/avancar.js.map +1 -1
- package/dist/tools/proximo.d.ts +1 -1
- package/dist/tools/proximo.d.ts.map +1 -1
- package/dist/tools/proximo.js +86 -20
- package/dist/tools/proximo.js.map +1 -1
- package/dist/utils/entregavel-path.d.ts +22 -0
- package/dist/utils/entregavel-path.d.ts.map +1 -0
- package/dist/utils/entregavel-path.js +94 -0
- package/dist/utils/entregavel-path.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { existsSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
/**
|
|
4
|
+
* Constrói path dinâmico: docs/fase-XX-nome/entregavel
|
|
5
|
+
* Exemplo: docs/fase-01-produto/PRD.md
|
|
6
|
+
*/
|
|
7
|
+
function construirPathDinamico(diretorio, fase, faseInfo) {
|
|
8
|
+
const faseDirName = `fase-${fase.toString().padStart(2, "0")}-${faseInfo.nome.toLowerCase().replace(/\s/g, "-")}`;
|
|
9
|
+
return join(diretorio, "docs", faseDirName, faseInfo.entregavel_esperado);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Constrói path convencional: docs/XX-nome/entregavel
|
|
13
|
+
* Exemplo: docs/01-produto/PRD.md
|
|
14
|
+
*/
|
|
15
|
+
function construirPathConvencional(diretorio, fase, faseInfo) {
|
|
16
|
+
const faseDirName = `${fase.toString().padStart(2, "0")}-${faseInfo.nome.toLowerCase().replace(/\s/g, "-")}`;
|
|
17
|
+
return join(diretorio, "docs", faseDirName, faseInfo.entregavel_esperado);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Constrói path legado: .maestro/entregaveis/entregavel
|
|
21
|
+
* Exemplo: .maestro/entregaveis/PRD.md
|
|
22
|
+
*/
|
|
23
|
+
function construirPathLegado(diretorio, faseInfo) {
|
|
24
|
+
return join(diretorio, ".maestro", "entregaveis", faseInfo.entregavel_esperado);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Resolve o caminho do entregável tentando múltiplas convenções.
|
|
28
|
+
*
|
|
29
|
+
* Ordem de prioridade:
|
|
30
|
+
* 1. estado.entregaveis[fase_X] — caminho salvo previamente pelo proximo()
|
|
31
|
+
* 2. docs/fase-XX-nome/entregavel — path dinâmico (padrão atual do avancar.ts)
|
|
32
|
+
* 3. docs/XX-nome/entregavel — path convencional (documentado no GEMINI.md)
|
|
33
|
+
* 4. .maestro/entregaveis/entregavel — formato legado
|
|
34
|
+
*
|
|
35
|
+
* @param diretorio - Diretório raiz do projeto
|
|
36
|
+
* @param fase - Número da fase atual
|
|
37
|
+
* @param faseInfo - Informações da fase (nome, entregavel_esperado, etc)
|
|
38
|
+
* @param estado - Estado do projeto (para acessar estado.entregaveis)
|
|
39
|
+
* @returns Caminho absoluto do arquivo se encontrado, null caso contrário
|
|
40
|
+
*/
|
|
41
|
+
export function resolverPathEntregavel(diretorio, fase, faseInfo, estado) {
|
|
42
|
+
// 1. Tentar caminho salvo no estado (prioridade máxima)
|
|
43
|
+
const chaveNova = `fase_${fase}`;
|
|
44
|
+
const chaveLegacy = fase.toString();
|
|
45
|
+
const caminhoSalvo = estado.entregaveis?.[chaveNova] || estado.entregaveis?.[chaveLegacy];
|
|
46
|
+
if (caminhoSalvo) {
|
|
47
|
+
// Verificar se é caminho absoluto ou relativo
|
|
48
|
+
let caminhoCompleto;
|
|
49
|
+
if (caminhoSalvo.includes('/') || caminhoSalvo.includes('\\')) {
|
|
50
|
+
// Caminho completo ou relativo
|
|
51
|
+
if (caminhoSalvo.startsWith(diretorio)) {
|
|
52
|
+
caminhoCompleto = caminhoSalvo;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
caminhoCompleto = join(diretorio, caminhoSalvo);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// Apenas nome do arquivo (formato legado)
|
|
60
|
+
caminhoCompleto = join(diretorio, ".maestro", "entregaveis", caminhoSalvo);
|
|
61
|
+
}
|
|
62
|
+
if (existsSync(caminhoCompleto)) {
|
|
63
|
+
return caminhoCompleto;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// 2. Tentar path dinâmico (docs/fase-XX-nome/)
|
|
67
|
+
const pathDinamico = construirPathDinamico(diretorio, fase, faseInfo);
|
|
68
|
+
if (existsSync(pathDinamico)) {
|
|
69
|
+
return pathDinamico;
|
|
70
|
+
}
|
|
71
|
+
// 3. Tentar path convencional (docs/XX-nome/)
|
|
72
|
+
const pathConvencional = construirPathConvencional(diretorio, fase, faseInfo);
|
|
73
|
+
if (existsSync(pathConvencional)) {
|
|
74
|
+
return pathConvencional;
|
|
75
|
+
}
|
|
76
|
+
// 4. Tentar path legado (.maestro/entregaveis/)
|
|
77
|
+
const pathLegado = construirPathLegado(diretorio, faseInfo);
|
|
78
|
+
if (existsSync(pathLegado)) {
|
|
79
|
+
return pathLegado;
|
|
80
|
+
}
|
|
81
|
+
// Nenhum arquivo encontrado
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Gera lista de paths esperados para mensagem de erro
|
|
86
|
+
*/
|
|
87
|
+
export function listarPathsEsperados(diretorio, fase, faseInfo) {
|
|
88
|
+
return [
|
|
89
|
+
construirPathDinamico(diretorio, fase, faseInfo),
|
|
90
|
+
construirPathConvencional(diretorio, fase, faseInfo),
|
|
91
|
+
construirPathLegado(diretorio, faseInfo)
|
|
92
|
+
];
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=entregavel-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entregavel-path.js","sourceRoot":"","sources":["../../src/utils/entregavel-path.ts"],"names":[],"mappings":"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"}
|