@maestro-ai/mcp-server 5.3.6 → 5.3.8

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 (45) hide show
  1. package/dist/flows/classifier.d.ts +12 -0
  2. package/dist/flows/classifier.d.ts.map +1 -1
  3. package/dist/flows/classifier.js +12 -0
  4. package/dist/flows/classifier.js.map +1 -1
  5. package/dist/handlers/specialist-phase-handler.d.ts.map +1 -1
  6. package/dist/handlers/specialist-phase-handler.js +187 -40
  7. package/dist/handlers/specialist-phase-handler.js.map +1 -1
  8. package/dist/middleware/index.d.ts +1 -0
  9. package/dist/middleware/index.d.ts.map +1 -1
  10. package/dist/middleware/index.js +1 -0
  11. package/dist/middleware/index.js.map +1 -1
  12. package/dist/middleware/validation.middleware.d.ts +31 -0
  13. package/dist/middleware/validation.middleware.d.ts.map +1 -0
  14. package/dist/middleware/validation.middleware.js +75 -0
  15. package/dist/middleware/validation.middleware.js.map +1 -0
  16. package/dist/services/auto-classifier.service.d.ts +91 -0
  17. package/dist/services/auto-classifier.service.d.ts.map +1 -0
  18. package/dist/services/auto-classifier.service.js +531 -0
  19. package/dist/services/auto-classifier.service.js.map +1 -0
  20. package/dist/services/classificacao-progressiva.service.d.ts +69 -0
  21. package/dist/services/classificacao-progressiva.service.d.ts.map +1 -0
  22. package/dist/services/classificacao-progressiva.service.js +500 -0
  23. package/dist/services/classificacao-progressiva.service.js.map +1 -0
  24. package/dist/services/flow-engine.d.ts.map +1 -1
  25. package/dist/services/flow-engine.js +32 -20
  26. package/dist/services/flow-engine.js.map +1 -1
  27. package/dist/services/prompt-validator.service.d.ts +20 -0
  28. package/dist/services/prompt-validator.service.d.ts.map +1 -0
  29. package/dist/services/prompt-validator.service.js +53 -0
  30. package/dist/services/prompt-validator.service.js.map +1 -0
  31. package/dist/tests/classificacao-progressiva.test.d.ts +5 -0
  32. package/dist/tests/classificacao-progressiva.test.d.ts.map +1 -0
  33. package/dist/tests/classificacao-progressiva.test.js +372 -0
  34. package/dist/tests/classificacao-progressiva.test.js.map +1 -0
  35. package/dist/tools/consolidated/avancar.d.ts +6 -0
  36. package/dist/tools/consolidated/avancar.d.ts.map +1 -1
  37. package/dist/tools/consolidated/avancar.js +247 -9
  38. package/dist/tools/consolidated/avancar.js.map +1 -1
  39. package/dist/tools/proximo.d.ts.map +1 -1
  40. package/dist/tools/proximo.js +90 -91
  41. package/dist/tools/proximo.js.map +1 -1
  42. package/dist/types/index.d.ts +21 -0
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/types/index.js.map +1 -1
  45. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ /**
2
+ * PromptValidatorService v1.0
3
+ *
4
+ * Serviço de validação de conformidade da IA com o protocolo MCP.
5
+ */
6
+ export interface ValidationResult {
7
+ valid: boolean;
8
+ errors: string[];
9
+ suggestions: string[];
10
+ severity: 'low' | 'medium' | 'high' | 'critical';
11
+ }
12
+ export declare class PromptValidatorService {
13
+ private errorCount;
14
+ validateToolCall(response: string, expectedTool: string): ValidationResult;
15
+ generateFeedback(result: ValidationResult): string;
16
+ getErrorStats(): Record<string, number>;
17
+ clearStats(): void;
18
+ }
19
+ export declare const promptValidator: PromptValidatorService;
20
+ //# sourceMappingURL=prompt-validator.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-validator.service.d.ts","sourceRoot":"","sources":["../../src/services/prompt-validator.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CAClD;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,UAAU,CAAkC;IAEpD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,gBAAgB;IA6B1E,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;IAelD,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIvC,UAAU,IAAI,IAAI;CAGnB;AAED,eAAO,MAAM,eAAe,wBAA+B,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * PromptValidatorService v1.0
3
+ *
4
+ * Serviço de validação de conformidade da IA com o protocolo MCP.
5
+ */
6
+ export class PromptValidatorService {
7
+ errorCount = new Map();
8
+ validateToolCall(response, expectedTool) {
9
+ const errors = [];
10
+ const suggestions = [];
11
+ // Detectar tool usada
12
+ const toolMatch = response.match(/(executar|maestro|validar)\s*\(/);
13
+ const usedTool = toolMatch ? toolMatch[1] : null;
14
+ if (!usedTool) {
15
+ errors.push("Nenhuma chamada de tool detectada");
16
+ suggestions.push("Use 'executar({...})' para avançar no fluxo");
17
+ return { valid: false, errors, suggestions, severity: 'critical' };
18
+ }
19
+ if (usedTool !== expectedTool) {
20
+ errors.push(`Tool incorreta: usou '${usedTool}', esperado '${expectedTool}'`);
21
+ if (expectedTool === 'executar' && usedTool === 'maestro') {
22
+ suggestions.push("NUNCA use 'maestro()' para tentar avançar");
23
+ suggestions.push("Use 'executar({acao: 'avancar'})' em vez disso");
24
+ }
25
+ }
26
+ const severity = usedTool !== expectedTool ? 'critical' :
27
+ errors.length > 2 ? 'high' :
28
+ errors.length > 0 ? 'medium' : 'low';
29
+ return { valid: errors.length === 0, errors, suggestions, severity };
30
+ }
31
+ generateFeedback(result) {
32
+ if (result.valid)
33
+ return "";
34
+ let feedback = "## ⚠️ Erro de Comunicação\n\n";
35
+ feedback += "### Problemas:\n";
36
+ for (const error of result.errors) {
37
+ feedback += `- ${error}\n`;
38
+ }
39
+ feedback += "\n### Correção:\n";
40
+ for (const suggestion of result.suggestions) {
41
+ feedback += `- ${suggestion}\n`;
42
+ }
43
+ return feedback;
44
+ }
45
+ getErrorStats() {
46
+ return Object.fromEntries(this.errorCount);
47
+ }
48
+ clearStats() {
49
+ this.errorCount.clear();
50
+ }
51
+ }
52
+ export const promptValidator = new PromptValidatorService();
53
+ //# sourceMappingURL=prompt-validator.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-validator.service.js","sourceRoot":"","sources":["../../src/services/prompt-validator.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,OAAO,sBAAsB;IACzB,UAAU,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEpD,gBAAgB,CAAC,QAAgB,EAAE,YAAoB;QACrD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,sBAAsB;QACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACjD,WAAW,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAChE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QACrE,CAAC;QAED,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,gBAAgB,YAAY,GAAG,CAAC,CAAC;YAC9E,IAAI,YAAY,KAAK,UAAU,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC1D,WAAW,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBAC9D,WAAW,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QAErD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IACvE,CAAC;IAED,gBAAgB,CAAC,MAAwB;QACvC,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAE5B,IAAI,QAAQ,GAAG,+BAA+B,CAAC;QAC/C,QAAQ,IAAI,kBAAkB,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;QAC7B,CAAC;QACD,QAAQ,IAAI,mBAAmB,CAAC;QAChC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,QAAQ,IAAI,KAAK,UAAU,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,aAAa;QACX,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Testes para ClassificacaoProgressivaService v6.0
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=classificacao-progressiva.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classificacao-progressiva.test.d.ts","sourceRoot":"","sources":["../../src/tests/classificacao-progressiva.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,372 @@
1
+ /**
2
+ * Testes para ClassificacaoProgressivaService v6.0
3
+ */
4
+ import { describe, it, expect, beforeEach } from 'vitest';
5
+ import { ClassificacaoProgressivaService } from '../services/classificacao-progressiva.service.js';
6
+ describe('ClassificacaoProgressivaService', () => {
7
+ let service;
8
+ beforeEach(() => {
9
+ service = new ClassificacaoProgressivaService();
10
+ });
11
+ describe('registrarSinais', () => {
12
+ it('deve extrair sinais do PRD (Fase 1)', () => {
13
+ const prd = `
14
+ # PRD - Sistema E-commerce
15
+
16
+ ## Funcionalidades
17
+ - Carrinho de compras
18
+ - Pagamento com Stripe
19
+ - Autenticação OAuth
20
+ - Dashboard de vendas
21
+ - Integração com API de frete
22
+
23
+ ## Requisitos
24
+ - LGPD compliance
25
+ - Alta disponibilidade
26
+ - Multi-tenant
27
+ - Cronograma: 6 meses
28
+ `;
29
+ const fase = {
30
+ numero: 1,
31
+ nome: 'Produto',
32
+ especialista: 'Gestão de Produto',
33
+ entregavel_esperado: 'PRD.md',
34
+ gate_checklist: [],
35
+ template: 'PRD.md'
36
+ };
37
+ const sinais = service.registrarSinais(prd, fase, []);
38
+ expect(sinais.length).toBeGreaterThan(0);
39
+ // Deve detectar domínio
40
+ const sinalDominio = sinais.find(s => s.categoria === 'dominio');
41
+ expect(sinalDominio).toBeDefined();
42
+ expect(sinalDominio?.valor).toBe('E-commerce');
43
+ // Deve detectar timeline
44
+ const sinalTimeline = sinais.find(s => s.categoria === 'timeline');
45
+ expect(sinalTimeline).toBeDefined();
46
+ expect(sinalTimeline?.valor).toContain('6 meses');
47
+ });
48
+ it('deve extrair sinais de requisitos (Fase 2)', () => {
49
+ const requisitos = `
50
+ # Requisitos
51
+
52
+ ## Segurança
53
+ - LGPD compliance obrigatório
54
+ - Autenticação JWT
55
+ - 2FA para admin
56
+
57
+ ## Performance
58
+ - Latência < 200ms
59
+ - SLA 99.9%
60
+ - Escalabilidade para 100k usuários
61
+ `;
62
+ const fase = {
63
+ numero: 2,
64
+ nome: 'Requisitos',
65
+ especialista: 'Engenharia de Requisitos',
66
+ entregavel_esperado: 'requisitos.md',
67
+ gate_checklist: [],
68
+ template: 'requisitos.md'
69
+ };
70
+ const sinais = service.registrarSinais(requisitos, fase, []);
71
+ // Deve detectar compliance
72
+ const sinalSeguranca = sinais.filter(s => s.categoria === 'seguranca');
73
+ expect(sinalSeguranca.length).toBeGreaterThan(0);
74
+ expect(sinalSeguranca.some(s => s.valor === 'LGPD/GDPR')).toBe(true);
75
+ // Deve detectar volume
76
+ const sinalVolume = sinais.find(s => s.categoria === 'volume');
77
+ expect(sinalVolume).toBeDefined();
78
+ });
79
+ it('deve extrair sinais de arquitetura (Fase 4+)', () => {
80
+ const arquitetura = `
81
+ # Arquitetura
82
+
83
+ ## Stack
84
+ - Frontend: React/Next.js
85
+ - Backend: Node.js/NestJS
86
+ - Database: PostgreSQL
87
+
88
+ ## Integrações
89
+ - Stripe para pagamentos
90
+ - SendGrid para emails
91
+ - S3 para storage
92
+
93
+ ## Padrões
94
+ - Microserviços
95
+ - Multi-tenant
96
+ `;
97
+ const fase = {
98
+ numero: 4,
99
+ nome: 'Arquitetura',
100
+ especialista: 'Arquitetura de Software',
101
+ entregavel_esperado: 'arquitetura.md',
102
+ gate_checklist: [],
103
+ template: 'arquitetura.md'
104
+ };
105
+ const sinais = service.registrarSinais(arquitetura, fase, []);
106
+ // Deve detectar stack
107
+ const sinaisStack = sinais.filter(s => s.categoria === 'stack');
108
+ expect(sinaisStack.length).toBeGreaterThanOrEqual(3); // Frontend, Backend, Database
109
+ // Deve detectar integrações
110
+ const sinaisIntegracao = sinais.filter(s => s.categoria === 'integracao');
111
+ expect(sinaisIntegracao.length).toBeGreaterThanOrEqual(2);
112
+ });
113
+ it('não deve duplicar sinais', () => {
114
+ const prd = 'E-commerce com LGPD';
115
+ const fase = {
116
+ numero: 1,
117
+ nome: 'Produto',
118
+ especialista: 'Gestão de Produto',
119
+ entregavel_esperado: 'PRD.md',
120
+ gate_checklist: [],
121
+ template: 'PRD.md'
122
+ };
123
+ const sinais1 = service.registrarSinais(prd, fase, []);
124
+ const sinais2 = service.registrarSinais(prd, fase, sinais1);
125
+ // Não deve duplicar
126
+ expect(sinais2.length).toBe(sinais1.length);
127
+ });
128
+ });
129
+ describe('recalcular', () => {
130
+ it('deve classificar como simples com poucos sinais', () => {
131
+ const sinais = [
132
+ {
133
+ fase: 1,
134
+ fonte: 'prd',
135
+ categoria: 'dominio',
136
+ valor: 'Dashboard',
137
+ confianca: 0.8,
138
+ timestamp: new Date().toISOString()
139
+ },
140
+ {
141
+ fase: 1,
142
+ fonte: 'prd',
143
+ categoria: 'escopo',
144
+ valor: 'Baixo (<8 funcionalidades)',
145
+ confianca: 0.7,
146
+ timestamp: new Date().toISOString()
147
+ }
148
+ ];
149
+ const resultado = service.recalcular(sinais);
150
+ expect(resultado.nivel).toBe('simples');
151
+ expect(resultado.confianca).toBeGreaterThan(0);
152
+ expect(resultado.criterios.length).toBeGreaterThan(0);
153
+ });
154
+ it('deve classificar como médio com sinais moderados', () => {
155
+ const sinais = [
156
+ {
157
+ fase: 1,
158
+ fonte: 'prd',
159
+ categoria: 'dominio',
160
+ valor: 'E-commerce',
161
+ confianca: 0.8,
162
+ timestamp: new Date().toISOString()
163
+ },
164
+ {
165
+ fase: 1,
166
+ fonte: 'prd',
167
+ categoria: 'escopo',
168
+ valor: 'Médio (8-15 funcionalidades)',
169
+ confianca: 0.8,
170
+ timestamp: new Date().toISOString()
171
+ },
172
+ {
173
+ fase: 2,
174
+ fonte: 'requisitos',
175
+ categoria: 'seguranca',
176
+ valor: 'LGPD/GDPR',
177
+ confianca: 0.9,
178
+ timestamp: new Date().toISOString()
179
+ },
180
+ {
181
+ fase: 2,
182
+ fonte: 'requisitos',
183
+ categoria: 'volume',
184
+ valor: 'Médio (10k-100k usuários)',
185
+ confianca: 0.8,
186
+ timestamp: new Date().toISOString()
187
+ },
188
+ {
189
+ fase: 4,
190
+ fonte: 'arquitetura',
191
+ categoria: 'integracao',
192
+ valor: 'Gateway de pagamento',
193
+ confianca: 0.9,
194
+ timestamp: new Date().toISOString()
195
+ },
196
+ {
197
+ fase: 4,
198
+ fonte: 'arquitetura',
199
+ categoria: 'integracao',
200
+ valor: 'Email/SMTP',
201
+ confianca: 0.85,
202
+ timestamp: new Date().toISOString()
203
+ },
204
+ {
205
+ fase: 4,
206
+ fonte: 'arquitetura',
207
+ categoria: 'stack',
208
+ valor: 'Frontend: React',
209
+ confianca: 0.95,
210
+ timestamp: new Date().toISOString()
211
+ },
212
+ {
213
+ fase: 4,
214
+ fonte: 'arquitetura',
215
+ categoria: 'stack',
216
+ valor: 'Backend: Node.js',
217
+ confianca: 0.95,
218
+ timestamp: new Date().toISOString()
219
+ }
220
+ ];
221
+ const resultado = service.recalcular(sinais);
222
+ expect(resultado.nivel).toBe('medio');
223
+ expect(resultado.confianca).toBeGreaterThan(50);
224
+ });
225
+ it('deve classificar como complexo com muitos sinais', () => {
226
+ const sinais = [
227
+ {
228
+ fase: 1,
229
+ fonte: 'prd',
230
+ categoria: 'dominio',
231
+ valor: 'FinTech',
232
+ confianca: 0.8,
233
+ timestamp: new Date().toISOString()
234
+ },
235
+ {
236
+ fase: 1,
237
+ fonte: 'prd',
238
+ categoria: 'escopo',
239
+ valor: 'Alto (>15 funcionalidades)',
240
+ confianca: 0.85,
241
+ timestamp: new Date().toISOString()
242
+ },
243
+ {
244
+ fase: 2,
245
+ fonte: 'requisitos',
246
+ categoria: 'seguranca',
247
+ valor: 'PCI-DSS',
248
+ confianca: 0.9,
249
+ timestamp: new Date().toISOString()
250
+ },
251
+ {
252
+ fase: 2,
253
+ fonte: 'requisitos',
254
+ categoria: 'seguranca',
255
+ valor: 'LGPD/GDPR',
256
+ confianca: 0.9,
257
+ timestamp: new Date().toISOString()
258
+ },
259
+ {
260
+ fase: 2,
261
+ fonte: 'requisitos',
262
+ categoria: 'volume',
263
+ valor: 'Alto (>100k usuários)',
264
+ confianca: 0.9,
265
+ timestamp: new Date().toISOString()
266
+ },
267
+ {
268
+ fase: 4,
269
+ fonte: 'arquitetura',
270
+ categoria: 'integracao',
271
+ valor: 'Gateway de pagamento',
272
+ confianca: 0.9,
273
+ timestamp: new Date().toISOString()
274
+ },
275
+ {
276
+ fase: 4,
277
+ fonte: 'arquitetura',
278
+ categoria: 'integracao',
279
+ valor: 'Autenticação social',
280
+ confianca: 0.85,
281
+ timestamp: new Date().toISOString()
282
+ },
283
+ {
284
+ fase: 4,
285
+ fonte: 'arquitetura',
286
+ categoria: 'integracao',
287
+ valor: 'Email/SMTP',
288
+ confianca: 0.8,
289
+ timestamp: new Date().toISOString()
290
+ },
291
+ {
292
+ fase: 4,
293
+ fonte: 'arquitetura',
294
+ categoria: 'integracao',
295
+ valor: 'Storage/CDN',
296
+ confianca: 0.8,
297
+ timestamp: new Date().toISOString()
298
+ },
299
+ {
300
+ fase: 4,
301
+ fonte: 'arquitetura',
302
+ categoria: 'arquitetura',
303
+ valor: 'Multi-tenant',
304
+ confianca: 0.9,
305
+ timestamp: new Date().toISOString()
306
+ },
307
+ {
308
+ fase: 4,
309
+ fonte: 'arquitetura',
310
+ categoria: 'arquitetura',
311
+ valor: 'Microserviços',
312
+ confianca: 0.85,
313
+ timestamp: new Date().toISOString()
314
+ },
315
+ {
316
+ fase: 4,
317
+ fonte: 'arquitetura',
318
+ categoria: 'stack',
319
+ valor: 'Frontend: React',
320
+ confianca: 0.95,
321
+ timestamp: new Date().toISOString()
322
+ },
323
+ {
324
+ fase: 4,
325
+ fonte: 'arquitetura',
326
+ categoria: 'stack',
327
+ valor: 'Backend: Node.js',
328
+ confianca: 0.95,
329
+ timestamp: new Date().toISOString()
330
+ },
331
+ {
332
+ fase: 4,
333
+ fonte: 'arquitetura',
334
+ categoria: 'stack',
335
+ valor: 'Database: PostgreSQL',
336
+ confianca: 0.9,
337
+ timestamp: new Date().toISOString()
338
+ }
339
+ ];
340
+ const resultado = service.recalcular(sinais);
341
+ expect(resultado.nivel).toBe('complexo');
342
+ expect(resultado.confianca).toBeGreaterThan(70);
343
+ });
344
+ });
345
+ describe('verificarExpansao', () => {
346
+ it('deve detectar expansão de simples para médio', () => {
347
+ const resultado = service.verificarExpansao('simples', 'medio', 2);
348
+ expect(resultado.expandir).toBe(true);
349
+ expect(resultado.de).toBe('simples');
350
+ expect(resultado.para).toBe('medio');
351
+ expect(resultado.fasesAdicionadas).toBe(6); // 13 - 7 = 6
352
+ });
353
+ it('deve detectar expansão de médio para complexo', () => {
354
+ const resultado = service.verificarExpansao('medio', 'complexo', 5);
355
+ expect(resultado.expandir).toBe(true);
356
+ expect(resultado.de).toBe('medio');
357
+ expect(resultado.para).toBe('complexo');
358
+ expect(resultado.fasesAdicionadas).toBe(4); // 17 - 13 = 4
359
+ });
360
+ it('não deve expandir se nível não mudou', () => {
361
+ const resultado = service.verificarExpansao('medio', 'medio', 3);
362
+ expect(resultado.expandir).toBe(false);
363
+ expect(resultado.fasesAdicionadas).toBe(0);
364
+ });
365
+ it('não deve expandir se nível diminuiu (proteção)', () => {
366
+ const resultado = service.verificarExpansao('complexo', 'simples', 10);
367
+ expect(resultado.expandir).toBe(false);
368
+ expect(resultado.fasesAdicionadas).toBe(0);
369
+ });
370
+ });
371
+ });
372
+ //# sourceMappingURL=classificacao-progressiva.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classificacao-progressiva.test.js","sourceRoot":"","sources":["../../src/tests/classificacao-progressiva.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,12 @@
7
7
  * - brainstorm (próxima seção)
8
8
  *
9
9
  * Detecta contexto automaticamente e delega para o handler correto.
10
+ *
11
+ * v8.0 Fixes:
12
+ * - FIX: Prioriza aguardando_classificacao sobre specialistPhase
13
+ * - FIX: Handler de classificação inline (respostas.nivel)
14
+ * - FIX: Passa estado serializado para proximo.ts (não string vazia)
15
+ * - FIX: Safety check para specialistPhase com status approved
10
16
  */
11
17
  import type { ToolResult } from "../../types/index.js";
12
18
  interface AvancarArgs {
@@ -1 +1 @@
1
- {"version":3,"file":"avancar.d.ts","sourceRoot":"","sources":["../../../src/tools/consolidated/avancar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,sBAAsB,CAAC;AAUtE,UAAU,WAAW;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAiHpE;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCzB,CAAC"}
1
+ {"version":3,"file":"avancar.d.ts","sourceRoot":"","sources":["../../../src/tools/consolidated/avancar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAoC,MAAM,sBAAsB,CAAC;AAezF,UAAU,WAAW;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAmBD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAsMpE;AAsJD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCzB,CAAC"}