@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
@@ -1,6 +1,18 @@
1
+ /**
2
+ * Classificador de Complexidade de Projetos
3
+ *
4
+ * @deprecated v6.0 - Este módulo foi substituído por ClassificacaoProgressivaService
5
+ * que acumula sinais ao longo de múltiplas fases em vez de classificar apenas no PRD.
6
+ *
7
+ * Mantido para compatibilidade e referência, mas não é mais usado no fluxo principal.
8
+ *
9
+ * Analisa o PRD e determina o nível de complexidade do projeto.
10
+ * Baseado em critérios objetivos e contagem de features.
11
+ */
1
12
  import type { NivelComplexidade, ClassificacaoResultado } from "../types/index.js";
2
13
  /**
3
14
  * Classifica a complexidade do projeto baseado no PRD
15
+ * @deprecated v6.0 - usar ClassificacaoProgressivaService
4
16
  */
5
17
  export declare function classificarPRD(prd: string): ClassificacaoResultado;
6
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/flows/classifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEnF;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAkGlE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAS/D"}
1
+ {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/flows/classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEnF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAkGlE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAS/D"}
@@ -1,5 +1,17 @@
1
+ /**
2
+ * Classificador de Complexidade de Projetos
3
+ *
4
+ * @deprecated v6.0 - Este módulo foi substituído por ClassificacaoProgressivaService
5
+ * que acumula sinais ao longo de múltiplas fases em vez de classificar apenas no PRD.
6
+ *
7
+ * Mantido para compatibilidade e referência, mas não é mais usado no fluxo principal.
8
+ *
9
+ * Analisa o PRD e determina o nível de complexidade do projeto.
10
+ * Baseado em critérios objetivos e contagem de features.
11
+ */
1
12
  /**
2
13
  * Classifica a complexidade do projeto baseado no PRD
14
+ * @deprecated v6.0 - usar ClassificacaoProgressivaService
3
15
  */
4
16
  export function classificarPRD(prd) {
5
17
  let pontos = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/flows/classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/flows/classifier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"specialist-phase-handler.d.ts","sourceRoot":"","sources":["../../src/handlers/specialist-phase-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA2DnE,UAAU,mBAAmB;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AA2BD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4C1F"}
1
+ {"version":3,"file":"specialist-phase-handler.d.ts","sourceRoot":"","sources":["../../src/handlers/specialist-phase-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA+DnE,UAAU,mBAAmB;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AA2BD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4C1F"}
@@ -20,6 +20,9 @@ import { ContentResolverService } from "../services/content-resolver.service.js"
20
20
  import { SkillLoaderService } from "../services/skill-loader.service.js";
21
21
  import { existsSync, readFileSync } from "fs";
22
22
  import { detectIDE, getSkillsDir, getSkillFilePath } from "../utils/ide-paths.js";
23
+ import { inferirContextoBalanceado } from "../utils/inferencia-contextual.js";
24
+ import { classificacaoProgressiva } from "../services/classificacao-progressiva.service.js"; // v6.0
25
+ import { getFaseComStitch } from "../flows/types.js"; // v6.0
23
26
  /** Maximum number of automatic PRD validation retries before requiring user approval */
24
27
  const MAX_PRD_VALIDATION_RETRIES = 3;
25
28
  /** Paths padrão para saída de documentos — a IA DEVE usar estes paths */
@@ -359,15 +362,50 @@ async function handleValidating(args, onboarding, sp) {
359
362
  }
360
363
  catch { /* ignore */ }
361
364
  }
362
- // PRIORIDADE 2: Fallback para param (compatibilidade)
363
- if (!entregavel && args.entregavel) {
364
- entregavel = args.entregavel;
365
- }
366
365
  if (!entregavel) {
367
- // Se chamou sem entregável e sem arquivo, voltar para generating
368
- sp.status = 'generating';
369
- await persistState(estado, onboarding, diretorio);
370
- return handleGenerating(args, onboarding, sp);
366
+ // Se arquivo não existe, instruir a salvar primeiro
367
+ return {
368
+ content: formatResponse({
369
+ titulo: "⚠️ PRD Não Encontrado",
370
+ resumo: "O PRD precisa ser salvo no disco antes de validar.",
371
+ dados: {
372
+ "Arquivo esperado": PRD_OUTPUT_PATHS.primary,
373
+ },
374
+ instrucoes: `🤖 **AÇÃO REQUERIDA:**
375
+
376
+ 1. **Gere e salve o PRD** no arquivo \`${PRD_OUTPUT_PATHS.primary}\`
377
+ 2. Após salvar, avance:
378
+
379
+ \`\`\`json
380
+ executar({
381
+ "diretorio": "${diretorio}",
382
+ "acao": "avancar"
383
+ })
384
+ \`\`\`
385
+
386
+ ⚠️ **NÃO passe o conteúdo via entregavel.** O MCP lê direto do arquivo.`,
387
+ proximo_passo: {
388
+ tool: "executar",
389
+ descricao: "Salvar PRD no arquivo e avançar",
390
+ args: `{ "diretorio": "${diretorio}", "acao": "avancar" }`,
391
+ requer_input_usuario: false,
392
+ auto_execute: true,
393
+ },
394
+ }),
395
+ next_action: {
396
+ tool: "executar",
397
+ description: "Salvar PRD em docs/01-produto/PRD.md e avançar",
398
+ args_template: { diretorio, acao: "avancar" },
399
+ requires_user_input: false,
400
+ auto_execute: true,
401
+ },
402
+ progress: {
403
+ current_phase: "specialist_generating",
404
+ total_phases: 5,
405
+ completed_phases: 2,
406
+ percentage: 55,
407
+ },
408
+ };
371
409
  }
372
410
  // v6.1 (Bug #1): Normalize string — fix JSON-escaped newlines
373
411
  entregavel = normalizePrdContent(entregavel);
@@ -486,7 +524,11 @@ async function handleValidating(args, onboarding, sp) {
486
524
  };
487
525
  }
488
526
  /**
489
- * Handler: approved — PRD aprovado, preparar transição
527
+ * Handler: approved — PRD aprovado, preparar transição para classificação
528
+ *
529
+ * v8.0 Fix: Limpa specialistPhase do onboarding para que avancar.ts
530
+ * não redirecione de volta para o specialist handler.
531
+ * Classifica o PRD do disco e popula classificacao_sugerida.
490
532
  */
491
533
  async function handleApproved(args, onboarding, sp) {
492
534
  const { estado, diretorio } = args;
@@ -495,61 +537,146 @@ async function handleApproved(args, onboarding, sp) {
495
537
  onboarding.prdStatus = 'approved';
496
538
  onboarding.phase = 'completed';
497
539
  onboarding.completedAt = new Date().toISOString();
540
+ // v8.0 FIX (Bug A): LIMPAR specialistPhase para que avancar.ts não redirecione de volta
541
+ // Salvamos os dados finais antes de limpar
542
+ const finalScore = sp.validationScore || 0;
543
+ const finalInteractions = sp.interactionCount;
544
+ // Remover specialistPhase do onboarding — onboarding está CONCLUÍDO
545
+ delete onboarding.specialistPhase;
546
+ // v8.0 FIX: Classificar PRD do disco para popular classificacao_sugerida
547
+ let prdContent = '';
548
+ const prdPath = getPrdOutputPath(diretorio);
549
+ const draftPath = getPrdDraftPath(diretorio);
550
+ if (existsSync(prdPath)) {
551
+ try {
552
+ prdContent = readFileSync(prdPath, 'utf-8');
553
+ }
554
+ catch { /* ignore */ }
555
+ }
556
+ if (!prdContent && existsSync(draftPath)) {
557
+ try {
558
+ prdContent = readFileSync(draftPath, 'utf-8');
559
+ }
560
+ catch { /* ignore */ }
561
+ }
562
+ if (!prdContent && sp.prdDraft) {
563
+ prdContent = sp.prdDraft;
564
+ }
565
+ // v6.0: Classificação Progressiva — inicializar com sinais do PRD
566
+ let classificacaoInfo = '';
567
+ if (prdContent) {
568
+ // Inicializar classificação progressiva
569
+ const faseAtual = getFaseComStitch(estado.nivel, 1, estado.usar_stitch);
570
+ if (!faseAtual) {
571
+ throw new Error("Fase 1 não encontrada no fluxo");
572
+ }
573
+ // Registrar sinais do PRD
574
+ const sinais = classificacaoProgressiva.registrarSinais(prdContent, faseAtual, []);
575
+ // Calcular classificação inicial
576
+ const { nivel, confianca, criterios } = classificacaoProgressiva.recalcular(sinais);
577
+ // Inicializar estado de classificação progressiva
578
+ estado.classificacao_progressiva = {
579
+ nivel_atual: nivel,
580
+ nivel_provisorio: true, // SEMPRE provisório no PRD
581
+ confianca_geral: confianca,
582
+ sinais,
583
+ historico_niveis: [{
584
+ fase: 1,
585
+ nivel,
586
+ motivo: "Classificação inicial baseada no PRD"
587
+ }],
588
+ fases_refinamento: [1]
589
+ };
590
+ // Manter compatibilidade com classificacao_sugerida
591
+ estado.classificacao_sugerida = {
592
+ nivel,
593
+ pontuacao: Math.round(confianca), // Usar confiança como pontuação
594
+ criterios,
595
+ };
596
+ // Inferência contextual para perguntas agrupadas
597
+ estado.inferencia_contextual = inferirContextoBalanceado(`${estado.nome} ${prdContent}`);
598
+ const perguntas = estado.inferencia_contextual?.perguntas_prioritarias || [];
599
+ const perguntasMarkdown = perguntas.length
600
+ ? perguntas.map((p) => `- (${p.prioridade}) ${p.pergunta}${p.valor_inferido ? `\n - Inferido: ${p.valor_inferido} (confiança ${((p.confianca_inferencia ?? 0) * 100).toFixed(0)}%)` : ""}`).join("\n")
601
+ : "- Informe domínio, stack preferida e integrações em um único prompt.";
602
+ classificacaoInfo = `
603
+
604
+ ## 🔍 Classificação Inicial (PROVISÓRIA)
605
+
606
+ | Campo | Valor |
607
+ |-------|-------|
608
+ | **Nível sugerido** | **${nivel.toUpperCase()}** |
609
+ | **Confiança** | ${confianca}% |
610
+ | **Critérios** | ${criterios.slice(0, 3).join(', ')} |
611
+
612
+ > 💡 Esta classificação é **provisória** e será refinada automaticamente
613
+ > conforme você avança nas fases de Requisitos e Arquitetura.
614
+
615
+ ## Ação obrigatória (responder em UM ÚNICO PROMPT)
616
+ Confirme ou ajuste a classificação usando:
617
+
618
+ \`\`\`json
619
+ executar({
620
+ "diretorio": "${diretorio}",
621
+ "acao": "avancar",
622
+ "respostas": {
623
+ "nivel": "${nivel}"
624
+ }
625
+ })
626
+ \`\`\`
627
+
628
+ Responda também às perguntas abaixo no MESMO prompt:
629
+ ${perguntasMarkdown}
630
+
631
+ > ⚠️ Não prossiga para outras fases antes de confirmar a classificação.`;
632
+ }
498
633
  // Avançar estado do projeto para fase 1 de desenvolvimento
499
634
  estado.fase_atual = 1;
500
635
  estado.aguardando_classificacao = true;
636
+ estado.classificacao_pos_prd_confirmada = false;
637
+ estado.status = 'ativo';
501
638
  await persistState(estado, onboarding, diretorio);
502
639
  return {
503
640
  content: formatResponse({
504
641
  titulo: "✅ PRD Aprovado!",
505
- resumo: `PRD validado com score ${sp.validationScore || 'N/A'}/100. Onboarding concluído!`,
642
+ resumo: `PRD validado com score ${finalScore}/100. Onboarding concluído! Agora confirme a classificação do projeto.`,
506
643
  dados: {
507
- "Score Final": `${sp.validationScore || 'N/A'}/100`,
508
- "Interações": sp.interactionCount.toString(),
509
- "Status": "Aprovado",
644
+ "Score Final": `${finalScore}/100`,
645
+ "Interações": finalInteractions.toString(),
646
+ "Status": "Aprovado — Aguardando classificação",
510
647
  },
511
648
  instrucoes: `O PRD foi aprovado! Parabéns!
512
-
513
- 🤖 **AÇÃO AUTOMÁTICA REQUERIDA:**
514
- Você DEVE avançar para a fase de desenvolvimento IMEDIATAMENTE.
515
-
516
- \`\`\`json
517
- executar({
518
- "diretorio": "${diretorio}",
519
- "acao": "avancar"
520
- })
521
- \`\`\`
522
-
523
- 🤖 **NÃO ESPERE** o usuário. Execute a tool AGORA para iniciar o desenvolvimento.
649
+ ${classificacaoInfo}
524
650
 
525
651
  ## 📍 Onde Estamos
526
- ✅ Setup → ✅ Coleta → ✅ Geração PRD → ✅ Validação → 🔄 Desenvolvimento
652
+ ✅ Setup → ✅ Coleta → ✅ Geração PRD → ✅ Validação → 🔄 Classificação → ⏳ Desenvolvimento
527
653
 
528
- ⚠️ Para avançar, SEMPRE use: \`executar({acao: "avancar"})\`
654
+ ⚠️ Para avançar, SEMPRE use: \`executar({acao: "avancar", respostas: {nivel: "..."}})\`
529
655
  ⚠️ NUNCA use: \`maestro({acao: "status"})\` para tentar avançar`,
530
656
  proximo_passo: {
531
657
  tool: "executar",
532
- descricao: "Avançar para fase de desenvolvimento",
533
- args: `{ "diretorio": "${diretorio}", "acao": "avancar" }`,
534
- requer_input_usuario: false,
535
- auto_execute: true,
658
+ descricao: "Confirmar classificação do projeto",
659
+ args: `{ "diretorio": "${diretorio}", "acao": "avancar", "respostas": { "nivel": "${estado.classificacao_sugerida?.nivel || 'medio'}" } }`,
660
+ requer_input_usuario: true,
661
+ prompt_usuario: "Confirme a classificação sugerida ou ajuste o nível.",
536
662
  },
537
663
  }),
538
664
  next_action: {
539
665
  tool: "executar",
540
- description: "Avançar para fase de desenvolvimento",
666
+ description: "Confirmar classificação do projeto",
541
667
  args_template: {
542
668
  diretorio,
543
669
  acao: "avancar",
670
+ respostas: { nivel: estado.classificacao_sugerida?.nivel || 'medio' },
544
671
  },
545
- requires_user_input: false,
546
- auto_execute: true,
672
+ requires_user_input: true,
673
+ user_prompt: "Confirme a classificação sugerida ou ajuste o nível.",
547
674
  },
548
675
  progress: {
549
- current_phase: "specialist_approved",
550
- total_phases: 5,
676
+ current_phase: "classificacao",
677
+ total_phases: 6,
551
678
  completed_phases: 4,
552
- percentage: 85,
679
+ percentage: 70,
553
680
  },
554
681
  };
555
682
  }
@@ -738,11 +865,10 @@ function getRequiredFields(mode) {
738
865
  // Bloco 2 — A Solução (todos os modos)
739
866
  { id: 'funcionalidades_mvp', label: 'Quais as 3-5 coisas mais importantes que o produto precisa fazer?', hint: 'Liste as funcionalidades essenciais para a primeira versão', example: 'Ex: "Criar checklists, atribuir tarefas, ver status, notificar prazos"', block: 'solucao', modes: ['economy', 'balanced', 'quality'] },
740
867
  { id: 'north_star_metric', label: 'Qual número mostra que o produto está funcionando?', hint: 'A métrica mais importante para saber se o produto dá certo', example: 'Ex: "% de checklists concluídos no prazo" ou "Quantos pedidos por semana"', block: 'solucao', modes: ['economy', 'balanced', 'quality'] },
868
+ { id: 'diferencial', label: 'O que torna seu produto diferente dos concorrentes?', hint: 'Sua vantagem competitiva ou proposta de valor única', example: 'Ex: "Integração nativa com WhatsApp, que nenhum concorrente tem"', block: 'solucao', modes: ['economy', 'balanced', 'quality'] },
741
869
  // Bloco 3 — Planejamento (balanced/quality)
742
870
  { id: 'riscos', label: 'O que pode dar errado?', hint: 'Riscos que podem atrapalhar o sucesso do produto', example: 'Ex: "Usuários não adotarem, custo alto de servidor, concorrente lançar antes"', block: 'planejamento', modes: ['balanced', 'quality'] },
743
871
  { id: 'timeline', label: 'Em quanto tempo quer lançar a primeira versão?', hint: 'Prazo desejado para o MVP estar no ar', example: 'Ex: "8 semanas para MVP + 2 semanas piloto"', block: 'planejamento', modes: ['balanced', 'quality'] },
744
- // Campos extras balanced (alinhados com template PRD)
745
- { id: 'diferencial', label: 'O que torna seu produto diferente dos concorrentes?', hint: 'Sua vantagem competitiva ou proposta de valor única', example: 'Ex: "Integração nativa com WhatsApp, que nenhum concorrente tem"', block: 'solucao', modes: ['balanced', 'quality'] },
746
872
  // Campos extras quality (alinhados com template PRD)
747
873
  { id: 'personas', label: 'Descreva 2-3 tipos de pessoas que vão usar (nome fictício, cargo, rotina)', hint: 'Perfis detalhados dos usuários principais', example: 'Ex: "Maria, coordenadora, monitora equipes pelo celular entre reuniões"', block: 'problema', modes: ['quality'] },
748
874
  { id: 'go_to_market', label: 'Como pretende conseguir os primeiros usuários?', hint: 'Estratégia para lançamento e adoção inicial', example: 'Ex: "Piloto com 2 clientes atuais, depois indicação boca-a-boca"', block: 'planejamento', modes: ['quality'] },
@@ -841,12 +967,33 @@ function normalizePrdContent(content) {
841
967
  normalized = normalized.replace(/\\\\n/g, '\n');
842
968
  return normalized.trim();
843
969
  }
970
+ // v5.0 Sprint 5: Cache de scores para evitar oscilações
971
+ const scoreCache = new Map();
972
+ const SCORE_CACHE_TTL = 5 * 60 * 1000; // 5 minutos
844
973
  /**
845
974
  * Sprint 6 (NP10): Calcula score estruturado do PRD por seções com conteúdo mínimo.
846
- * Substitui a versão antiga baseada em regex triviais.
975
+ * v5.0: Adicionado cache e bypass por tamanho
847
976
  */
848
977
  function calculatePrdScore(prd, mode) {
978
+ // Sprint 5: Bypass por tamanho — PRDs grandes com estrutura mínima = score alto
979
+ const wordCount = prd.split(/\s+/).length;
980
+ const charCount = prd.length;
981
+ const hasStructure = prd.match(/^#{1,2}\s+/m) && prd.match(/^#{1,2}\s+/m); // Tem pelo menos um h1/h2
982
+ // Se PRD tem >3000 chars, >400 palavras e estrutura markdown → score mínimo 70
983
+ if (charCount > 3000 && wordCount > 400 && hasStructure) {
984
+ const { score } = calculatePrdScoreDetailed(prd);
985
+ // Retorna o maior entre o score calculado e 70 (para evitar penalizar PRDs bons)
986
+ return Math.max(score, 70);
987
+ }
988
+ // Sprint 5: Verificar cache
989
+ const cacheKey = `${prd.slice(0, 500)}-${prd.length}`; // Hash simples
990
+ const cached = scoreCache.get(cacheKey);
991
+ if (cached && (Date.now() - cached.timestamp) < SCORE_CACHE_TTL) {
992
+ return cached.score;
993
+ }
849
994
  const { score } = calculatePrdScoreDetailed(prd);
995
+ // Sprint 5: Salvar no cache
996
+ scoreCache.set(cacheKey, { score, timestamp: Date.now() });
850
997
  return score;
851
998
  }
852
999
  function calculatePrdScoreDetailed(prd) {
@@ -1 +1 @@
1
- {"version":3,"file":"specialist-phase-handler.js","sourceRoot":"","sources":["../../src/handlers/specialist-phase-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specialist-phase-handler.js","sourceRoot":"","sources":["../../src/handlers/specialist-phase-handler.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export { withStateLoad } from "./state-loader.middleware.js";
8
8
  export { withPersistence } from "./persistence.middleware.js";
9
9
  export { withFlowEngine } from "./flow-engine.middleware.js";
10
10
  export { withSkillInjection } from "./skill-injection.middleware.js";
11
+ export { withPromptValidation, defaultValidations } from "./validation.middleware.js";
11
12
  import type { ToolResult } from "../types/index.js";
12
13
  type ToolHandler = (args: Record<string, unknown>) => Promise<ToolResult>;
13
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAOrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAWpF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAKzF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAOzF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAO/F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAOtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAWpF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAKzF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAOzF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAO/F"}
@@ -8,6 +8,7 @@ export { withStateLoad } from "./state-loader.middleware.js";
8
8
  export { withPersistence } from "./persistence.middleware.js";
9
9
  export { withFlowEngine } from "./flow-engine.middleware.js";
10
10
  export { withSkillInjection } from "./skill-injection.middleware.js";
11
+ export { withPromptValidation, defaultValidations } from "./validation.middleware.js"; // v6.0
11
12
  import { withStateLoad } from "./state-loader.middleware.js";
12
13
  import { withPersistence } from "./persistence.middleware.js";
13
14
  import { withFlowEngine } from "./flow-engine.middleware.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAoB;IACnE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,cAAc,CACV,eAAe,CACX,kBAAkB,CAAC,OAAO,CAAC,CAC9B,CACJ,CACJ,CACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAoB;IACxE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CAAC,OAAO,CAAC,CACzB,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAoB;IACxE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,kBAAkB,CAAC,OAAO,CAAC,CAC9B,CACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAgB,EAAE,OAAoB;IAC9E,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,eAAe,CAAC,OAAO,CAAC,CAC3B,CACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC,CAAC,OAAO;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAoB;IACnE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,cAAc,CACV,eAAe,CACX,kBAAkB,CAAC,OAAO,CAAC,CAC9B,CACJ,CACJ,CACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAoB;IACxE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CAAC,OAAO,CAAC,CACzB,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAoB;IACxE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,kBAAkB,CAAC,OAAO,CAAC,CAC9B,CACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAgB,EAAE,OAAoB;IAC9E,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,eAAe,CAAC,OAAO,CAAC,CAC3B,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Validation Middleware v6.0
3
+ *
4
+ * Middleware que integra o PromptValidatorService para validar
5
+ * chamadas de tools e garantir conformidade com o protocolo MCP.
6
+ *
7
+ * Features:
8
+ * - Valida se a tool correta está sendo usada
9
+ * - Detecta erros comuns (ex: usar maestro() para avançar)
10
+ * - Fornece feedback corretivo automático
11
+ * - Rastreia estatísticas de erros
12
+ */
13
+ import type { ToolResult } from "../types/index.js";
14
+ type ToolHandler = (args: Record<string, unknown>) => Promise<ToolResult>;
15
+ /**
16
+ * Middleware de validação de prompts
17
+ *
18
+ * Intercepta a resposta da tool e valida se está conforme o esperado.
19
+ * Se detectar erros, adiciona feedback corretivo na resposta.
20
+ */
21
+ export declare function withPromptValidation(toolName: string, expectedTool?: string): (handler: ToolHandler) => ToolHandler;
22
+ /**
23
+ * Wrapper conveniente para aplicar validação a múltiplas tools
24
+ */
25
+ export declare function validateTools(toolMappings: Record<string, string>): Record<string, (handler: ToolHandler) => ToolHandler>;
26
+ /**
27
+ * Configuração padrão de validações
28
+ */
29
+ export declare const defaultValidations: Record<string, (handler: ToolHandler) => ToolHandler>;
30
+ export {};
31
+ //# sourceMappingURL=validation.middleware.d.ts.map
@@ -0,0 +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"}