@maestro-ai/mcp-server 5.6.3 → 5.6.5
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/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/flows/types.d.ts.map +1 -1
- package/dist/flows/types.js +57 -27
- package/dist/flows/types.js.map +1 -1
- package/dist/handlers/code-phase-handler.d.ts +35 -0
- package/dist/handlers/code-phase-handler.d.ts.map +1 -0
- package/dist/handlers/code-phase-handler.js +581 -0
- package/dist/handlers/code-phase-handler.js.map +1 -0
- package/dist/handlers/shared-prompt-handler.js +2 -2
- package/dist/handlers/shared-prompt-handler.js.map +1 -1
- package/dist/handlers/specialist-formatters.d.ts +1 -1
- package/dist/handlers/specialist-formatters.d.ts.map +1 -1
- package/dist/handlers/specialist-formatters.js +103 -3
- package/dist/handlers/specialist-formatters.js.map +1 -1
- package/dist/handlers/specialist-phase-handler.js +2 -2
- package/dist/handlers/specialist-phase-handler.js.map +1 -1
- package/dist/middleware/skill-injection.middleware.d.ts +8 -5
- package/dist/middleware/skill-injection.middleware.d.ts.map +1 -1
- package/dist/middleware/skill-injection.middleware.js +12 -9
- package/dist/middleware/skill-injection.middleware.js.map +1 -1
- package/dist/services/task-decomposer.service.d.ts +17 -0
- package/dist/services/task-decomposer.service.d.ts.map +1 -1
- package/dist/services/task-decomposer.service.js +344 -0
- package/dist/services/task-decomposer.service.js.map +1 -1
- package/dist/tools/consolidated/avancar.d.ts.map +1 -1
- package/dist/tools/consolidated/avancar.js +20 -2
- package/dist/tools/consolidated/avancar.js.map +1 -1
- package/dist/tools/iniciar-projeto.js +1 -1
- package/dist/tools/iniciar-projeto.js.map +1 -1
- package/dist/tools/maestro-tool.js +1 -1
- package/dist/tools/maestro-tool.js.map +1 -1
- package/dist/tools/proximo.d.ts.map +1 -1
- package/dist/tools/proximo.js +117 -15
- package/dist/tools/proximo.js.map +1 -1
- package/dist/types/code-manifest.d.ts +47 -0
- package/dist/types/code-manifest.d.ts.map +1 -0
- package/dist/types/code-manifest.js +12 -0
- package/dist/types/code-manifest.js.map +1 -0
- package/dist/utils/gate-synonyms.d.ts +23 -0
- package/dist/utils/gate-synonyms.d.ts.map +1 -0
- package/dist/utils/gate-synonyms.js +161 -0
- package/dist/utils/gate-synonyms.js.map +1 -0
- package/dist/utils/ide-paths.d.ts +12 -1
- package/dist/utils/ide-paths.d.ts.map +1 -1
- package/dist/utils/ide-paths.js +21 -9
- package/dist/utils/ide-paths.js.map +1 -1
- package/dist/utils/instructions.d.ts +11 -2
- package/dist/utils/instructions.d.ts.map +1 -1
- package/dist/utils/instructions.js +33 -5
- package/dist/utils/instructions.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proximo.d.ts","sourceRoot":"","sources":["../../src/tools/proximo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"proximo.d.ts","sourceRoot":"","sources":["../../src/tools/proximo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAuCnE,UAAU,WAAW;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAuJD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA2rCpE;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BzB,CAAC"}
|
package/dist/tools/proximo.js
CHANGED
|
@@ -11,7 +11,7 @@ import { getSpecialistPersona } from "../services/specialist.service.js";
|
|
|
11
11
|
import { gerarSystemMd } from "../utils/system-md.js";
|
|
12
12
|
import { getSkillParaFase } from "../utils/prompt-mapper.js";
|
|
13
13
|
import { resolveProjectPath } from "../utils/files.js";
|
|
14
|
-
import { formatSkillHydrationCommand, detectIDE, getSkillResourcePath as getIDESkillResourcePath } from "../utils/ide-paths.js";
|
|
14
|
+
import { formatSkillHydrationCommand, formatMention, detectIDE, getSkillResourcePath as getIDESkillResourcePath } from "../utils/ide-paths.js";
|
|
15
15
|
import { inferirContextoBalanceado } from "../utils/inferencia-contextual.js";
|
|
16
16
|
import { verificarSkillCarregada } from "../utils/content-injector.js";
|
|
17
17
|
import { saveFile, saveMultipleFiles, formatSavedFilesConfirmation } from "../utils/persistence.js";
|
|
@@ -29,6 +29,41 @@ import { RiskEvaluator } from "../core/risk/RiskEvaluator.js";
|
|
|
29
29
|
// v6.5: Sprint 3 — Code Generation
|
|
30
30
|
import { decomposeArchitectureToTasks } from "../services/task-decomposer.service.js";
|
|
31
31
|
import { calcularScoreContextual } from "../services/scoring-config.js";
|
|
32
|
+
import { expandKeywordsWithSynonyms } from "../utils/gate-synonyms.js";
|
|
33
|
+
/**
|
|
34
|
+
* v7.2 FIX C: Gera menções de arquivo para entregáveis anteriores + gate orientation.
|
|
35
|
+
* Em vez de injetar conteúdo inline (gasto de tokens), gera menções nativas da IDE
|
|
36
|
+
* (#path no Windsurf) para que a IA LEIA os arquivos sob demanda.
|
|
37
|
+
*/
|
|
38
|
+
function formatarContextoComoMencoes(estado, diretorio, ide, gateOrientationDirName) {
|
|
39
|
+
const entregaveis = estado.entregaveis || {};
|
|
40
|
+
const keys = Object.keys(entregaveis);
|
|
41
|
+
if (keys.length === 0 && !gateOrientationDirName)
|
|
42
|
+
return '';
|
|
43
|
+
const linhas = [];
|
|
44
|
+
linhas.push(`## 📋 Contexto do Projeto — Leia os Entregáveis Anteriores`);
|
|
45
|
+
linhas.push('');
|
|
46
|
+
linhas.push(`> ⚠️ Leia os documentos abaixo para entender decisões já tomadas. **NÃO contradiga** o que foi definido.`);
|
|
47
|
+
linhas.push('');
|
|
48
|
+
// Menções para entregáveis anteriores (paths relativos ao projeto)
|
|
49
|
+
let idx = 1;
|
|
50
|
+
for (const key of keys) {
|
|
51
|
+
const absPath = entregaveis[key];
|
|
52
|
+
// Converter path absoluto para relativo ao projeto
|
|
53
|
+
const relPath = absPath
|
|
54
|
+
.replace(diretorio.replace(/\\/g, '/'), '')
|
|
55
|
+
.replace(diretorio, '')
|
|
56
|
+
.replace(/^[\\/]+/, '');
|
|
57
|
+
linhas.push(`> ${idx}. ${formatMention(relPath.replace(/\\/g, '/'), ide)}`);
|
|
58
|
+
idx++;
|
|
59
|
+
}
|
|
60
|
+
// Menção para .orientacoes-gate.md da próxima fase
|
|
61
|
+
if (gateOrientationDirName) {
|
|
62
|
+
linhas.push(`> ${idx}. ${formatMention(`docs/${gateOrientationDirName}/.orientacoes-gate.md`, ide)}`);
|
|
63
|
+
}
|
|
64
|
+
linhas.push('');
|
|
65
|
+
return linhas.join('\n');
|
|
66
|
+
}
|
|
32
67
|
/**
|
|
33
68
|
* v6.3 S5.2-S5.3: Avalia autonomia para o avanço de fase usando RiskEvaluator + DecisionEngine.
|
|
34
69
|
* Retorna null se pode prosseguir, ou ToolResult de bloqueio se requer aprovação humana.
|
|
@@ -346,6 +381,13 @@ ${instrucoesSkill}
|
|
|
346
381
|
isError: true,
|
|
347
382
|
};
|
|
348
383
|
}
|
|
384
|
+
// v7.1 FIX 6: Deprecation warning quando entregável veio do argumento (não do disco)
|
|
385
|
+
// Incentiva a IA a salvar no disco primeiro e chamar executar({acao: "avancar"})
|
|
386
|
+
let deprecationWarning = '';
|
|
387
|
+
if (!entregavelLidoDoDisco && entregavel && entregavel.trim().length > 500) {
|
|
388
|
+
console.warn(`[proximo] v7.1 DEPRECATION: entregável passado como argumento (${entregavel.length} chars). Salve no disco primeiro.`);
|
|
389
|
+
deprecationWarning = `> ⚠️ **AVISO:** O entregável foi recebido via argumento (${entregavel.length} chars), não do disco.\n> Para melhor performance, **salve o arquivo no disco primeiro** e depois chame \`executar({ acao: "avancar" })\`.\n> O sistema lê automaticamente do path canônico: \`docs/fase-XX-nome/entregavel\`\n\n`;
|
|
390
|
+
}
|
|
349
391
|
// v5.5.0: Após validação, entregavel é garantidamente string não-vazia
|
|
350
392
|
// TypeScript assertion para evitar erros de tipo
|
|
351
393
|
const entregavelValidado = entregavel;
|
|
@@ -599,12 +641,27 @@ Se o erro persistir, contate o suporte técnico.`,
|
|
|
599
641
|
for (const item of gateChecklistItems) {
|
|
600
642
|
// Extrair palavras-chave > 3 chars do item
|
|
601
643
|
const keywords = item.toLowerCase()
|
|
602
|
-
.replace(/[^a-záàâãéèêíïóôõöúüçñ\
|
|
644
|
+
.replace(/[^a-záàâãéèêíïóôõöúüçñ\s0-9/\-]/gi, '')
|
|
603
645
|
.split(/\s+/)
|
|
604
646
|
.filter((w) => w.length > 3);
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
647
|
+
// v7.1 FIX 4: Expandir keywords com sinônimos pt↔en
|
|
648
|
+
// Antes: "versionamento" não matchava YAML com "version: 1.0.0"
|
|
649
|
+
// Agora: "versionamento" expande para ["version", "versioning", "semver", ...]
|
|
650
|
+
const expandedKeywords = expandKeywordsWithSynonyms(keywords);
|
|
651
|
+
// Verificar se ALGUM dos sinônimos está presente no conteúdo
|
|
652
|
+
const matchedOriginal = keywords.filter((kw) => {
|
|
653
|
+
// Checar a keyword original
|
|
654
|
+
if (contentLowerForCheck.includes(kw))
|
|
655
|
+
return true;
|
|
656
|
+
// Checar sinônimos da keyword
|
|
657
|
+
const syns = expandedKeywords.filter(s => s !== kw);
|
|
658
|
+
return syns.some(syn => contentLowerForCheck.includes(syn));
|
|
659
|
+
});
|
|
660
|
+
const matchRatio = keywords.length > 0 ? matchedOriginal.length / keywords.length : 1;
|
|
661
|
+
// v7.1 FIX 4: Threshold ajustado — itens com poucas keywords (1-2) precisam de match exato,
|
|
662
|
+
// itens com mais keywords (3+) usam threshold 0.4
|
|
663
|
+
const threshold = keywords.length <= 2 ? 0.5 : 0.4;
|
|
664
|
+
if (matchRatio >= threshold) {
|
|
608
665
|
itensValidadosGranular.push(`✅ ${item}`);
|
|
609
666
|
}
|
|
610
667
|
else {
|
|
@@ -924,20 +981,54 @@ ${criterios.slice(0, 5).map(c => `- ${c}`).join("\n")}
|
|
|
924
981
|
estado.classificacao_progressiva.nivel_provisorio = false;
|
|
925
982
|
classificacaoInfo += `\n> ✅ **Classificação DEFINITIVA** confirmada na fase de Arquitetura.\n`;
|
|
926
983
|
}
|
|
927
|
-
//
|
|
984
|
+
// v8.0: Decompor em tasks ao entrar em fase de código — usa Backlog como fonte primária
|
|
928
985
|
const proximaFaseInfo2 = getFaseComStitch(estado.nivel, estado.fase_atual + 1, estado.usar_stitch);
|
|
929
|
-
const
|
|
986
|
+
const isCodePhaseNext = proximaFaseInfo2?.nome &&
|
|
930
987
|
['Backend', 'Frontend', 'Integração', 'Testes'].some(k => proximaFaseInfo2.nome.includes(k));
|
|
931
|
-
if (
|
|
988
|
+
if (isCodePhaseNext) {
|
|
932
989
|
try {
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
990
|
+
// v8.0: Tentar ler backlog e OpenAPI do disco para gerar tasks baseadas no Backlog
|
|
991
|
+
const { decomposeBacklogToTasks } = await import("../services/task-decomposer.service.js");
|
|
992
|
+
let backlogContent = null;
|
|
993
|
+
let openApiContent = null;
|
|
994
|
+
// Buscar backlog nos entregáveis
|
|
995
|
+
for (const [key, path] of Object.entries(estado.entregaveis || {})) {
|
|
996
|
+
const pl = path.toLowerCase();
|
|
997
|
+
if (pl.includes('backlog') && !backlogContent) {
|
|
998
|
+
try {
|
|
999
|
+
backlogContent = await readFile(path, 'utf-8');
|
|
1000
|
+
}
|
|
1001
|
+
catch { /* ignore */ }
|
|
1002
|
+
}
|
|
1003
|
+
if ((pl.includes('openapi') || pl.includes('.yaml')) && !openApiContent) {
|
|
1004
|
+
try {
|
|
1005
|
+
openApiContent = await readFile(path, 'utf-8');
|
|
1006
|
+
}
|
|
1007
|
+
catch { /* ignore */ }
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
if (backlogContent) {
|
|
1011
|
+
const newTasks = decomposeBacklogToTasks(backlogContent, openApiContent, estado.fase_atual + 1, proximaFaseInfo2.nome);
|
|
1012
|
+
if (newTasks.length > 0) {
|
|
1013
|
+
// Limpar tasks antigas da mesma fase antes de adicionar novas
|
|
1014
|
+
estado.tasks = [
|
|
1015
|
+
...(estado.tasks || []).filter(t => t.phase !== estado.fase_atual + 1),
|
|
1016
|
+
...newTasks,
|
|
1017
|
+
];
|
|
1018
|
+
console.log(`[proximo] v8.0: ${newTasks.length} tasks geradas do BACKLOG para fase ${estado.fase_atual + 1} (${proximaFaseInfo2?.nome})`);
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
else if (entregavelValidado) {
|
|
1022
|
+
// Fallback: usar decomposição por H2/H3 do entregável anterior
|
|
1023
|
+
const newTasks = decomposeArchitectureToTasks(entregavelValidado, estado.fase_atual + 1);
|
|
1024
|
+
if (newTasks.length > 0) {
|
|
1025
|
+
estado.tasks = [...(estado.tasks || []), ...newTasks];
|
|
1026
|
+
console.log(`[proximo] v6.5 fallback: ${newTasks.length} tasks geradas da arquitetura para fase ${estado.fase_atual + 1}`);
|
|
1027
|
+
}
|
|
937
1028
|
}
|
|
938
1029
|
}
|
|
939
1030
|
catch (err) {
|
|
940
|
-
console.warn('[proximo]
|
|
1031
|
+
console.warn('[proximo] v8.0: Falha ao gerar tasks (non-blocking):', err);
|
|
941
1032
|
}
|
|
942
1033
|
}
|
|
943
1034
|
// Avançar para próxima fase
|
|
@@ -1046,9 +1137,18 @@ ${criterios.slice(0, 5).map(c => `- ${c}`).join("\n")}
|
|
|
1046
1137
|
|
|
1047
1138
|
## 🤖 Próximo Especialista
|
|
1048
1139
|
|
|
1049
|
-
${formatSkillHydrationCommand(proximaSkill, ide)}
|
|
1140
|
+
${formatSkillHydrationCommand(proximaSkill, ide, diretorio)}
|
|
1050
1141
|
`;
|
|
1051
1142
|
})();
|
|
1143
|
+
// v7.2 FIX C: Gerar menções de arquivo para entregáveis anteriores + gate orientation
|
|
1144
|
+
const ideParaMencoes = estado.ide || detectIDE(diretorio) || 'windsurf';
|
|
1145
|
+
const gateOrientationDir = proximaFase ? getFaseDirName(estado.fase_atual, proximaFase.nome) : undefined;
|
|
1146
|
+
const contextoAcumulado = formatarContextoComoMencoes(estado, diretorio, ideParaMencoes, gateOrientationDir);
|
|
1147
|
+
// v7.1 FIX 5: Path canônico para a próxima fase
|
|
1148
|
+
const pathInfoProximaFase = proximaFase ? (() => {
|
|
1149
|
+
const dirName = getFaseDirName(estado.fase_atual, proximaFase.nome);
|
|
1150
|
+
return `\n### 📁 Onde Salvar o Entregável\n\n| Tipo | Path |\n|------|------|\n| **Entregável** | \`docs/${dirName}/${proximaFase.entregavel_esperado}\` |\n| **Orientações de Gate** | \`docs/${dirName}/.orientacoes-gate.md\` |\n\n> ⚠️ **SALVE o entregável EXATAMENTE no path indicado.** O sistema lê automaticamente do disco.\n> Após salvar, chame: \`executar({ acao: "avancar" })\`\n`;
|
|
1151
|
+
})() : '';
|
|
1052
1152
|
const resposta = `# ✅ Fase ${faseAnterior} Concluída!
|
|
1053
1153
|
|
|
1054
1154
|
## 📁 Entregável
|
|
@@ -1070,6 +1170,8 @@ ${getSpecialistQuestions(estado.fase_atual, proximaFase?.nome)}
|
|
|
1070
1170
|
|
|
1071
1171
|
## Gate de Saída
|
|
1072
1172
|
${proximaFase?.gate_checklist.map(item => `- [ ] ${item}`).join("\n") || "Nenhum"}
|
|
1173
|
+
${pathInfoProximaFase}
|
|
1174
|
+
${contextoAcumulado}
|
|
1073
1175
|
${proximaSkillInfo}
|
|
1074
1176
|
---
|
|
1075
1177
|
|
|
@@ -1089,7 +1191,7 @@ ${proximaSkillInfo}
|
|
|
1089
1191
|
// v5: next_action e progress são calculados automaticamente pelo middleware flow-engine.middleware.ts
|
|
1090
1192
|
// Mantemos apenas specialist_persona e estado_atualizado para o middleware processar
|
|
1091
1193
|
return {
|
|
1092
|
-
content: [{ type: "text", text: feedbackLeitura + resposta + confirmacao + continuidade }],
|
|
1194
|
+
content: [{ type: "text", text: deprecationWarning + feedbackLeitura + resposta + confirmacao + continuidade }],
|
|
1093
1195
|
estado_atualizado: estadoFile.content,
|
|
1094
1196
|
specialist_persona: specialist || undefined,
|
|
1095
1197
|
// 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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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CodeManifest — Tipo para entregáveis de fases de código (v8.0)
|
|
3
|
+
*
|
|
4
|
+
* O "entregável" de uma fase de código é um manifest JSON que lista
|
|
5
|
+
* os arquivos criados, status das user stories e progresso das tasks.
|
|
6
|
+
*
|
|
7
|
+
* Substitui o conceito de "1 arquivo markdown" por "N arquivos de código".
|
|
8
|
+
*
|
|
9
|
+
* @since v8.0
|
|
10
|
+
*/
|
|
11
|
+
export interface CodeManifest {
|
|
12
|
+
fase: number;
|
|
13
|
+
nome: string;
|
|
14
|
+
stack: {
|
|
15
|
+
framework: string;
|
|
16
|
+
language: string;
|
|
17
|
+
extras?: string[];
|
|
18
|
+
};
|
|
19
|
+
user_stories: CodeManifestStory[];
|
|
20
|
+
tasks_total: number;
|
|
21
|
+
tasks_done: number;
|
|
22
|
+
arquivos_criados: string[];
|
|
23
|
+
timestamp: string;
|
|
24
|
+
}
|
|
25
|
+
export interface CodeManifestStory {
|
|
26
|
+
id: string;
|
|
27
|
+
titulo: string;
|
|
28
|
+
status: 'done' | 'in_progress' | 'todo';
|
|
29
|
+
arquivos: string[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Estado da fase de código no handler.
|
|
33
|
+
* Gerencia o ciclo: SETUP → WORKING → GATE
|
|
34
|
+
*/
|
|
35
|
+
export type CodePhaseStatus = 'setup' | 'working' | 'gate' | 'completed';
|
|
36
|
+
export interface CodePhaseState {
|
|
37
|
+
status: CodePhaseStatus;
|
|
38
|
+
faseNumero: number;
|
|
39
|
+
faseNome: string;
|
|
40
|
+
tasksGenerated: boolean;
|
|
41
|
+
currentTaskIndex: number;
|
|
42
|
+
manifest?: CodeManifest;
|
|
43
|
+
setupAnswers?: Record<string, unknown>;
|
|
44
|
+
startedAt: string;
|
|
45
|
+
updatedAt: string;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=code-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-manifest.d.ts","sourceRoot":"","sources":["../../src/types/code-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACH,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CodeManifest — Tipo para entregáveis de fases de código (v8.0)
|
|
3
|
+
*
|
|
4
|
+
* O "entregável" de uma fase de código é um manifest JSON que lista
|
|
5
|
+
* os arquivos criados, status das user stories e progresso das tasks.
|
|
6
|
+
*
|
|
7
|
+
* Substitui o conceito de "1 arquivo markdown" por "N arquivos de código".
|
|
8
|
+
*
|
|
9
|
+
* @since v8.0
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=code-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-manifest.js","sourceRoot":"","sources":["../../src/types/code-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v7.1 FIX 4: Mapa de sinônimos pt↔en para validação de gate checklist.
|
|
3
|
+
*
|
|
4
|
+
* O problema: gate checklist items em português (ex: "Versionamento definido")
|
|
5
|
+
* eram validados via keyword matching literal no conteúdo do entregável.
|
|
6
|
+
* Conteúdo em inglês (ex: YAML com "version: 1.0.0") não continha "versionamento",
|
|
7
|
+
* causando falhas falsas no gate.
|
|
8
|
+
*
|
|
9
|
+
* Solução: expandir cada keyword com sinônimos em ambos os idiomas,
|
|
10
|
+
* termos técnicos equivalentes e variações comuns.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Mapa de sinônimos: keyword → lista de termos equivalentes.
|
|
14
|
+
* Inclui traduções pt↔en, abreviações e termos técnicos.
|
|
15
|
+
* Todas as chaves e valores devem ser lowercase.
|
|
16
|
+
*/
|
|
17
|
+
export declare const KEYWORD_SYNONYMS: Record<string, string[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Expande uma lista de keywords com seus sinônimos.
|
|
20
|
+
* Retorna a lista original + todos os sinônimos encontrados (sem duplicatas).
|
|
21
|
+
*/
|
|
22
|
+
export declare function expandKeywordsWithSynonyms(keywords: string[]): string[];
|
|
23
|
+
//# sourceMappingURL=gate-synonyms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-synonyms.d.ts","sourceRoot":"","sources":["../../src/utils/gate-synonyms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAiJrD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAavE"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v7.1 FIX 4: Mapa de sinônimos pt↔en para validação de gate checklist.
|
|
3
|
+
*
|
|
4
|
+
* O problema: gate checklist items em português (ex: "Versionamento definido")
|
|
5
|
+
* eram validados via keyword matching literal no conteúdo do entregável.
|
|
6
|
+
* Conteúdo em inglês (ex: YAML com "version: 1.0.0") não continha "versionamento",
|
|
7
|
+
* causando falhas falsas no gate.
|
|
8
|
+
*
|
|
9
|
+
* Solução: expandir cada keyword com sinônimos em ambos os idiomas,
|
|
10
|
+
* termos técnicos equivalentes e variações comuns.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Mapa de sinônimos: keyword → lista de termos equivalentes.
|
|
14
|
+
* Inclui traduções pt↔en, abreviações e termos técnicos.
|
|
15
|
+
* Todas as chaves e valores devem ser lowercase.
|
|
16
|
+
*/
|
|
17
|
+
export const KEYWORD_SYNONYMS = {
|
|
18
|
+
// === Versionamento / Versioning ===
|
|
19
|
+
'versionamento': ['version', 'versioning', 'semver', 'versionamento', 'versão', 'versao'],
|
|
20
|
+
'version': ['versionamento', 'versioning', 'semver', 'versão', 'versao'],
|
|
21
|
+
'versioning': ['versionamento', 'version', 'semver'],
|
|
22
|
+
// === Definido / Defined ===
|
|
23
|
+
'definido': ['defined', 'definida', 'especificado', 'especificada', 'configurado', 'configurada', 'estabelecido'],
|
|
24
|
+
'definida': ['defined', 'definido', 'especificada', 'configurada', 'estabelecida'],
|
|
25
|
+
'defined': ['definido', 'definida', 'specified', 'configured', 'established'],
|
|
26
|
+
// === Breaking changes ===
|
|
27
|
+
'breaking': ['breaking', 'incompatível', 'incompativel', 'migração', 'migracao', 'deprecation'],
|
|
28
|
+
'changes': ['changes', 'mudanças', 'mudancas', 'alterações', 'alteracoes'],
|
|
29
|
+
'documentados': ['documented', 'documentadas', 'registrados', 'registradas', 'changelog', 'registro'],
|
|
30
|
+
'documentadas': ['documented', 'documentados', 'registradas', 'changelog'],
|
|
31
|
+
'documented': ['documentados', 'documentadas', 'registrados', 'changelog'],
|
|
32
|
+
// === OpenAPI / Swagger ===
|
|
33
|
+
'openapi': ['openapi', 'swagger', 'api-spec', 'open-api', 'oas'],
|
|
34
|
+
'swagger': ['openapi', 'swagger', 'api-spec'],
|
|
35
|
+
'completo': ['complete', 'completa', 'abrangente', 'comprehensive', 'full'],
|
|
36
|
+
'complete': ['completo', 'completa', 'abrangente', 'full'],
|
|
37
|
+
// === Bounded Contexts / DDD ===
|
|
38
|
+
'bounded': ['bounded', 'delimitado', 'delimitada', 'contexto'],
|
|
39
|
+
'contexts': ['contexts', 'contextos', 'domínios', 'dominios'],
|
|
40
|
+
'microserviços': ['microservices', 'microserviço', 'microservicos', 'serviços', 'services'],
|
|
41
|
+
'microservices': ['microserviços', 'microservicos', 'services', 'serviços'],
|
|
42
|
+
// === CQRS / Event Sourcing ===
|
|
43
|
+
'cqrs': ['cqrs', 'command', 'query', 'segregation', 'command-query'],
|
|
44
|
+
'avaliado': ['evaluated', 'avaliada', 'analisado', 'analisada', 'assessed', 'reviewed'],
|
|
45
|
+
'evaluated': ['avaliado', 'avaliada', 'analisado', 'assessed'],
|
|
46
|
+
'planejado': ['planned', 'planejada', 'projetado', 'projetada', 'designed'],
|
|
47
|
+
'planned': ['planejado', 'planejada', 'projetado', 'designed'],
|
|
48
|
+
// === Segurança / Security ===
|
|
49
|
+
'owasp': ['owasp', 'security', 'segurança', 'seguranca', 'vulnerabilidade'],
|
|
50
|
+
'autenticação': ['authentication', 'autenticacao', 'auth', 'jwt', 'oauth', 'bearer'],
|
|
51
|
+
'authentication': ['autenticação', 'autenticacao', 'auth', 'jwt', 'oauth'],
|
|
52
|
+
'threat': ['threat', 'ameaça', 'ameaca', 'risco', 'risk'],
|
|
53
|
+
'modeling': ['modeling', 'modelagem', 'modelação', 'model'],
|
|
54
|
+
'compliance': ['compliance', 'conformidade', 'regulatório', 'regulatorio', 'lgpd', 'gdpr'],
|
|
55
|
+
'pentest': ['pentest', 'penetration', 'pen-test', 'teste-invasão', 'teste-invasao'],
|
|
56
|
+
// === Testes / Testing ===
|
|
57
|
+
'pirâmide': ['pyramid', 'piramide', 'pirâmide', 'layers', 'camadas'],
|
|
58
|
+
'pyramid': ['pirâmide', 'piramide', 'layers'],
|
|
59
|
+
'contract': ['contract', 'contrato', 'pact', 'consumer-driven'],
|
|
60
|
+
'contrato': ['contract', 'pact', 'consumer-driven'],
|
|
61
|
+
'strategy': ['strategy', 'estratégia', 'estrategia', 'plano', 'abordagem'],
|
|
62
|
+
'estratégia': ['strategy', 'estrategia', 'plano', 'approach'],
|
|
63
|
+
// === Performance / Escalabilidade ===
|
|
64
|
+
'caching': ['caching', 'cache', 'redis', 'memcached', 'cdn'],
|
|
65
|
+
'cache': ['caching', 'redis', 'memcached', 'cdn'],
|
|
66
|
+
'métricas': ['metrics', 'metricas', 'kpis', 'slos', 'indicators'],
|
|
67
|
+
'metrics': ['métricas', 'metricas', 'kpis', 'slos'],
|
|
68
|
+
'load': ['load', 'carga', 'stress', 'performance'],
|
|
69
|
+
// === Observabilidade / Observability ===
|
|
70
|
+
'logs': ['logs', 'logging', 'log', 'winston', 'elk', 'kibana'],
|
|
71
|
+
'logging': ['logs', 'log', 'winston', 'elk'],
|
|
72
|
+
'tracing': ['tracing', 'traces', 'trace', 'opentelemetry', 'jaeger', 'rastreamento'],
|
|
73
|
+
'distribuído': ['distributed', 'distribuido', 'cross-service'],
|
|
74
|
+
'distributed': ['distribuído', 'distribuido', 'cross-service'],
|
|
75
|
+
'dashboards': ['dashboards', 'dashboard', 'grafana', 'painel', 'painéis', 'paineis'],
|
|
76
|
+
// === Arquitetura / Architecture ===
|
|
77
|
+
'diagrama': ['diagram', 'diagramas', 'c4', 'uml', 'mermaid'],
|
|
78
|
+
'diagram': ['diagrama', 'diagramas', 'c4', 'uml', 'mermaid'],
|
|
79
|
+
'stack': ['stack', 'tecnologia', 'tecnologias', 'tech-stack', 'tooling'],
|
|
80
|
+
'justificada': ['justified', 'justificado', 'motivada', 'motivado', 'rationale'],
|
|
81
|
+
'justified': ['justificada', 'justificado', 'motivated', 'rationale'],
|
|
82
|
+
'adrs': ['adrs', 'adr', 'architectural-decision', 'decisões', 'decisoes', 'decision-record'],
|
|
83
|
+
// === Componentes / Components ===
|
|
84
|
+
'componentes': ['components', 'componente', 'modules', 'módulos', 'modulos'],
|
|
85
|
+
'components': ['componentes', 'componente', 'modules', 'módulos'],
|
|
86
|
+
'implementados': ['implemented', 'implementadas', 'criados', 'criadas', 'built'],
|
|
87
|
+
'implemented': ['implementados', 'implementadas', 'criados', 'built'],
|
|
88
|
+
// === Integração / Integration ===
|
|
89
|
+
'integração': ['integration', 'integracao', 'integrations', 'integrated'],
|
|
90
|
+
'integration': ['integração', 'integracao', 'integrations'],
|
|
91
|
+
'mocks': ['mocks', 'mock', 'stub', 'stubs', 'fake', 'msw', 'wiremock', 'prism'],
|
|
92
|
+
// === Banco de Dados / Database ===
|
|
93
|
+
'relacional': ['relational', 'sql', 'postgres', 'postgresql', 'mysql', 'database'],
|
|
94
|
+
'relational': ['relacional', 'sql', 'postgres', 'postgresql', 'mysql'],
|
|
95
|
+
'índices': ['indexes', 'indices', 'index', 'indexação', 'indexacao'],
|
|
96
|
+
'indexes': ['índices', 'indices', 'index', 'indexação'],
|
|
97
|
+
'migrações': ['migrations', 'migracoes', 'migration', 'migrate', 'schema'],
|
|
98
|
+
'migrations': ['migrações', 'migracoes', 'migration', 'schema'],
|
|
99
|
+
// === Requisitos / Requirements ===
|
|
100
|
+
'requisitos': ['requirements', 'requisito', 'requerimentos', 'specs'],
|
|
101
|
+
'requirements': ['requisitos', 'requisito', 'requerimentos', 'specs'],
|
|
102
|
+
'funcionais': ['functional', 'funcional', 'features', 'funcionalidades'],
|
|
103
|
+
'functional': ['funcionais', 'funcional', 'features'],
|
|
104
|
+
'critérios': ['criteria', 'criterios', 'acceptance', 'aceitação', 'aceitacao'],
|
|
105
|
+
'criteria': ['critérios', 'criterios', 'acceptance'],
|
|
106
|
+
'gherkin': ['gherkin', 'bdd', 'given-when-then', 'cenário', 'cenarios'],
|
|
107
|
+
// === UX / Design ===
|
|
108
|
+
'wireframes': ['wireframes', 'wireframe', 'mockups', 'protótipos', 'prototipos', 'sketch'],
|
|
109
|
+
'jornadas': ['journeys', 'jornada', 'user-journey', 'fluxo', 'flow'],
|
|
110
|
+
'journeys': ['jornadas', 'jornada', 'user-journey'],
|
|
111
|
+
'acessibilidade': ['accessibility', 'a11y', 'wcag', 'aria'],
|
|
112
|
+
'accessibility': ['acessibilidade', 'a11y', 'wcag', 'aria'],
|
|
113
|
+
'navegação': ['navigation', 'navegacao', 'routing', 'menu', 'nav'],
|
|
114
|
+
'navigation': ['navegação', 'navegacao', 'routing', 'menu'],
|
|
115
|
+
// === Backlog / Planejamento ===
|
|
116
|
+
'épicos': ['epics', 'epicos', 'epic', 'épico'],
|
|
117
|
+
'epics': ['épicos', 'epicos', 'epic'],
|
|
118
|
+
'features': ['features', 'funcionalidades', 'feature', 'histórias', 'stories'],
|
|
119
|
+
'priorizadas': ['prioritized', 'priorizada', 'priorizado', 'ranked', 'ordered'],
|
|
120
|
+
'prioritized': ['priorizadas', 'priorizada', 'ranked'],
|
|
121
|
+
'histórias': ['stories', 'historias', 'user-stories', 'story', 'user-story'],
|
|
122
|
+
'stories': ['histórias', 'historias', 'user-stories', 'story'],
|
|
123
|
+
'sprints': ['sprints', 'sprint', 'iterações', 'iteracoes', 'iterations'],
|
|
124
|
+
// === Deploy / CI/CD ===
|
|
125
|
+
'pipeline': ['pipeline', 'ci/cd', 'cicd', 'ci-cd', 'github-actions', 'jenkins'],
|
|
126
|
+
'deploy': ['deploy', 'deployment', 'implantação', 'implantacao', 'release'],
|
|
127
|
+
'monitoramento': ['monitoring', 'monitoracao', 'observability', 'alerting'],
|
|
128
|
+
'monitoring': ['monitoramento', 'monitoracao', 'observability'],
|
|
129
|
+
// === Genéricos ===
|
|
130
|
+
'mapeados': ['mapped', 'mapeadas', 'mapeado', 'identified', 'identificados', 'listed'],
|
|
131
|
+
'mapped': ['mapeados', 'mapeadas', 'identified'],
|
|
132
|
+
'selecionadas': ['selected', 'selecionados', 'escolhidas', 'chosen'],
|
|
133
|
+
'selected': ['selecionadas', 'selecionados', 'chosen'],
|
|
134
|
+
'configuradas': ['configured', 'configurados', 'setup', 'definidas'],
|
|
135
|
+
'configured': ['configuradas', 'configurados', 'setup'],
|
|
136
|
+
'criados': ['created', 'criadas', 'gerados', 'geradas', 'generated'],
|
|
137
|
+
'created': ['criados', 'criadas', 'gerados', 'generated'],
|
|
138
|
+
'passados': ['passing', 'passadas', 'passed', 'green', 'ok'],
|
|
139
|
+
'passing': ['passados', 'passadas', 'passed', 'green'],
|
|
140
|
+
'responsivo': ['responsive', 'responsiva', 'mobile-first', 'adaptive'],
|
|
141
|
+
'responsive': ['responsivo', 'responsiva', 'mobile-first'],
|
|
142
|
+
'acessível': ['accessible', 'acessivel', 'a11y', 'wcag'],
|
|
143
|
+
'accessible': ['acessível', 'acessivel', 'a11y'],
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Expande uma lista de keywords com seus sinônimos.
|
|
147
|
+
* Retorna a lista original + todos os sinônimos encontrados (sem duplicatas).
|
|
148
|
+
*/
|
|
149
|
+
export function expandKeywordsWithSynonyms(keywords) {
|
|
150
|
+
const expanded = new Set(keywords);
|
|
151
|
+
for (const kw of keywords) {
|
|
152
|
+
const synonyms = KEYWORD_SYNONYMS[kw];
|
|
153
|
+
if (synonyms) {
|
|
154
|
+
for (const syn of synonyms) {
|
|
155
|
+
expanded.add(syn);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return Array.from(expanded);
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=gate-synonyms.js.map
|