@maestro-ai/mcp-server 2.6.1 → 5.0.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 (153) hide show
  1. package/dist/content/.version.json +16 -0
  2. package/dist/data/project-templates.d.ts +37 -0
  3. package/dist/data/project-templates.d.ts.map +1 -0
  4. package/dist/data/project-templates.js +208 -0
  5. package/dist/data/project-templates.js.map +1 -0
  6. package/dist/errors/index.d.ts +84 -0
  7. package/dist/errors/index.d.ts.map +1 -0
  8. package/dist/errors/index.js +158 -0
  9. package/dist/errors/index.js.map +1 -0
  10. package/dist/flows/onboarding-orchestrator.d.ts.map +1 -1
  11. package/dist/flows/onboarding-orchestrator.js +126 -91
  12. package/dist/flows/onboarding-orchestrator.js.map +1 -1
  13. package/dist/gates/validator.d.ts +2 -1
  14. package/dist/gates/validator.d.ts.map +1 -1
  15. package/dist/gates/validator.js +33 -2
  16. package/dist/gates/validator.js.map +1 -1
  17. package/dist/index.js +19 -164
  18. package/dist/index.js.map +1 -1
  19. package/dist/middleware/flow-engine.middleware.d.ts +14 -0
  20. package/dist/middleware/flow-engine.middleware.d.ts.map +1 -0
  21. package/dist/middleware/flow-engine.middleware.js +51 -0
  22. package/dist/middleware/flow-engine.middleware.js.map +1 -0
  23. package/dist/middleware/index.d.ts +36 -0
  24. package/dist/middleware/index.d.ts.map +1 -0
  25. package/dist/middleware/index.js +45 -0
  26. package/dist/middleware/index.js.map +1 -0
  27. package/dist/middleware/persistence.middleware.d.ts +14 -0
  28. package/dist/middleware/persistence.middleware.d.ts.map +1 -0
  29. package/dist/middleware/persistence.middleware.js +55 -0
  30. package/dist/middleware/persistence.middleware.js.map +1 -0
  31. package/dist/middleware/skill-injection.middleware.d.ts +15 -0
  32. package/dist/middleware/skill-injection.middleware.d.ts.map +1 -0
  33. package/dist/middleware/skill-injection.middleware.js +63 -0
  34. package/dist/middleware/skill-injection.middleware.js.map +1 -0
  35. package/dist/middleware/state-loader.middleware.d.ts +13 -0
  36. package/dist/middleware/state-loader.middleware.d.ts.map +1 -0
  37. package/dist/middleware/state-loader.middleware.js +36 -0
  38. package/dist/middleware/state-loader.middleware.js.map +1 -0
  39. package/dist/router.d.ts +46 -0
  40. package/dist/router.d.ts.map +1 -0
  41. package/dist/router.js +441 -0
  42. package/dist/router.js.map +1 -0
  43. package/dist/services/content-resolver.service.d.ts +96 -0
  44. package/dist/services/content-resolver.service.d.ts.map +1 -0
  45. package/dist/services/content-resolver.service.js +280 -0
  46. package/dist/services/content-resolver.service.js.map +1 -0
  47. package/dist/services/flow-engine.d.ts +82 -0
  48. package/dist/services/flow-engine.d.ts.map +1 -0
  49. package/dist/services/flow-engine.js +270 -0
  50. package/dist/services/flow-engine.js.map +1 -0
  51. package/dist/services/onboarding.service.d.ts +20 -0
  52. package/dist/services/onboarding.service.d.ts.map +1 -0
  53. package/dist/services/onboarding.service.js +49 -0
  54. package/dist/services/onboarding.service.js.map +1 -0
  55. package/dist/services/skill-loader.service.d.ts +81 -0
  56. package/dist/services/skill-loader.service.d.ts.map +1 -0
  57. package/dist/services/skill-loader.service.js +321 -0
  58. package/dist/services/skill-loader.service.js.map +1 -0
  59. package/dist/services/specialist.service.d.ts +20 -0
  60. package/dist/services/specialist.service.d.ts.map +1 -0
  61. package/dist/services/specialist.service.js +115 -0
  62. package/dist/services/specialist.service.js.map +1 -0
  63. package/dist/services/state.service.d.ts +59 -0
  64. package/dist/services/state.service.d.ts.map +1 -0
  65. package/dist/services/state.service.js +131 -0
  66. package/dist/services/state.service.js.map +1 -0
  67. package/dist/stdio.js +329 -437
  68. package/dist/stdio.js.map +1 -1
  69. package/dist/tests/content-resolver.test.d.ts +5 -0
  70. package/dist/tests/content-resolver.test.d.ts.map +1 -0
  71. package/dist/tests/content-resolver.test.js +157 -0
  72. package/dist/tests/content-resolver.test.js.map +1 -0
  73. package/dist/tests/middleware.test.d.ts +5 -0
  74. package/dist/tests/middleware.test.d.ts.map +1 -0
  75. package/dist/tests/middleware.test.js +228 -0
  76. package/dist/tests/middleware.test.js.map +1 -0
  77. package/dist/tests/skill-loader.test.d.ts +5 -0
  78. package/dist/tests/skill-loader.test.d.ts.map +1 -0
  79. package/dist/tests/skill-loader.test.js +242 -0
  80. package/dist/tests/skill-loader.test.js.map +1 -0
  81. package/dist/tools/aprovar-gate.d.ts.map +1 -1
  82. package/dist/tools/aprovar-gate.js +35 -0
  83. package/dist/tools/aprovar-gate.js.map +1 -1
  84. package/dist/tools/brainstorm.d.ts.map +1 -1
  85. package/dist/tools/brainstorm.js +90 -49
  86. package/dist/tools/brainstorm.js.map +1 -1
  87. package/dist/tools/classificar.d.ts.map +1 -1
  88. package/dist/tools/classificar.js +20 -1
  89. package/dist/tools/classificar.js.map +1 -1
  90. package/dist/tools/confirmar-classificacao.d.ts.map +1 -1
  91. package/dist/tools/confirmar-classificacao.js +20 -1
  92. package/dist/tools/confirmar-classificacao.js.map +1 -1
  93. package/dist/tools/consolidated/analisar.d.ts +56 -0
  94. package/dist/tools/consolidated/analisar.d.ts.map +1 -0
  95. package/dist/tools/consolidated/analisar.js +96 -0
  96. package/dist/tools/consolidated/analisar.js.map +1 -0
  97. package/dist/tools/consolidated/avancar.d.ts +67 -0
  98. package/dist/tools/consolidated/avancar.d.ts.map +1 -0
  99. package/dist/tools/consolidated/avancar.js +132 -0
  100. package/dist/tools/consolidated/avancar.js.map +1 -0
  101. package/dist/tools/consolidated/checkpoint-tool.d.ts +66 -0
  102. package/dist/tools/consolidated/checkpoint-tool.d.ts.map +1 -0
  103. package/dist/tools/consolidated/checkpoint-tool.js +111 -0
  104. package/dist/tools/consolidated/checkpoint-tool.js.map +1 -0
  105. package/dist/tools/consolidated/validar.d.ts +63 -0
  106. package/dist/tools/consolidated/validar.d.ts.map +1 -0
  107. package/dist/tools/consolidated/validar.js +104 -0
  108. package/dist/tools/consolidated/validar.js.map +1 -0
  109. package/dist/tools/contexto.d.ts.map +1 -1
  110. package/dist/tools/contexto.js +18 -0
  111. package/dist/tools/contexto.js.map +1 -1
  112. package/dist/tools/discovery.d.ts +10 -10
  113. package/dist/tools/discovery.d.ts.map +1 -1
  114. package/dist/tools/discovery.js +82 -56
  115. package/dist/tools/discovery.js.map +1 -1
  116. package/dist/tools/iniciar-projeto.d.ts +48 -0
  117. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  118. package/dist/tools/iniciar-projeto.js +234 -45
  119. package/dist/tools/iniciar-projeto.js.map +1 -1
  120. package/dist/tools/maestro-tool.d.ts +51 -0
  121. package/dist/tools/maestro-tool.d.ts.map +1 -0
  122. package/dist/tools/maestro-tool.js +224 -0
  123. package/dist/tools/maestro-tool.js.map +1 -0
  124. package/dist/tools/prd-writer.d.ts +1 -1
  125. package/dist/tools/prd-writer.d.ts.map +1 -1
  126. package/dist/tools/prd-writer.js +138 -2
  127. package/dist/tools/prd-writer.js.map +1 -1
  128. package/dist/tools/proximo.d.ts.map +1 -1
  129. package/dist/tools/proximo.js +22 -16
  130. package/dist/tools/proximo.js.map +1 -1
  131. package/dist/tools/salvar.d.ts.map +1 -1
  132. package/dist/tools/salvar.js +13 -0
  133. package/dist/tools/salvar.js.map +1 -1
  134. package/dist/tools/setup-inicial.d.ts.map +1 -1
  135. package/dist/tools/setup-inicial.js +12 -0
  136. package/dist/tools/setup-inicial.js.map +1 -1
  137. package/dist/tools/status.d.ts.map +1 -1
  138. package/dist/tools/status.js +6 -0
  139. package/dist/tools/status.js.map +1 -1
  140. package/dist/tools/validar-gate.d.ts.map +1 -1
  141. package/dist/tools/validar-gate.js +25 -0
  142. package/dist/tools/validar-gate.js.map +1 -1
  143. package/dist/types/index.d.ts +20 -1
  144. package/dist/types/index.d.ts.map +1 -1
  145. package/dist/types/index.js.map +1 -1
  146. package/dist/types/response.d.ts +49 -0
  147. package/dist/types/response.d.ts.map +1 -1
  148. package/dist/types/response.js.map +1 -1
  149. package/dist/utils/smart-defaults.d.ts +56 -0
  150. package/dist/utils/smart-defaults.d.ts.map +1 -0
  151. package/dist/utils/smart-defaults.js +113 -0
  152. package/dist/utils/smart-defaults.js.map +1 -0
  153. package/package.json +1 -1
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Testes para SkillLoaderService
3
+ */
4
+ import { describe, it, expect, beforeEach, vi } from 'vitest';
5
+ import { SkillLoaderService } from '../services/skill-loader.service.js';
6
+ // Mock ContentResolverService
7
+ vi.mock('../services/content-resolver.service.js');
8
+ // Mock prompt-mapper
9
+ vi.mock('../utils/prompt-mapper.js', () => ({
10
+ getSkillParaFase: vi.fn((fase) => {
11
+ const map = {
12
+ 'Produto': 'specialist-gestao-produto',
13
+ 'Arquitetura': 'specialist-arquitetura-software',
14
+ 'Desconhecida': '',
15
+ };
16
+ return map[fase] || null;
17
+ }),
18
+ FASE_SKILL_MAP: {
19
+ 'Produto': 'specialist-gestao-produto',
20
+ 'Arquitetura': 'specialist-arquitetura-software',
21
+ },
22
+ }));
23
+ // Mock specialist.service
24
+ vi.mock('../services/specialist.service.js', () => ({
25
+ getSpecialistPersona: vi.fn((fase) => {
26
+ if (fase === 'Produto') {
27
+ return {
28
+ name: 'Gestão de Produto',
29
+ tone: 'Estratégico',
30
+ expertise: ['product discovery', 'lean startup'],
31
+ instructions: 'Foque em entender o problema.',
32
+ };
33
+ }
34
+ if (fase === 'Arquitetura') {
35
+ return {
36
+ name: 'Arquitetura de Software',
37
+ tone: 'Técnico',
38
+ expertise: ['C4', 'ADR'],
39
+ instructions: 'Defina arquitetura alvo.',
40
+ };
41
+ }
42
+ return null;
43
+ }),
44
+ }));
45
+ const SAMPLE_SKILL_MD = `---
46
+ name: specialist-gestao-produto
47
+ description: PRD e gestão de produto
48
+ ---
49
+
50
+ # Gestão de Produto · Skill do Especialista
51
+
52
+ ## Missão
53
+ Definir produto com foco no usuário.
54
+
55
+ ## Quando ativar
56
+ - Fase 1 do projeto
57
+
58
+ ## Inputs obrigatórios
59
+ - Briefing do cliente
60
+
61
+ ## Outputs gerados
62
+ - PRD completo
63
+
64
+ ## Quality Gate
65
+ - PRD com escopo definido
66
+ - Personas mapeadas
67
+
68
+ ## 🚀 Processo Otimizado
69
+
70
+ ### 1. Discovery
71
+ Faça perguntas focadas.
72
+
73
+ ### 2. Geração
74
+ Use template estruturado.
75
+
76
+ ## 📋 Recursos Disponíveis
77
+
78
+ ### Templates
79
+ - resources/templates/prd.md
80
+
81
+ ## 🔄 Context Flow
82
+ Prepare transição para requisitos.
83
+
84
+ ## MCP Integration
85
+ Funções descritivas.
86
+
87
+ ## 📖 Documentação Completa
88
+ Detalhes em README.md.
89
+ `;
90
+ const SAMPLE_TEMPLATE = `# Template PRD
91
+
92
+ ## 1. Visão Geral
93
+ [Descreva o produto]
94
+
95
+ ## 2. Problema
96
+ [Qual problema resolve]
97
+
98
+ ## 3. Personas
99
+ [Defina personas]
100
+
101
+ ## 4. Escopo
102
+ [Defina escopo MVP]
103
+ `;
104
+ const SAMPLE_CHECKLIST = `# Checklist de Validação
105
+
106
+ - [ ] PRD tem visão geral
107
+ - [ ] Problema definido
108
+ - [ ] Pelo menos 2 personas
109
+ - [ ] Escopo MVP claro
110
+ `;
111
+ describe('SkillLoaderService', () => {
112
+ let service;
113
+ let mockResolver;
114
+ beforeEach(() => {
115
+ vi.clearAllMocks();
116
+ mockResolver = {
117
+ readSkillFile: vi.fn(),
118
+ readFirstTemplate: vi.fn(),
119
+ readFirstChecklist: vi.fn(),
120
+ listSkillResources: vi.fn(),
121
+ getSkillDir: vi.fn(),
122
+ };
123
+ service = new SkillLoaderService(mockResolver);
124
+ });
125
+ describe('loadForPhase', () => {
126
+ it('deve retornar null para fase sem skill mapeada', async () => {
127
+ const result = await service.loadForPhase('FaseInexistente', 'balanced');
128
+ expect(result).toBeNull();
129
+ });
130
+ it('deve carregar pacote completo para fase com skill', async () => {
131
+ mockResolver.readSkillFile.mockResolvedValue(SAMPLE_SKILL_MD);
132
+ mockResolver.readFirstTemplate.mockResolvedValue(SAMPLE_TEMPLATE);
133
+ mockResolver.readFirstChecklist.mockResolvedValue(SAMPLE_CHECKLIST);
134
+ mockResolver.listSkillResources.mockResolvedValue(['prd.md']);
135
+ const result = await service.loadForPhase('Produto', 'balanced');
136
+ expect(result).not.toBeNull();
137
+ expect(result.skillName).toBe('specialist-gestao-produto');
138
+ expect(result.specialist).not.toBeNull();
139
+ expect(result.specialist.name).toBe('Gestão de Produto');
140
+ expect(result.skillContent.length).toBeGreaterThan(0);
141
+ expect(result.templateContent.length).toBeGreaterThan(0);
142
+ expect(result.checklistContent.length).toBeGreaterThan(0);
143
+ expect(result.tokenEstimate).toBeGreaterThan(0);
144
+ });
145
+ it('deve respeitar budget em modo economy (skill menor)', async () => {
146
+ mockResolver.readSkillFile.mockResolvedValue(SAMPLE_SKILL_MD);
147
+ mockResolver.readFirstTemplate.mockResolvedValue(SAMPLE_TEMPLATE);
148
+ mockResolver.readFirstChecklist.mockResolvedValue(SAMPLE_CHECKLIST);
149
+ mockResolver.listSkillResources.mockResolvedValue([]);
150
+ const economy = await service.loadForPhase('Produto', 'economy');
151
+ const quality = await service.loadForPhase('Produto', 'quality');
152
+ expect(economy).not.toBeNull();
153
+ expect(quality).not.toBeNull();
154
+ // Economy deve ter menos tokens que quality
155
+ expect(economy.tokenEstimate).toBeLessThanOrEqual(quality.tokenEstimate);
156
+ });
157
+ it('deve incluir seções essenciais em economy mode', async () => {
158
+ mockResolver.readSkillFile.mockResolvedValue(SAMPLE_SKILL_MD);
159
+ mockResolver.readFirstTemplate.mockResolvedValue(null);
160
+ mockResolver.readFirstChecklist.mockResolvedValue(null);
161
+ mockResolver.listSkillResources.mockResolvedValue([]);
162
+ const result = await service.loadForPhase('Produto', 'economy');
163
+ expect(result).not.toBeNull();
164
+ // Seções essenciais devem estar presentes
165
+ expect(result.skillContent).toContain('Missão');
166
+ expect(result.skillContent).toContain('Quality Gate');
167
+ });
168
+ it('deve lidar com skill sem template e checklist', async () => {
169
+ mockResolver.readSkillFile.mockResolvedValue(SAMPLE_SKILL_MD);
170
+ mockResolver.readFirstTemplate.mockResolvedValue(null);
171
+ mockResolver.readFirstChecklist.mockResolvedValue(null);
172
+ mockResolver.listSkillResources.mockResolvedValue([]);
173
+ const result = await service.loadForPhase('Produto', 'balanced');
174
+ expect(result).not.toBeNull();
175
+ expect(result.templateContent).toBe('');
176
+ expect(result.checklistContent).toBe('');
177
+ });
178
+ });
179
+ describe('loadChecklist', () => {
180
+ it('deve carregar checklist para fase válida', async () => {
181
+ mockResolver.readFirstChecklist.mockResolvedValue(SAMPLE_CHECKLIST);
182
+ const result = await service.loadChecklist('Produto');
183
+ expect(result).toBe(SAMPLE_CHECKLIST);
184
+ });
185
+ it('deve retornar null para fase sem skill', async () => {
186
+ const result = await service.loadChecklist('FaseInexistente');
187
+ expect(result).toBeNull();
188
+ });
189
+ });
190
+ describe('loadTemplate', () => {
191
+ it('deve carregar template para fase válida', async () => {
192
+ mockResolver.readFirstTemplate.mockResolvedValue(SAMPLE_TEMPLATE);
193
+ const result = await service.loadTemplate('Produto');
194
+ expect(result).toBe(SAMPLE_TEMPLATE);
195
+ });
196
+ });
197
+ describe('formatAsMarkdown', () => {
198
+ it('deve formatar pacote como markdown legível', () => {
199
+ const pkg = {
200
+ skillName: 'specialist-gestao-produto',
201
+ specialist: {
202
+ name: 'Gestão de Produto',
203
+ tone: 'Estratégico',
204
+ expertise: ['product discovery'],
205
+ instructions: 'Foque no problema.',
206
+ },
207
+ skillContent: '## Missão\nDefinir produto.',
208
+ templateContent: '# Template PRD\n## Visão',
209
+ checklistContent: '- [ ] PRD completo',
210
+ referenceLinks: ['maestro://skills/specialist-gestao-produto/templates/prd.md'],
211
+ tokenEstimate: 500,
212
+ mode: 'summary',
213
+ };
214
+ const md = service.formatAsMarkdown(pkg);
215
+ expect(md).toContain('Gestão de Produto');
216
+ expect(md).toContain('Estratégico');
217
+ expect(md).toContain('Instruções do Especialista');
218
+ expect(md).toContain('Template do Entregável');
219
+ expect(md).toContain('Checklist de Validação');
220
+ expect(md).toContain('Recursos Adicionais');
221
+ expect(md).toContain('500 tokens');
222
+ });
223
+ it('deve omitir seções vazias', () => {
224
+ const pkg = {
225
+ skillName: 'test',
226
+ specialist: null,
227
+ skillContent: '',
228
+ templateContent: '',
229
+ checklistContent: '- [ ] Item',
230
+ referenceLinks: [],
231
+ tokenEstimate: 10,
232
+ mode: 'skeleton',
233
+ };
234
+ const md = service.formatAsMarkdown(pkg);
235
+ expect(md).not.toContain('Instruções do Especialista');
236
+ expect(md).not.toContain('Template do Entregável');
237
+ expect(md).toContain('Checklist de Validação');
238
+ expect(md).not.toContain('Recursos Adicionais');
239
+ });
240
+ });
241
+ });
242
+ //# sourceMappingURL=skill-loader.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-loader.test.js","sourceRoot":"","sources":["../../src/tests/skill-loader.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAuB,MAAM,qCAAqC,CAAC;AAG9F,8BAA8B;AAC9B,EAAE,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;AAEnD,qBAAqB;AACrB,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;QACrC,MAAM,GAAG,GAA2B;YAChC,SAAS,EAAE,2BAA2B;YACtC,aAAa,EAAE,iCAAiC;YAChD,cAAc,EAAE,EAAE;SACrB,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC7B,CAAC,CAAC;IACF,cAAc,EAAE;QACZ,SAAS,EAAE,2BAA2B;QACtC,aAAa,EAAE,iCAAiC;KACnD;CACJ,CAAC,CAAC,CAAC;AAEJ,0BAA0B;AAC1B,EAAE,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,CAAC,CAAC;IAChD,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;QACzC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO;gBACH,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC;gBAChD,YAAY,EAAE,+BAA+B;aAChD,CAAC;QACN,CAAC;QACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YACzB,OAAO;gBACH,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;gBACxB,YAAY,EAAE,0BAA0B;aAC3C,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;CACL,CAAC,CAAC,CAAC;AAEJ,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CvB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;CAavB,CAAC;AAEF,MAAM,gBAAgB,GAAG;;;;;;CAMxB,CAAC;AAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,IAAI,OAA2B,CAAC;IAChC,IAAI,YAAiB,CAAC;IAEtB,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,YAAY,GAAG;YACX,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;YACtB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC1B,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;SACvB,CAAC;QAEF,OAAO,GAAG,IAAI,kBAAkB,CAAC,YAAiD,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;YACzE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YAC/D,YAAY,CAAC,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC9D,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAClE,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACpE,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEjE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,CAAC,MAAO,CAAC,UAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,MAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAO,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACjE,YAAY,CAAC,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC9D,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAClE,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACpE,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAEjE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/B,4CAA4C;YAC5C,MAAM,CAAC,OAAQ,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,OAAQ,CAAC,aAAa,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC5D,YAAY,CAAC,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC9D,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvD,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxD,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAEhE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9B,0CAA0C;YAC1C,MAAM,CAAC,MAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,CAAC,MAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC3D,YAAY,CAAC,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC9D,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvD,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxD,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEjE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,MAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACtD,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACrD,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAElE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YAClD,MAAM,GAAG,GAAmB;gBACxB,SAAS,EAAE,2BAA2B;gBACtC,UAAU,EAAE;oBACR,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,aAAa;oBACnB,SAAS,EAAE,CAAC,mBAAmB,CAAC;oBAChC,YAAY,EAAE,oBAAoB;iBACrC;gBACD,YAAY,EAAE,6BAA6B;gBAC3C,eAAe,EAAE,0BAA0B;gBAC3C,gBAAgB,EAAE,oBAAoB;gBACtC,cAAc,EAAE,CAAC,6DAA6D,CAAC;gBAC/E,aAAa,EAAE,GAAG;gBAClB,IAAI,EAAE,SAAS;aAClB,CAAC;YAEF,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEzC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACpC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,GAAG,GAAmB;gBACxB,SAAS,EAAE,MAAM;gBACjB,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,EAAE;gBAChB,eAAe,EAAE,EAAE;gBACnB,gBAAgB,EAAE,YAAY;gBAC9B,cAAc,EAAE,EAAE;gBAClB,aAAa,EAAE,EAAE;gBACjB,IAAI,EAAE,UAAU;aACnB,CAAC;YAEF,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEzC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;YACvD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"aprovar-gate.d.ts","sourceRoot":"","sources":["../../src/tools/aprovar-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAOnE,UAAU,eAAe;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAiM5E;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;CAkB7B,CAAC"}
1
+ {"version":3,"file":"aprovar-gate.d.ts","sourceRoot":"","sources":["../../src/tools/aprovar-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAUnE,UAAU,eAAe;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAuO5E;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;CAkB7B,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { parsearEstado, serializarEstado } from "../state/storage.js";
2
2
  import { setCurrentDirectory } from "../state/context.js";
3
3
  import { resolveProjectPath } from "../utils/files.js";
4
+ import { getFaseComStitch } from "../flows/types.js";
5
+ import { getSpecialistPersona } from "../services/specialist.service.js";
4
6
  /**
5
7
  * Tool: aprovar_gate
6
8
  * 🔐 EXCLUSIVO DO USUÁRIO - Aprova ou rejeita avanço com pendências
@@ -114,6 +116,21 @@ O projeto deve primeiro:
114
116
  estado.score_bloqueado = undefined;
115
117
  // Serializar estado
116
118
  const estadoFile = serializarEstado(estado);
119
+ const faseAtual = getFaseComStitch(estado.nivel, estado.fase_atual, estado.usar_stitch);
120
+ const specialist = faseAtual ? getSpecialistPersona(faseAtual.nome) : null;
121
+ const next_action = {
122
+ tool: "proximo",
123
+ description: `Gerar entregável e avançar para fase ${estado.fase_atual} (${faseAtual?.nome || 'próxima'})`,
124
+ args_template: { entregavel: "{{conteudo_do_entregavel}}", estado_json: "{{estado_json}}", diretorio },
125
+ requires_user_input: true,
126
+ user_prompt: `Gate aprovado. Agora gere o entregável: ${faseAtual?.entregavel_esperado || 'da fase atual'}`,
127
+ };
128
+ const progress = {
129
+ current_phase: faseAtual?.nome || `Fase ${estado.fase_atual}`,
130
+ total_phases: estado.total_fases,
131
+ completed_phases: estado.gates_validados.length,
132
+ percentage: Math.round((estado.gates_validados.length / estado.total_fases) * 100),
133
+ };
117
134
  return {
118
135
  content: [{
119
136
  type: "text",
@@ -150,6 +167,9 @@ ${estadoFile.content}
150
167
  content: estadoFile.content
151
168
  }],
152
169
  estado_atualizado: estadoFile.content,
170
+ next_action,
171
+ specialist_persona: specialist || undefined,
172
+ progress,
153
173
  };
154
174
  }
155
175
  else {
@@ -159,6 +179,14 @@ ${estadoFile.content}
159
179
  estado.score_bloqueado = undefined;
160
180
  // Serializar estado
161
181
  const estadoFile = serializarEstado(estado);
182
+ const faseAtualRej = getFaseComStitch(estado.nivel, estado.fase_atual, estado.usar_stitch);
183
+ const next_action_rej = {
184
+ tool: "validar_gate",
185
+ description: "Validar o entregável corrigido antes de tentar avançar novamente",
186
+ args_template: { entregavel: "{{entregavel_corrigido}}", estado_json: "{{estado_json}}", diretorio },
187
+ requires_user_input: true,
188
+ user_prompt: "Corrija os itens pendentes e valide novamente antes de avançar.",
189
+ };
162
190
  return {
163
191
  content: [{
164
192
  type: "text",
@@ -189,6 +217,13 @@ ${estadoFile.content}
189
217
  content: estadoFile.content
190
218
  }],
191
219
  estado_atualizado: estadoFile.content,
220
+ next_action: next_action_rej,
221
+ progress: {
222
+ current_phase: faseAtualRej?.nome || `Fase ${estado.fase_atual}`,
223
+ total_phases: estado.total_fases,
224
+ completed_phases: estado.gates_validados.length,
225
+ percentage: Math.round((estado.gates_validados.length / estado.total_fases) * 100),
226
+ },
192
227
  };
193
228
  }
194
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aprovar-gate.js","sourceRoot":"","sources":["../../src/tools/aprovar-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aprovar-gate.js","sourceRoot":"","sources":["../../src/tools/aprovar-gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"brainstorm.d.ts","sourceRoot":"","sources":["../../src/tools/brainstorm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,GAAG,eAAe,GAAG,QAAQ,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAwJD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA0E1E;AA8ND,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAsB5B,CAAC"}
1
+ {"version":3,"file":"brainstorm.d.ts","sourceRoot":"","sources":["../../src/tools/brainstorm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,GAAG,eAAe,GAAG,QAAQ,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAwJD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAmE1E;AAkRD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAsB5B,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Tool: Brainstorm Assistido
3
3
  * Gera prompts estruturados para brainstorm e consolida respostas em PRD draft
4
4
  */
5
- import { parsearEstado } from "../state/storage.js";
5
+ import { parsearEstado, serializarEstado } from "../state/storage.js";
6
6
  import { setCurrentDirectory } from "../state/context.js";
7
7
  import { resolveProjectPath } from "../utils/files.js";
8
8
  /**
@@ -190,17 +190,10 @@ export async function brainstorm(args) {
190
190
  isError: true,
191
191
  };
192
192
  }
193
- if (onboarding.discoveryStatus !== 'completed') {
194
- return {
195
- content: [{
196
- type: "text",
197
- text: "❌ **Erro**: Discovery não foi concluído. Complete o discovery antes de iniciar brainstorm.",
198
- }],
199
- isError: true,
200
- };
201
- }
193
+ // Caminho B: permitir brainstorm exploratório mesmo sem discovery completo
194
+ const discoveryIncompleto = onboarding.discoveryStatus !== 'completed';
202
195
  if (acao === 'iniciar') {
203
- return handleIniciarBrainstorm(onboarding, estado, diretorio);
196
+ return handleIniciarBrainstorm(onboarding, estado, diretorio, discoveryIncompleto);
204
197
  }
205
198
  else if (acao === 'proximo_secao') {
206
199
  return handleProximaSecao(onboarding, estado, diretorio, args.resposta_secao);
@@ -219,7 +212,7 @@ export async function brainstorm(args) {
219
212
  /**
220
213
  * Handler: iniciar brainstorm
221
214
  */
222
- function handleIniciarBrainstorm(onboarding, estado, diretorio) {
215
+ function handleIniciarBrainstorm(onboarding, estado, diretorio, discoveryIncompleto = false) {
223
216
  // Gerar seções de brainstorm
224
217
  if (onboarding.brainstormSections.length === 0) {
225
218
  onboarding.brainstormSections = gerarSecoesBrainstorm(onboarding.discoveryResponses);
@@ -235,42 +228,54 @@ function handleIniciarBrainstorm(onboarding, estado, diretorio) {
235
228
  type: "text",
236
229
  text: "✅ **Brainstorm já concluído!** Todas as seções foram preenchidas.",
237
230
  }],
231
+ next_action: {
232
+ tool: "prd_writer",
233
+ description: "Gerar PRD a partir do brainstorm e discovery",
234
+ args_template: { estado_json: "{{estado_json}}", diretorio: diretorio, acao: "gerar_validar" },
235
+ requires_user_input: false,
236
+ auto_execute: true,
237
+ },
238
238
  };
239
239
  }
240
240
  const secaoFormatada = formatarSecaoBrainstorm(proximaSecao);
241
241
  const progresso = onboarding.brainstormSections.filter((s) => s.status === 'completed').length;
242
242
  const total = onboarding.brainstormSections.length;
243
+ const avisoDiscovery = discoveryIncompleto
244
+ ? `\n> ⚠️ **Modo Exploratório**: Discovery não foi concluído. Algumas seções podem ter dados incompletos. Você pode voltar ao discovery depois.\n`
245
+ : '';
243
246
  const resposta = `# 🧠 Brainstorm Assistido
244
247
 
245
248
  **Projeto:** ${estado.nome}
246
249
  **Progresso:** ${progresso}/${total} seções (${Math.round((progresso / total) * 100)}%)
247
-
250
+ ${avisoDiscovery}
248
251
  ---
249
252
 
250
253
  ${secaoFormatada}
251
254
 
252
255
  ---
253
256
 
254
- ## 📝 Como Responder
255
-
256
- Responda ao prompt acima e envie usando:
257
-
258
- \`\`\`
259
- brainstorm(
260
- estado_json: "...",
261
- diretorio: "...",
262
- acao: "proximo_secao",
263
- resposta_secao: "Sua resposta aqui..."
264
- )
265
- \`\`\`
266
-
267
257
  **Tempo estimado:** 10-15 minutos para esta seção
268
258
  `;
269
259
  return {
270
- content: [{
271
- type: "text",
272
- text: resposta,
273
- }],
260
+ content: [{ type: "text", text: resposta }],
261
+ next_action: {
262
+ tool: "brainstorm",
263
+ description: `Responder à seção "${proximaSecao.title}" do brainstorm`,
264
+ args_template: {
265
+ estado_json: "{{estado_json}}",
266
+ diretorio: diretorio,
267
+ acao: "proximo_secao",
268
+ resposta_secao: `<Resposta para: ${proximaSecao.title}>`,
269
+ },
270
+ requires_user_input: true,
271
+ user_prompt: proximaSecao.prompt,
272
+ },
273
+ progress: {
274
+ current_phase: "brainstorm",
275
+ total_phases: 4,
276
+ completed_phases: 1,
277
+ percentage: Math.round(25 + (progresso / total) * 25),
278
+ },
274
279
  };
275
280
  }
276
281
  /**
@@ -305,11 +310,18 @@ function handleProximaSecao(onboarding, estado, diretorio, resposta) {
305
310
  // Calcular progresso
306
311
  const completadas = onboarding.brainstormSections.filter((s) => s.status === 'completed').length;
307
312
  const total = onboarding.brainstormSections.length;
313
+ // Persistir estado atualizado
314
+ estado.onboarding = onboarding;
315
+ estado.atualizado_em = new Date().toISOString();
316
+ const estadoFile = serializarEstado(estado);
308
317
  // Verificar se todas as seções foram completadas
309
318
  if (completadas === total) {
310
319
  onboarding.brainstormStatus = 'completed';
311
320
  onboarding.brainstormCompletedAt = new Date().toISOString();
312
321
  onboarding.phase = 'prd_draft';
322
+ // Re-serializar com status final
323
+ estado.onboarding = onboarding;
324
+ const estadoFileFinal = serializarEstado(estado);
313
325
  const resposta = `# ✅ Brainstorm Concluído!
314
326
 
315
327
  Todas as seções foram preenchidas com sucesso.
@@ -320,11 +332,7 @@ Todas as seções foram preenchidas com sucesso.
320
332
 
321
333
  **Seções completadas:** ${completadas}/${total}
322
334
 
323
- 1. ✅ Problema e Oportunidade
324
- 2. ✅ Personas e Jobs to Be Done
325
- 3. ✅ MVP e Funcionalidades Priorizadas
326
- 4. ✅ Métricas de Sucesso
327
- 5. ✅ Riscos e Mitigações
335
+ ${onboarding.brainstormSections.map((s, i) => `${i + 1}. ✅ ${s.title}`).join('\n')}
328
336
 
329
337
  ---
330
338
 
@@ -332,15 +340,25 @@ Todas as seções foram preenchidas com sucesso.
332
340
 
333
341
  Agora vamos consolidar todos os insights em um **PRD Draft** estruturado.
334
342
 
335
- Use: \`prd_writer(estado_json: "...", diretorio: "...", acao: "gerar")\` para criar o PRD.
336
-
337
343
  **Tempo estimado:** 5-10 minutos
338
344
  `;
339
345
  return {
340
- content: [{
341
- type: "text",
342
- text: resposta,
343
- }],
346
+ content: [{ type: "text", text: resposta }],
347
+ files: [{ path: `${diretorio}/${estadoFileFinal.path}`, content: estadoFileFinal.content }],
348
+ estado_atualizado: estadoFileFinal.content,
349
+ next_action: {
350
+ tool: "prd_writer",
351
+ description: "Gerar PRD a partir do brainstorm e discovery",
352
+ args_template: { estado_json: "{{estado_json}}", diretorio: diretorio, acao: "gerar_validar" },
353
+ requires_user_input: false,
354
+ auto_execute: true,
355
+ },
356
+ progress: {
357
+ current_phase: "brainstorm",
358
+ total_phases: 4,
359
+ completed_phases: 2,
360
+ percentage: 50,
361
+ },
344
362
  };
345
363
  }
346
364
  // Continuar para próxima seção
@@ -368,17 +386,40 @@ ${secaoFormatada}
368
386
  **Tempo estimado:** 10-15 minutos
369
387
  `;
370
388
  return {
371
- content: [{
372
- type: "text",
373
- text: resposta,
374
- }],
389
+ content: [{ type: "text", text: resposta }],
390
+ files: [{ path: `${diretorio}/${estadoFile.path}`, content: estadoFile.content }],
391
+ estado_atualizado: estadoFile.content,
392
+ next_action: {
393
+ tool: "brainstorm",
394
+ description: `Responder à seção "${proximaSecao.title}"`,
395
+ args_template: {
396
+ estado_json: "{{estado_json}}",
397
+ diretorio: diretorio,
398
+ acao: "proximo_secao",
399
+ resposta_secao: `<Resposta para: ${proximaSecao.title}>`,
400
+ },
401
+ requires_user_input: true,
402
+ user_prompt: proximaSecao.prompt,
403
+ },
404
+ progress: {
405
+ current_phase: "brainstorm",
406
+ total_phases: 4,
407
+ completed_phases: 1,
408
+ percentage: Math.round(25 + (completadas / total) * 25),
409
+ },
375
410
  };
376
411
  }
377
412
  return {
378
- content: [{
379
- type: "text",
380
- text: "✅ **Brainstorm concluído!** Todas as seções foram preenchidas.",
381
- }],
413
+ content: [{ type: "text", text: "✅ **Brainstorm concluído!** Todas as seções foram preenchidas." }],
414
+ files: [{ path: `${diretorio}/${estadoFile.path}`, content: estadoFile.content }],
415
+ estado_atualizado: estadoFile.content,
416
+ next_action: {
417
+ tool: "prd_writer",
418
+ description: "Gerar PRD a partir do brainstorm e discovery",
419
+ args_template: { estado_json: "{{estado_json}}", diretorio: diretorio, acao: "gerar_validar" },
420
+ requires_user_input: false,
421
+ auto_execute: true,
422
+ },
382
423
  };
383
424
  }
384
425
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"brainstorm.js","sourceRoot":"","sources":["../../src/tools/brainstorm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AASvD;;GAEG;AACH,SAAS,qBAAqB,CAAC,kBAAuC;IACpE,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,qEAAqE;QAClF,MAAM,EAAE;kBACM,kBAAkB,CAAC,QAAQ,IAAI,WAAW;sBACtC,kBAAkB,CAAC,YAAY,IAAI,WAAW;;;;;;;;qDAQf;QACjD,cAAc,EAAE,6EAA6E;QAC7F,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,uDAAuD;QACpE,MAAM,EAAE,6BAA6B,kBAAkB,CAAC,YAAY,IAAI,WAAW;;;;;;;;;;;yCAW9C;QACrC,cAAc,EAAE,wDAAwD;QACxE,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EAAE,0DAA0D;QACvE,MAAM,EAAE,0CACN,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,0BAA0B,CAAC;YAC1D,CAAC,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,CAAC,CAAC,kBAAkB,CAAC,0BAA0B,IAAI,WACvD;;;;;;;;;;;;qCAYiC;QACjC,cAAc,EAAE,6DAA6D;QAC7E,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,kCAAkC;QACzC,WAAW,EAAE,6CAA6C;QAC1D,MAAM,EAAE,mBAAmB,kBAAkB,CAAC,YAAY,IAAI,WAAW;;;;;;;;;;;;;;;iFAeI;QAC7E,cAAc,EAAE,uEAAuE;QACvF,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE,qDAAqD;QAClE,MAAM,EAAE,mBAAmB,kBAAkB,CAAC,YAAY,IAAI,WAAW;;;;;;;;;;;;;;;4CAejC;QACxC,cAAc,EAAE,iEAAiE;QACjF,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,KAAwB;IACvD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAoB;IACnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oDAAoD;iBAC3D,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kDAAkD;iBACzD,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qDAAqD;iBAC5D,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;IAEpC,6BAA6B;IAC7B,MAAM,UAAU,GAAI,MAAc,CAAC,UAAyC,CAAC;IAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iFAAiF;iBACxF,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;QAC/C,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,4FAA4F;iBACnG,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QACpC,OAAO,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChF,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kCAAkC,IAAI,EAAE;aAC/C,CAAC;QACF,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,UAA2B,EAC3B,MAAW,EACX,SAAiB;IAEjB,6BAA6B;IAC7B,IAAI,UAAU,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,UAAU,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACvF,CAAC;IAED,UAAU,CAAC,gBAAgB,GAAG,aAAa,CAAC;IAC5C,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC;IAChC,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAC/B,UAAU,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAExD,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAEvF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,mEAAmE;iBAC1E,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAC/F,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAEnD,MAAM,QAAQ,GAAG;;eAEJ,MAAM,CAAC,IAAI;iBACT,SAAS,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;;;;EAIlF,cAAc;;;;;;;;;;;;;;;;;;CAkBf,CAAC;IAEA,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;aACf,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,UAA2B,EAC3B,MAAW,EACX,SAAiB,EACjB,QAAiB;IAEjB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,wFAAwF;iBAC/F,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,UAAU,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACrF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oDAAoD;iBAC3D,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;IAEhC,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAC/B,UAAU,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAExD,qBAAqB;IACrB,MAAM,WAAW,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IACjG,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAEnD,iDAAiD;IACjD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,UAAU,CAAC,gBAAgB,GAAG,WAAW,CAAC;QAC1C,UAAU,CAAC,qBAAqB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5D,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;QAE/B,MAAM,QAAQ,GAAG;;;;;;;;0BAQK,WAAW,IAAI,KAAK;;;;;;;;;;;;;;;;;CAiB7C,CAAC;QAEE,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;iBACf,CAAC;SACH,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAEvF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,cAAc,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAG;;IAEjB,UAAU,CAAC,KAAK;;;;;;EAMlB,WAAW,IAAI,KAAK,uBAAuB,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;;;;;;EAMlF,cAAc;;;;;CAKf,CAAC;QAEE,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;iBACf,CAAC;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gEAAgE;aACvE,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,UAA2B;IACzD,MAAM,WAAW,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IACjG,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAEnD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC,kBAAkB,WAAW,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAE7G,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3B,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0CAA0C;SACxD;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+BAA+B;SAC7C;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC;YAC5C,WAAW,EAAE,iBAAiB;SAC/B;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qCAAqC;SACnD;KACF;IACD,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"brainstorm.js","sourceRoot":"","sources":["../../src/tools/brainstorm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"classificar.d.ts","sourceRoot":"","sources":["../../src/tools/classificar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAiB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASpG,UAAU,eAAe;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAsH5E;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B7B,CAAC"}
1
+ {"version":3,"file":"classificar.d.ts","sourceRoot":"","sources":["../../src/tools/classificar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAiB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWpG,UAAU,eAAe;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CA2I5E;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B7B,CAAC"}