@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.
- package/README.md +68 -83
- package/dist/content/rules/RULES.md +14 -0
- package/dist/core/metrics/MetricsCollector.d.ts +28 -12
- package/dist/core/metrics/MetricsCollector.d.ts.map +1 -1
- package/dist/core/metrics/MetricsCollector.js +151 -12
- package/dist/core/metrics/MetricsCollector.js.map +1 -1
- package/dist/core/validation/ValidationPipeline.d.ts +24 -2
- package/dist/core/validation/ValidationPipeline.d.ts.map +1 -1
- package/dist/core/validation/ValidationPipeline.js +46 -2
- package/dist/core/validation/ValidationPipeline.js.map +1 -1
- package/dist/core/validation/layers/DeliverableValidator.d.ts +13 -0
- package/dist/core/validation/layers/DeliverableValidator.d.ts.map +1 -0
- package/dist/core/validation/layers/DeliverableValidator.js +276 -0
- package/dist/core/validation/layers/DeliverableValidator.js.map +1 -0
- package/dist/flows/onboarding-orchestrator.js +5 -5
- package/dist/flows/onboarding-orchestrator.js.map +1 -1
- package/dist/gates/contextual-recommender.d.ts.map +1 -1
- package/dist/gates/contextual-recommender.js +260 -1
- package/dist/gates/contextual-recommender.js.map +1 -1
- package/dist/gates/validator.d.ts +5 -6
- package/dist/gates/validator.d.ts.map +1 -1
- package/dist/gates/validator.js +9 -6
- package/dist/gates/validator.js.map +1 -1
- package/dist/handlers/shared-prompt-handler.d.ts.map +1 -1
- package/dist/handlers/shared-prompt-handler.js +15 -14
- package/dist/handlers/shared-prompt-handler.js.map +1 -1
- package/dist/middleware/adr-generation.middleware.d.ts +5 -0
- package/dist/middleware/adr-generation.middleware.d.ts.map +1 -0
- package/dist/middleware/adr-generation.middleware.js +214 -0
- package/dist/middleware/adr-generation.middleware.js.map +1 -0
- package/dist/middleware/flow-engine.middleware.d.ts +5 -3
- package/dist/middleware/flow-engine.middleware.d.ts.map +1 -1
- package/dist/middleware/flow-engine.middleware.js +18 -10
- package/dist/middleware/flow-engine.middleware.js.map +1 -1
- package/dist/middleware/index.d.ts +18 -11
- package/dist/middleware/index.d.ts.map +1 -1
- package/dist/middleware/index.js +24 -11
- package/dist/middleware/index.js.map +1 -1
- package/dist/middleware/orchestration-pipeline.middleware.d.ts +42 -0
- package/dist/middleware/orchestration-pipeline.middleware.d.ts.map +1 -0
- package/dist/middleware/orchestration-pipeline.middleware.js +57 -0
- package/dist/middleware/orchestration-pipeline.middleware.js.map +1 -0
- package/dist/middleware/skill-injection.middleware.d.ts.map +1 -1
- package/dist/middleware/skill-injection.middleware.js +6 -9
- package/dist/middleware/skill-injection.middleware.js.map +1 -1
- package/dist/middleware/validation.middleware.d.ts +11 -0
- package/dist/middleware/validation.middleware.d.ts.map +1 -1
- package/dist/middleware/validation.middleware.js +64 -4
- package/dist/middleware/validation.middleware.js.map +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +20 -14
- package/dist/router.js.map +1 -1
- package/dist/services/flow-engine.d.ts +1 -0
- package/dist/services/flow-engine.d.ts.map +1 -1
- package/dist/services/flow-engine.js +22 -10
- package/dist/services/flow-engine.js.map +1 -1
- package/dist/services/watcher.service.d.ts +45 -0
- package/dist/services/watcher.service.d.ts.map +1 -0
- package/dist/services/watcher.service.js +106 -0
- package/dist/services/watcher.service.js.map +1 -0
- package/dist/state/context.d.ts +15 -4
- package/dist/state/context.d.ts.map +1 -1
- package/dist/state/context.js +36 -9
- package/dist/state/context.js.map +1 -1
- package/dist/state/storage.d.ts.map +1 -1
- package/dist/state/storage.js +6 -0
- package/dist/state/storage.js.map +1 -1
- package/dist/tests/aprovar-gate.test.d.ts +2 -0
- package/dist/tests/aprovar-gate.test.d.ts.map +1 -0
- package/dist/tests/aprovar-gate.test.js +113 -0
- package/dist/tests/aprovar-gate.test.js.map +1 -0
- package/dist/tests/deliverable-validator.test.d.ts +12 -0
- package/dist/tests/deliverable-validator.test.d.ts.map +1 -0
- package/dist/tests/deliverable-validator.test.js +214 -0
- package/dist/tests/deliverable-validator.test.js.map +1 -0
- package/dist/tests/flow-engine.test.d.ts +2 -0
- package/dist/tests/flow-engine.test.d.ts.map +1 -0
- package/dist/tests/flow-engine.test.js +85 -0
- package/dist/tests/flow-engine.test.js.map +1 -0
- package/dist/tests/gate-orientation.test.d.ts +2 -0
- package/dist/tests/gate-orientation.test.d.ts.map +1 -0
- package/dist/tests/gate-orientation.test.js +59 -0
- package/dist/tests/gate-orientation.test.js.map +1 -0
- package/dist/tests/middleware.test.js +30 -4
- package/dist/tests/middleware.test.js.map +1 -1
- package/dist/tests/watcher.service.test.d.ts +2 -0
- package/dist/tests/watcher.service.test.d.ts.map +1 -0
- package/dist/tests/watcher.service.test.js +119 -0
- package/dist/tests/watcher.service.test.js.map +1 -0
- package/dist/tools/aprovar-gate.d.ts.map +1 -1
- package/dist/tools/aprovar-gate.js +4 -0
- package/dist/tools/aprovar-gate.js.map +1 -1
- package/dist/tools/contexto.d.ts.map +1 -1
- package/dist/tools/contexto.js +41 -0
- package/dist/tools/contexto.js.map +1 -1
- package/dist/tools/iniciar-projeto.d.ts.map +1 -1
- package/dist/tools/iniciar-projeto.js +6 -40
- package/dist/tools/iniciar-projeto.js.map +1 -1
- package/dist/tools/maestro-tool.d.ts.map +1 -1
- package/dist/tools/maestro-tool.js +34 -14
- package/dist/tools/maestro-tool.js.map +1 -1
- package/dist/tools/proximo.d.ts.map +1 -1
- package/dist/tools/proximo.js +224 -71
- package/dist/tools/proximo.js.map +1 -1
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +27 -0
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/validar-gate.d.ts +8 -1
- package/dist/tools/validar-gate.d.ts.map +1 -1
- package/dist/tools/validar-gate.js +147 -99
- package/dist/tools/validar-gate.js.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/gate-orientation.d.ts +11 -0
- package/dist/utils/gate-orientation.d.ts.map +1 -0
- package/dist/utils/gate-orientation.js +64 -0
- package/dist/utils/gate-orientation.js.map +1 -0
- package/dist/utils/ide-paths.d.ts +11 -0
- package/dist/utils/ide-paths.d.ts.map +1 -1
- package/dist/utils/ide-paths.js +27 -0
- package/dist/utils/ide-paths.js.map +1 -1
- package/dist/utils/instructions.d.ts +6 -1
- package/dist/utils/instructions.d.ts.map +1 -1
- package/dist/utils/instructions.js +32 -1
- package/dist/utils/instructions.js.map +1 -1
- package/package.json +2 -1
- package/dist/gates/compatibility-wrapper.d.ts +0 -139
- package/dist/gates/compatibility-wrapper.d.ts.map +0 -1
- package/dist/gates/compatibility-wrapper.js +0 -362
- package/dist/gates/compatibility-wrapper.js.map +0 -1
- package/dist/gates/unified-validator.d.ts +0 -67
- package/dist/gates/unified-validator.d.ts.map +0 -1
- package/dist/gates/unified-validator.js +0 -234
- package/dist/gates/unified-validator.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ide-paths.js","sourceRoot":"","sources":["../../src/utils/ide-paths.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ide-paths.js","sourceRoot":"","sources":["../../src/utils/ide-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,5 +22,10 @@ export declare function gerarInstrucaoProximaFase(faseNome: string, ide?: IDETyp
|
|
|
22
22
|
* Gera instrução detalhada de correção quando validação falha
|
|
23
23
|
* Inclui paths de templates, checklists e instruções de como melhorar
|
|
24
24
|
*/
|
|
25
|
-
export declare function gerarInstrucaoCorrecao(faseNome: string, qualityScore: number, itensAprovados: string[], itensPendentes: string[], sugestoes: string[], secoesFaltando: string[], ide?: IDEType): string;
|
|
25
|
+
export declare function gerarInstrucaoCorrecao(faseNome: string, qualityScore: number, itensAprovados: string[], itensPendentes: string[], sugestoes: string[], secoesFaltando: string[], ide?: IDEType, diretorio?: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* V6 Sprint 6: Gera instrução de continuidade autônoma.
|
|
28
|
+
* Para fases do tipo 'input_required', retorna vazio — especialista fará as perguntas.
|
|
29
|
+
*/
|
|
30
|
+
export declare function gerarInstrucaoContinuidade(diretorio: string, faseAtual: number, proximaFase: string, phaseType: 'input_required' | 'derived' | 'technical' | 'correction_loop'): string;
|
|
26
31
|
//# sourceMappingURL=instructions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/utils/instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAmC,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA+C,EACvD,GAAG,CAAC,EAAE,OAAO,GACd,MAAM,CA8CR;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC1C,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,OAAO,GACd,MAAM,CA6BR;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,OAAO,GACd,MAAM,CA6BR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,SAAS,EAAE,MAAM,EAAE,EACnB,cAAc,EAAE,MAAM,EAAE,EACxB,GAAG,CAAC,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/utils/instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAmC,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA+C,EACvD,GAAG,CAAC,EAAE,OAAO,GACd,MAAM,CA8CR;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC1C,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,OAAO,GACd,MAAM,CA6BR;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,OAAO,GACd,MAAM,CA6BR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,SAAS,EAAE,MAAM,EAAE,EACnB,cAAc,EAAE,MAAM,EAAE,EACxB,GAAG,CAAC,EAAE,OAAO,EACb,SAAS,CAAC,EAAE,MAAM,GACnB,MAAM,CAoFR;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,iBAAiB,GAC1E,MAAM,CAaR"}
|
|
@@ -118,7 +118,8 @@ Antes de começar, você **DEVE** ler os recursos:
|
|
|
118
118
|
* Gera instrução detalhada de correção quando validação falha
|
|
119
119
|
* Inclui paths de templates, checklists e instruções de como melhorar
|
|
120
120
|
*/
|
|
121
|
-
export function gerarInstrucaoCorrecao(faseNome, qualityScore, itensAprovados, itensPendentes, sugestoes, secoesFaltando, ide
|
|
121
|
+
export function gerarInstrucaoCorrecao(faseNome, qualityScore, itensAprovados, itensPendentes, sugestoes, secoesFaltando, ide, diretorio // V6 Sprint 1: para payload de auto-correção
|
|
122
|
+
) {
|
|
122
123
|
const skillNome = getSkillParaFase(faseNome);
|
|
123
124
|
const ideUsada = ide || 'windsurf';
|
|
124
125
|
// Seção de itens aprovados
|
|
@@ -172,6 +173,18 @@ export function gerarInstrucaoCorrecao(faseNome, qualityScore, itensAprovados, i
|
|
|
172
173
|
5. **Re-submeta** → Chame \`executar({ acao: "avancar" })\` novamente
|
|
173
174
|
|
|
174
175
|
> 💡 **Dica:** Foque nos itens ❌ pendentes listados acima. Cada item precisa estar presente no conteúdo do entregável.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
> ⚙️ **INSTRUÇÃO DE SISTEMA — AÇÃO AUTÔNOMA REQUERIDA**
|
|
180
|
+
> O usuário humano NÃO precisa intervir neste ciclo de correção.
|
|
181
|
+
> **Você (IA assistente) deve, na ordem, SEM pedir confirmação:**
|
|
182
|
+
> 1. Abrir o template indicado acima em \`resources/templates/\`
|
|
183
|
+
> 2. Editar o entregável no disco aplicando as correções dos itens ❌
|
|
184
|
+
> 3. Salvar o arquivo no mesmo caminho
|
|
185
|
+
> 4. Chamar imediatamente: \`executar({ diretorio: "${diretorio}", acao: "avancar" })\`
|
|
186
|
+
>
|
|
187
|
+
> ⚠️ Se após 3 tentativas o score ainda for < 70, pare e apresente as opções ao usuário.
|
|
175
188
|
`;
|
|
176
189
|
return `
|
|
177
190
|
## 📊 Resultado da Validação: ${qualityScore}/100
|
|
@@ -182,4 +195,22 @@ ${secoesSection}
|
|
|
182
195
|
${recursosSection}
|
|
183
196
|
${instrucaoCorrecao}`;
|
|
184
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* V6 Sprint 6: Gera instrução de continuidade autônoma.
|
|
200
|
+
* Para fases do tipo 'input_required', retorna vazio — especialista fará as perguntas.
|
|
201
|
+
*/
|
|
202
|
+
export function gerarInstrucaoContinuidade(diretorio, faseAtual, proximaFase, phaseType) {
|
|
203
|
+
if (phaseType === 'input_required')
|
|
204
|
+
return '';
|
|
205
|
+
return [
|
|
206
|
+
``,
|
|
207
|
+
`---`,
|
|
208
|
+
``,
|
|
209
|
+
`> ✅ **Gate aprovado — Fase ${faseAtual} concluída.**`,
|
|
210
|
+
`> **AÇÃO AUTOMÁTICA DO SISTEMA:** Inicie imediatamente a fase "${proximaFase}".`,
|
|
211
|
+
`> Leia o SKILL.md do especialista indicado acima e gere o entregável completo.`,
|
|
212
|
+
`> Não aguarde mensagem do usuário. Chame \`executar({ diretorio: "${diretorio}", acao: "avancar" })\` quando pronto.`,
|
|
213
|
+
``,
|
|
214
|
+
].join('\n');
|
|
215
|
+
}
|
|
185
216
|
//# sourceMappingURL=instructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/utils/instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAsB,MAAM,gBAAgB,CAAC;AAE1E;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAClC,QAAgB,EAChB,SAAiB,sCAAsC,EACvD,GAAa;IAEb,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;;;OAGR,MAAM;;SAEJ,QAAQ;CAChB,CAAC;IACE,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,IAAI,UAAU,CAAC;IACnC,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAE9E,OAAO;;;OAGJ,MAAM;;;;;;;OAON,SAAS;;;OAGT,aAAa;;;OAGb,aAAa;;;;;;;;;;;CAWnB,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC1C,QAAgB,EAChB,GAAa;IAEb,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;;;;;SAKN,QAAQ;CAChB,CAAC;IACE,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,IAAI,UAAU,CAAC;IACnC,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE7E,OAAO;;;;;eAKI,SAAS;;uBAED,SAAS;wBACR,aAAa;;;CAGpC,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACrC,QAAgB,EAChB,GAAa;IAEb,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;;;qBAGM,QAAQ;;;CAG5B,CAAC;IACE,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,IAAI,UAAU,CAAC;IACnC,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE7E,OAAO;;;qBAGU,QAAQ;;;;qBAIR,SAAS;sBACR,aAAa;;;CAGlC,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAClC,QAAgB,EAChB,YAAoB,EACpB,cAAwB,EACxB,cAAwB,EACxB,SAAmB,EACnB,cAAwB,EACxB,GAAa
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/utils/instructions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maestro-ai/mcp-server",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.5.1",
|
|
4
4
|
"description": "MCP Server do Maestro v2.0 com otimizações, frontend-first e gerenciamento de tarefas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/stdio.js",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@modelcontextprotocol/sdk": "^1.25.3",
|
|
49
|
+
"chokidar": "^3.6.0",
|
|
49
50
|
"uuid": "^10.0.0",
|
|
50
51
|
"zod": "^3.23.0"
|
|
51
52
|
},
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wrapper de Compatibilidade - Permite migração gradual do sistema antigo para o novo
|
|
3
|
-
*
|
|
4
|
-
* Features principais:
|
|
5
|
-
* - Mantém interface compatível com sistema legado
|
|
6
|
-
* - Migração transparente para novo sistema
|
|
7
|
-
* - Fallback automático em caso de problemas
|
|
8
|
-
* - Logs de migração para monitoramento
|
|
9
|
-
*
|
|
10
|
-
* @version 3.0.0
|
|
11
|
-
*/
|
|
12
|
-
import { type IntelligentGateResult } from "./intelligent-gate-engine.js";
|
|
13
|
-
import type { GateResultado, Fase } from "../types/index.js";
|
|
14
|
-
export interface MigrationConfig {
|
|
15
|
-
enableNewSystem: boolean;
|
|
16
|
-
fallbackOnError: boolean;
|
|
17
|
-
logMigrationEvents: boolean;
|
|
18
|
-
gradualRolloutPercentage: number;
|
|
19
|
-
phaseWhitelist?: string[];
|
|
20
|
-
userWhitelist?: string[];
|
|
21
|
-
}
|
|
22
|
-
export interface MigrationLog {
|
|
23
|
-
timestamp: Date;
|
|
24
|
-
phase: string;
|
|
25
|
-
tier: string;
|
|
26
|
-
systemUsed: 'legacy' | 'intelligent' | 'fallback';
|
|
27
|
-
success: boolean;
|
|
28
|
-
processingTimeMs: number;
|
|
29
|
-
errorMessage?: string;
|
|
30
|
-
userFeedback?: string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Wrapper que gerencia a transição entre sistema legado e inteligente
|
|
34
|
-
*/
|
|
35
|
-
export declare class CompatibilityWrapper {
|
|
36
|
-
private intelligentEngine;
|
|
37
|
-
private migrationConfig;
|
|
38
|
-
private migrationLogs;
|
|
39
|
-
constructor(config?: Partial<MigrationConfig>);
|
|
40
|
-
/**
|
|
41
|
-
* Valida gate mantendo compatibilidade com interface legada
|
|
42
|
-
* Esta é a função principal chamada pelos tools existentes
|
|
43
|
-
*/
|
|
44
|
-
validateGateCompatible(fase: Fase, entregavel: string, tier?: 'essencial' | 'base' | 'avancado', userId?: string): Promise<{
|
|
45
|
-
legacyResult: GateResultado;
|
|
46
|
-
legacyFormatted: string;
|
|
47
|
-
intelligentResult?: IntelligentGateResult;
|
|
48
|
-
systemUsed: 'legacy' | 'intelligent' | 'fallback';
|
|
49
|
-
migrationRecommendation?: string;
|
|
50
|
-
}>;
|
|
51
|
-
/**
|
|
52
|
-
* Versão híbrida que mostra ambos os resultados para comparação
|
|
53
|
-
*/
|
|
54
|
-
validateGateComparison(fase: Fase, entregavel: string, tier?: 'essencial' | 'base' | 'avancado'): Promise<{
|
|
55
|
-
legacyResult: GateResultado;
|
|
56
|
-
intelligentResult: IntelligentGateResult;
|
|
57
|
-
comparison: SystemComparison;
|
|
58
|
-
recommendation: string;
|
|
59
|
-
}>;
|
|
60
|
-
/**
|
|
61
|
-
* Configuração de migração em tempo real
|
|
62
|
-
*/
|
|
63
|
-
updateMigrationConfig(newConfig: Partial<MigrationConfig>): void;
|
|
64
|
-
/**
|
|
65
|
-
* Estatísticas de migração
|
|
66
|
-
*/
|
|
67
|
-
getMigrationStats(): {
|
|
68
|
-
totalValidations: number;
|
|
69
|
-
intelligentSystemUsage: number;
|
|
70
|
-
fallbackRate: number;
|
|
71
|
-
averageProcessingTime: {
|
|
72
|
-
legacy: number;
|
|
73
|
-
intelligent: number;
|
|
74
|
-
};
|
|
75
|
-
successRate: {
|
|
76
|
-
legacy: number;
|
|
77
|
-
intelligent: number;
|
|
78
|
-
};
|
|
79
|
-
userAdoptionTrends: Record<string, number>;
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Limpa logs antigos para gerenciar memória
|
|
83
|
-
*/
|
|
84
|
-
cleanupOldLogs(daysOld?: number): void;
|
|
85
|
-
/**
|
|
86
|
-
* Decide se deve usar sistema inteligente
|
|
87
|
-
*/
|
|
88
|
-
private shouldUseIntelligentSystem;
|
|
89
|
-
/**
|
|
90
|
-
* Converte resultado inteligente para formato legado
|
|
91
|
-
*/
|
|
92
|
-
private convertToLegacyResult;
|
|
93
|
-
/**
|
|
94
|
-
* Infere tipo de projeto baseado no conteúdo
|
|
95
|
-
*/
|
|
96
|
-
private inferProjectType;
|
|
97
|
-
/**
|
|
98
|
-
* Gera recomendação de migração
|
|
99
|
-
*/
|
|
100
|
-
private generateMigrationRecommendation;
|
|
101
|
-
/**
|
|
102
|
-
* Compara resultados dos dois sistemas
|
|
103
|
-
*/
|
|
104
|
-
private compareResults;
|
|
105
|
-
/**
|
|
106
|
-
* Gera recomendação baseada na comparação
|
|
107
|
-
*/
|
|
108
|
-
private generateComparisonRecommendation;
|
|
109
|
-
/**
|
|
110
|
-
* Log de evento de migração
|
|
111
|
-
*/
|
|
112
|
-
private logMigrationEvent;
|
|
113
|
-
private calculateAgreementLevel;
|
|
114
|
-
private calculateLegacyScore;
|
|
115
|
-
private identifyLegacyAdvantages;
|
|
116
|
-
private identifyIntelligentAdvantages;
|
|
117
|
-
private calculateAdoptionTrends;
|
|
118
|
-
}
|
|
119
|
-
interface SystemComparison {
|
|
120
|
-
agreementLevel: number;
|
|
121
|
-
scoreComparison: {
|
|
122
|
-
legacy: number;
|
|
123
|
-
intelligent: number;
|
|
124
|
-
};
|
|
125
|
-
validationComparison: {
|
|
126
|
-
legacy: boolean;
|
|
127
|
-
intelligent: boolean;
|
|
128
|
-
};
|
|
129
|
-
recommendationCount: {
|
|
130
|
-
legacy: number;
|
|
131
|
-
intelligent: number;
|
|
132
|
-
};
|
|
133
|
-
advantages: {
|
|
134
|
-
legacy: string[];
|
|
135
|
-
intelligent: string[];
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
export {};
|
|
139
|
-
//# sourceMappingURL=compatibility-wrapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility-wrapper.d.ts","sourceRoot":"","sources":["../../src/gates/compatibility-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,362 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wrapper de Compatibilidade - Permite migração gradual do sistema antigo para o novo
|
|
3
|
-
*
|
|
4
|
-
* Features principais:
|
|
5
|
-
* - Mantém interface compatível com sistema legado
|
|
6
|
-
* - Migração transparente para novo sistema
|
|
7
|
-
* - Fallback automático em caso de problemas
|
|
8
|
-
* - Logs de migração para monitoramento
|
|
9
|
-
*
|
|
10
|
-
* @version 3.0.0
|
|
11
|
-
*/
|
|
12
|
-
import { IntelligentGateEngine } from "./intelligent-gate-engine.js";
|
|
13
|
-
import { validarGate as validarGateLegacy, formatarResultadoGate } from "./validator.js";
|
|
14
|
-
/**
|
|
15
|
-
* Wrapper que gerencia a transição entre sistema legado e inteligente
|
|
16
|
-
*/
|
|
17
|
-
export class CompatibilityWrapper {
|
|
18
|
-
intelligentEngine;
|
|
19
|
-
migrationConfig;
|
|
20
|
-
migrationLogs = [];
|
|
21
|
-
constructor(config) {
|
|
22
|
-
this.intelligentEngine = new IntelligentGateEngine();
|
|
23
|
-
this.migrationConfig = {
|
|
24
|
-
enableNewSystem: true,
|
|
25
|
-
fallbackOnError: true,
|
|
26
|
-
logMigrationEvents: true,
|
|
27
|
-
gradualRolloutPercentage: 100,
|
|
28
|
-
...config
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Valida gate mantendo compatibilidade com interface legada
|
|
33
|
-
* Esta é a função principal chamada pelos tools existentes
|
|
34
|
-
*/
|
|
35
|
-
async validateGateCompatible(fase, entregavel, tier = 'base', userId) {
|
|
36
|
-
const startTime = Date.now();
|
|
37
|
-
let systemUsed = 'legacy';
|
|
38
|
-
let intelligentResult;
|
|
39
|
-
let legacyResult;
|
|
40
|
-
let error;
|
|
41
|
-
try {
|
|
42
|
-
// Decide qual sistema usar
|
|
43
|
-
const shouldUseIntelligentSystem = this.shouldUseIntelligentSystem(fase, userId);
|
|
44
|
-
if (shouldUseIntelligentSystem) {
|
|
45
|
-
// Tenta usar sistema inteligente
|
|
46
|
-
systemUsed = 'intelligent';
|
|
47
|
-
intelligentResult = await this.intelligentEngine.validateDeliverable(entregavel, fase, tier, this.inferProjectType(entregavel));
|
|
48
|
-
// Converte resultado inteligente para formato legado
|
|
49
|
-
legacyResult = this.convertToLegacyResult(intelligentResult);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
// Usa sistema legado
|
|
53
|
-
systemUsed = 'legacy';
|
|
54
|
-
legacyResult = validarGateLegacy(fase, entregavel, tier);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
error = err instanceof Error ? err.message : String(err);
|
|
59
|
-
if (this.migrationConfig.fallbackOnError && systemUsed === 'intelligent') {
|
|
60
|
-
// Fallback para sistema legado
|
|
61
|
-
systemUsed = 'fallback';
|
|
62
|
-
legacyResult = validarGateLegacy(fase, entregavel, tier);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
throw err;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
// Formata resultado legado
|
|
69
|
-
const legacyFormatted = formatarResultadoGate(legacyResult);
|
|
70
|
-
// Log da migração
|
|
71
|
-
if (this.migrationConfig.logMigrationEvents) {
|
|
72
|
-
this.logMigrationEvent({
|
|
73
|
-
timestamp: new Date(),
|
|
74
|
-
phase: fase.nome,
|
|
75
|
-
tier,
|
|
76
|
-
systemUsed,
|
|
77
|
-
success: !error,
|
|
78
|
-
processingTimeMs: Date.now() - startTime,
|
|
79
|
-
errorMessage: error
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
// Gera recomendação de migração
|
|
83
|
-
const migrationRecommendation = this.generateMigrationRecommendation(systemUsed, intelligentResult, legacyResult, fase);
|
|
84
|
-
return {
|
|
85
|
-
legacyResult,
|
|
86
|
-
legacyFormatted,
|
|
87
|
-
intelligentResult,
|
|
88
|
-
systemUsed,
|
|
89
|
-
migrationRecommendation
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Versão híbrida que mostra ambos os resultados para comparação
|
|
94
|
-
*/
|
|
95
|
-
async validateGateComparison(fase, entregavel, tier = 'base') {
|
|
96
|
-
const [legacyResult, intelligentResult] = await Promise.all([
|
|
97
|
-
// Sistema legado
|
|
98
|
-
Promise.resolve(validarGateLegacy(fase, entregavel, tier)),
|
|
99
|
-
// Sistema inteligente
|
|
100
|
-
this.intelligentEngine.validateDeliverable(entregavel, fase, tier, this.inferProjectType(entregavel))
|
|
101
|
-
]);
|
|
102
|
-
const comparison = this.compareResults(legacyResult, intelligentResult);
|
|
103
|
-
const recommendation = this.generateComparisonRecommendation(comparison);
|
|
104
|
-
return {
|
|
105
|
-
legacyResult,
|
|
106
|
-
intelligentResult,
|
|
107
|
-
comparison,
|
|
108
|
-
recommendation
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Configuração de migração em tempo real
|
|
113
|
-
*/
|
|
114
|
-
updateMigrationConfig(newConfig) {
|
|
115
|
-
this.migrationConfig = { ...this.migrationConfig, ...newConfig };
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Estatísticas de migração
|
|
119
|
-
*/
|
|
120
|
-
getMigrationStats() {
|
|
121
|
-
const total = this.migrationLogs.length;
|
|
122
|
-
const intelligentUsage = this.migrationLogs.filter(l => l.systemUsed === 'intelligent').length;
|
|
123
|
-
const fallbacks = this.migrationLogs.filter(l => l.systemUsed === 'fallback').length;
|
|
124
|
-
const legacyLogs = this.migrationLogs.filter(l => l.systemUsed === 'legacy');
|
|
125
|
-
const intelligentLogs = this.migrationLogs.filter(l => l.systemUsed === 'intelligent');
|
|
126
|
-
const avgLegacyTime = legacyLogs.length > 0
|
|
127
|
-
? legacyLogs.reduce((sum, l) => sum + l.processingTimeMs, 0) / legacyLogs.length
|
|
128
|
-
: 0;
|
|
129
|
-
const avgIntelligentTime = intelligentLogs.length > 0
|
|
130
|
-
? intelligentLogs.reduce((sum, l) => sum + l.processingTimeMs, 0) / intelligentLogs.length
|
|
131
|
-
: 0;
|
|
132
|
-
const legacySuccessRate = legacyLogs.length > 0
|
|
133
|
-
? legacyLogs.filter(l => l.success).length / legacyLogs.length
|
|
134
|
-
: 0;
|
|
135
|
-
const intelligentSuccessRate = intelligentLogs.length > 0
|
|
136
|
-
? intelligentLogs.filter(l => l.success).length / intelligentLogs.length
|
|
137
|
-
: 0;
|
|
138
|
-
return {
|
|
139
|
-
totalValidations: total,
|
|
140
|
-
intelligentSystemUsage: total > 0 ? intelligentUsage / total : 0,
|
|
141
|
-
fallbackRate: intelligentUsage > 0 ? fallbacks / intelligentUsage : 0,
|
|
142
|
-
averageProcessingTime: {
|
|
143
|
-
legacy: Math.round(avgLegacyTime),
|
|
144
|
-
intelligent: Math.round(avgIntelligentTime)
|
|
145
|
-
},
|
|
146
|
-
successRate: {
|
|
147
|
-
legacy: Math.round(legacySuccessRate * 100) / 100,
|
|
148
|
-
intelligent: Math.round(intelligentSuccessRate * 100) / 100
|
|
149
|
-
},
|
|
150
|
-
userAdoptionTrends: this.calculateAdoptionTrends()
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Limpa logs antigos para gerenciar memória
|
|
155
|
-
*/
|
|
156
|
-
cleanupOldLogs(daysOld = 30) {
|
|
157
|
-
const cutoff = new Date();
|
|
158
|
-
cutoff.setDate(cutoff.getDate() - daysOld);
|
|
159
|
-
this.migrationLogs = this.migrationLogs.filter(log => log.timestamp > cutoff);
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Decide se deve usar sistema inteligente
|
|
163
|
-
*/
|
|
164
|
-
shouldUseIntelligentSystem(fase, userId) {
|
|
165
|
-
if (!this.migrationConfig.enableNewSystem)
|
|
166
|
-
return false;
|
|
167
|
-
// Whitelist de fases
|
|
168
|
-
if (this.migrationConfig.phaseWhitelist &&
|
|
169
|
-
!this.migrationConfig.phaseWhitelist.includes(fase.nome)) {
|
|
170
|
-
return false;
|
|
171
|
-
}
|
|
172
|
-
// Whitelist de usuários
|
|
173
|
-
if (this.migrationConfig.userWhitelist && userId &&
|
|
174
|
-
!this.migrationConfig.userWhitelist.includes(userId)) {
|
|
175
|
-
return false;
|
|
176
|
-
}
|
|
177
|
-
// Rollout gradual
|
|
178
|
-
const random = Math.random() * 100;
|
|
179
|
-
return random <= this.migrationConfig.gradualRolloutPercentage;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Converte resultado inteligente para formato legado
|
|
183
|
-
*/
|
|
184
|
-
convertToLegacyResult(intelligentResult) {
|
|
185
|
-
// Mapeia nível de maturidade para sistema binário legado
|
|
186
|
-
const isValid = intelligentResult.canAdvance;
|
|
187
|
-
// Extrai itens validados e pendentes das recomendações
|
|
188
|
-
const recommendations = intelligentResult.validationResult.recommendations || [];
|
|
189
|
-
const criticalRecommendations = recommendations.filter(r => r.type === 'critical');
|
|
190
|
-
const validatedItems = [];
|
|
191
|
-
const pendingItems = [];
|
|
192
|
-
const suggestions = [];
|
|
193
|
-
// Converte strengths em itens validados
|
|
194
|
-
if (intelligentResult.maturityAssessment.strengths) {
|
|
195
|
-
validatedItems.push(...intelligentResult.maturityAssessment.strengths);
|
|
196
|
-
}
|
|
197
|
-
// Converte recomendações críticas em itens pendentes
|
|
198
|
-
criticalRecommendations.forEach(rec => {
|
|
199
|
-
pendingItems.push(rec.title);
|
|
200
|
-
suggestions.push(rec.description);
|
|
201
|
-
});
|
|
202
|
-
// Se não há itens específicos, usa avaliação geral
|
|
203
|
-
if (validatedItems.length === 0 && pendingItems.length === 0) {
|
|
204
|
-
if (isValid) {
|
|
205
|
-
validatedItems.push(`Nível ${intelligentResult.maturityLevel} atingido`);
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
pendingItems.push('Melhorias necessárias para avanço');
|
|
209
|
-
suggestions.push('Consulte as recomendações detalhadas do sistema inteligente');
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
return {
|
|
213
|
-
valido: isValid,
|
|
214
|
-
itens_validados: validatedItems,
|
|
215
|
-
itens_pendentes: pendingItems,
|
|
216
|
-
sugestoes: suggestions
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Infere tipo de projeto baseado no conteúdo
|
|
221
|
-
*/
|
|
222
|
-
inferProjectType(entregavel) {
|
|
223
|
-
const content = entregavel.toLowerCase();
|
|
224
|
-
if (content.includes('poc') || content.includes('prototipo') || content.includes('teste')) {
|
|
225
|
-
return 'poc';
|
|
226
|
-
}
|
|
227
|
-
if (content.includes('critico') || content.includes('producao') || content.includes('mission')) {
|
|
228
|
-
return 'critical';
|
|
229
|
-
}
|
|
230
|
-
if (content.includes('produto') || content.includes('cliente') || content.includes('user')) {
|
|
231
|
-
return 'product';
|
|
232
|
-
}
|
|
233
|
-
return 'internal';
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Gera recomendação de migração
|
|
237
|
-
*/
|
|
238
|
-
generateMigrationRecommendation(systemUsed, intelligentResult, legacyResult, fase) {
|
|
239
|
-
switch (systemUsed) {
|
|
240
|
-
case 'intelligent':
|
|
241
|
-
return `✨ **Novo Sistema Inteligente**: Validação avançada com nível ${intelligentResult?.maturityLevel} e ${intelligentResult?.validationResult.recommendations.length || 0} recomendações personalizadas.`;
|
|
242
|
-
case 'fallback':
|
|
243
|
-
return `⚠️ **Fallback Aplicado**: Sistema inteligente falhou, usando validação legada. Considere reportar o problema.`;
|
|
244
|
-
case 'legacy':
|
|
245
|
-
return `🔄 **Sistema Legado**: Considere habilitar o novo sistema inteligente para validações mais precisas e recomendações contextuais.`;
|
|
246
|
-
default:
|
|
247
|
-
return '';
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Compara resultados dos dois sistemas
|
|
252
|
-
*/
|
|
253
|
-
compareResults(legacyResult, intelligentResult) {
|
|
254
|
-
return {
|
|
255
|
-
agreementLevel: this.calculateAgreementLevel(legacyResult, intelligentResult),
|
|
256
|
-
scoreComparison: {
|
|
257
|
-
legacy: this.calculateLegacyScore(legacyResult),
|
|
258
|
-
intelligent: intelligentResult.overallScore
|
|
259
|
-
},
|
|
260
|
-
validationComparison: {
|
|
261
|
-
legacy: legacyResult.valido,
|
|
262
|
-
intelligent: intelligentResult.canAdvance
|
|
263
|
-
},
|
|
264
|
-
recommendationCount: {
|
|
265
|
-
legacy: legacyResult.sugestoes.length,
|
|
266
|
-
intelligent: intelligentResult.validationResult.recommendations.length
|
|
267
|
-
},
|
|
268
|
-
advantages: {
|
|
269
|
-
legacy: this.identifyLegacyAdvantages(legacyResult, intelligentResult),
|
|
270
|
-
intelligent: this.identifyIntelligentAdvantages(intelligentResult, legacyResult)
|
|
271
|
-
}
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Gera recomendação baseada na comparação
|
|
276
|
-
*/
|
|
277
|
-
generateComparisonRecommendation(comparison) {
|
|
278
|
-
const agreement = comparison.agreementLevel;
|
|
279
|
-
if (agreement > 0.8) {
|
|
280
|
-
return `✅ **Alta Concordância** (${Math.round(agreement * 100)}%): Ambos os sistemas chegaram a conclusões similares. O sistema inteligente oferece ${comparison.recommendationCount.intelligent - comparison.recommendationCount.legacy} recomendações adicionais.`;
|
|
281
|
-
}
|
|
282
|
-
else if (agreement > 0.6) {
|
|
283
|
-
return `🤔 **Concordância Moderada** (${Math.round(agreement * 100)}%): Há algumas diferenças entre os sistemas. Recomenda-se revisar as justificativas do sistema inteligente.`;
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
return `⚠️ **Baixa Concordância** (${Math.round(agreement * 100)}%): Resultados significativamente diferentes. Recomenda-se análise manual ou consulta a especialista.`;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Log de evento de migração
|
|
291
|
-
*/
|
|
292
|
-
logMigrationEvent(log) {
|
|
293
|
-
this.migrationLogs.push(log);
|
|
294
|
-
// Mantém apenas os últimos 1000 logs para gerenciar memória
|
|
295
|
-
if (this.migrationLogs.length > 1000) {
|
|
296
|
-
this.migrationLogs = this.migrationLogs.slice(-1000);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
// Métodos auxiliares
|
|
300
|
-
calculateAgreementLevel(legacyResult, intelligentResult) {
|
|
301
|
-
// Compara decisão de avanço (peso maior)
|
|
302
|
-
const advanceAgreement = legacyResult.valido === intelligentResult.canAdvance ? 0.6 : 0;
|
|
303
|
-
// Compara número de problemas encontrados (peso menor)
|
|
304
|
-
const legacyIssues = legacyResult.itens_pendentes.length;
|
|
305
|
-
const intelligentIssues = intelligentResult.validationResult.blockers.length +
|
|
306
|
-
intelligentResult.validationResult.warnings.length;
|
|
307
|
-
const issuesAgreement = Math.abs(legacyIssues - intelligentIssues) <= 2 ? 0.3 : 0.1;
|
|
308
|
-
// Compara quantidade de sugestões (peso menor)
|
|
309
|
-
const suggestionDiff = Math.abs(legacyResult.sugestoes.length - intelligentResult.validationResult.recommendations.length);
|
|
310
|
-
const suggestionsAgreement = suggestionDiff <= 3 ? 0.1 : 0;
|
|
311
|
-
return advanceAgreement + issuesAgreement + suggestionsAgreement;
|
|
312
|
-
}
|
|
313
|
-
calculateLegacyScore(legacyResult) {
|
|
314
|
-
const totalItems = legacyResult.itens_validados.length + legacyResult.itens_pendentes.length;
|
|
315
|
-
if (totalItems === 0)
|
|
316
|
-
return legacyResult.valido ? 70 : 30;
|
|
317
|
-
return Math.round((legacyResult.itens_validados.length / totalItems) * 100);
|
|
318
|
-
}
|
|
319
|
-
identifyLegacyAdvantages(legacyResult, intelligentResult) {
|
|
320
|
-
const advantages = [];
|
|
321
|
-
if (legacyResult.sugestoes.length < intelligentResult.validationResult.recommendations.length / 2) {
|
|
322
|
-
advantages.push('Mais conciso e direto');
|
|
323
|
-
}
|
|
324
|
-
advantages.push('Sistema estável e testado');
|
|
325
|
-
advantages.push('Processamento mais rápido');
|
|
326
|
-
return advantages;
|
|
327
|
-
}
|
|
328
|
-
identifyIntelligentAdvantages(intelligentResult, legacyResult) {
|
|
329
|
-
const advantages = [
|
|
330
|
-
`Análise em ${intelligentResult.maturityLevel} níveis de maturidade`,
|
|
331
|
-
'Recomendações contextuais e prioritizadas',
|
|
332
|
-
'Score adaptativo baseado no tipo de projeto'
|
|
333
|
-
];
|
|
334
|
-
if (intelligentResult.validationResult.recommendations.length > legacyResult.sugestoes.length) {
|
|
335
|
-
advantages.push(`${intelligentResult.validationResult.recommendations.length - legacyResult.sugestoes.length} recomendações adicionais`);
|
|
336
|
-
}
|
|
337
|
-
if (intelligentResult.confidenceLevel > 80) {
|
|
338
|
-
advantages.push('Alta confiabilidade na avaliação');
|
|
339
|
-
}
|
|
340
|
-
return advantages;
|
|
341
|
-
}
|
|
342
|
-
calculateAdoptionTrends() {
|
|
343
|
-
// Calcula tendências de adoção por fase
|
|
344
|
-
const trends = {};
|
|
345
|
-
for (const log of this.migrationLogs) {
|
|
346
|
-
if (!trends[log.phase])
|
|
347
|
-
trends[log.phase] = 0;
|
|
348
|
-
if (log.systemUsed === 'intelligent')
|
|
349
|
-
trends[log.phase]++;
|
|
350
|
-
}
|
|
351
|
-
// Converte para percentuais
|
|
352
|
-
const phaseCounts = {};
|
|
353
|
-
for (const log of this.migrationLogs) {
|
|
354
|
-
phaseCounts[log.phase] = (phaseCounts[log.phase] || 0) + 1;
|
|
355
|
-
}
|
|
356
|
-
for (const phase in trends) {
|
|
357
|
-
trends[phase] = phaseCounts[phase] > 0 ? trends[phase] / phaseCounts[phase] : 0;
|
|
358
|
-
}
|
|
359
|
-
return trends;
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
//# sourceMappingURL=compatibility-wrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility-wrapper.js","sourceRoot":"","sources":["../../src/gates/compatibility-wrapper.ts"],"names":[],"mappings":"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"}
|