@maestro-ai/mcp-server 2.4.2 → 2.5.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 (63) hide show
  1. package/dist/gates/adaptive-scoring.d.ts +133 -0
  2. package/dist/gates/adaptive-scoring.d.ts.map +1 -0
  3. package/dist/gates/adaptive-scoring.js +404 -0
  4. package/dist/gates/adaptive-scoring.js.map +1 -0
  5. package/dist/gates/compatibility-wrapper.d.ts +139 -0
  6. package/dist/gates/compatibility-wrapper.d.ts.map +1 -0
  7. package/dist/gates/compatibility-wrapper.js +362 -0
  8. package/dist/gates/compatibility-wrapper.js.map +1 -0
  9. package/dist/gates/contextual-recommender.d.ts +128 -0
  10. package/dist/gates/contextual-recommender.d.ts.map +1 -0
  11. package/dist/gates/contextual-recommender.js +446 -0
  12. package/dist/gates/contextual-recommender.js.map +1 -0
  13. package/dist/gates/intelligent-gate-engine.d.ts +158 -0
  14. package/dist/gates/intelligent-gate-engine.d.ts.map +1 -0
  15. package/dist/gates/intelligent-gate-engine.js +429 -0
  16. package/dist/gates/intelligent-gate-engine.js.map +1 -0
  17. package/dist/gates/intelligent-validator.d.ts +164 -0
  18. package/dist/gates/intelligent-validator.d.ts.map +1 -0
  19. package/dist/gates/intelligent-validator.js +347 -0
  20. package/dist/gates/intelligent-validator.js.map +1 -0
  21. package/dist/gates/maturity-levels.d.ts +119 -0
  22. package/dist/gates/maturity-levels.d.ts.map +1 -0
  23. package/dist/gates/maturity-levels.js +455 -0
  24. package/dist/gates/maturity-levels.js.map +1 -0
  25. package/dist/state/storage.d.ts.map +1 -1
  26. package/dist/state/storage.js +1 -0
  27. package/dist/state/storage.js.map +1 -1
  28. package/dist/tools/index.d.ts.map +1 -1
  29. package/dist/tools/index.js +14 -0
  30. package/dist/tools/index.js.map +1 -1
  31. package/dist/tools/iniciar-projeto.d.ts +2 -2
  32. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  33. package/dist/tools/iniciar-projeto.js +53 -96
  34. package/dist/tools/iniciar-projeto.js.map +1 -1
  35. package/dist/tools/proximo.d.ts.map +1 -1
  36. package/dist/tools/proximo.js +116 -9
  37. package/dist/tools/proximo.js.map +1 -1
  38. package/dist/tools/setup-inicial.d.ts +48 -0
  39. package/dist/tools/setup-inicial.d.ts.map +1 -0
  40. package/dist/tools/setup-inicial.js +84 -0
  41. package/dist/tools/setup-inicial.js.map +1 -0
  42. package/dist/tools/validar-gate.d.ts.map +1 -1
  43. package/dist/tools/validar-gate.js +28 -28
  44. package/dist/tools/validar-gate.js.map +1 -1
  45. package/dist/types/index.d.ts +22 -0
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/dist/types/index.js.map +1 -1
  48. package/dist/utils/config.d.ts +16 -0
  49. package/dist/utils/config.d.ts.map +1 -0
  50. package/dist/utils/config.js +26 -0
  51. package/dist/utils/config.js.map +1 -0
  52. package/dist/utils/content-injector.d.ts +1 -0
  53. package/dist/utils/content-injector.d.ts.map +1 -1
  54. package/dist/utils/content-injector.js +5 -0
  55. package/dist/utils/content-injector.js.map +1 -1
  56. package/dist/utils/ide-paths.d.ts.map +1 -1
  57. package/dist/utils/ide-paths.js +7 -8
  58. package/dist/utils/ide-paths.js.map +1 -1
  59. package/dist/utils/inferencia-contextual.d.ts +3 -0
  60. package/dist/utils/inferencia-contextual.d.ts.map +1 -0
  61. package/dist/utils/inferencia-contextual.js +93 -0
  62. package/dist/utils/inferencia-contextual.js.map +1 -0
  63. package/package.json +1 -1
@@ -0,0 +1,139 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility-wrapper.d.ts","sourceRoot":"","sources":["../../src/gates/compatibility-wrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,362 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility-wrapper.js","sourceRoot":"","sources":["../../src/gates/compatibility-wrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Sistema de Recomendações Contextuais - Sugestões inteligentes e acionáveis
3
+ *
4
+ * Features principais:
5
+ * - Recomendações priorizadas por impacto e esforço
6
+ * - Auto-fixes quando tecnicamente viável
7
+ * - Sugestões contextuais baseadas no tipo de projeto
8
+ * - Exemplos práticos e específicos
9
+ *
10
+ * @version 3.0.0
11
+ */
12
+ import type { SmartRecommendation, ValidationContext, SemanticMatch, CompletenessAnalysis, QualityAssessment } from "./intelligent-validator.js";
13
+ import type { AdaptiveScore } from "./adaptive-scoring.js";
14
+ export interface RecommendationConfig {
15
+ maxRecommendations: number;
16
+ priorityThreshold: number;
17
+ includeOptional: boolean;
18
+ includeAutoFixes: boolean;
19
+ }
20
+ export interface UserProfile {
21
+ experienceLevel: 'junior' | 'mid' | 'senior';
22
+ preferredStyle: 'concise' | 'detailed' | 'examples';
23
+ commonPatterns: string[];
24
+ recentProjects: string[];
25
+ feedbackHistory: RecommendationFeedback[];
26
+ }
27
+ export interface RecommendationFeedback {
28
+ recommendationId: string;
29
+ wasUseful: boolean;
30
+ wasUsed: boolean;
31
+ userComment?: string;
32
+ timeToImplement?: number;
33
+ }
34
+ export interface RecommendationTemplate {
35
+ id: string;
36
+ phase: string;
37
+ trigger: string;
38
+ title: string;
39
+ description: string;
40
+ examples: string[];
41
+ effort: 'quick' | 'moderate' | 'complex';
42
+ impact: 'high' | 'medium' | 'low';
43
+ autofix?: AutofixTemplate;
44
+ }
45
+ export interface AutofixTemplate {
46
+ type: 'append' | 'replace' | 'insert' | 'restructure';
47
+ pattern: string;
48
+ replacement: string;
49
+ confidence: number;
50
+ }
51
+ /**
52
+ * Gerador inteligente de recomendações contextuais
53
+ */
54
+ export declare class ContextualRecommender {
55
+ private templates;
56
+ private userProfiles;
57
+ private phasePatterns;
58
+ constructor();
59
+ /**
60
+ * Gera recomendações inteligentes priorizadas
61
+ */
62
+ generateSmartRecommendations(semanticMatches: SemanticMatch[], completeness: CompletenessAnalysis, quality: QualityAssessment, adaptiveScore: AdaptiveScore, context: ValidationContext, userProfile?: UserProfile, config?: RecommendationConfig): SmartRecommendation[];
63
+ /**
64
+ * Gera auto-fixes quando tecnicamente viável
65
+ */
66
+ generateAutoFixes(content: string, recommendations: SmartRecommendation[], context: ValidationContext): SmartRecommendation[];
67
+ /**
68
+ * Atualiza perfil do usuário baseado em feedback
69
+ */
70
+ updateUserProfile(userId: string, feedback: RecommendationFeedback[]): void;
71
+ /**
72
+ * Gera recomendações para problemas semânticos
73
+ */
74
+ private generateSemanticRecommendations;
75
+ /**
76
+ * Gera recomendações para completude
77
+ */
78
+ private generateCompletenessRecommendations;
79
+ /**
80
+ * Gera recomendações para qualidade
81
+ */
82
+ private generateQualityRecommendations;
83
+ /**
84
+ * Gera recomendações baseadas no score adaptativo
85
+ */
86
+ private generateScoreBasedRecommendations;
87
+ /**
88
+ * Gera recomendações específicas da fase
89
+ */
90
+ private generatePhaseSpecificRecommendations;
91
+ /**
92
+ * Prioriza, filtra e limita recomendações
93
+ */
94
+ private prioritizeAndFilter;
95
+ /**
96
+ * Inicializa templates de recomendações
97
+ */
98
+ private initializeTemplates;
99
+ /**
100
+ * Inicializa padrões por fase
101
+ */
102
+ private initializePhasePatterns;
103
+ private findBestTemplate;
104
+ private calculatePriority;
105
+ private personalizeDescription;
106
+ private personalizeExamples;
107
+ private estimateTimeMinutes;
108
+ private convertToAutofix;
109
+ private generateAutoFixAction;
110
+ private createDefaultProfile;
111
+ private learnFromFeedback;
112
+ private calculateRecommendationScore;
113
+ private getExamplesForMissingElement;
114
+ private generateStructuralAutofix;
115
+ private getClarityExamples;
116
+ private generateClarityAutofix;
117
+ private getDepthExamples;
118
+ private getPracticalityExamples;
119
+ private getEffortForComponent;
120
+ private getTitleForComponent;
121
+ private getDescriptionForComponent;
122
+ private getExamplesForComponent;
123
+ private getTimeForComponent;
124
+ private isTemplateApplicable;
125
+ private isAutoFixApplicable;
126
+ private getJuniorTip;
127
+ }
128
+ //# sourceMappingURL=contextual-recommender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextual-recommender.d.ts","sourceRoot":"","sources":["../../src/gates/contextual-recommender.ts"],"names":[],"mappings":"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"}