@maestro-ai/mcp-server 5.4.5 → 5.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +68 -83
  2. package/dist/content/rules/RULES.md +14 -0
  3. package/dist/core/metrics/MetricsCollector.d.ts +28 -12
  4. package/dist/core/metrics/MetricsCollector.d.ts.map +1 -1
  5. package/dist/core/metrics/MetricsCollector.js +151 -12
  6. package/dist/core/metrics/MetricsCollector.js.map +1 -1
  7. package/dist/core/validation/ValidationPipeline.d.ts +24 -2
  8. package/dist/core/validation/ValidationPipeline.d.ts.map +1 -1
  9. package/dist/core/validation/ValidationPipeline.js +46 -2
  10. package/dist/core/validation/ValidationPipeline.js.map +1 -1
  11. package/dist/core/validation/layers/DeliverableValidator.d.ts +13 -0
  12. package/dist/core/validation/layers/DeliverableValidator.d.ts.map +1 -0
  13. package/dist/core/validation/layers/DeliverableValidator.js +276 -0
  14. package/dist/core/validation/layers/DeliverableValidator.js.map +1 -0
  15. package/dist/flows/onboarding-orchestrator.js +5 -5
  16. package/dist/flows/onboarding-orchestrator.js.map +1 -1
  17. package/dist/gates/contextual-recommender.d.ts.map +1 -1
  18. package/dist/gates/contextual-recommender.js +260 -1
  19. package/dist/gates/contextual-recommender.js.map +1 -1
  20. package/dist/gates/validator.d.ts +5 -6
  21. package/dist/gates/validator.d.ts.map +1 -1
  22. package/dist/gates/validator.js +9 -6
  23. package/dist/gates/validator.js.map +1 -1
  24. package/dist/handlers/shared-prompt-handler.d.ts.map +1 -1
  25. package/dist/handlers/shared-prompt-handler.js +15 -14
  26. package/dist/handlers/shared-prompt-handler.js.map +1 -1
  27. package/dist/middleware/adr-generation.middleware.d.ts +5 -0
  28. package/dist/middleware/adr-generation.middleware.d.ts.map +1 -0
  29. package/dist/middleware/adr-generation.middleware.js +214 -0
  30. package/dist/middleware/adr-generation.middleware.js.map +1 -0
  31. package/dist/middleware/flow-engine.middleware.d.ts +5 -3
  32. package/dist/middleware/flow-engine.middleware.d.ts.map +1 -1
  33. package/dist/middleware/flow-engine.middleware.js +18 -10
  34. package/dist/middleware/flow-engine.middleware.js.map +1 -1
  35. package/dist/middleware/index.d.ts +18 -11
  36. package/dist/middleware/index.d.ts.map +1 -1
  37. package/dist/middleware/index.js +24 -11
  38. package/dist/middleware/index.js.map +1 -1
  39. package/dist/middleware/orchestration-pipeline.middleware.d.ts +42 -0
  40. package/dist/middleware/orchestration-pipeline.middleware.d.ts.map +1 -0
  41. package/dist/middleware/orchestration-pipeline.middleware.js +57 -0
  42. package/dist/middleware/orchestration-pipeline.middleware.js.map +1 -0
  43. package/dist/middleware/skill-injection.middleware.d.ts.map +1 -1
  44. package/dist/middleware/skill-injection.middleware.js +6 -9
  45. package/dist/middleware/skill-injection.middleware.js.map +1 -1
  46. package/dist/middleware/validation.middleware.d.ts +11 -0
  47. package/dist/middleware/validation.middleware.d.ts.map +1 -1
  48. package/dist/middleware/validation.middleware.js +64 -4
  49. package/dist/middleware/validation.middleware.js.map +1 -1
  50. package/dist/router.d.ts.map +1 -1
  51. package/dist/router.js +20 -14
  52. package/dist/router.js.map +1 -1
  53. package/dist/services/flow-engine.d.ts +1 -0
  54. package/dist/services/flow-engine.d.ts.map +1 -1
  55. package/dist/services/flow-engine.js +22 -10
  56. package/dist/services/flow-engine.js.map +1 -1
  57. package/dist/services/watcher.service.d.ts +45 -0
  58. package/dist/services/watcher.service.d.ts.map +1 -0
  59. package/dist/services/watcher.service.js +106 -0
  60. package/dist/services/watcher.service.js.map +1 -0
  61. package/dist/state/context.d.ts +15 -4
  62. package/dist/state/context.d.ts.map +1 -1
  63. package/dist/state/context.js +36 -9
  64. package/dist/state/context.js.map +1 -1
  65. package/dist/state/storage.d.ts.map +1 -1
  66. package/dist/state/storage.js +6 -0
  67. package/dist/state/storage.js.map +1 -1
  68. package/dist/tests/aprovar-gate.test.d.ts +2 -0
  69. package/dist/tests/aprovar-gate.test.d.ts.map +1 -0
  70. package/dist/tests/aprovar-gate.test.js +113 -0
  71. package/dist/tests/aprovar-gate.test.js.map +1 -0
  72. package/dist/tests/deliverable-validator.test.d.ts +12 -0
  73. package/dist/tests/deliverable-validator.test.d.ts.map +1 -0
  74. package/dist/tests/deliverable-validator.test.js +214 -0
  75. package/dist/tests/deliverable-validator.test.js.map +1 -0
  76. package/dist/tests/flow-engine.test.d.ts +2 -0
  77. package/dist/tests/flow-engine.test.d.ts.map +1 -0
  78. package/dist/tests/flow-engine.test.js +85 -0
  79. package/dist/tests/flow-engine.test.js.map +1 -0
  80. package/dist/tests/gate-orientation.test.d.ts +2 -0
  81. package/dist/tests/gate-orientation.test.d.ts.map +1 -0
  82. package/dist/tests/gate-orientation.test.js +59 -0
  83. package/dist/tests/gate-orientation.test.js.map +1 -0
  84. package/dist/tests/middleware.test.js +30 -4
  85. package/dist/tests/middleware.test.js.map +1 -1
  86. package/dist/tests/watcher.service.test.d.ts +2 -0
  87. package/dist/tests/watcher.service.test.d.ts.map +1 -0
  88. package/dist/tests/watcher.service.test.js +119 -0
  89. package/dist/tests/watcher.service.test.js.map +1 -0
  90. package/dist/tools/aprovar-gate.d.ts.map +1 -1
  91. package/dist/tools/aprovar-gate.js +4 -0
  92. package/dist/tools/aprovar-gate.js.map +1 -1
  93. package/dist/tools/contexto.d.ts.map +1 -1
  94. package/dist/tools/contexto.js +41 -0
  95. package/dist/tools/contexto.js.map +1 -1
  96. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  97. package/dist/tools/iniciar-projeto.js +6 -40
  98. package/dist/tools/iniciar-projeto.js.map +1 -1
  99. package/dist/tools/maestro-tool.d.ts.map +1 -1
  100. package/dist/tools/maestro-tool.js +34 -14
  101. package/dist/tools/maestro-tool.js.map +1 -1
  102. package/dist/tools/proximo.d.ts.map +1 -1
  103. package/dist/tools/proximo.js +224 -71
  104. package/dist/tools/proximo.js.map +1 -1
  105. package/dist/tools/status.d.ts.map +1 -1
  106. package/dist/tools/status.js +27 -0
  107. package/dist/tools/status.js.map +1 -1
  108. package/dist/tools/validar-gate.d.ts +8 -1
  109. package/dist/tools/validar-gate.d.ts.map +1 -1
  110. package/dist/tools/validar-gate.js +147 -99
  111. package/dist/tools/validar-gate.js.map +1 -1
  112. package/dist/types/config.d.ts +2 -0
  113. package/dist/types/config.d.ts.map +1 -1
  114. package/dist/types/config.js +2 -0
  115. package/dist/types/config.js.map +1 -1
  116. package/dist/types/index.d.ts +6 -0
  117. package/dist/types/index.d.ts.map +1 -1
  118. package/dist/types/index.js.map +1 -1
  119. package/dist/utils/gate-orientation.d.ts +11 -0
  120. package/dist/utils/gate-orientation.d.ts.map +1 -0
  121. package/dist/utils/gate-orientation.js +64 -0
  122. package/dist/utils/gate-orientation.js.map +1 -0
  123. package/dist/utils/ide-paths.d.ts +11 -0
  124. package/dist/utils/ide-paths.d.ts.map +1 -1
  125. package/dist/utils/ide-paths.js +27 -0
  126. package/dist/utils/ide-paths.js.map +1 -1
  127. package/dist/utils/instructions.d.ts +6 -1
  128. package/dist/utils/instructions.d.ts.map +1 -1
  129. package/dist/utils/instructions.js +32 -1
  130. package/dist/utils/instructions.js.map +1 -1
  131. package/package.json +2 -1
  132. package/dist/gates/compatibility-wrapper.d.ts +0 -139
  133. package/dist/gates/compatibility-wrapper.d.ts.map +0 -1
  134. package/dist/gates/compatibility-wrapper.js +0 -362
  135. package/dist/gates/compatibility-wrapper.js.map +0 -1
  136. package/dist/gates/unified-validator.d.ts +0 -67
  137. package/dist/gates/unified-validator.d.ts.map +0 -1
  138. package/dist/gates/unified-validator.js +0 -234
  139. package/dist/gates/unified-validator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"validation.middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/validation.middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,GACtB,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,CAyCvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,CAAC,CAQvD;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,2BAbH,WAAW,KAAK,WAAW,CAmBrD,CAAC"}
1
+ {"version":3,"file":"validation.middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/validation.middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,GACtB,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,CA+CvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,CAAC,CAQvD;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,2BAbH,WAAW,KAAK,WAAW,CAmBrD,CAAC;AAEH;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,MAAM,GACjB,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,CA6CvC"}
@@ -26,10 +26,16 @@ export function withPromptValidation(toolName, expectedTool) {
26
26
  if (!expectedTool) {
27
27
  return result;
28
28
  }
29
- // Extrair conteúdo da resposta para validação
30
- const responseText = result.content.map(c => c.type === 'text' ? c.text : '').join('\n');
31
- // Validar chamada de tool
32
- const validation = promptValidator.validateToolCall(responseText, expectedTool);
29
+ // Em um MCP real, o "toolName" da própria chamada (ex: "maestro", "executar")
30
+ // é determinado na rota. A validação antiga verificava se a string
31
+ // de resposta continha a chamada de tool, o que causava disparo de
32
+ // falso positivo baseando-se nas próprias instruções do servidor.
33
+ // Para não quebrar a lógica global, faremos a validação comparando
34
+ // apenas se a toolName que engatilhou esse handler corresponde a expectedTool,
35
+ // ou desativaremos o validador confuso se expectedTool === toolName.
36
+ // Validar chamada de tool usando a própria ferramenta chamada no endpoint
37
+ // No futuro, promptValidator pode inspecionar o args para ver formatacoes.
38
+ const validation = promptValidator.validateToolCall(`${toolName}()`, expectedTool);
33
39
  // Se válido, retornar resultado original
34
40
  if (validation.valid) {
35
41
  return result;
@@ -72,4 +78,58 @@ export const defaultValidations = validateTools({
72
78
  'analisar': 'analisar',
73
79
  'contexto': 'contexto',
74
80
  });
81
+ /**
82
+ * V6 Sprint 2: Middleware de Estado Compulsório
83
+ *
84
+ * Intercepta chamadas de tools ANTES de executar o handler.
85
+ * Quando `em_estado_compulsorio = true`, bloqueia qualquer tool
86
+ * que não esteja na whitelist (`tools_permitidas_no_compulsorio`).
87
+ *
88
+ * Objetivo: Impedir que a IA "divague" chamando `maestro()`, `analisar()` etc
89
+ * enquanto deveria estar corrigindo o entregável reprovado no Gate.
90
+ */
91
+ export function withCompulsoryStateGuard(toolName) {
92
+ return (handler) => {
93
+ return async (args) => {
94
+ // Tentar ler o estado do projeto para verificar modo compulsório
95
+ const diretorio = args.diretorio;
96
+ if (diretorio) {
97
+ try {
98
+ const { readFileSync } = await import('fs');
99
+ const { join } = await import('path');
100
+ const estadoPath = join(diretorio, '.maestro', 'estado.json');
101
+ const estadoRaw = readFileSync(estadoPath, 'utf-8');
102
+ const estado = JSON.parse(estadoRaw);
103
+ if (estado?.em_estado_compulsorio === true) {
104
+ const allowed = estado?.tools_permitidas_no_compulsorio
105
+ ?? ['executar', 'validar', 'contexto'];
106
+ if (!allowed.includes(toolName)) {
107
+ return {
108
+ content: [{
109
+ type: 'text',
110
+ text: [
111
+ `⛔ **SISTEMA: Gate Reprovado — Modo Compulsório Ativo**`,
112
+ ``,
113
+ `A tool \`${toolName}\` está bloqueada até que o Gate seja aprovado.`,
114
+ ``,
115
+ `**Tools disponíveis agora:** ${allowed.map(t => `\`${t}\``).join(', ')}`,
116
+ ``,
117
+ `**Para sair deste modo:**`,
118
+ `1. Corrija o entregável aplicando os itens ❌ da última validação`,
119
+ `2. Chame: \`executar({ diretorio: "${diretorio}", acao: "avancar" })\``,
120
+ ].join('\n'),
121
+ }],
122
+ isError: true,
123
+ };
124
+ }
125
+ }
126
+ }
127
+ catch {
128
+ // Se não conseguir ler o estado, continua normalmente
129
+ }
130
+ }
131
+ return handler(args);
132
+ };
133
+ };
134
+ }
75
135
  //# sourceMappingURL=validation.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.middleware.js","sourceRoot":"","sources":["../../src/middleware/validation.middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,eAAe,EAAyB,MAAM,yCAAyC,CAAC;AAIjG;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAChC,QAAgB,EAChB,YAAqB;IAErB,OAAO,CAAC,OAAoB,EAAE,EAAE;QAC5B,OAAO,KAAK,EAAE,IAA6B,EAAuB,EAAE;YAChE,4BAA4B;YAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAEnC,uCAAuC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,8CAA8C;YAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzF,0BAA0B;YAC1B,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAEhF,yCAAyC;YACzC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,4CAA4C;YAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAE9D,gDAAgD;YAChD,MAAM,eAAe,GAAG;gBACpB,GAAG,MAAM,CAAC,OAAO;gBACjB,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C,CAAC;YAEF,OAAO;gBACH,GAAG,MAAM;gBACT,OAAO,EAAE,eAAe;gBACxB,oCAAoC;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,UAAU,CAAC,MAAM;gBACpC,sBAAsB,EAAE,UAAU,CAAC,WAAW;aACjD,CAAC;QACN,CAAC,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,YAAoC;IAEpC,MAAM,UAAU,GAA0D,EAAE,CAAC;IAE7E,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,UAAU,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC5C,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;CACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"validation.middleware.js","sourceRoot":"","sources":["../../src/middleware/validation.middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAsgBnD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BvG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAO/J;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAMhH;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAkhBnD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BvG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAO/J;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAMhH;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
package/dist/router.js CHANGED
@@ -9,7 +9,8 @@
9
9
  * - routeToolCall() aceita AMBAS (backward compatible)
10
10
  * - Middlewares aplicados automaticamente
11
11
  */
12
- import { applyMiddlewares, applyLightMiddlewares, applySmartMiddlewares, applyPersistenceMiddlewares } from "./middleware/index.js";
12
+ import { applyOrchestrationPipeline, applyMiddlewares, applySmartMiddlewares, applyPersistenceMiddlewares } from "./middleware/index.js";
13
+ import { withErrorHandling } from "./errors/index.js";
13
14
  // === IMPORTS DE TOOLS ===
14
15
  // Core
15
16
  import { iniciarProjeto, iniciarProjetoSchema, confirmarProjeto, confirmarProjetoSchema } from "./tools/iniciar-projeto.js";
@@ -92,25 +93,25 @@ const publicTools = [
92
93
  },
93
94
  },
94
95
  },
95
- handler: applySmartMiddlewares("maestro", (a) => maestroTool(a)),
96
+ handler: applyOrchestrationPipeline("maestro", (a) => maestroTool(a)),
96
97
  },
97
98
  {
98
99
  name: "executar",
99
100
  description: "⚡ Executa ações no projeto. acao='avancar' (padrão): avança fase/onboarding (com entregavel ou respostas). acao='salvar': salva conteúdo (requer conteudo). acao='checkpoint': gerencia checkpoints. Para onboarding: respostas={campo1: valor1, campo2: valor2}.",
100
101
  inputSchema: executarSchema,
101
- handler: applySmartMiddlewares("executar", (a) => executar(a)),
102
+ handler: applyOrchestrationPipeline("executar", (a) => executar(a)),
102
103
  },
103
104
  {
104
105
  name: "validar",
105
106
  description: "✅ Valida gate, entregável ou compliance. Tipo auto-detectado ou especificado via parâmetro 'tipo'.",
106
107
  inputSchema: validarSchema,
107
- handler: applyMiddlewares("validar", (a) => validar(a)),
108
+ handler: applyOrchestrationPipeline("validar", (a) => validar(a)),
108
109
  },
109
110
  {
110
111
  name: "analisar",
111
112
  description: "🔍 Analisa código: segurança, qualidade, performance, dependências ou relatório completo. Usa parâmetro 'tipo'.",
112
113
  inputSchema: analisarSchema,
113
- handler: applyMiddlewares("analisar", (a) => analisar(a)),
114
+ handler: applyOrchestrationPipeline("analisar", (a) => analisar(a)),
114
115
  },
115
116
  {
116
117
  name: "contexto",
@@ -130,7 +131,7 @@ const publicTools = [
130
131
  fases_completas: { type: "array" },
131
132
  },
132
133
  },
133
- handler: applyMiddlewares("contexto", (a) => contexto(a)),
134
+ handler: applyOrchestrationPipeline("contexto", (a) => contexto(a)),
134
135
  },
135
136
  ];
136
137
  // ============================================================
@@ -198,13 +199,15 @@ const legacyTools = [
198
199
  name: "proximo",
199
200
  description: "[Interno] Avança fase. Use 'avancar' como alternativa consolidada.",
200
201
  inputSchema: proximoSchema,
201
- handler: applyLightMiddlewares("proximo", (a) => proximo(a)),
202
+ // v6.2 S2.4: Migrado de applyLightMiddlewares para applyOrchestrationPipeline
203
+ handler: applyOrchestrationPipeline("proximo", (a) => proximo(a)),
202
204
  },
203
205
  {
204
206
  name: "validar_gate",
205
207
  description: "[Interno] Valida gate. Use 'validar' como alternativa consolidada.",
206
208
  inputSchema: validarGateSchema,
207
- handler: (a) => validarGate(a),
209
+ // v6.2 S2.3: Adicionado withErrorHandling
210
+ handler: withErrorHandling("validar_gate", (a) => validarGate(a)),
208
211
  },
209
212
  {
210
213
  name: "aprovar_gate",
@@ -222,7 +225,8 @@ const legacyTools = [
222
225
  name: "confirmar_classificacao",
223
226
  description: "[Interno] Confirma reclassificação após PRD.",
224
227
  inputSchema: { type: "object", properties: { estado_json: { type: "string" }, diretorio: { type: "string" }, nivel: { type: "string", enum: ["simples", "medio", "complexo"] }, tipo_artefato: { type: "string", enum: ["poc", "script", "internal", "product"] } }, required: ["estado_json", "diretorio"] },
225
- handler: (a) => confirmarClassificacao(a),
228
+ // v6.2 S2.3: Adicionado withErrorHandling
229
+ handler: withErrorHandling("confirmar_classificacao", (a) => confirmarClassificacao(a)),
226
230
  },
227
231
  {
228
232
  name: "implementar_historia",
@@ -235,19 +239,20 @@ const legacyTools = [
235
239
  name: "nova_feature",
236
240
  description: "[Interno] Fluxo de nova feature.",
237
241
  inputSchema: novaFeatureSchema,
238
- handler: (a) => novaFeature(a),
242
+ // v6.2 S2.3: Adicionado withErrorHandling
243
+ handler: withErrorHandling("nova_feature", (a) => novaFeature(a)),
239
244
  },
240
245
  {
241
246
  name: "corrigir_bug",
242
247
  description: "[Interno] Fluxo de correção de bug.",
243
248
  inputSchema: corrigirBugSchema,
244
- handler: (a) => corrigirBug(a),
249
+ handler: withErrorHandling("corrigir_bug", (a) => corrigirBug(a)),
245
250
  },
246
251
  {
247
252
  name: "refatorar",
248
253
  description: "[Interno] Fluxo de refatoração.",
249
254
  inputSchema: refatorarSchema,
250
- handler: (a) => refatorar(a),
255
+ handler: withErrorHandling("refatorar", (a) => refatorar(a)),
251
256
  },
252
257
  // ──── ANÁLISE LEGACY ────
253
258
  {
@@ -307,13 +312,14 @@ const legacyTools = [
307
312
  name: "onboarding_orchestrator",
308
313
  description: "[Interno] Use 'avancar' para fluxo de onboarding.",
309
314
  inputSchema: onboardingOrchestratorSchema,
310
- handler: (a) => onboardingOrchestrator(a),
315
+ // v6.2 S2.3: Adicionado withErrorHandling
316
+ handler: withErrorHandling("onboarding_orchestrator", (a) => onboardingOrchestrator(a)),
311
317
  },
312
318
  {
313
319
  name: "brainstorm",
314
320
  description: "[Interno] Use 'avancar' para brainstorm.",
315
321
  inputSchema: brainstormSchema,
316
- handler: (a) => brainstorm(a),
322
+ handler: withErrorHandling("brainstorm", (a) => brainstorm(a)),
317
323
  },
318
324
  {
319
325
  name: "prd_writer",
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export interface FlowState {
27
27
  nivel: string;
28
28
  usarStitch: boolean;
29
29
  diretorio: string;
30
+ flowPhaseType: 'input_required' | 'derived' | 'technical' | 'correction_loop';
30
31
  }
31
32
  /**
32
33
  * Resultado do flow engine: próximo passo recomendado
@@ -1 +1 @@
1
- {"version":3,"file":"flow-engine.d.ts","sourceRoot":"","sources":["../../src/services/flow-engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIxF;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACzC;AAED;;GAEG;AACH,UAAU,cAAc;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;IAC1C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAsKD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAoBhF;AA6CD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAsC9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAS/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAanE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAkB7D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAMlG"}
1
+ {"version":3,"file":"flow-engine.d.ts","sourceRoot":"","sources":["../../src/services/flow-engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIxF;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,EAAE,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,iBAAiB,CAAC;CACjF;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACzC;AAED;;GAEG;AACH,UAAU,cAAc;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;IAC1C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAsKD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAuBhF;AA6CD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CA+C9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAS/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAanE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAkB7D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAMlG"}
@@ -42,7 +42,7 @@ const ONBOARDING_FLOW = [
42
42
  {
43
43
  from: "specialist_active",
44
44
  to: "specialist_collecting",
45
- tool: "executar",
45
+ tool: "maestro",
46
46
  description: "Responder perguntas do especialista sobre o produto",
47
47
  requires_user_input: true,
48
48
  user_prompt: "Responda as perguntas do especialista sobre seu produto (problema, público, MVP).",
@@ -50,7 +50,7 @@ const ONBOARDING_FLOW = [
50
50
  {
51
51
  from: "specialist_collecting",
52
52
  to: "specialist_collecting",
53
- tool: "executar",
53
+ tool: "maestro",
54
54
  description: "Continuar respondendo perguntas do especialista",
55
55
  requires_user_input: true,
56
56
  user_prompt: "Continue respondendo as perguntas do especialista.",
@@ -58,7 +58,7 @@ const ONBOARDING_FLOW = [
58
58
  {
59
59
  from: "specialist_generating",
60
60
  to: "specialist_validating",
61
- tool: "executar",
61
+ tool: "maestro",
62
62
  description: "Validar PRD gerado pelo especialista",
63
63
  requires_user_input: false,
64
64
  auto_execute: true,
@@ -66,7 +66,7 @@ const ONBOARDING_FLOW = [
66
66
  {
67
67
  from: "specialist_validating",
68
68
  to: "specialist_approved",
69
- tool: "executar",
69
+ tool: "maestro",
70
70
  description: "PRD aprovado, preparar transição para próximo especialista",
71
71
  condition: (s) => true,
72
72
  requires_user_input: true,
@@ -84,7 +84,7 @@ const ONBOARDING_FLOW = [
84
84
  {
85
85
  from: "discovery_in_progress",
86
86
  to: "discovery_next_block",
87
- tool: "executar",
87
+ tool: "maestro",
88
88
  description: "Responder próximo bloco do discovery",
89
89
  requires_user_input: true,
90
90
  user_prompt: "Responda as perguntas do próximo bloco de discovery.",
@@ -92,7 +92,7 @@ const ONBOARDING_FLOW = [
92
92
  {
93
93
  from: "discovery_complete",
94
94
  to: "brainstorm",
95
- tool: "executar",
95
+ tool: "maestro",
96
96
  description: "Brainstorm exploratório para refinar ideias",
97
97
  condition: (s) => s.mode !== "economy" && s.wantsBrainstorm,
98
98
  requires_user_input: true,
@@ -101,7 +101,7 @@ const ONBOARDING_FLOW = [
101
101
  {
102
102
  from: "discovery_complete",
103
103
  to: "prd",
104
- tool: "executar",
104
+ tool: "maestro",
105
105
  description: "Gerar PRD a partir do discovery",
106
106
  condition: (s) => s.mode === "economy" || !s.wantsBrainstorm,
107
107
  requires_user_input: false,
@@ -110,7 +110,7 @@ const ONBOARDING_FLOW = [
110
110
  {
111
111
  from: "brainstorm_complete",
112
112
  to: "prd",
113
- tool: "executar",
113
+ tool: "maestro",
114
114
  description: "Gerar PRD a partir do discovery + brainstorm",
115
115
  requires_user_input: false,
116
116
  auto_execute: true,
@@ -186,10 +186,13 @@ export function getFlowState(estado, diretorio) {
186
186
  prdStatus: onboarding?.prdStatus || "pending",
187
187
  aguardandoAprovacao: estado.aguardando_aprovacao || false,
188
188
  aguardandoClassificacao: estado.aguardando_classificacao || false,
189
- wantsBrainstorm: true,
189
+ // v6.3 S1.2: Respeita configuração do projeto. Modo 'economy' não quer brainstorm por padrão.
190
+ wantsBrainstorm: estado.config?.wantsBrainstorm ?? (estado.config?.mode !== 'economy'),
190
191
  nivel: estado.nivel,
191
192
  usarStitch: estado.usar_stitch || false,
192
193
  diretorio,
194
+ // V6 Sprint 6: Ler tipo da fase atual do estado para Smart Auto-Flow
195
+ flowPhaseType: estado.flow_phase_type ?? 'input_required',
193
196
  };
194
197
  }
195
198
  /**
@@ -259,12 +262,21 @@ export function getNextStep(estado, diretorio) {
259
262
  }
260
263
  const faseInfo = getFaseComStitch(estado.nivel, estado.fase_atual, estado.usar_stitch);
261
264
  const specialist = faseInfo ? getSpecialistPersona(faseInfo.nome) : null;
265
+ // V6 Sprint 6: Smart Auto-Flow — sobrescreve requires_user_input baseado no tipo da fase
266
+ // Fases 'derived' (Requisitos, UX, Arquitetura...) e 'technical' (Frontend, Backend...)
267
+ // podem avançar sem pausa para input humano.
268
+ const effectiveRequiresInput = (() => {
269
+ const phaseType = flowState.flowPhaseType;
270
+ if (phaseType === 'derived' || phaseType === 'technical')
271
+ return false;
272
+ return transition.requires_user_input;
273
+ })();
262
274
  return {
263
275
  phase: transition.to,
264
276
  tool: transition.tool,
265
277
  description: transition.description,
266
278
  args_template: { estado_json: "{{estado_json}}", diretorio },
267
- requires_user_input: transition.requires_user_input,
279
+ requires_user_input: effectiveRequiresInput,
268
280
  user_prompt: transition.user_prompt,
269
281
  auto_execute: transition.auto_execute,
270
282
  specialist,
@@ -1 +1 @@
1
- {"version":3,"file":"flow-engine.js","sourceRoot":"","sources":["../../src/services/flow-engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAoD/D;;;GAGG;AACH,MAAM,eAAe,GAAqB;IACtC,4BAA4B;IAC5B;QACI,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,4CAA4C;QACzD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe;QACpC,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,sDAAsD;KACtE;IACD;QACI,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8CAA8C;QAC3D,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,UAAU;QACpD,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,uEAAuE;KACvF;IACD;QACI,IAAI,EAAE,OAAO;QACb,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,sCAAsC;QACnD,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,6DAA6D;KAC7E;IACD;QACI,IAAI,EAAE,mBAAmB;QACzB,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,qDAAqD;QAClE,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,mFAAmF;KACnG;IACD;QACI,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,iDAAiD;QAC9D,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,oDAAoD;KACpE;IACD;QACI,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sCAAsC;QACnD,mBAAmB,EAAE,KAAK;QAC1B,YAAY,EAAE,IAAI;KACrB;IACD;QACI,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,4DAA4D;QACzE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI;QACtB,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,qDAAqD;KACrE;IACD;QACI,IAAI,EAAE,qBAAqB;QAC3B,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mDAAmD;QAChE,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,kDAAkD;KAClE;IAED,iEAAiE;IACjE;QACI,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sCAAsC;QACnD,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,sDAAsD;KACtE;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,6CAA6C;QAC1D,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,eAAe;QAC3D,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,sEAAsE;KACtF;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,iCAAiC;QAC9C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,eAAe;QAC5D,mBAAmB,EAAE,KAAK;QAC1B,YAAY,EAAE,IAAI;KACrB;IACD;QACI,IAAI,EAAE,qBAAqB;QAC3B,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,8CAA8C;QAC3D,mBAAmB,EAAE,KAAK;QAC1B,YAAY,EAAE,IAAI;KACrB;IACD;QACI,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mDAAmD;QAChE,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,gDAAgD;KAChE;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,gBAAgB,GAAqB;IACvC;QACI,IAAI,EAAE,sBAAsB;QAC5B,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,yCAAyC;QACtD,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,uDAAuD;KACvE;IACD;QACI,IAAI,EAAE,0BAA0B;QAChC,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,0CAA0C;QACvD,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,sCAAsC;KACtD;IACD;QACI,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,0CAA0C;QACvD,mBAAmB,EAAE,IAAI;QACzB,WAAW,EAAE,8DAA8D;KAC9E;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,oCAAoC;QACjD,mBAAmB,EAAE,KAAK;QAC1B,YAAY,EAAE,IAAI;KACrB;IACD;QACI,IAAI,EAAE,mBAAmB;QACzB,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qCAAqC;QAClD,mBAAmB,EAAE,KAAK;KAC7B;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB,EAAE,SAAiB;IACjE,MAAM,UAAU,GAAI,MAAc,CAAC,UAAU,CAAC;IAC9C,OAAO;QACH,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS;QAClD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU;QAC/B,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,WAAW;QAC9B,cAAc,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE;QAC5C,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,UAAU,CAAuC;QAC/E,eAAe,EAAE,UAAU,EAAE,eAAe,IAAI,SAAS;QACzD,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAI,SAAS;QAC3D,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,SAAS;QAC7C,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,IAAI,KAAK;QACzD,uBAAuB,EAAE,MAAM,CAAC,wBAAwB,IAAI,KAAK;QACjE,eAAe,EAAE,IAAI;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;QACvC,SAAS;KACZ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,MAAqB;IAChD,IAAI,MAAM,CAAC,oBAAoB;QAAE,OAAO,sBAAsB,CAAC;IAC/D,IAAI,MAAM,CAAC,wBAAwB;QAAE,OAAO,0BAA0B,CAAC;IAEvE,MAAM,UAAU,GAAI,MAAc,CAAC,UAAU,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACb,qFAAqF;QACrF,+DAA+D;QAC/D,IAAI,UAAU,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAClE,gEAAgE;QACpE,CAAC;aAAM,CAAC;YACJ,uCAAuC;YACvC,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC;gBACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;oBAChB,KAAK,QAAQ,CAAC,CAAC,OAAO,mBAAmB,CAAC;oBAC1C,KAAK,YAAY,CAAC,CAAC,OAAO,uBAAuB,CAAC;oBAClD,KAAK,YAAY,CAAC,CAAC,OAAO,uBAAuB,CAAC;oBAClD,KAAK,YAAY,CAAC,CAAC,OAAO,uBAAuB,CAAC;oBAClD,KAAK,UAAU,CAAC,CAAC,OAAO,qBAAqB,CAAC;gBAClD,CAAC;YACL,CAAC;YAED,qCAAqC;YACrC,IAAI,UAAU,CAAC,eAAe,KAAK,aAAa;gBAAE,OAAO,uBAAuB,CAAC;YACjF,IAAI,UAAU,CAAC,eAAe,KAAK,WAAW,IAAI,UAAU,CAAC,gBAAgB,KAAK,SAAS;gBAAE,OAAO,oBAAoB,CAAC;YACzH,IAAI,UAAU,CAAC,gBAAgB,KAAK,aAAa;gBAAE,OAAO,wBAAwB,CAAC;YACnF,IAAI,UAAU,CAAC,gBAAgB,KAAK,WAAW,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,qBAAqB,CAAC;YACpH,IAAI,UAAU,CAAC,SAAS,KAAK,WAAW;gBAAE,OAAO,cAAc,CAAC;QACpE,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACjG,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAqB,EAAE,SAAiB;IAChE,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAE5C,4BAA4B;IAC5B,MAAM,cAAc,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAC7E,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,4BAA4B;QAC5B,OAAO;YACH,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,6BAA6B;YAC1C,aAAa,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE;YAC5D,mBAAmB,EAAE,KAAK;SAC7B,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAC7B,MAAM,CAAC,KAAY,EACnB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,WAAW,CACrB,CAAC;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzE,OAAO;QACH,KAAK,EAAE,UAAU,CAAC,EAAE;QACpB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,aAAa,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE;QAC5D,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,UAAU;KACb,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAc;IAC/C,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;KAClC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAqB;IACjD,MAAM,QAAQ,GAAG,gBAAgB,CAC7B,MAAM,CAAC,KAAY,EACnB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,WAAW,CACrB,CAAC;IAEF,OAAO;QACH,aAAa,EAAE,QAAQ,EAAE,IAAI,IAAI,QAAQ,MAAM,CAAC,UAAU,EAAE;QAC5D,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC;QACrD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;KAC7F,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAqB;IAChD,kFAAkF;IAClF,MAAM,UAAU,GAAI,MAAc,CAAC,UAAU,CAAC;IAC9C,IAAI,UAAU,EAAE,KAAK,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO;QACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW;QACvC,oCAAoC;QACpC,mBAAmB,EAAE,uBAAuB,EAAE,uBAAuB;QACrE,uBAAuB,EAAE,qBAAqB;QAC9C,SAAS;QACT,WAAW,EAAE,uBAAuB,EAAE,sBAAsB;QAC5D,oBAAoB,EAAE,YAAY,EAAE,wBAAwB;QAC5D,qBAAqB,EAAE,KAAK,EAAE,cAAc,EAAE,yBAAyB;KAC1E,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAqB,EAAE,SAAiB;IAC5E,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAC,CAAC;IACjE,OAAO,cAAc,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CACvF,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"flow-engine.js","sourceRoot":"","sources":["../../src/services/flow-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * V6 Sprint 5: Event-Driven Watcher Service
3
+ *
4
+ * Monitora o arquivo de entregável da fase atual em background.
5
+ * Ao detectar um salvamento (evento 'change'), dispara a ValidationPipeline
6
+ * automaticamente — sem que o usuário precise chamar `validar()`.
7
+ *
8
+ * Cuidados:
9
+ * - Debounce de 500ms para evitar múltiplas validações em edições rápidas
10
+ * - Gerenciamento de ciclo de vida: watcher é descartado ao avançar de fase
11
+ * - Usa chokidar (mais robusto que fs.watch nativo no Windows e Mac)
12
+ *
13
+ * IMPORTANTE: Instalar dependência: npm install chokidar --workspace=packages/mcp-server
14
+ */
15
+ type ValidationCallback = (score: number, feedback: string, filePath: string) => void;
16
+ interface WatcherConfig {
17
+ /** Caminho absoluto do arquivo a ser monitorado */
18
+ filePath: string;
19
+ /** Diretório raiz do projeto Maestro */
20
+ diretorio: string;
21
+ /** Nome da fase atual (para contexto de validação) */
22
+ faseNome: string;
23
+ /** Tier de rigor da validação */
24
+ tier?: 'essencial' | 'base' | 'avancado';
25
+ /** Checklist da fase para validação semântica */
26
+ gateChecklist?: string[];
27
+ /** Callback chamado com o resultado da validação */
28
+ onValidationResult: ValidationCallback;
29
+ }
30
+ /**
31
+ * Inicia o monitoramento de um arquivo de entregável.
32
+ * Se já existe um watcher ativo para este diretório, ele é substituído.
33
+ */
34
+ export declare function startFileWatcher(config: WatcherConfig): Promise<void>;
35
+ /**
36
+ * Para e descarta o watcher ativo para um diretório.
37
+ * Deve ser chamado ao avançar de fase para evitar leaks de file handles.
38
+ */
39
+ export declare function stopFileWatcher(diretorio: string): void;
40
+ /**
41
+ * Retorna o número de watchers ativos (útil para debugging e testes).
42
+ */
43
+ export declare function getActiveWatcherCount(): number;
44
+ export {};
45
+ //# sourceMappingURL=watcher.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher.service.d.ts","sourceRoot":"","sources":["../../src/services/watcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtF,UAAU,aAAa;IACnB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;IACzC,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oDAAoD;IACpD,kBAAkB,EAAE,kBAAkB,CAAC;CAC1C;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * V6 Sprint 5: Event-Driven Watcher Service
3
+ *
4
+ * Monitora o arquivo de entregável da fase atual em background.
5
+ * Ao detectar um salvamento (evento 'change'), dispara a ValidationPipeline
6
+ * automaticamente — sem que o usuário precise chamar `validar()`.
7
+ *
8
+ * Cuidados:
9
+ * - Debounce de 500ms para evitar múltiplas validações em edições rápidas
10
+ * - Gerenciamento de ciclo de vida: watcher é descartado ao avançar de fase
11
+ * - Usa chokidar (mais robusto que fs.watch nativo no Windows e Mac)
12
+ *
13
+ * IMPORTANTE: Instalar dependência: npm install chokidar --workspace=packages/mcp-server
14
+ */
15
+ // Mapa de watchers ativos por diretório do projeto
16
+ // Chave: diretório, Valor: objeto watcher (FSWatcher do chokidar ou fallback)
17
+ const activeWatchers = new Map();
18
+ /**
19
+ * Inicia o monitoramento de um arquivo de entregável.
20
+ * Se já existe um watcher ativo para este diretório, ele é substituído.
21
+ */
22
+ export async function startFileWatcher(config) {
23
+ // Parar watcher anterior se existir (evita duplicatas)
24
+ stopFileWatcher(config.diretorio);
25
+ let debounceTimer = null;
26
+ try {
27
+ // Tentar usar chokidar (mais robusto, cross-platform)
28
+ const chokidar = await import('chokidar');
29
+ const watcher = chokidar.default.watch(config.filePath, {
30
+ persistent: false, // Não impedir o processo de terminar
31
+ ignoreInitial: true, // Não disparar na inicialização
32
+ awaitWriteFinish: {
33
+ stabilityThreshold: 200,
34
+ pollInterval: 100,
35
+ },
36
+ });
37
+ watcher.on('change', () => {
38
+ if (debounceTimer)
39
+ clearTimeout(debounceTimer);
40
+ debounceTimer = setTimeout(async () => {
41
+ await runValidation(config);
42
+ }, 500); // Debounce de 500ms
43
+ });
44
+ watcher.on('error', (error) => {
45
+ console.warn(`[watcher] Erro ao monitorar ${config.filePath}:`, error);
46
+ });
47
+ activeWatchers.set(config.diretorio, { close: () => watcher.close() });
48
+ console.log(`[watcher] Monitorando: ${config.filePath}`);
49
+ }
50
+ catch {
51
+ // Fallback para fs.watch nativo se chokidar não estiver disponível
52
+ console.warn('[watcher] chokidar não disponível, usando fs.watch nativo como fallback');
53
+ const { watch } = await import('fs');
54
+ const nativeWatcher = watch(config.filePath, { persistent: false }, () => {
55
+ if (debounceTimer)
56
+ clearTimeout(debounceTimer);
57
+ debounceTimer = setTimeout(async () => {
58
+ await runValidation(config);
59
+ }, 500);
60
+ });
61
+ activeWatchers.set(config.diretorio, { close: () => nativeWatcher.close() });
62
+ }
63
+ }
64
+ /**
65
+ * Para e descarta o watcher ativo para um diretório.
66
+ * Deve ser chamado ao avançar de fase para evitar leaks de file handles.
67
+ */
68
+ export function stopFileWatcher(diretorio) {
69
+ const watcher = activeWatchers.get(diretorio);
70
+ if (watcher) {
71
+ watcher.close();
72
+ activeWatchers.delete(diretorio);
73
+ console.log(`[watcher] Monitoramento encerrado para: ${diretorio}`);
74
+ }
75
+ }
76
+ /**
77
+ * Retorna o número de watchers ativos (útil para debugging e testes).
78
+ */
79
+ export function getActiveWatcherCount() {
80
+ return activeWatchers.size;
81
+ }
82
+ /**
83
+ * Executa a validação do entregável e chama o callback com o resultado.
84
+ * Implementação real: integrar com ValidationPipeline.
85
+ */
86
+ async function runValidation(config) {
87
+ try {
88
+ const { readFile } = await import('fs/promises');
89
+ const content = await readFile(config.filePath, 'utf-8');
90
+ console.log(`[watcher] Arquivo salvo, executando validação: ${config.filePath} (${content.length} chars)`);
91
+ const { ValidationPipeline } = await import('../core/validation/ValidationPipeline.js');
92
+ const pipeline = new ValidationPipeline();
93
+ const tier = config.tier || 'base';
94
+ const gateChecklist = config.gateChecklist || [];
95
+ const result = await pipeline.validateDeliverable(content, config.faseNome, tier, gateChecklist);
96
+ let feedback = `Score: ${result.overallScore}/100`;
97
+ if (result.recommendations && result.recommendations.length > 0) {
98
+ feedback += '\n' + result.recommendations.join('\n');
99
+ }
100
+ config.onValidationResult(result.overallScore, feedback, config.filePath);
101
+ }
102
+ catch (error) {
103
+ console.error('[watcher] Erro ao ler arquivo para validação:', error);
104
+ }
105
+ }
106
+ //# sourceMappingURL=watcher.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher.service.js","sourceRoot":"","sources":["../../src/services/watcher.service.ts"],"names":[],"mappings":"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"}