@maestro-ai/mcp-server 5.5.2 → 5.6.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.
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/content/skills/specialist-prototipagem-stitch/SKILL.md +12 -6
- package/dist/content/skills/specialist-ux-design/SKILL.md +9 -30
- package/dist/content/skills/specialist-ux-design/resources/checklists/ux-validation.md +1 -4
- package/dist/content/skills/specialist-ux-design/resources/reference/ux-guide.md +2 -2
- package/dist/errors/index.js +2 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/flows/onboarding-orchestrator.js +1 -1
- package/dist/flows/onboarding-orchestrator.js.map +1 -1
- package/dist/handlers/field-normalizer.d.ts +31 -0
- package/dist/handlers/field-normalizer.d.ts.map +1 -0
- package/dist/handlers/field-normalizer.js +70 -0
- package/dist/handlers/field-normalizer.js.map +1 -0
- package/dist/handlers/prd-scorer.d.ts +60 -0
- package/dist/handlers/prd-scorer.d.ts.map +1 -0
- package/dist/handlers/prd-scorer.js +157 -0
- package/dist/handlers/prd-scorer.js.map +1 -0
- package/dist/handlers/prototype-phase-handler.js.map +1 -1
- package/dist/handlers/shared-prompt-handler.js +3 -1
- package/dist/handlers/shared-prompt-handler.js.map +1 -1
- package/dist/handlers/specialist-formatters.d.ts +42 -0
- package/dist/handlers/specialist-formatters.d.ts.map +1 -0
- package/dist/handlers/specialist-formatters.js +272 -0
- package/dist/handlers/specialist-formatters.js.map +1 -0
- package/dist/handlers/specialist-phase-handler.d.ts +1 -10
- package/dist/handlers/specialist-phase-handler.d.ts.map +1 -1
- package/dist/handlers/specialist-phase-handler.js +11 -501
- package/dist/handlers/specialist-phase-handler.js.map +1 -1
- package/dist/legacy-tools.d.ts +21 -0
- package/dist/legacy-tools.d.ts.map +1 -0
- package/dist/legacy-tools.js +377 -0
- package/dist/legacy-tools.js.map +1 -0
- package/dist/router.d.ts +2 -2
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +6 -378
- package/dist/router.js.map +1 -1
- package/dist/server.d.ts +18 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +70 -1
- package/dist/server.js.map +1 -1
- package/dist/services/flow-engine.d.ts.map +1 -1
- package/dist/services/flow-engine.js +1 -2
- package/dist/services/flow-engine.js.map +1 -1
- package/dist/services/onboarding.service.js.map +1 -1
- package/dist/services/scoring-config.d.ts +47 -0
- package/dist/services/scoring-config.d.ts.map +1 -0
- package/dist/services/scoring-config.js +88 -0
- package/dist/services/scoring-config.js.map +1 -0
- package/dist/services/state.service.d.ts.map +1 -1
- package/dist/services/state.service.js +3 -9
- package/dist/services/state.service.js.map +1 -1
- package/dist/services/static-validator.service.d.ts +28 -0
- package/dist/services/static-validator.service.d.ts.map +1 -0
- package/dist/services/static-validator.service.js +55 -0
- package/dist/services/static-validator.service.js.map +1 -0
- package/dist/services/task-decomposer.service.d.ts +59 -0
- package/dist/services/task-decomposer.service.d.ts.map +1 -0
- package/dist/services/task-decomposer.service.js +162 -0
- package/dist/services/task-decomposer.service.js.map +1 -0
- package/dist/services/test-stub-generator.service.d.ts +32 -0
- package/dist/services/test-stub-generator.service.d.ts.map +1 -0
- package/dist/services/test-stub-generator.service.js +71 -0
- package/dist/services/test-stub-generator.service.js.map +1 -0
- package/dist/stdio.js +7 -71
- package/dist/stdio.js.map +1 -1
- package/dist/tools/brainstorm.js.map +1 -1
- package/dist/tools/consolidated/avancar.d.ts.map +1 -1
- package/dist/tools/consolidated/avancar.js +27 -19
- package/dist/tools/consolidated/avancar.js.map +1 -1
- package/dist/tools/discovery.js.map +1 -1
- 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 +23 -14
- package/dist/tools/maestro-tool.js.map +1 -1
- package/dist/tools/next-steps-dashboard.js.map +1 -1
- package/dist/tools/prd-writer.js.map +1 -1
- package/dist/tools/proximo.d.ts.map +1 -1
- package/dist/tools/proximo.js +34 -6
- package/dist/tools/proximo.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/ide-paths.d.ts +2 -1
- package/dist/utils/ide-paths.d.ts.map +1 -1
- package/dist/utils/ide-paths.js +48 -9
- package/dist/utils/ide-paths.js.map +1 -1
- package/dist/utils/instructions.d.ts.map +1 -1
- package/dist/utils/instructions.js +4 -3
- package/dist/utils/instructions.js.map +1 -1
- package/package.json +3 -2
- package/dist/content/skills/specialist-ux-design/resources/templates/jornada-usuario.md +0 -126
- package/dist/content/skills/specialist-ux-design/resources/templates/wireframes.md +0 -155
- package/dist/gates/tiers.test.d.ts +0 -2
- package/dist/gates/tiers.test.d.ts.map +0 -1
- package/dist/gates/tiers.test.js +0 -86
- package/dist/gates/tiers.test.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -343
- package/dist/index.js.map +0 -1
- package/dist/tests/aprovar-gate.test.d.ts +0 -2
- package/dist/tests/aprovar-gate.test.d.ts.map +0 -1
- package/dist/tests/aprovar-gate.test.js +0 -113
- package/dist/tests/aprovar-gate.test.js.map +0 -1
- package/dist/tests/brainstorm-prd.test.d.ts +0 -5
- package/dist/tests/brainstorm-prd.test.d.ts.map +0 -1
- package/dist/tests/brainstorm-prd.test.js +0 -291
- package/dist/tests/brainstorm-prd.test.js.map +0 -1
- package/dist/tests/classificacao-progressiva.test.d.ts +0 -5
- package/dist/tests/classificacao-progressiva.test.d.ts.map +0 -1
- package/dist/tests/classificacao-progressiva.test.js +0 -372
- package/dist/tests/classificacao-progressiva.test.js.map +0 -1
- package/dist/tests/content-resolver.test.d.ts +0 -5
- package/dist/tests/content-resolver.test.d.ts.map +0 -1
- package/dist/tests/content-resolver.test.js +0 -157
- package/dist/tests/content-resolver.test.js.map +0 -1
- package/dist/tests/deliverable-validator.test.d.ts +0 -12
- package/dist/tests/deliverable-validator.test.d.ts.map +0 -1
- package/dist/tests/deliverable-validator.test.js +0 -214
- package/dist/tests/deliverable-validator.test.js.map +0 -1
- package/dist/tests/flow-engine.test.d.ts +0 -2
- package/dist/tests/flow-engine.test.d.ts.map +0 -1
- package/dist/tests/flow-engine.test.js +0 -85
- package/dist/tests/flow-engine.test.js.map +0 -1
- package/dist/tests/gate-orientation.test.d.ts +0 -2
- package/dist/tests/gate-orientation.test.d.ts.map +0 -1
- package/dist/tests/gate-orientation.test.js +0 -59
- package/dist/tests/gate-orientation.test.js.map +0 -1
- package/dist/tests/middleware.test.d.ts +0 -5
- package/dist/tests/middleware.test.d.ts.map +0 -1
- package/dist/tests/middleware.test.js +0 -254
- package/dist/tests/middleware.test.js.map +0 -1
- package/dist/tests/migracao-skills.test.d.ts +0 -2
- package/dist/tests/migracao-skills.test.d.ts.map +0 -1
- package/dist/tests/migracao-skills.test.js +0 -208
- package/dist/tests/migracao-skills.test.js.map +0 -1
- package/dist/tests/onboarding-flow.test.d.ts +0 -5
- package/dist/tests/onboarding-flow.test.d.ts.map +0 -1
- package/dist/tests/onboarding-flow.test.js +0 -231
- package/dist/tests/onboarding-flow.test.js.map +0 -1
- package/dist/tests/prd-validation.test.d.ts +0 -6
- package/dist/tests/prd-validation.test.d.ts.map +0 -1
- package/dist/tests/prd-validation.test.js +0 -164
- package/dist/tests/prd-validation.test.js.map +0 -1
- package/dist/tests/readiness-dashboard.test.d.ts +0 -5
- package/dist/tests/readiness-dashboard.test.d.ts.map +0 -1
- package/dist/tests/readiness-dashboard.test.js +0 -252
- package/dist/tests/readiness-dashboard.test.js.map +0 -1
- package/dist/tests/skill-loader.test.d.ts +0 -5
- package/dist/tests/skill-loader.test.d.ts.map +0 -1
- package/dist/tests/skill-loader.test.js +0 -244
- package/dist/tests/skill-loader.test.js.map +0 -1
- package/dist/tests/v52-integration.test.d.ts +0 -14
- package/dist/tests/v52-integration.test.d.ts.map +0 -1
- package/dist/tests/v52-integration.test.js +0 -225
- package/dist/tests/v52-integration.test.js.map +0 -1
- package/dist/tests/watcher.service.test.d.ts +0 -2
- package/dist/tests/watcher.service.test.d.ts.map +0 -1
- package/dist/tests/watcher.service.test.js +0 -119
- package/dist/tests/watcher.service.test.js.map +0 -1
- package/dist/utils/__tests__/prompt-mapper.test.d.ts +0 -2
- package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +0 -1
- package/dist/utils/__tests__/prompt-mapper.test.js +0 -184
- package/dist/utils/__tests__/prompt-mapper.test.js.map +0 -1
|
@@ -18,8 +18,11 @@ import { serializarEstado } from "../state/storage.js";
|
|
|
18
18
|
import { saveFile } from "../utils/persistence.js";
|
|
19
19
|
import { existsSync, readFileSync } from "fs";
|
|
20
20
|
import { detectIDE, getSkillsDir, getSkillFilePath, formatSkillHydrationCommand } from "../utils/ide-paths.js";
|
|
21
|
-
import { classificacaoProgressiva } from "../services/classificacao-progressiva.service.js";
|
|
22
|
-
import { getFaseComStitch } from "../flows/types.js";
|
|
21
|
+
import { classificacaoProgressiva } from "../services/classificacao-progressiva.service.js";
|
|
22
|
+
import { getFaseComStitch } from "../flows/types.js";
|
|
23
|
+
import { normalizeFieldKey, getRequiredFields } from "./field-normalizer.js";
|
|
24
|
+
import { calculatePrdScore, calculatePrdScoreDetailed, identifyPrdGaps, normalizePrdContent } from "./prd-scorer.js";
|
|
25
|
+
import { loadCollectingContext, formatMissingFieldsByBlock, truncateValue, buildCollectionPrompt } from "./specialist-formatters.js";
|
|
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 */
|
|
@@ -57,28 +60,6 @@ function getSkillPathForIDE(skillName, estado, diretorio) {
|
|
|
57
60
|
guidePath: `${getSkillsDir(ide)}/${skillName}/SKILL.md`,
|
|
58
61
|
};
|
|
59
62
|
}
|
|
60
|
-
// === Sprint 5 (NP2, NP3): Fuzzy Field Matching ===
|
|
61
|
-
const FIELD_ALIASES = {
|
|
62
|
-
'problema': ['problema_central', 'problem', 'pain_point', 'dor', 'problema_principal'],
|
|
63
|
-
'publico_alvo': ['publico', 'target', 'audience', 'usuarios', 'usuarios_alvo', 'target_audience'],
|
|
64
|
-
'funcionalidades_mvp': ['features', 'funcionalidades', 'mvp', 'features_mvp', 'funcionalidades_principais'],
|
|
65
|
-
'north_star_metric': ['metrica', 'metric', 'kpi', 'north_star', 'metrica_sucesso', 'metrica_principal'],
|
|
66
|
-
'riscos': ['riscos_principais', 'risks', 'riscos_mercado', 'riscos_tecnicos', 'riscos_negocio'],
|
|
67
|
-
'timeline': ['cronograma', 'prazo', 'timeline_desejado', 'quando', 'prazo_lancamento', 'prazo_mvp', 'prazo_mvp_desejado'],
|
|
68
|
-
'personas': ['persona', 'persona_principal', 'personas_detalhadas', 'perfil_usuario'],
|
|
69
|
-
'go_to_market': ['gtm', 'lancamento', 'estrategia_lancamento', 'go_to_market_strategy', 'estrategia_gtm'],
|
|
70
|
-
'diferencial': ['diferencial_competitivo', 'vantagem', 'competitive_advantage', 'proposta_valor'],
|
|
71
|
-
'visao_produto': ['visao', 'vision', 'missao', 'mission', 'visao_estrategica'],
|
|
72
|
-
};
|
|
73
|
-
function normalizeFieldKey(key) {
|
|
74
|
-
const normalized = key.toLowerCase().replace(/[^a-z0-9_]/g, '_').replace(/_+/g, '_').replace(/^_|_$/g, '');
|
|
75
|
-
for (const [canonical, aliases] of Object.entries(FIELD_ALIASES)) {
|
|
76
|
-
if (normalized === canonical || aliases.includes(normalized)) {
|
|
77
|
-
return canonical;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return normalized;
|
|
81
|
-
}
|
|
82
63
|
/**
|
|
83
64
|
* Entry point do specialist phase handler.
|
|
84
65
|
* Detecta o status atual e delega para o handler correto.
|
|
@@ -125,7 +106,7 @@ async function handleCollecting(args, onboarding, sp) {
|
|
|
125
106
|
const mode = onboarding.mode || 'balanced';
|
|
126
107
|
// Se não há respostas, mostrar o que falta
|
|
127
108
|
if (!respostas || Object.keys(respostas).length === 0) {
|
|
128
|
-
return buildCollectionPrompt(estado, diretorio, sp, mode);
|
|
109
|
+
return buildCollectionPrompt(estado, diretorio, sp, mode, resolveIDEForProject);
|
|
129
110
|
}
|
|
130
111
|
// Acumular dados recebidos (com fuzzy matching de campos — Sprint 5)
|
|
131
112
|
for (const [key, value] of Object.entries(respostas)) {
|
|
@@ -580,8 +561,9 @@ Use: \`executar({acao: "avancar"})\`
|
|
|
580
561
|
}
|
|
581
562
|
// Avançar estado do projeto para fase 1 de desenvolvimento
|
|
582
563
|
estado.fase_atual = 1;
|
|
583
|
-
//
|
|
584
|
-
|
|
564
|
+
// v5.6 FIX (ERRO-008): Restaurar flag para que avancar.ts:128 roteie corretamente
|
|
565
|
+
estado.aguardando_classificacao = true;
|
|
566
|
+
estado.classificacao_pos_prd_confirmada = false;
|
|
585
567
|
estado.status = 'ativo';
|
|
586
568
|
await persistState(estado, onboarding, diretorio);
|
|
587
569
|
return {
|
|
@@ -628,478 +610,6 @@ ${classificacaoInfo}
|
|
|
628
610
|
},
|
|
629
611
|
};
|
|
630
612
|
}
|
|
631
|
-
// === HELPERS ===
|
|
632
|
-
/**
|
|
633
|
-
* v6.1 (Problem #4): Extracts only the heading structure (skeleton) from a full template.
|
|
634
|
-
* Reduces token usage by ~80% compared to injecting the full template content.
|
|
635
|
-
*/
|
|
636
|
-
function extractTemplateSkeleton(templateContent) {
|
|
637
|
-
const lines = templateContent.split('\n');
|
|
638
|
-
const skeleton = [];
|
|
639
|
-
for (const line of lines) {
|
|
640
|
-
// Keep headings
|
|
641
|
-
if (line.match(/^#{1,6}\s+/)) {
|
|
642
|
-
skeleton.push(line);
|
|
643
|
-
}
|
|
644
|
-
// Keep checkbox items (just the label, not description)
|
|
645
|
-
else if (line.match(/^\s*-?\s*\[\s*\]/)) {
|
|
646
|
-
const match = line.match(/^\s*-?\s*\[\s*\]\s*\*?\*?(.+?)[\*:].*/);
|
|
647
|
-
if (match) {
|
|
648
|
-
skeleton.push(`- [ ] ${match[1].trim()}`);
|
|
649
|
-
}
|
|
650
|
-
else {
|
|
651
|
-
skeleton.push(line.substring(0, 80));
|
|
652
|
-
}
|
|
653
|
-
}
|
|
654
|
-
}
|
|
655
|
-
return skeleton.join('\n');
|
|
656
|
-
}
|
|
657
|
-
/**
|
|
658
|
-
* Sprint 3 (NP1, NP5, NP9): Formata campos faltantes organizados por blocos temáticos com exemplos.
|
|
659
|
-
*/
|
|
660
|
-
function formatMissingFieldsByBlock(missing, mode) {
|
|
661
|
-
const blockTitles = {
|
|
662
|
-
'problema': '🔍 **O Problema**',
|
|
663
|
-
'solucao': '💡 **A Solução**',
|
|
664
|
-
'planejamento': '📅 **Planejamento**',
|
|
665
|
-
};
|
|
666
|
-
const blockOrder = ['problema', 'solucao', 'planejamento'];
|
|
667
|
-
const grouped = {};
|
|
668
|
-
for (const f of missing) {
|
|
669
|
-
if (!grouped[f.block])
|
|
670
|
-
grouped[f.block] = [];
|
|
671
|
-
grouped[f.block].push(f);
|
|
672
|
-
}
|
|
673
|
-
const parts = ['## Campos que FALTAM (pergunte ao usuário):\n'];
|
|
674
|
-
for (const block of blockOrder) {
|
|
675
|
-
const fields = grouped[block];
|
|
676
|
-
if (!fields || fields.length === 0)
|
|
677
|
-
continue;
|
|
678
|
-
parts.push(`### ${blockTitles[block] || block}\n`);
|
|
679
|
-
for (const f of fields) {
|
|
680
|
-
parts.push(`❌ **${f.label}**`);
|
|
681
|
-
parts.push(` _${f.hint}_`);
|
|
682
|
-
parts.push(` ${f.example}\n`);
|
|
683
|
-
}
|
|
684
|
-
}
|
|
685
|
-
return parts.join('\n');
|
|
686
|
-
}
|
|
687
|
-
/**
|
|
688
|
-
* Sprint 2 (NP6, NP8): Carrega contexto resumido do especialista para injeção na fase collecting.
|
|
689
|
-
* v7.0: Substituído injeção ativa por menção dinâmica da IDE
|
|
690
|
-
*/
|
|
691
|
-
function loadCollectingContext(skillName, ide) {
|
|
692
|
-
return formatSkillHydrationCommand(skillName, ide);
|
|
693
|
-
}
|
|
694
|
-
/**
|
|
695
|
-
* Constrói prompt de coleta quando não há respostas
|
|
696
|
-
*/
|
|
697
|
-
async function buildCollectionPrompt(estado, diretorio, sp, mode) {
|
|
698
|
-
const required = getRequiredFields(mode);
|
|
699
|
-
const missing = required.filter(f => !sp.collectedData[f.id]);
|
|
700
|
-
const collected = required.filter(f => sp.collectedData[f.id]);
|
|
701
|
-
const missingTemplate = {};
|
|
702
|
-
for (const f of missing) {
|
|
703
|
-
missingTemplate[f.id] = `<${f.label}>`;
|
|
704
|
-
}
|
|
705
|
-
const collectedInfo = collected.length > 0
|
|
706
|
-
? `\n\nCampos já coletados:\n${collected.map(f => `✅ **${f.label}**: ${truncateValue(sp.collectedData[f.id])}`).join('\n')}`
|
|
707
|
-
: '';
|
|
708
|
-
// Sprint 2 (NP6, NP8): Injetar contexto do especialista desde a coleta
|
|
709
|
-
const collectingContext = loadCollectingContext(sp.skillName, resolveIDEForProject(estado, diretorio));
|
|
710
|
-
return {
|
|
711
|
-
content: formatResponse({
|
|
712
|
-
titulo: "🧠 Especialista: Gestão de Produto",
|
|
713
|
-
resumo: `Coleta de informações do produto. ${collected.length}/${required.length} campos preenchidos.`,
|
|
714
|
-
instrucoes: `⚠️ OBRIGATÓRIO: Pergunte ao usuário os campos abaixo. NÃO invente dados.
|
|
715
|
-
|
|
716
|
-
${collectingContext}
|
|
717
|
-
${collectedInfo}
|
|
718
|
-
|
|
719
|
-
${formatMissingFieldsByBlock(missing, mode)}
|
|
720
|
-
|
|
721
|
-
⚠️ REGRA CRÍTICA: Os dados devem vir DIRETAMENTE do usuário.
|
|
722
|
-
Se o usuário pedir "crie os dados", "invente para teste" ou "preencha para mim":
|
|
723
|
-
→ Responda: "Preciso que VOCÊ me conte sobre o seu produto. Mesmo que seja simples, suas respostas reais vão gerar um PRD muito melhor do que dados inventados."
|
|
724
|
-
→ Reformule as perguntas de forma mais simples se o usuário parecer travado.
|
|
725
|
-
→ Ofereça exemplos para inspirar, mas NÃO use os exemplos como resposta.
|
|
726
|
-
|
|
727
|
-
Após coletar as respostas, EXECUTE:
|
|
728
|
-
|
|
729
|
-
\`\`\`json
|
|
730
|
-
executar({
|
|
731
|
-
"diretorio": "${diretorio}",
|
|
732
|
-
"acao": "avancar",
|
|
733
|
-
"respostas": ${JSON.stringify(missingTemplate, null, 4)}
|
|
734
|
-
})
|
|
735
|
-
\`\`\`
|
|
736
|
-
|
|
737
|
-
## 📍 Onde Estamos
|
|
738
|
-
✅ Setup → 🔄 Coleta → ⏳ Geração PRD → ⏳ Validação → ⏳ Aprovação
|
|
739
|
-
|
|
740
|
-
⚠️ Para avançar, SEMPRE use: \`executar({acao: "avancar"})\`
|
|
741
|
-
⚠️ NUNCA use: \`maestro({acao: "status"})\` para tentar avançar`,
|
|
742
|
-
proximo_passo: {
|
|
743
|
-
tool: "executar",
|
|
744
|
-
descricao: "Enviar respostas coletadas do usuário",
|
|
745
|
-
args: `{ "diretorio": "${diretorio}", "acao": "avancar", "respostas": ${JSON.stringify(missingTemplate)} }`,
|
|
746
|
-
requer_input_usuario: true,
|
|
747
|
-
prompt_usuario: `Responda: ${missing.map(f => f.label).join(', ')}`,
|
|
748
|
-
},
|
|
749
|
-
}),
|
|
750
|
-
next_action: {
|
|
751
|
-
tool: "executar",
|
|
752
|
-
description: `Coletar e enviar: ${missing.map(f => f.label).join(', ')}`,
|
|
753
|
-
args_template: {
|
|
754
|
-
diretorio,
|
|
755
|
-
acao: "avancar",
|
|
756
|
-
respostas: missingTemplate,
|
|
757
|
-
},
|
|
758
|
-
requires_user_input: true,
|
|
759
|
-
user_prompt: `Pergunte ao usuário: ${missing.map(f => f.label).join(', ')}`,
|
|
760
|
-
},
|
|
761
|
-
specialist_persona: {
|
|
762
|
-
name: "Gestão de Produto",
|
|
763
|
-
tone: "Estratégico e orientado ao usuário",
|
|
764
|
-
expertise: ["product discovery", "lean startup", "user stories", "MVP definition"],
|
|
765
|
-
instructions: "Conduza a coleta focada em PRODUTO. PERGUNTE — NÃO invente. Faça follow-up quando respostas forem vagas.",
|
|
766
|
-
},
|
|
767
|
-
progress: {
|
|
768
|
-
current_phase: "specialist_active",
|
|
769
|
-
total_phases: 5,
|
|
770
|
-
completed_phases: 1,
|
|
771
|
-
percentage: 20,
|
|
772
|
-
},
|
|
773
|
-
};
|
|
774
|
-
}
|
|
775
|
-
/**
|
|
776
|
-
* Sprint 3 (NP1, NP5, NP9): Campos com linguagem simples, exemplos práticos e blocos temáticos.
|
|
777
|
-
* Alinhados com seções do template PRD para eliminar gap campos vs template.
|
|
778
|
-
*/
|
|
779
|
-
function getRequiredFields(mode) {
|
|
780
|
-
const fields = [
|
|
781
|
-
// Bloco 1 — O Problema (todos os modos)
|
|
782
|
-
{ id: 'problema', label: 'Qual problema seu produto resolve?', hint: 'Descreva a dor principal que seus usuários sentem hoje', example: 'Ex: "Equipes perdem controle de tarefas por usar planilhas"', block: 'problema', modes: ['economy', 'balanced', 'quality'] },
|
|
783
|
-
{ id: 'publico_alvo', label: 'Quem vai usar seu produto?', hint: 'Descreva o perfil das pessoas que mais precisam da solução', example: 'Ex: "Pequenas empresas de 5-30 pessoas, coordenadores de equipe"', block: 'problema', modes: ['economy', 'balanced', 'quality'] },
|
|
784
|
-
// Bloco 2 — A Solução (todos os modos)
|
|
785
|
-
{ 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'] },
|
|
786
|
-
{ 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'] },
|
|
787
|
-
{ 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'] },
|
|
788
|
-
// Bloco 3 — Planejamento (balanced/quality)
|
|
789
|
-
{ 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'] },
|
|
790
|
-
{ 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'] },
|
|
791
|
-
// Campos extras quality (alinhados com template PRD)
|
|
792
|
-
{ 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'] },
|
|
793
|
-
{ 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'] },
|
|
794
|
-
{ id: 'visao_produto', label: 'Onde você quer que o produto esteja em 1 ano?', hint: 'Visão de longo prazo do produto', example: 'Ex: "Ser a ferramenta padrão de gestão de tarefas para PMEs no Brasil"', block: 'solucao', modes: ['quality'] },
|
|
795
|
-
];
|
|
796
|
-
return fields.filter(f => f.modes.includes(mode));
|
|
797
|
-
}
|
|
798
|
-
/**
|
|
799
|
-
* Sprint 3: Agrupa campos por bloco temático para coleta em etapas
|
|
800
|
-
*/
|
|
801
|
-
function getFieldsByBlock(mode) {
|
|
802
|
-
const allFields = getRequiredFields(mode);
|
|
803
|
-
const blocks = [
|
|
804
|
-
{ block: 'problema', title: '🔍 O Problema — Conte sobre o problema que quer resolver e quem sofre com ele' },
|
|
805
|
-
{ block: 'solucao', title: '💡 A Solução — O que o produto precisa fazer e como medir se está funcionando?' },
|
|
806
|
-
{ block: 'planejamento', title: '📅 Planejamento — Riscos, prazos e como chegar aos primeiros usuários' },
|
|
807
|
-
];
|
|
808
|
-
return blocks
|
|
809
|
-
.map(b => ({
|
|
810
|
-
...b,
|
|
811
|
-
fields: allFields.filter(f => f.block === b.block),
|
|
812
|
-
}))
|
|
813
|
-
.filter(b => b.fields.length > 0);
|
|
814
|
-
}
|
|
815
|
-
/**
|
|
816
|
-
* Sprint 2 (v7.0): Retorna perguntas técnicas que o especialista deve fazer
|
|
817
|
-
* Distribui perguntas técnicas aos especialistas de cada fase
|
|
818
|
-
*
|
|
819
|
-
* v8.1 FIX: Refatorado para usar nome da fase em vez de número hardcoded.
|
|
820
|
-
* Quando Stitch está habilitado, fase 4 é Prototipagem (não Arquitetura).
|
|
821
|
-
* Usar número causava injeção de perguntas de Arquitetura na fase de Prototipagem.
|
|
822
|
-
*/
|
|
823
|
-
function getSpecialistQuestions(fase, faseNome) {
|
|
824
|
-
// v8.1: Usar nome da fase quando disponível (mais robusto que número)
|
|
825
|
-
const nome = faseNome?.toLowerCase() || '';
|
|
826
|
-
if (nome === 'requisitos' || (!faseNome && fase === 2)) {
|
|
827
|
-
return `
|
|
828
|
-
## 📋 Coleta de Requisitos Técnicos
|
|
829
|
-
|
|
830
|
-
Como Especialista de Requisitos, preciso entender alguns aspectos técnicos para criar um documento completo:
|
|
831
|
-
|
|
832
|
-
### 1. Volume e Escala
|
|
833
|
-
- Quantos usuários simultâneos você espera?
|
|
834
|
-
- Quantas transações/operações por dia?
|
|
835
|
-
- Crescimento esperado nos próximos 6 meses?
|
|
836
|
-
|
|
837
|
-
### 2. Integrações Externas
|
|
838
|
-
- Precisa integrar com quais sistemas/APIs?
|
|
839
|
-
- Exemplos: pagamento (Stripe, PagSeguro), email (SendGrid), SMS, etc.
|
|
840
|
-
- Autenticação social? (Google, Facebook, etc.)
|
|
841
|
-
|
|
842
|
-
### 3. Segurança e Compliance
|
|
843
|
-
- Precisa seguir LGPD? (dados de brasileiros)
|
|
844
|
-
- Dados sensíveis? (cartão, saúde, financeiro)
|
|
845
|
-
- Outros requisitos? (PCI-DSS, HIPAA, SOC2)
|
|
846
|
-
|
|
847
|
-
### 4. Performance
|
|
848
|
-
- Tempo de resposta esperado? (ex: < 200ms)
|
|
849
|
-
- Disponibilidade necessária? (ex: 99.9%)
|
|
850
|
-
- Horários de pico de uso?
|
|
851
|
-
|
|
852
|
-
> 💡 Responda de forma natural, não precisa seguir a ordem exata. Após suas respostas, vou criar o documento de requisitos.
|
|
853
|
-
`;
|
|
854
|
-
}
|
|
855
|
-
if (nome === 'arquitetura' || nome === 'arquitetura avançada') {
|
|
856
|
-
return `
|
|
857
|
-
## 🏗️ Decisões de Arquitetura
|
|
858
|
-
|
|
859
|
-
Como Especialista de Arquitetura, preciso entender suas preferências e restrições:
|
|
860
|
-
|
|
861
|
-
### 1. Stack Tecnológica
|
|
862
|
-
- **Frontend:** Tem preferência? (React, Vue, Angular, Next.js)
|
|
863
|
-
- **Backend:** Qual linguagem/framework? (Node.js, Python, PHP, Java)
|
|
864
|
-
- **Database:** Qual banco de dados? (PostgreSQL, MySQL, MongoDB)
|
|
865
|
-
- Alguma restrição ou tecnologia que o time já domina?
|
|
866
|
-
|
|
867
|
-
### 2. Time e Infraestrutura
|
|
868
|
-
- Quem vai desenvolver? (senioridade: júnior, pleno, sênior)
|
|
869
|
-
- Onde vai hospedar? (AWS, Azure, Vercel, Heroku, VPS)
|
|
870
|
-
- Orçamento mensal de infraestrutura?
|
|
871
|
-
|
|
872
|
-
### 3. Padrões Arquiteturais
|
|
873
|
-
- Monolito ou microserviços?
|
|
874
|
-
- Multi-tenant necessário?
|
|
875
|
-
- Precisa de cache? CDN?
|
|
876
|
-
|
|
877
|
-
> 💡 Se não tiver preferência, posso sugerir a melhor stack baseado nos requisitos já definidos.
|
|
878
|
-
`;
|
|
879
|
-
}
|
|
880
|
-
if (nome === 'prototipagem') {
|
|
881
|
-
return `
|
|
882
|
-
## 🎨 Prototipagem Rápida com Google Stitch
|
|
883
|
-
|
|
884
|
-
Como Especialista de Prototipagem, vou transformar o Design Doc aprovado em protótipos interativos usando Google Stitch.
|
|
885
|
-
|
|
886
|
-
### 📋 Processo de 5 Etapas
|
|
887
|
-
|
|
888
|
-
**Etapa 1 — Análise** *(automática)*
|
|
889
|
-
O sistema analisa o Design Doc e mapeia:
|
|
890
|
-
- Componentes de UI necessários
|
|
891
|
-
- Fluxos de interação principais
|
|
892
|
-
- Design System definido
|
|
893
|
-
|
|
894
|
-
**Etapa 2 — Geração de Prompts** *(automática)*
|
|
895
|
-
O sistema gera prompts otimizados e salva em:
|
|
896
|
-
📁 \`prototipos/stitch-prompts.md\`
|
|
897
|
-
|
|
898
|
-
**Etapa 3 — Prototipagem no Stitch** *(usuário)*
|
|
899
|
-
Você usa os prompts no stitch.withgoogle.com:
|
|
900
|
-
1. Copie cada prompt do arquivo gerado
|
|
901
|
-
2. Cole no Google Stitch
|
|
902
|
-
3. Itere até obter o resultado desejado
|
|
903
|
-
4. **Exporte o código HTML**
|
|
904
|
-
5. **Salve os arquivos .html na pasta \`prototipos/\`**
|
|
905
|
-
|
|
906
|
-
**Etapa 4 — Validação HTML** *(automática)*
|
|
907
|
-
O sistema valida os arquivos HTML na pasta:
|
|
908
|
-
- Estrutura HTML válida
|
|
909
|
-
- Conteúdo mínimo
|
|
910
|
-
- Score >= 50 para aprovação
|
|
911
|
-
|
|
912
|
-
**Etapa 5 — Aprovação**
|
|
913
|
-
Protótipos validados → próxima fase
|
|
914
|
-
|
|
915
|
-
### ⚠️ IMPORTANTE
|
|
916
|
-
- **NÃO** peça decisões de stack tecnológica — isso é da fase de Arquitetura
|
|
917
|
-
- **NÃO** peça decisões de infraestrutura — isso é da fase de Arquitetura
|
|
918
|
-
- Foco é **100% visual**: transformar o Design Doc em protótipos funcionais
|
|
919
|
-
- A fase **só será concluída** quando os arquivos HTML estiverem na pasta \`prototipos/\`
|
|
920
|
-
|
|
921
|
-
### 🎯 Para começar, preciso saber:
|
|
922
|
-
1. Qual Design System usar? (Material, Ant Design, Chakra UI, Custom)
|
|
923
|
-
2. Quais são as 3-5 telas mais importantes para prototipar primeiro?
|
|
924
|
-
3. Tem preferência de tema? (light/dark)
|
|
925
|
-
|
|
926
|
-
> 💡 Acesse stitch.withgoogle.com para usar os prompts que vou gerar. O Stitch é gratuito e gera interfaces com código exportável.
|
|
927
|
-
`;
|
|
928
|
-
}
|
|
929
|
-
return '';
|
|
930
|
-
}
|
|
931
|
-
/**
|
|
932
|
-
* v6.1 (Bug #1 fix): Regex patterns match against CLEANED heading text
|
|
933
|
-
* (splitPrdBySections already strips '#' prefixes via headingMatch[2]).
|
|
934
|
-
* Removed leading regex prefix that was causing all sections to appear "not found".
|
|
935
|
-
* Also made patterns more permissive with optional numbering prefixes like "1." or "1.1".
|
|
936
|
-
*/
|
|
937
|
-
const SECTION_CHECKS = [
|
|
938
|
-
{ heading: /^[\d.\s]*(sum[aá]rio|summary|executiv)/i, minContentLength: 100, weight: 10, label: 'Sumário Executivo' },
|
|
939
|
-
{ heading: /^[\d.\s]*(problema|problem|oportunidade|dor|pain)/i, minContentLength: 150, weight: 15, label: 'Problema e Oportunidade' },
|
|
940
|
-
{ heading: /^[\d.\s]*(persona|jobs?\s*to\s*be|p[uú]blico|usu[aá]rios?|user)/i, minContentLength: 100, weight: 15, label: 'Personas e Público-alvo' },
|
|
941
|
-
{ heading: /^[\d.\s]*(mvp|funcionalidade|feature|solu[cç][aã]o|escopo)/i, minContentLength: 100, weight: 15, label: 'MVP e Funcionalidades' },
|
|
942
|
-
{ heading: /^[\d.\s]*(m[eé]trica|kpi|north\s*star|sucesso|indicador)/i, minContentLength: 50, weight: 10, label: 'Métricas de Sucesso' },
|
|
943
|
-
{ heading: /^[\d.\s]*(risco|mitiga[cç])/i, minContentLength: 80, weight: 10, label: 'Riscos e Mitigações' },
|
|
944
|
-
{ heading: /^[\d.\s]*(timeline|cronograma|marco|prazo|roadmap)/i, minContentLength: 50, weight: 5, label: 'Timeline e Marcos' },
|
|
945
|
-
{ heading: /^[\d.\s]*(vis[aã]o|estrat[eé]gia|go.to.market|escopo)/i, minContentLength: 50, weight: 5, label: 'Visão e Estratégia' },
|
|
946
|
-
];
|
|
947
|
-
/**
|
|
948
|
-
* Sprint 6: Divide PRD em seções por headings markdown
|
|
949
|
-
*/
|
|
950
|
-
/**
|
|
951
|
-
* v6.1 (Bug #1 fix): Added normalizePrdContent() call before splitting.
|
|
952
|
-
* Also matches up to h6 headers (#{1,6}) instead of only h4.
|
|
953
|
-
*/
|
|
954
|
-
function splitPrdBySections(prd) {
|
|
955
|
-
// Normalize is done before calling this function, but safe to re-normalize
|
|
956
|
-
const normalizedPrd = normalizePrdContent(prd);
|
|
957
|
-
const lines = normalizedPrd.split('\n');
|
|
958
|
-
const sections = [];
|
|
959
|
-
let currentHeading = '';
|
|
960
|
-
let currentContent = [];
|
|
961
|
-
for (const line of lines) {
|
|
962
|
-
const headingMatch = line.match(/^(#{1,4})\s+(.+)$/);
|
|
963
|
-
const level = headingMatch ? headingMatch[1].length : 0;
|
|
964
|
-
// Só quebra seção em h1 ou h2 (nível top-level)
|
|
965
|
-
// Sub-headings (h3, h4) ficam como conteúdo da seção-pai
|
|
966
|
-
if (headingMatch && level <= 2) {
|
|
967
|
-
if (currentHeading) {
|
|
968
|
-
sections.push({ heading: currentHeading, content: currentContent.join('\n').trim() });
|
|
969
|
-
}
|
|
970
|
-
currentHeading = headingMatch[2].trim();
|
|
971
|
-
currentContent = [];
|
|
972
|
-
}
|
|
973
|
-
else {
|
|
974
|
-
currentContent.push(line);
|
|
975
|
-
}
|
|
976
|
-
}
|
|
977
|
-
if (currentHeading) {
|
|
978
|
-
sections.push({ heading: currentHeading, content: currentContent.join('\n').trim() });
|
|
979
|
-
}
|
|
980
|
-
return sections;
|
|
981
|
-
}
|
|
982
|
-
/**
|
|
983
|
-
* v6.1 (Bug #1): Normalizes PRD content to fix JSON escape issues.
|
|
984
|
-
* When PRD is sent as JSON string argument, \n may arrive as literal "\n" instead of newlines.
|
|
985
|
-
* Also handles \r\n and other escape artifacts.
|
|
986
|
-
*/
|
|
987
|
-
function normalizePrdContent(content) {
|
|
988
|
-
let normalized = content;
|
|
989
|
-
// Fix literal \n that are not actual newlines
|
|
990
|
-
// Only replace if the string doesn't seem to have real newlines already
|
|
991
|
-
const realNewlineCount = (normalized.match(/\n/g) || []).length;
|
|
992
|
-
const literalNewlineCount = (normalized.match(/\\n/g) || []).length;
|
|
993
|
-
if (literalNewlineCount > realNewlineCount * 2) {
|
|
994
|
-
// Likely has escaped newlines — replace them
|
|
995
|
-
normalized = normalized.replace(/\\n/g, '\n');
|
|
996
|
-
}
|
|
997
|
-
// Normalize CRLF to LF
|
|
998
|
-
normalized = normalized.replace(/\r\n/g, '\n');
|
|
999
|
-
// Fix escaped quotes from JSON serialization if present
|
|
1000
|
-
normalized = normalized.replace(/\\"/g, '"');
|
|
1001
|
-
// Fix double-escaped newlines (\\n → \n)
|
|
1002
|
-
normalized = normalized.replace(/\\\\n/g, '\n');
|
|
1003
|
-
return normalized.trim();
|
|
1004
|
-
}
|
|
1005
|
-
// v5.0 Sprint 5: Cache de scores para evitar oscilações
|
|
1006
|
-
const scoreCache = new Map();
|
|
1007
|
-
const SCORE_CACHE_TTL = 5 * 60 * 1000; // 5 minutos
|
|
1008
|
-
/**
|
|
1009
|
-
* Sprint 6 (NP10): Calcula score estruturado do PRD por seções com conteúdo mínimo.
|
|
1010
|
-
* v5.0: Adicionado cache e bypass por tamanho
|
|
1011
|
-
*/
|
|
1012
|
-
function calculatePrdScore(prd, mode) {
|
|
1013
|
-
// Sprint 5: Bypass por tamanho — PRDs grandes com estrutura mínima = score alto
|
|
1014
|
-
const wordCount = prd.split(/\s+/).length;
|
|
1015
|
-
const charCount = prd.length;
|
|
1016
|
-
const hasStructure = prd.match(/^#{1,2}\s+/m) && prd.match(/^#{1,2}\s+/m); // Tem pelo menos um h1/h2
|
|
1017
|
-
// Se PRD tem >3000 chars, >400 palavras e estrutura markdown → score mínimo 70
|
|
1018
|
-
if (charCount > 3000 && wordCount > 400 && hasStructure) {
|
|
1019
|
-
const { score } = calculatePrdScoreDetailed(prd);
|
|
1020
|
-
// Retorna o maior entre o score calculado e 70 (para evitar penalizar PRDs bons)
|
|
1021
|
-
return Math.max(score, 70);
|
|
1022
|
-
}
|
|
1023
|
-
// Sprint 5: Verificar cache
|
|
1024
|
-
const cacheKey = `${prd.slice(0, 500)}-${prd.length}`; // Hash simples
|
|
1025
|
-
const cached = scoreCache.get(cacheKey);
|
|
1026
|
-
if (cached && (Date.now() - cached.timestamp) < SCORE_CACHE_TTL) {
|
|
1027
|
-
return cached.score;
|
|
1028
|
-
}
|
|
1029
|
-
const { score } = calculatePrdScoreDetailed(prd);
|
|
1030
|
-
// Sprint 5: Salvar no cache
|
|
1031
|
-
scoreCache.set(cacheKey, { score, timestamp: Date.now() });
|
|
1032
|
-
return score;
|
|
1033
|
-
}
|
|
1034
|
-
function calculatePrdScoreDetailed(prd) {
|
|
1035
|
-
const sections = splitPrdBySections(prd);
|
|
1036
|
-
const results = [];
|
|
1037
|
-
for (const check of SECTION_CHECKS) {
|
|
1038
|
-
const section = sections.find(s => check.heading.test(s.heading));
|
|
1039
|
-
const found = !!section;
|
|
1040
|
-
const contentLength = section ? section.content.length : 0;
|
|
1041
|
-
const hasContent = found && contentLength >= check.minContentLength;
|
|
1042
|
-
const sectionScore = found && hasContent
|
|
1043
|
-
? check.weight
|
|
1044
|
-
: found
|
|
1045
|
-
? Math.floor(check.weight * 0.5)
|
|
1046
|
-
: 0;
|
|
1047
|
-
results.push({
|
|
1048
|
-
label: check.label,
|
|
1049
|
-
found,
|
|
1050
|
-
hasContent,
|
|
1051
|
-
score: sectionScore,
|
|
1052
|
-
maxScore: check.weight,
|
|
1053
|
-
contentLength,
|
|
1054
|
-
});
|
|
1055
|
-
}
|
|
1056
|
-
// Bonus por completude geral
|
|
1057
|
-
const wordCount = prd.split(/\s+/).length;
|
|
1058
|
-
let bonus = 0;
|
|
1059
|
-
if (wordCount > 500)
|
|
1060
|
-
bonus += 10;
|
|
1061
|
-
if (wordCount > 1000)
|
|
1062
|
-
bonus += 5;
|
|
1063
|
-
const total = Math.min(results.reduce((acc, r) => acc + r.score, 0) + bonus, 100);
|
|
1064
|
-
return { score: total, details: results };
|
|
1065
|
-
}
|
|
1066
|
-
/**
|
|
1067
|
-
* Sprint 6 (NP10): Identifica gaps no PRD com detalhes por seção.
|
|
1068
|
-
* Mostra seções ausentes, seções com conteúdo insuficiente, e pontos perdidos.
|
|
1069
|
-
*/
|
|
1070
|
-
function identifyPrdGaps(prd, mode) {
|
|
1071
|
-
const { details } = calculatePrdScoreDetailed(prd);
|
|
1072
|
-
const gaps = [];
|
|
1073
|
-
for (const result of details) {
|
|
1074
|
-
if (!result.found) {
|
|
1075
|
-
gaps.push(`❌ **${result.label}**: Seção não encontrada (0/${result.maxScore} pontos)`);
|
|
1076
|
-
}
|
|
1077
|
-
else if (!result.hasContent) {
|
|
1078
|
-
gaps.push(`⚠️ **${result.label}**: Seção encontrada mas conteúdo insuficiente — ${result.contentLength} chars (${result.score}/${result.maxScore} pontos)`);
|
|
1079
|
-
}
|
|
1080
|
-
}
|
|
1081
|
-
const wordCount = prd.split(/\s+/).length;
|
|
1082
|
-
if (wordCount < 200) {
|
|
1083
|
-
gaps.push(`📏 PRD muito curto (${wordCount} palavras). Mínimo recomendado: 500 palavras.`);
|
|
1084
|
-
}
|
|
1085
|
-
// Mostrar seções completas como referência positiva
|
|
1086
|
-
const complete = details.filter(r => r.found && r.hasContent);
|
|
1087
|
-
if (complete.length > 0 && gaps.length > 0) {
|
|
1088
|
-
gaps.push('');
|
|
1089
|
-
gaps.push('**Seções completas:**');
|
|
1090
|
-
for (const r of complete) {
|
|
1091
|
-
gaps.push(`✅ **${r.label}**: Completo (${r.score}/${r.maxScore} pontos)`);
|
|
1092
|
-
}
|
|
1093
|
-
}
|
|
1094
|
-
return gaps;
|
|
1095
|
-
}
|
|
1096
|
-
/**
|
|
1097
|
-
* Trunca valor para exibição
|
|
1098
|
-
*/
|
|
1099
|
-
function truncateValue(value) {
|
|
1100
|
-
const str = String(value);
|
|
1101
|
-
return str.length > 80 ? str.substring(0, 77) + '...' : str;
|
|
1102
|
-
}
|
|
1103
613
|
/**
|
|
1104
614
|
* Persiste estado atualizado
|
|
1105
615
|
*/
|
|
@@ -1114,6 +624,6 @@ async function persistState(estado, onboarding, diretorio) {
|
|
|
1114
624
|
console.error('[specialist-phase] Erro ao salvar estado:', err);
|
|
1115
625
|
}
|
|
1116
626
|
}
|
|
1117
|
-
// Exportar
|
|
1118
|
-
export { getSpecialistQuestions };
|
|
627
|
+
// Exportar funcao para uso em outros modulos
|
|
628
|
+
export { getSpecialistQuestions } from "./specialist-formatters.js";
|
|
1119
629
|
//# sourceMappingURL=specialist-phase-handler.js.map
|
|
@@ -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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"}
|