@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.
Files changed (52) hide show
  1. package/dist/constants.d.ts +1 -1
  2. package/dist/constants.js +1 -1
  3. package/dist/flows/types.d.ts.map +1 -1
  4. package/dist/flows/types.js +57 -27
  5. package/dist/flows/types.js.map +1 -1
  6. package/dist/handlers/code-phase-handler.d.ts +35 -0
  7. package/dist/handlers/code-phase-handler.d.ts.map +1 -0
  8. package/dist/handlers/code-phase-handler.js +581 -0
  9. package/dist/handlers/code-phase-handler.js.map +1 -0
  10. package/dist/handlers/shared-prompt-handler.js +2 -2
  11. package/dist/handlers/shared-prompt-handler.js.map +1 -1
  12. package/dist/handlers/specialist-formatters.d.ts +1 -1
  13. package/dist/handlers/specialist-formatters.d.ts.map +1 -1
  14. package/dist/handlers/specialist-formatters.js +103 -3
  15. package/dist/handlers/specialist-formatters.js.map +1 -1
  16. package/dist/handlers/specialist-phase-handler.js +2 -2
  17. package/dist/handlers/specialist-phase-handler.js.map +1 -1
  18. package/dist/middleware/skill-injection.middleware.d.ts +8 -5
  19. package/dist/middleware/skill-injection.middleware.d.ts.map +1 -1
  20. package/dist/middleware/skill-injection.middleware.js +12 -9
  21. package/dist/middleware/skill-injection.middleware.js.map +1 -1
  22. package/dist/services/task-decomposer.service.d.ts +17 -0
  23. package/dist/services/task-decomposer.service.d.ts.map +1 -1
  24. package/dist/services/task-decomposer.service.js +344 -0
  25. package/dist/services/task-decomposer.service.js.map +1 -1
  26. package/dist/tools/consolidated/avancar.d.ts.map +1 -1
  27. package/dist/tools/consolidated/avancar.js +20 -2
  28. package/dist/tools/consolidated/avancar.js.map +1 -1
  29. package/dist/tools/iniciar-projeto.js +1 -1
  30. package/dist/tools/iniciar-projeto.js.map +1 -1
  31. package/dist/tools/maestro-tool.js +1 -1
  32. package/dist/tools/maestro-tool.js.map +1 -1
  33. package/dist/tools/proximo.d.ts.map +1 -1
  34. package/dist/tools/proximo.js +117 -15
  35. package/dist/tools/proximo.js.map +1 -1
  36. package/dist/types/code-manifest.d.ts +47 -0
  37. package/dist/types/code-manifest.d.ts.map +1 -0
  38. package/dist/types/code-manifest.js +12 -0
  39. package/dist/types/code-manifest.js.map +1 -0
  40. package/dist/utils/gate-synonyms.d.ts +23 -0
  41. package/dist/utils/gate-synonyms.d.ts.map +1 -0
  42. package/dist/utils/gate-synonyms.js +161 -0
  43. package/dist/utils/gate-synonyms.js.map +1 -0
  44. package/dist/utils/ide-paths.d.ts +12 -1
  45. package/dist/utils/ide-paths.d.ts.map +1 -1
  46. package/dist/utils/ide-paths.js +21 -9
  47. package/dist/utils/ide-paths.js.map +1 -1
  48. package/dist/utils/instructions.d.ts +11 -2
  49. package/dist/utils/instructions.d.ts.map +1 -1
  50. package/dist/utils/instructions.js +33 -5
  51. package/dist/utils/instructions.js.map +1 -1
  52. 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;AAsCnE,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;AA4GD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAmnCpE;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BzB,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"}
@@ -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áàâãéèêíïóôõöúüçñ\s]/gi, '')
644
+ .replace(/[^a-záàâãéèêíïóôõöúüçñ\s0-9/\-]/gi, '')
603
645
  .split(/\s+/)
604
646
  .filter((w) => w.length > 3);
605
- const matched = keywords.filter((kw) => contentLowerForCheck.includes(kw));
606
- const matchRatio = keywords.length > 0 ? matched.length / keywords.length : 1;
607
- if (matchRatio >= 0.5) {
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
- // v6.5: Decompor arquitetura em tasks ao entrar em fase de código
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 isCodePhase = proximaFaseInfo2?.nome &&
986
+ const isCodePhaseNext = proximaFaseInfo2?.nome &&
930
987
  ['Backend', 'Frontend', 'Integração', 'Testes'].some(k => proximaFaseInfo2.nome.includes(k));
931
- if (isCodePhase && entregavelValidado) {
988
+ if (isCodePhaseNext) {
932
989
  try {
933
- const newTasks = decomposeArchitectureToTasks(entregavelValidado, estado.fase_atual + 1);
934
- if (newTasks.length > 0) {
935
- estado.tasks = [...(estado.tasks || []), ...newTasks];
936
- console.log(`[proximo] v6.5: ${newTasks.length} tasks geradas para fase ${estado.fase_atual + 1} (${proximaFaseInfo2?.nome})`);
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] v6.5: Falha ao decompor arquitetura em tasks (non-blocking):', err);
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