@maestro-ai/mcp-server 5.6.4 → 5.7.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.
Files changed (36) hide show
  1. package/dist/constants.d.ts +1 -1
  2. package/dist/constants.js +1 -1
  3. package/dist/flows/types.d.ts +25 -0
  4. package/dist/flows/types.d.ts.map +1 -1
  5. package/dist/flows/types.js +104 -27
  6. package/dist/flows/types.js.map +1 -1
  7. package/dist/gates/code-validator.d.ts +47 -0
  8. package/dist/gates/code-validator.d.ts.map +1 -0
  9. package/dist/gates/code-validator.js +225 -0
  10. package/dist/gates/code-validator.js.map +1 -0
  11. package/dist/handlers/code-phase-handler.d.ts +36 -0
  12. package/dist/handlers/code-phase-handler.d.ts.map +1 -0
  13. package/dist/handlers/code-phase-handler.js +723 -0
  14. package/dist/handlers/code-phase-handler.js.map +1 -0
  15. package/dist/handlers/specialist-formatters.d.ts.map +1 -1
  16. package/dist/handlers/specialist-formatters.js +100 -0
  17. package/dist/handlers/specialist-formatters.js.map +1 -1
  18. package/dist/services/deliverable-gate.service.d.ts +40 -0
  19. package/dist/services/deliverable-gate.service.d.ts.map +1 -0
  20. package/dist/services/deliverable-gate.service.js +88 -0
  21. package/dist/services/deliverable-gate.service.js.map +1 -0
  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 +21 -3
  28. package/dist/tools/consolidated/avancar.js.map +1 -1
  29. package/dist/tools/proximo.d.ts.map +1 -1
  30. package/dist/tools/proximo.js +56 -121
  31. package/dist/tools/proximo.js.map +1 -1
  32. package/dist/types/code-manifest.d.ts +47 -0
  33. package/dist/types/code-manifest.d.ts.map +1 -0
  34. package/dist/types/code-manifest.js +12 -0
  35. package/dist/types/code-manifest.js.map +1 -0
  36. package/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  * Todos os entry points (stdio.ts, index.ts) importam daqui.
6
6
  */
7
7
  export declare const MAESTRO_NAME = "mcp-maestro";
8
- export declare const MAESTRO_VERSION = "7.2.0";
8
+ export declare const MAESTRO_VERSION = "5.7.0";
9
9
  export declare const MAESTRO_DESCRIPTION = "Maestro \u2014 Orquestrador de desenvolvimento assistido por IA";
10
10
  /**
11
11
  * Protocol version suportada pelo servidor.
package/dist/constants.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * Todos os entry points (stdio.ts, index.ts) importam daqui.
6
6
  */
7
7
  export const MAESTRO_NAME = "mcp-maestro";
8
- export const MAESTRO_VERSION = "7.2.0";
8
+ export const MAESTRO_VERSION = "5.7.0";
9
9
  export const MAESTRO_DESCRIPTION = "Maestro — Orquestrador de desenvolvimento assistido por IA";
10
10
  /**
11
11
  * Protocol version suportada pelo servidor.
@@ -1,4 +1,29 @@
1
1
  import type { Fase, Fluxo } from "../types/index.js";
2
+ import type { EstadoProjeto } from "../types/index.js";
3
+ /**
4
+ * Nomes canônicos das fases de desenvolvimento de código.
5
+ * FONTE ÚNICA DE VERDADE — todos os arquivos devem importar daqui.
6
+ *
7
+ * Nota: "Testes" é fase de DOCUMENTO (plano-testes.md), não de código.
8
+ * "Deploy Final" é fase de código (release.md + CI/CD).
9
+ *
10
+ * @since v9.0
11
+ */
12
+ export declare const CODE_PHASE_NAMES: readonly ["Frontend", "Backend", "Integração", "Deploy Final"];
13
+ /**
14
+ * Verifica se uma fase é de código (desenvolvimento).
15
+ * Usa CODE_PHASE_NAMES como fonte única.
16
+ *
17
+ * @since v9.0
18
+ */
19
+ export declare function isCodePhaseName(faseNome: string | undefined): boolean;
20
+ /**
21
+ * Classificação de tipo de fase para Smart Auto-Flow.
22
+ * Usado por proximo.ts para decidir se a próxima fase precisa de input do usuário.
23
+ *
24
+ * @since v9.0 — movido de proximo.ts (era local)
25
+ */
26
+ export declare const PHASE_TYPE_MAP: Record<string, EstadoProjeto['flow_phase_type']>;
2
27
  export declare const FLUXO_SIMPLES: Fluxo;
3
28
  export declare const FLUXO_MEDIO: Fluxo;
4
29
  export declare const FLUXO_COMPLEXO: Fluxo;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/flows/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGrD,eAAO,MAAM,aAAa,EAAE,KAgG3B,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAuKzB,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KA8I5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CASvE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAGjG;AAmBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,EAAE,UAAU,EAAE,OAAO,GAAG,KAAK,CAoBrG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,EACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,GACpB,IAAI,GAAG,SAAS,CAGlB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/flows/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,gEAAiE,CAAC;AAE/F;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGrE;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAmB3E,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,KAwG3B,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAiLzB,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KA0J5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CASvE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAGjG;AAmBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,EAAE,UAAU,EAAE,OAAO,GAAG,KAAK,CAoBrG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,EACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,GACpB,IAAI,GAAG,SAAS,CAGlB"}
@@ -1,3 +1,50 @@
1
+ /**
2
+ * Nomes canônicos das fases de desenvolvimento de código.
3
+ * FONTE ÚNICA DE VERDADE — todos os arquivos devem importar daqui.
4
+ *
5
+ * Nota: "Testes" é fase de DOCUMENTO (plano-testes.md), não de código.
6
+ * "Deploy Final" é fase de código (release.md + CI/CD).
7
+ *
8
+ * @since v9.0
9
+ */
10
+ export const CODE_PHASE_NAMES = ['Frontend', 'Backend', 'Integração', 'Deploy Final'];
11
+ /**
12
+ * Verifica se uma fase é de código (desenvolvimento).
13
+ * Usa CODE_PHASE_NAMES como fonte única.
14
+ *
15
+ * @since v9.0
16
+ */
17
+ export function isCodePhaseName(faseNome) {
18
+ if (!faseNome)
19
+ return false;
20
+ return CODE_PHASE_NAMES.some(k => faseNome.includes(k));
21
+ }
22
+ /**
23
+ * Classificação de tipo de fase para Smart Auto-Flow.
24
+ * Usado por proximo.ts para decidir se a próxima fase precisa de input do usuário.
25
+ *
26
+ * @since v9.0 — movido de proximo.ts (era local)
27
+ */
28
+ export const PHASE_TYPE_MAP = {
29
+ 'Produto': 'input_required',
30
+ 'Requisitos': 'derived',
31
+ 'UX Design': 'derived',
32
+ 'Modelo de Domínio': 'derived',
33
+ 'Arquitetura': 'derived',
34
+ 'Arquitetura Avançada': 'derived',
35
+ 'Backlog': 'derived',
36
+ 'Contrato API': 'derived',
37
+ 'Prototipagem': 'derived',
38
+ 'Banco de Dados': 'technical',
39
+ 'Segurança': 'technical',
40
+ 'Testes': 'technical',
41
+ 'Performance': 'technical',
42
+ 'Observabilidade': 'technical',
43
+ 'Frontend': 'technical',
44
+ 'Backend': 'technical',
45
+ 'Integração': 'technical',
46
+ 'Deploy Final': 'technical',
47
+ };
1
48
  // Fluxo para projetos simples (7 fases)
2
49
  export const FLUXO_SIMPLES = {
3
50
  nivel: "simples",
@@ -75,9 +122,13 @@ export const FLUXO_SIMPLES = {
75
122
  template: "historia-usuario",
76
123
  skill: "specialist-desenvolvimento-frontend",
77
124
  gate_checklist: [
78
- "Componentes seguindo design",
79
- "Funcionando contra mock",
80
- "Responsivo e acessível",
125
+ "Componentes implementados conforme design doc e user stories do backlog",
126
+ "Pages com rotas configuradas para cada fluxo",
127
+ "State management conectado (hooks/stores)",
128
+ "Integração com mocks do contrato API",
129
+ "Testes unitários para componentes críticos",
130
+ "Responsivo mobile-first e acessível",
131
+ "Loading, empty e error states em todas as telas",
81
132
  ],
82
133
  entregavel_esperado: "frontend-code",
83
134
  },
@@ -88,9 +139,13 @@ export const FLUXO_SIMPLES = {
88
139
  template: "historia-usuario",
89
140
  skill: "specialist-desenvolvimento-backend",
90
141
  gate_checklist: [
91
- "API implementada",
92
- "Testes passando",
93
- "Integração com frontend",
142
+ "Endpoints implementados conforme contrato OpenAPI",
143
+ "DTOs com validação de input para cada endpoint",
144
+ "Services com regras de negócio do modelo de domínio",
145
+ "Testes unitários para services e controllers",
146
+ "Migrações de banco executáveis",
147
+ "Error handling padronizado conforme schema de erros",
148
+ "Autenticação implementada conforme arquitetura",
94
149
  ],
95
150
  entregavel_esperado: "backend-code",
96
151
  },
@@ -233,9 +288,13 @@ export const FLUXO_MEDIO = {
233
288
  especialista: "Desenvolvimento Frontend",
234
289
  template: "historia-usuario",
235
290
  gate_checklist: [
236
- "Componentes implementados",
237
- "Integração com mocks",
238
- "Testes de componente passados",
291
+ "Componentes implementados conforme design doc e user stories do backlog",
292
+ "Pages com rotas configuradas para cada fluxo",
293
+ "State management conectado (hooks/stores)",
294
+ "Integração com mocks do contrato API",
295
+ "Testes unitários para componentes críticos",
296
+ "Responsivo mobile-first e acessível",
297
+ "Loading, empty e error states em todas as telas",
239
298
  ],
240
299
  entregavel_esperado: "frontend-code",
241
300
  },
@@ -245,9 +304,13 @@ export const FLUXO_MEDIO = {
245
304
  especialista: "Desenvolvimento e Vibe Coding Estruturado",
246
305
  template: "historia-usuario",
247
306
  gate_checklist: [
248
- "API implementada conforme contrato",
249
- "Testes unitários passados",
250
- "Migrações executadas",
307
+ "Endpoints implementados conforme contrato OpenAPI",
308
+ "DTOs com validação de input para cada endpoint",
309
+ "Services com regras de negócio do modelo de domínio",
310
+ "Testes unitários para services e controllers",
311
+ "Migrações de banco executáveis",
312
+ "Error handling padronizado conforme schema de erros",
313
+ "Autenticação implementada conforme arquitetura",
251
314
  ],
252
315
  entregavel_esperado: "backend-code",
253
316
  },
@@ -257,9 +320,11 @@ export const FLUXO_MEDIO = {
257
320
  especialista: "DevOps e Infraestrutura",
258
321
  template: "arquitetura",
259
322
  gate_checklist: [
260
- "Frontend integrado ao Backend",
261
- "Testes E2E passados",
262
- "Pipeline CI/CD verde",
323
+ "Frontend conectado ao Backend real (mocks removidos)",
324
+ "Todos os endpoints do OpenAPI funcionando end-to-end",
325
+ "Testes E2E para fluxos críticos",
326
+ "CORS e variáveis de ambiente configurados",
327
+ "Pipeline CI/CD verde com testes automatizados",
263
328
  ],
264
329
  entregavel_esperado: "deploy.md",
265
330
  },
@@ -365,9 +430,13 @@ export const FLUXO_COMPLEXO = {
365
430
  especialista: "Desenvolvimento Frontend",
366
431
  template: "historia-usuario",
367
432
  gate_checklist: [
368
- "Componentes implementados",
369
- "Integração com mocks",
370
- "Testes de componente passados",
433
+ "Componentes implementados conforme design doc e user stories do backlog",
434
+ "Pages com rotas configuradas para cada fluxo",
435
+ "State management conectado (hooks/stores)",
436
+ "Integração com mocks do contrato API",
437
+ "Testes unitários para componentes críticos",
438
+ "Responsivo mobile-first e acessível",
439
+ "Loading, empty e error states em todas as telas",
371
440
  ],
372
441
  entregavel_esperado: "frontend-code",
373
442
  },
@@ -377,9 +446,13 @@ export const FLUXO_COMPLEXO = {
377
446
  especialista: "Desenvolvimento e Vibe Coding Estruturado",
378
447
  template: "historia-usuario",
379
448
  gate_checklist: [
380
- "API implementada conforme contrato",
381
- "Testes unitários passados",
382
- "Migrações executadas",
449
+ "Endpoints implementados conforme contrato OpenAPI",
450
+ "DTOs com validação de input para cada endpoint",
451
+ "Services com regras de negócio do modelo de domínio",
452
+ "Testes unitários para services e controllers",
453
+ "Migrações de banco executáveis",
454
+ "Error handling padronizado conforme schema de erros",
455
+ "Autenticação implementada conforme arquitetura",
383
456
  ],
384
457
  entregavel_esperado: "backend-code",
385
458
  },
@@ -389,9 +462,11 @@ export const FLUXO_COMPLEXO = {
389
462
  especialista: "DevOps e Infraestrutura",
390
463
  template: "arquitetura",
391
464
  gate_checklist: [
392
- "Frontend integrado ao Backend",
393
- "Testes E2E passados",
394
- "Pipeline CI/CD verde",
465
+ "Frontend conectado ao Backend real (mocks removidos)",
466
+ "Todos os endpoints do OpenAPI funcionando end-to-end",
467
+ "Testes E2E para fluxos críticos",
468
+ "CORS e variáveis de ambiente configurados",
469
+ "Pipeline CI/CD verde com testes automatizados",
395
470
  ],
396
471
  entregavel_esperado: "deploy.md",
397
472
  },
@@ -401,9 +476,11 @@ export const FLUXO_COMPLEXO = {
401
476
  especialista: "DevOps e Infraestrutura",
402
477
  template: "arquitetura",
403
478
  gate_checklist: [
404
- "Deploy em produção",
405
- "Monitoramento ativo",
406
- "Health check ok",
479
+ "Deploy em produção realizado com sucesso",
480
+ "Monitoramento ativo com métricas e alertas",
481
+ "Health checks respondendo corretamente",
482
+ "Runbook de operações documentado",
483
+ "Rollback testado e funcional",
407
484
  ],
408
485
  entregavel_esperado: "release.md",
409
486
  },
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/flows/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/flows/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * CodeValidator — Validação de fases de código orientada a artefatos (v9.0)
3
+ *
4
+ * Em vez de buscar keywords em texto markdown, valida por:
5
+ * 1. Existência de arquivos no disco (50% do score)
6
+ * 2. Progresso de tasks/user stories (30% do score)
7
+ * 3. Manifest gerado corretamente (20% do score)
8
+ *
9
+ * Fallback textual mantido como contingência quando manifest não existe.
10
+ *
11
+ * @since v9.0
12
+ */
13
+ import type { CodeManifest } from "../types/code-manifest.js";
14
+ import type { TaskItem } from "../services/task-decomposer.service.js";
15
+ export interface CodeValidationResult {
16
+ score: number;
17
+ approved: boolean;
18
+ breakdown: {
19
+ arquivos: number;
20
+ tasks: number;
21
+ manifest: number;
22
+ };
23
+ details: {
24
+ arquivos_encontrados: string[];
25
+ arquivos_faltando: string[];
26
+ tasks_done: number;
27
+ tasks_total: number;
28
+ user_stories_cobertas: string[];
29
+ user_stories_pendentes: string[];
30
+ };
31
+ feedback: string[];
32
+ }
33
+ /**
34
+ * Valida uma fase de código usando manifest + artefatos reais no disco.
35
+ *
36
+ * @param manifest - CodeManifest gerado pelo code-phase-handler
37
+ * @param diretorio - Diretório raiz do projeto
38
+ * @param tasks - Tasks da fase atual (do estado.tasks)
39
+ * @param faseNumero - Número da fase
40
+ * @returns CodeValidationResult com score, breakdown e detalhes
41
+ */
42
+ export declare function validateCodePhase(manifest: CodeManifest | undefined, diretorio: string, tasks: TaskItem[], faseNumero: number): CodeValidationResult;
43
+ /**
44
+ * Formata o resultado da validação como markdown para exibição.
45
+ */
46
+ export declare function formatCodeValidationResult(result: CodeValidationResult, faseNome: string): string;
47
+ //# sourceMappingURL=code-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-validator.d.ts","sourceRoot":"","sources":["../../src/gates/code-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,EAAE;QACL,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,sBAAsB,EAAE,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAYD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC7B,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,MAAM,GACnB,oBAAoB,CA0EtB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA0CjG"}
@@ -0,0 +1,225 @@
1
+ /**
2
+ * CodeValidator — Validação de fases de código orientada a artefatos (v9.0)
3
+ *
4
+ * Em vez de buscar keywords em texto markdown, valida por:
5
+ * 1. Existência de arquivos no disco (50% do score)
6
+ * 2. Progresso de tasks/user stories (30% do score)
7
+ * 3. Manifest gerado corretamente (20% do score)
8
+ *
9
+ * Fallback textual mantido como contingência quando manifest não existe.
10
+ *
11
+ * @since v9.0
12
+ */
13
+ import { existsSync } from "fs";
14
+ import { join } from "path";
15
+ /** Peso de cada componente do score */
16
+ const WEIGHTS = {
17
+ arquivos: 0.50,
18
+ tasks: 0.30,
19
+ manifest: 0.20,
20
+ };
21
+ /** Threshold para aprovação automática */
22
+ const SCORE_AUTO_APPROVE = 70;
23
+ /**
24
+ * Valida uma fase de código usando manifest + artefatos reais no disco.
25
+ *
26
+ * @param manifest - CodeManifest gerado pelo code-phase-handler
27
+ * @param diretorio - Diretório raiz do projeto
28
+ * @param tasks - Tasks da fase atual (do estado.tasks)
29
+ * @param faseNumero - Número da fase
30
+ * @returns CodeValidationResult com score, breakdown e detalhes
31
+ */
32
+ export function validateCodePhase(manifest, diretorio, tasks, faseNumero) {
33
+ const feedback = [];
34
+ // Se não tem manifest, retornar score mínimo com feedback
35
+ if (!manifest) {
36
+ feedback.push("Manifest não encontrado. Gere o manifest completando as tasks da fase.");
37
+ return {
38
+ score: 0,
39
+ approved: false,
40
+ breakdown: { arquivos: 0, tasks: 0, manifest: 0 },
41
+ details: {
42
+ arquivos_encontrados: [],
43
+ arquivos_faltando: [],
44
+ tasks_done: 0,
45
+ tasks_total: 0,
46
+ user_stories_cobertas: [],
47
+ user_stories_pendentes: [],
48
+ },
49
+ feedback,
50
+ };
51
+ }
52
+ // 1. Verificar existência de arquivos (50%)
53
+ const { arquivosScore, encontrados, faltando } = scoreArquivos(manifest, diretorio);
54
+ // 2. Verificar progresso de tasks (30%)
55
+ const { tasksScore, done, total } = scoreTasks(tasks, faseNumero);
56
+ // 3. Verificar manifest (20%)
57
+ const { manifestScore, storyCobertas, storyPendentes } = scoreManifest(manifest);
58
+ // Calcular score final ponderado
59
+ const score = Math.round(arquivosScore * WEIGHTS.arquivos +
60
+ tasksScore * WEIGHTS.tasks +
61
+ manifestScore * WEIGHTS.manifest);
62
+ // Gerar feedback
63
+ if (faltando.length > 0) {
64
+ feedback.push(`Arquivos faltando no disco: ${faltando.slice(0, 5).join(', ')}${faltando.length > 5 ? ` (+${faltando.length - 5} mais)` : ''}`);
65
+ }
66
+ if (done < total) {
67
+ feedback.push(`Tasks pendentes: ${total - done}/${total}`);
68
+ }
69
+ if (storyPendentes.length > 0) {
70
+ feedback.push(`User Stories não cobertas: ${storyPendentes.join(', ')}`);
71
+ }
72
+ if (score >= SCORE_AUTO_APPROVE) {
73
+ feedback.push("Gate de código aprovado automaticamente.");
74
+ }
75
+ else if (score >= 50) {
76
+ feedback.push("Score entre 50-69: aprovação manual necessária.");
77
+ }
78
+ else {
79
+ feedback.push("Score abaixo de 50: bloqueado. Complete mais tasks e gere os arquivos.");
80
+ }
81
+ return {
82
+ score,
83
+ approved: score >= SCORE_AUTO_APPROVE,
84
+ breakdown: {
85
+ arquivos: Math.round(arquivosScore),
86
+ tasks: Math.round(tasksScore),
87
+ manifest: Math.round(manifestScore),
88
+ },
89
+ details: {
90
+ arquivos_encontrados: encontrados,
91
+ arquivos_faltando: faltando,
92
+ tasks_done: done,
93
+ tasks_total: total,
94
+ user_stories_cobertas: storyCobertas,
95
+ user_stories_pendentes: storyPendentes,
96
+ },
97
+ feedback,
98
+ };
99
+ }
100
+ /**
101
+ * Formata o resultado da validação como markdown para exibição.
102
+ */
103
+ export function formatCodeValidationResult(result, faseNome) {
104
+ const icon = result.approved ? '✅' : result.score >= 50 ? '⚠️' : '❌';
105
+ const status = result.approved ? 'Aprovado' : result.score >= 50 ? 'Aprovação Manual Necessária' : 'Bloqueado';
106
+ let md = `## ${icon} Gate de Código: ${faseNome} — ${status}\n\n`;
107
+ md += `### Score: ${result.score}/100\n\n`;
108
+ md += `| Componente | Score | Peso |\n`;
109
+ md += `|-----------|-------|------|\n`;
110
+ md += `| Arquivos no disco | ${result.breakdown.arquivos}/100 | 50% |\n`;
111
+ md += `| Tasks concluídas | ${result.breakdown.tasks}/100 | 30% |\n`;
112
+ md += `| Manifest/US | ${result.breakdown.manifest}/100 | 20% |\n\n`;
113
+ if (result.details.arquivos_encontrados.length > 0) {
114
+ md += `### Arquivos Encontrados (${result.details.arquivos_encontrados.length})\n`;
115
+ md += result.details.arquivos_encontrados.slice(0, 10).map(f => `- ✅ \`${f}\``).join('\n') + '\n\n';
116
+ }
117
+ if (result.details.arquivos_faltando.length > 0) {
118
+ md += `### Arquivos Faltando (${result.details.arquivos_faltando.length})\n`;
119
+ md += result.details.arquivos_faltando.slice(0, 10).map(f => `- ❌ \`${f}\``).join('\n') + '\n\n';
120
+ }
121
+ if (result.details.tasks_total > 0) {
122
+ md += `### Tasks: ${result.details.tasks_done}/${result.details.tasks_total}\n\n`;
123
+ }
124
+ if (result.details.user_stories_cobertas.length > 0) {
125
+ md += `### User Stories Cobertas\n`;
126
+ md += result.details.user_stories_cobertas.map(s => `- ✅ ${s}`).join('\n') + '\n\n';
127
+ }
128
+ if (result.details.user_stories_pendentes.length > 0) {
129
+ md += `### User Stories Pendentes\n`;
130
+ md += result.details.user_stories_pendentes.map(s => `- ⏳ ${s}`).join('\n') + '\n\n';
131
+ }
132
+ if (result.feedback.length > 0) {
133
+ md += `### Feedback\n`;
134
+ md += result.feedback.map(f => `> ${f}`).join('\n') + '\n';
135
+ }
136
+ return md;
137
+ }
138
+ // === SCORE HELPERS ===
139
+ function scoreArquivos(manifest, diretorio) {
140
+ const arquivos = manifest.arquivos_criados || [];
141
+ if (arquivos.length === 0) {
142
+ // Sem arquivos listados — tentar detectar diretórios relevantes
143
+ const fase = manifest.nome.toLowerCase();
144
+ const dirsToCheck = getDirsForPhase(fase);
145
+ const found = [];
146
+ for (const dir of dirsToCheck) {
147
+ const fullPath = join(diretorio, dir);
148
+ if (existsSync(fullPath)) {
149
+ found.push(dir + '/');
150
+ }
151
+ }
152
+ // Se encontrou pelo menos um diretório relevante, dar score parcial
153
+ return {
154
+ arquivosScore: found.length > 0 ? Math.min(found.length * 25, 80) : 0,
155
+ encontrados: found,
156
+ faltando: dirsToCheck.filter(d => !found.includes(d + '/')).map(d => d + '/'),
157
+ };
158
+ }
159
+ const encontrados = [];
160
+ const faltando = [];
161
+ for (const arquivo of arquivos) {
162
+ // Tentar path absoluto primeiro, depois relativo ao projeto
163
+ const absPath = arquivo.startsWith('/') || arquivo.match(/^[A-Z]:/) ? arquivo : join(diretorio, arquivo);
164
+ if (existsSync(absPath)) {
165
+ encontrados.push(arquivo);
166
+ }
167
+ else {
168
+ faltando.push(arquivo);
169
+ }
170
+ }
171
+ const total = arquivos.length;
172
+ const arquivosScore = total > 0 ? (encontrados.length / total) * 100 : 0;
173
+ return { arquivosScore, encontrados, faltando };
174
+ }
175
+ function scoreTasks(tasks, faseNumero) {
176
+ const phaseTasks = tasks.filter(t => t.phase === faseNumero && (t.type === 'task' || t.type === 'subtask'));
177
+ const done = phaseTasks.filter(t => t.status === 'done').length;
178
+ const total = phaseTasks.length;
179
+ // Se não tem tasks definidas, dar score neutro (não penalizar)
180
+ const tasksScore = total > 0 ? (done / total) * 100 : 50;
181
+ return { tasksScore, done, total };
182
+ }
183
+ function scoreManifest(manifest) {
184
+ let score = 0;
185
+ const storyCobertas = [];
186
+ const storyPendentes = [];
187
+ // Manifest existe — 40 pontos base
188
+ score += 40;
189
+ // Stack preenchida — 20 pontos
190
+ if (manifest.stack?.framework && manifest.stack.framework.length > 0) {
191
+ score += 20;
192
+ }
193
+ // User stories com status — 40 pontos
194
+ const stories = manifest.user_stories || [];
195
+ if (stories.length > 0) {
196
+ const doneStories = stories.filter(s => s.status === 'done');
197
+ storyCobertas.push(...doneStories.map(s => `${s.id}: ${s.titulo}`));
198
+ storyPendentes.push(...stories.filter(s => s.status !== 'done').map(s => `${s.id}: ${s.titulo}`));
199
+ const storyRatio = doneStories.length / stories.length;
200
+ score += Math.round(storyRatio * 40);
201
+ }
202
+ else {
203
+ // Sem US definidas — dar pontos parciais se tem tasks_done
204
+ if (manifest.tasks_done > 0 && manifest.tasks_total > 0) {
205
+ score += Math.round((manifest.tasks_done / manifest.tasks_total) * 40);
206
+ }
207
+ }
208
+ return { manifestScore: Math.min(score, 100), storyCobertas, storyPendentes };
209
+ }
210
+ function getDirsForPhase(faseNomeLower) {
211
+ if (faseNomeLower.includes('frontend')) {
212
+ return ['frontend', 'src', 'app', 'pages', 'components'];
213
+ }
214
+ if (faseNomeLower.includes('backend')) {
215
+ return ['backend', 'server', 'api', 'src'];
216
+ }
217
+ if (faseNomeLower.includes('integra')) {
218
+ return ['tests', 'e2e', '__tests__'];
219
+ }
220
+ if (faseNomeLower.includes('deploy')) {
221
+ return ['.github', 'docker', 'infra', 'scripts'];
222
+ }
223
+ return [];
224
+ }
225
+ //# sourceMappingURL=code-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-validator.js","sourceRoot":"","sources":["../../src/gates/code-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Code Phase Handler (v8.0)
3
+ *
4
+ * Handler dedicado para fases de desenvolvimento de código (Frontend, Backend, Integração, Deploy).
5
+ *
6
+ * Responsabilidades:
7
+ * 1. Detectar que é fase de código e interceptar antes do proximo.ts
8
+ * 2. Ler backlog, OpenAPI, arquitetura do disco (via menções)
9
+ * 3. Gerar tasks baseadas no Backlog (não da arquitetura)
10
+ * 4. Apresentar tasks task-by-task com contexto dos docs anteriores
11
+ * 5. Validar existência real de arquivos (não keywords)
12
+ * 6. Gerar manifest ao completar todas tasks
13
+ *
14
+ * State machine: SETUP → WORKING → GATE → COMPLETED
15
+ *
16
+ * @since v8.0
17
+ */
18
+ import type { ToolResult, EstadoProjeto } from "../types/index.js";
19
+ interface CodePhaseArgs {
20
+ estado: EstadoProjeto;
21
+ diretorio: string;
22
+ respostas?: Record<string, unknown>;
23
+ entregavel?: string;
24
+ }
25
+ /**
26
+ * Verifica se uma fase é de código.
27
+ * v9.0: Delega para isCodePhaseName de flows/types.ts (fonte única de verdade).
28
+ */
29
+ export declare function isCodePhase(faseNome: string | undefined): boolean;
30
+ /**
31
+ * Entry point do Code Phase Handler.
32
+ * Detecta o estado atual e delega para o handler correto.
33
+ */
34
+ export declare function handleCodePhase(args: CodePhaseArgs): Promise<ToolResult>;
35
+ export {};
36
+ //# sourceMappingURL=code-phase-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-phase-handler.d.ts","sourceRoot":"","sources":["../../src/handlers/code-phase-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWnE,UAAU,aAAa;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEjE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA4B9E"}