@maestro-ai/mcp-server 5.5.3 → 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.
Files changed (150) hide show
  1. package/dist/constants.d.ts +1 -1
  2. package/dist/constants.js +1 -1
  3. package/dist/errors/index.js +2 -2
  4. package/dist/errors/index.js.map +1 -1
  5. package/dist/flows/onboarding-orchestrator.js +1 -1
  6. package/dist/flows/onboarding-orchestrator.js.map +1 -1
  7. package/dist/handlers/field-normalizer.d.ts +31 -0
  8. package/dist/handlers/field-normalizer.d.ts.map +1 -0
  9. package/dist/handlers/field-normalizer.js +70 -0
  10. package/dist/handlers/field-normalizer.js.map +1 -0
  11. package/dist/handlers/prd-scorer.d.ts +60 -0
  12. package/dist/handlers/prd-scorer.d.ts.map +1 -0
  13. package/dist/handlers/prd-scorer.js +157 -0
  14. package/dist/handlers/prd-scorer.js.map +1 -0
  15. package/dist/handlers/prototype-phase-handler.js.map +1 -1
  16. package/dist/handlers/shared-prompt-handler.js.map +1 -1
  17. package/dist/handlers/specialist-formatters.d.ts +42 -0
  18. package/dist/handlers/specialist-formatters.d.ts.map +1 -0
  19. package/dist/handlers/specialist-formatters.js +272 -0
  20. package/dist/handlers/specialist-formatters.js.map +1 -0
  21. package/dist/handlers/specialist-phase-handler.d.ts +1 -10
  22. package/dist/handlers/specialist-phase-handler.d.ts.map +1 -1
  23. package/dist/handlers/specialist-phase-handler.js +11 -501
  24. package/dist/handlers/specialist-phase-handler.js.map +1 -1
  25. package/dist/legacy-tools.d.ts +21 -0
  26. package/dist/legacy-tools.d.ts.map +1 -0
  27. package/dist/legacy-tools.js +377 -0
  28. package/dist/legacy-tools.js.map +1 -0
  29. package/dist/router.d.ts +2 -2
  30. package/dist/router.d.ts.map +1 -1
  31. package/dist/router.js +6 -378
  32. package/dist/router.js.map +1 -1
  33. package/dist/server.d.ts +18 -4
  34. package/dist/server.d.ts.map +1 -1
  35. package/dist/server.js +70 -1
  36. package/dist/server.js.map +1 -1
  37. package/dist/services/flow-engine.d.ts.map +1 -1
  38. package/dist/services/flow-engine.js +1 -2
  39. package/dist/services/flow-engine.js.map +1 -1
  40. package/dist/services/onboarding.service.js.map +1 -1
  41. package/dist/services/scoring-config.d.ts +47 -0
  42. package/dist/services/scoring-config.d.ts.map +1 -0
  43. package/dist/services/scoring-config.js +88 -0
  44. package/dist/services/scoring-config.js.map +1 -0
  45. package/dist/services/state.service.d.ts.map +1 -1
  46. package/dist/services/state.service.js +3 -9
  47. package/dist/services/state.service.js.map +1 -1
  48. package/dist/services/static-validator.service.d.ts +28 -0
  49. package/dist/services/static-validator.service.d.ts.map +1 -0
  50. package/dist/services/static-validator.service.js +55 -0
  51. package/dist/services/static-validator.service.js.map +1 -0
  52. package/dist/services/task-decomposer.service.d.ts +59 -0
  53. package/dist/services/task-decomposer.service.d.ts.map +1 -0
  54. package/dist/services/task-decomposer.service.js +162 -0
  55. package/dist/services/task-decomposer.service.js.map +1 -0
  56. package/dist/services/test-stub-generator.service.d.ts +32 -0
  57. package/dist/services/test-stub-generator.service.d.ts.map +1 -0
  58. package/dist/services/test-stub-generator.service.js +71 -0
  59. package/dist/services/test-stub-generator.service.js.map +1 -0
  60. package/dist/stdio.js +7 -71
  61. package/dist/stdio.js.map +1 -1
  62. package/dist/tools/brainstorm.js.map +1 -1
  63. package/dist/tools/consolidated/avancar.d.ts.map +1 -1
  64. package/dist/tools/consolidated/avancar.js +27 -19
  65. package/dist/tools/consolidated/avancar.js.map +1 -1
  66. package/dist/tools/discovery.js.map +1 -1
  67. package/dist/tools/iniciar-projeto.js.map +1 -1
  68. package/dist/tools/maestro-tool.d.ts.map +1 -1
  69. package/dist/tools/maestro-tool.js +23 -14
  70. package/dist/tools/maestro-tool.js.map +1 -1
  71. package/dist/tools/next-steps-dashboard.js.map +1 -1
  72. package/dist/tools/prd-writer.js.map +1 -1
  73. package/dist/tools/proximo.d.ts.map +1 -1
  74. package/dist/tools/proximo.js +26 -6
  75. package/dist/tools/proximo.js.map +1 -1
  76. package/dist/types/index.d.ts +1 -1
  77. package/dist/types/index.d.ts.map +1 -1
  78. package/package.json +3 -2
  79. package/dist/gates/tiers.test.d.ts +0 -2
  80. package/dist/gates/tiers.test.d.ts.map +0 -1
  81. package/dist/gates/tiers.test.js +0 -86
  82. package/dist/gates/tiers.test.js.map +0 -1
  83. package/dist/index.d.ts +0 -3
  84. package/dist/index.d.ts.map +0 -1
  85. package/dist/index.js +0 -343
  86. package/dist/index.js.map +0 -1
  87. package/dist/tests/aprovar-gate.test.d.ts +0 -2
  88. package/dist/tests/aprovar-gate.test.d.ts.map +0 -1
  89. package/dist/tests/aprovar-gate.test.js +0 -113
  90. package/dist/tests/aprovar-gate.test.js.map +0 -1
  91. package/dist/tests/brainstorm-prd.test.d.ts +0 -5
  92. package/dist/tests/brainstorm-prd.test.d.ts.map +0 -1
  93. package/dist/tests/brainstorm-prd.test.js +0 -291
  94. package/dist/tests/brainstorm-prd.test.js.map +0 -1
  95. package/dist/tests/classificacao-progressiva.test.d.ts +0 -5
  96. package/dist/tests/classificacao-progressiva.test.d.ts.map +0 -1
  97. package/dist/tests/classificacao-progressiva.test.js +0 -372
  98. package/dist/tests/classificacao-progressiva.test.js.map +0 -1
  99. package/dist/tests/content-resolver.test.d.ts +0 -5
  100. package/dist/tests/content-resolver.test.d.ts.map +0 -1
  101. package/dist/tests/content-resolver.test.js +0 -157
  102. package/dist/tests/content-resolver.test.js.map +0 -1
  103. package/dist/tests/deliverable-validator.test.d.ts +0 -12
  104. package/dist/tests/deliverable-validator.test.d.ts.map +0 -1
  105. package/dist/tests/deliverable-validator.test.js +0 -214
  106. package/dist/tests/deliverable-validator.test.js.map +0 -1
  107. package/dist/tests/flow-engine.test.d.ts +0 -2
  108. package/dist/tests/flow-engine.test.d.ts.map +0 -1
  109. package/dist/tests/flow-engine.test.js +0 -85
  110. package/dist/tests/flow-engine.test.js.map +0 -1
  111. package/dist/tests/gate-orientation.test.d.ts +0 -2
  112. package/dist/tests/gate-orientation.test.d.ts.map +0 -1
  113. package/dist/tests/gate-orientation.test.js +0 -59
  114. package/dist/tests/gate-orientation.test.js.map +0 -1
  115. package/dist/tests/middleware.test.d.ts +0 -5
  116. package/dist/tests/middleware.test.d.ts.map +0 -1
  117. package/dist/tests/middleware.test.js +0 -254
  118. package/dist/tests/middleware.test.js.map +0 -1
  119. package/dist/tests/migracao-skills.test.d.ts +0 -2
  120. package/dist/tests/migracao-skills.test.d.ts.map +0 -1
  121. package/dist/tests/migracao-skills.test.js +0 -208
  122. package/dist/tests/migracao-skills.test.js.map +0 -1
  123. package/dist/tests/onboarding-flow.test.d.ts +0 -5
  124. package/dist/tests/onboarding-flow.test.d.ts.map +0 -1
  125. package/dist/tests/onboarding-flow.test.js +0 -231
  126. package/dist/tests/onboarding-flow.test.js.map +0 -1
  127. package/dist/tests/prd-validation.test.d.ts +0 -6
  128. package/dist/tests/prd-validation.test.d.ts.map +0 -1
  129. package/dist/tests/prd-validation.test.js +0 -164
  130. package/dist/tests/prd-validation.test.js.map +0 -1
  131. package/dist/tests/readiness-dashboard.test.d.ts +0 -5
  132. package/dist/tests/readiness-dashboard.test.d.ts.map +0 -1
  133. package/dist/tests/readiness-dashboard.test.js +0 -252
  134. package/dist/tests/readiness-dashboard.test.js.map +0 -1
  135. package/dist/tests/skill-loader.test.d.ts +0 -5
  136. package/dist/tests/skill-loader.test.d.ts.map +0 -1
  137. package/dist/tests/skill-loader.test.js +0 -244
  138. package/dist/tests/skill-loader.test.js.map +0 -1
  139. package/dist/tests/v52-integration.test.d.ts +0 -14
  140. package/dist/tests/v52-integration.test.d.ts.map +0 -1
  141. package/dist/tests/v52-integration.test.js +0 -225
  142. package/dist/tests/v52-integration.test.js.map +0 -1
  143. package/dist/tests/watcher.service.test.d.ts +0 -2
  144. package/dist/tests/watcher.service.test.d.ts.map +0 -1
  145. package/dist/tests/watcher.service.test.js +0 -119
  146. package/dist/tests/watcher.service.test.js.map +0 -1
  147. package/dist/utils/__tests__/prompt-mapper.test.d.ts +0 -2
  148. package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +0 -1
  149. package/dist/utils/__tests__/prompt-mapper.test.js +0 -184
  150. package/dist/utils/__tests__/prompt-mapper.test.js.map +0 -1
@@ -1,254 +0,0 @@
1
- /**
2
- * Testes para Middleware Pipeline v5
3
- */
4
- import { describe, it, expect, vi } from 'vitest';
5
- import { withStateLoad } from '../middleware/state-loader.middleware.js';
6
- import { withPersistence } from '../middleware/persistence.middleware.js';
7
- import { withFlowEngine } from '../middleware/flow-engine.middleware.js';
8
- import { withSkillInjection } from '../middleware/skill-injection.middleware.js';
9
- import { applyMiddlewares, applyLightMiddlewares, applyOrchestrationPipeline } from '../middleware/index.js';
10
- // Mock state service
11
- vi.mock('../services/state.service.js', () => ({
12
- createStateService: vi.fn((dir) => ({
13
- load: vi.fn().mockResolvedValue({
14
- nome: 'Test Project',
15
- nivel: 'medio',
16
- fase_atual: 2,
17
- total_fases: 8,
18
- status: 'ativo',
19
- gates_validados: [1],
20
- entregaveis: {},
21
- usar_stitch: false,
22
- }),
23
- save: vi.fn().mockResolvedValue(true),
24
- saveFiles: vi.fn().mockResolvedValue(1),
25
- })),
26
- }));
27
- // Mock state storage
28
- vi.mock('../state/storage.js', () => ({
29
- serializarEstado: vi.fn((estado) => ({
30
- path: '.maestro/estado.json',
31
- content: JSON.stringify(estado),
32
- })),
33
- parsearEstado: vi.fn((json) => {
34
- try {
35
- return JSON.parse(json);
36
- }
37
- catch {
38
- return null;
39
- }
40
- }),
41
- }));
42
- // Mock flow engine
43
- vi.mock('../services/flow-engine.js', () => ({
44
- getNextStep: vi.fn(() => ({
45
- tool: 'proximo',
46
- description: 'Avançar para próxima fase',
47
- args_template: {},
48
- requires_user_input: true,
49
- })),
50
- getFlowProgress: vi.fn(() => ({
51
- current_phase: 'Requisitos',
52
- total_phases: 8,
53
- completed_phases: 1,
54
- percentage: 12,
55
- })),
56
- flowStepToNextAction: vi.fn((step) => ({
57
- tool: step.tool,
58
- description: step.description,
59
- args_template: step.args_template,
60
- requires_user_input: step.requires_user_input,
61
- })),
62
- isInOnboarding: vi.fn(() => false),
63
- }));
64
- // Mock errors
65
- vi.mock('../errors/index.js', () => ({
66
- withErrorHandling: vi.fn((name, handler) => handler),
67
- }));
68
- // Mock content resolver and skill loader for skill injection
69
- vi.mock('../services/content-resolver.service.js', () => ({
70
- ContentResolverService: vi.fn().mockImplementation(() => ({})),
71
- }));
72
- vi.mock('../services/skill-loader.service.js', () => ({
73
- SkillLoaderService: vi.fn().mockImplementation(() => ({
74
- loadForPhase: vi.fn().mockResolvedValue(null),
75
- formatAsMarkdown: vi.fn().mockReturnValue(''),
76
- })),
77
- }));
78
- vi.mock('../utils/prompt-mapper.js', () => ({
79
- getSkillParaFase: vi.fn(() => null),
80
- }));
81
- vi.mock('../flows/types.js', () => ({
82
- getFaseComStitch: vi.fn(() => ({
83
- nome: 'Requisitos',
84
- especialista: 'Engenheiro de Requisitos',
85
- entregavel_esperado: 'requisitos.md',
86
- gate_checklist: [],
87
- })),
88
- }));
89
- describe('Middleware: withStateLoad', () => {
90
- it('deve carregar estado automaticamente quando estado_json não fornecido', async () => {
91
- const handler = vi.fn().mockResolvedValue({
92
- content: [{ type: 'text', text: 'ok' }],
93
- });
94
- const wrapped = withStateLoad(handler);
95
- await wrapped({ diretorio: '/test/project' });
96
- // Handler deve receber estado_json preenchido
97
- expect(handler).toHaveBeenCalledWith(expect.objectContaining({
98
- diretorio: '/test/project',
99
- estado_json: expect.any(String),
100
- }));
101
- });
102
- it('deve manter estado_json existente sem sobrescrever', async () => {
103
- const handler = vi.fn().mockResolvedValue({
104
- content: [{ type: 'text', text: 'ok' }],
105
- });
106
- const originalState = '{"nome":"Original"}';
107
- const wrapped = withStateLoad(handler);
108
- await wrapped({ diretorio: '/test/project', estado_json: originalState });
109
- expect(handler).toHaveBeenCalledWith(expect.objectContaining({
110
- estado_json: originalState,
111
- }));
112
- });
113
- it('deve funcionar sem diretório (não carrega estado)', async () => {
114
- const handler = vi.fn().mockResolvedValue({
115
- content: [{ type: 'text', text: 'ok' }],
116
- });
117
- const wrapped = withStateLoad(handler);
118
- await wrapped({});
119
- expect(handler).toHaveBeenCalledWith({});
120
- });
121
- });
122
- describe('Middleware: withPersistence', () => {
123
- it('deve persistir estado_atualizado automaticamente', async () => {
124
- const handler = vi.fn().mockResolvedValue({
125
- content: [{ type: 'text', text: 'ok' }],
126
- estado_atualizado: JSON.stringify({ nome: 'Test', nivel: 'medio', fase_atual: 3 }),
127
- });
128
- const wrapped = withPersistence(handler);
129
- const result = await wrapped({ diretorio: '/test/project' });
130
- expect(result).toHaveProperty('_state_persisted', true);
131
- });
132
- it('deve persistir files retornados', async () => {
133
- const handler = vi.fn().mockResolvedValue({
134
- content: [{ type: 'text', text: 'ok' }],
135
- estado_atualizado: JSON.stringify({ nome: 'Test' }),
136
- files: [{ path: '/test/file.md', content: '# Test' }],
137
- });
138
- const wrapped = withPersistence(handler);
139
- const result = await wrapped({ diretorio: '/test/project' });
140
- expect(result).toHaveProperty('_files_persisted', 1);
141
- });
142
- it('não deve persistir quando isError=true', async () => {
143
- const handler = vi.fn().mockResolvedValue({
144
- content: [{ type: 'text', text: 'erro' }],
145
- isError: true,
146
- estado_atualizado: '{"nome":"Test"}',
147
- });
148
- const wrapped = withPersistence(handler);
149
- const result = await wrapped({ diretorio: '/test/project' });
150
- expect(result).not.toHaveProperty('_state_persisted');
151
- });
152
- });
153
- describe('Middleware: withFlowEngine', () => {
154
- it('deve calcular next_action quando não presente no resultado', async () => {
155
- const handler = vi.fn().mockResolvedValue({
156
- content: [{ type: 'text', text: 'ok' }],
157
- estado_atualizado: JSON.stringify({ nome: 'Test', nivel: 'medio', fase_atual: 2, total_fases: 8 }),
158
- });
159
- const wrapped = withFlowEngine(handler);
160
- const result = await wrapped({ diretorio: '/test/project' });
161
- expect(result.next_action).toBeDefined();
162
- expect(result.next_action?.tool).toBe('proximo');
163
- expect(result.progress).toBeDefined();
164
- });
165
- // v6.0: FlowEngine SEMPRE sobrescreve next_action (comportamento forçado)
166
- it('deve SEMPRE sobrescrever next_action, mesmo quando já presente (v6.0)', async () => {
167
- const existingAction = { tool: 'validar_gate', description: 'Validar', args_template: {}, requires_user_input: false };
168
- const handler = vi.fn().mockResolvedValue({
169
- content: [{ type: 'text', text: 'ok' }],
170
- estado_atualizado: JSON.stringify({ nome: 'Test', nivel: 'medio', fase_atual: 2, total_fases: 8 }),
171
- next_action: existingAction,
172
- });
173
- const wrapped = withFlowEngine(handler);
174
- const result = await wrapped({ diretorio: '/test/project' });
175
- // v6.0: FlowEngine FORÇA sobrescrita — next_action deve ser do FlowEngine, não da tool
176
- expect(result.next_action?.tool).toBe('proximo'); // FlowEngine define 'proximo'
177
- // O next_action original ('validar_gate') deve ter sido sobrescrito
178
- expect(result.next_action?.tool).not.toBe('validar_gate');
179
- });
180
- it('não deve calcular next_action quando isError', async () => {
181
- const handler = vi.fn().mockResolvedValue({
182
- content: [{ type: 'text', text: 'erro' }],
183
- isError: true,
184
- });
185
- const wrapped = withFlowEngine(handler);
186
- const result = await wrapped({ diretorio: '/test/project' });
187
- expect(result.next_action).toBeUndefined();
188
- });
189
- });
190
- describe('Middleware: withSkillInjection', () => {
191
- it('não deve injetar quando resposta já contém contexto do especialista', async () => {
192
- const handler = vi.fn().mockResolvedValue({
193
- content: [{ type: 'text', text: '# 🧠 Contexto do Especialista — Arquitetura\n\nConteúdo' }],
194
- });
195
- const wrapped = withSkillInjection(handler);
196
- const result = await wrapped({ diretorio: '/test/project' });
197
- // Não deve duplicar
198
- const occurrences = (result.content[0].text.match(/Contexto do Especialista/g) || []).length;
199
- expect(occurrences).toBe(1);
200
- });
201
- it('não deve injetar quando isError', async () => {
202
- const handler = vi.fn().mockResolvedValue({
203
- content: [{ type: 'text', text: 'Erro' }],
204
- isError: true,
205
- });
206
- const wrapped = withSkillInjection(handler);
207
- const result = await wrapped({ diretorio: '/test/project' });
208
- expect(result.content[0].text).toBe('Erro');
209
- });
210
- });
211
- describe('Pipeline: applyMiddlewares', () => {
212
- it('deve compor todos os middlewares sem erro', async () => {
213
- const handler = vi.fn().mockResolvedValue({
214
- content: [{ type: 'text', text: 'Pipeline OK' }],
215
- });
216
- const wrapped = applyMiddlewares('test-tool', handler);
217
- expect(typeof wrapped).toBe('function');
218
- const result = await wrapped({ diretorio: '/test/project' });
219
- expect(result.content[0].text).toBe('Pipeline OK');
220
- });
221
- });
222
- describe('Pipeline: applyLightMiddlewares', () => {
223
- it('deve aplicar apenas error handling e state load', async () => {
224
- const handler = vi.fn().mockResolvedValue({
225
- content: [{ type: 'text', text: 'Light OK' }],
226
- });
227
- const wrapped = applyLightMiddlewares('test-tool', handler);
228
- const result = await wrapped({ diretorio: '/test/project' });
229
- expect(result.content[0].text).toBe('Light OK');
230
- });
231
- });
232
- describe('Pipeline: applyOrchestrationPipeline (v6.0)', () => {
233
- it('deve compor todos os middlewares na ordem correta', async () => {
234
- const handler = vi.fn().mockResolvedValue({
235
- content: [{ type: 'text', text: 'Orchestration OK' }],
236
- });
237
- const wrapped = applyOrchestrationPipeline('test-tool', handler);
238
- expect(typeof wrapped).toBe('function');
239
- const result = await wrapped({ diretorio: '/test/project' });
240
- expect(result.content[0].text).toContain('Orchestration OK');
241
- });
242
- it('deve calcular next_action via FlowEngine', async () => {
243
- const handler = vi.fn().mockResolvedValue({
244
- content: [{ type: 'text', text: 'ok' }],
245
- estado_atualizado: JSON.stringify({ nome: 'Test', nivel: 'medio', fase_atual: 2, total_fases: 8 }),
246
- });
247
- const wrapped = applyOrchestrationPipeline('test-tool', handler);
248
- const result = await wrapped({ diretorio: '/test/project' });
249
- // FlowEngine deve ter calculado next_action
250
- expect(result.next_action).toBeDefined();
251
- expect(result.next_action?.tool).toBe('proximo');
252
- });
253
- });
254
- //# sourceMappingURL=middleware.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.test.js","sourceRoot":"","sources":["../../src/tests/middleware.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=migracao-skills.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migracao-skills.test.d.ts","sourceRoot":"","sources":["../../src/tests/migracao-skills.test.ts"],"names":[],"mappings":""}
@@ -1,208 +0,0 @@
1
- const TEMPLATES_AVAILABLE = existsSync(join(getServerContentRoot(), "templates"));
2
- const itWithTemplates = TEMPLATES_AVAILABLE ? it : it.skip;
3
- /**
4
- * Testes para migração de maestro:// para skills locais
5
- * Valida normalização, mapeamento e fluxo completo
6
- */
7
- import { describe, it, expect } from "vitest";
8
- import { existsSync } from "fs";
9
- import { join } from "path";
10
- import { lerEspecialista, lerTemplate, getServerContentRoot } from "../utils/files.js";
11
- import { getSkillParaFase, temSkillParaFase } from "../utils/prompt-mapper.js";
12
- import { gerarInstrucaoRecursos, gerarInstrucaoRecursosCompacta, gerarInstrucaoProximaFase } from "../utils/instructions.js";
13
- describe("Migração de maestro:// para Skills", () => {
14
- describe("Normalização de nomes de especialistas", () => {
15
- it("deve encontrar skill para 'Gestão de Produto'", async () => {
16
- const conteudo = await lerEspecialista("Gestão de Produto");
17
- expect(conteudo).toBeTruthy();
18
- expect(conteudo.length).toBeGreaterThan(0);
19
- });
20
- it("deve encontrar skill para 'gestao-produto' (normalizado)", async () => {
21
- const conteudo = await lerEspecialista("gestao-produto");
22
- expect(conteudo).toBeTruthy();
23
- });
24
- it("deve encontrar skill para 'gestao de produto' (sem acento)", async () => {
25
- const conteudo = await lerEspecialista("gestao de produto");
26
- expect(conteudo).toBeTruthy();
27
- });
28
- it("deve encontrar skill para 'Engenharia de Requisitos'", async () => {
29
- const conteudo = await lerEspecialista("Engenharia de Requisitos");
30
- expect(conteudo).toBeTruthy();
31
- });
32
- it("deve encontrar skill para 'UX Design'", async () => {
33
- const conteudo = await lerEspecialista("UX Design");
34
- expect(conteudo).toBeTruthy();
35
- });
36
- it("deve encontrar skill para 'Arquitetura de Software'", async () => {
37
- const conteudo = await lerEspecialista("Arquitetura de Software");
38
- expect(conteudo).toBeTruthy();
39
- });
40
- it("deve lançar erro descritivo para especialista inexistente", async () => {
41
- try {
42
- await lerEspecialista("Especialista Inexistente");
43
- expect.fail("Deveria ter lançado erro");
44
- }
45
- catch (error) {
46
- expect(error).toBeTruthy();
47
- const message = error instanceof Error ? error.message : String(error);
48
- expect(message).toContain("Skill não encontrada");
49
- expect(message).toContain("Skills disponíveis");
50
- }
51
- });
52
- });
53
- describe("Mapeamento de fases para skills", () => {
54
- it("deve mapear fase 'Produto' para skill", () => {
55
- const skill = getSkillParaFase("Produto");
56
- expect(skill).toBe("specialist-gestao-produto");
57
- });
58
- it("deve mapear fase 'Requisitos' para skill", () => {
59
- const skill = getSkillParaFase("Requisitos");
60
- expect(skill).toBe("specialist-engenharia-requisitos-ia");
61
- });
62
- it("deve mapear fase 'UX Design' para skill", () => {
63
- const skill = getSkillParaFase("UX Design");
64
- expect(skill).toBe("specialist-ux-design");
65
- });
66
- it("deve mapear fase 'Arquitetura' para skill", () => {
67
- const skill = getSkillParaFase("Arquitetura");
68
- expect(skill).toBe("specialist-arquitetura-software");
69
- });
70
- it("deve verificar se fase tem skill associada", () => {
71
- expect(temSkillParaFase("Produto")).toBe(true);
72
- expect(temSkillParaFase("Requisitos")).toBe(true);
73
- expect(temSkillParaFase("Fase Inexistente")).toBe(false);
74
- });
75
- it("deve retornar null para fase sem skill", () => {
76
- const skill = getSkillParaFase("Fase Inexistente");
77
- expect(skill).toBeNull();
78
- });
79
- });
80
- describe("Geração de instruções com skills", () => {
81
- it("deve gerar instrução de recursos para fase com skill", () => {
82
- const instrucao = gerarInstrucaoRecursos("Produto", "AÇÃO OBRIGATÓRIA", "windsurf");
83
- expect(instrucao).toContain("specialist-gestao-produto");
84
- expect(instrucao).toContain("SKILL.md");
85
- expect(instrucao).toContain("Templates");
86
- expect(instrucao).toContain("Checklists");
87
- expect(instrucao).toContain(".windsurf/skills");
88
- expect(instrucao).not.toContain("maestro://");
89
- });
90
- it("deve gerar instrução compacta para fase com skill", () => {
91
- const instrucao = gerarInstrucaoRecursosCompacta("Requisitos", "windsurf");
92
- expect(instrucao).toContain("specialist-engenharia-requisitos-ia");
93
- expect(instrucao).toContain("SKILL.md");
94
- expect(instrucao).toContain("Templates");
95
- expect(instrucao).not.toContain("maestro://");
96
- });
97
- it("deve gerar instrução para próxima fase", () => {
98
- const instrucao = gerarInstrucaoProximaFase("UX Design", "windsurf");
99
- expect(instrucao).toContain("specialist-ux-design");
100
- expect(instrucao).toContain("PRÓXIMA FASE");
101
- expect(instrucao).toContain("UX Design");
102
- expect(instrucao).not.toContain("maestro://");
103
- });
104
- it("deve usar IDE correto nos caminhos (cursor)", () => {
105
- const instrucao = gerarInstrucaoRecursos("Produto", "AÇÃO", "cursor");
106
- expect(instrucao).toContain(".cursor/skills");
107
- expect(instrucao).not.toContain(".windsurf/skills");
108
- });
109
- it("deve usar IDE correto nos caminhos (antigravity)", () => {
110
- const instrucao = gerarInstrucaoRecursos("Produto", "AÇÃO", "antigravity");
111
- expect(instrucao).toContain(".agent/skills");
112
- expect(instrucao).not.toContain(".windsurf/skills");
113
- });
114
- it("deve informar quando fase não tem skill", () => {
115
- const instrucao = gerarInstrucaoRecursos("Fase Inexistente", "AÇÃO");
116
- expect(instrucao).toContain("não possui skill");
117
- });
118
- });
119
- describe("Compatibilidade com maestro://", () => {
120
- it("lerEspecialista deve funcionar com nomes do maestro://", async () => {
121
- // Simula chamada via maestro://especialista/Gestão de Produto
122
- const conteudo = await lerEspecialista("Gestão de Produto");
123
- expect(conteudo).toBeTruthy();
124
- expect(conteudo.length).toBeGreaterThan(100); // SKILL.md deve ter conteúdo
125
- });
126
- itWithTemplates("lerTemplate deve funcionar com nomes do maestro://", async () => {
127
- // Simula chamada via maestro://template/PRD
128
- const conteudo = await lerTemplate("PRD");
129
- expect(conteudo).toBeTruthy();
130
- expect(conteudo.length).toBeGreaterThan(100);
131
- });
132
- });
133
- describe("Fluxo completo PRD + proximo()", () => {
134
- it("mensagem de entregável inválido deve referenciar skills", () => {
135
- // Simula resposta do proximo() quando entregável < 200 chars
136
- // Verificar que a mensagem não contém maestro://
137
- const mensagemLegada = `
138
- read_resource("maestro://especialista/Gestão de Produto")
139
- read_resource("maestro://template/PRD")
140
- `;
141
- const mensagemNova = `
142
- .windsurf/skills/specialist-gestao-produto/resources/reference/SKILL.md
143
- .windsurf/skills/specialist-gestao-produto/resources/templates/
144
- `;
145
- // A mensagem nova deve estar sendo usada
146
- expect(mensagemNova).toContain("specialist-gestao-produto");
147
- expect(mensagemNova).not.toContain("maestro://");
148
- });
149
- });
150
- describe("Regressão: maestro:// ainda funciona", () => {
151
- it("lerEspecialista com nome exato de especialista", async () => {
152
- // Teste de compatibilidade: nomes que vêm do maestro://
153
- const nomes = [
154
- "Gestão de Produto",
155
- "Engenharia de Requisitos",
156
- "UX Design",
157
- "Arquitetura de Software",
158
- "Plano de Execução",
159
- "Desenvolvimento Frontend",
160
- "Desenvolvimento Backend",
161
- ];
162
- for (const nome of nomes) {
163
- const conteudo = await lerEspecialista(nome);
164
- expect(conteudo).toBeTruthy();
165
- expect(conteudo.length).toBeGreaterThan(0);
166
- }
167
- });
168
- itWithTemplates("lerTemplate com nomes de template", async () => {
169
- const nomes = [
170
- "PRD",
171
- "requisitos",
172
- "design-doc",
173
- "arquitetura",
174
- "backlog",
175
- ];
176
- for (const nome of nomes) {
177
- try {
178
- const conteudo = await lerTemplate(nome);
179
- expect(conteudo).toBeTruthy();
180
- }
181
- catch (error) {
182
- // Template pode não existir, mas a função deve tentar
183
- expect(error).toBeTruthy();
184
- }
185
- }
186
- });
187
- });
188
- });
189
- describe("Casos extremos e edge cases", () => {
190
- it("deve normalizar múltiplos espaços", async () => {
191
- const conteudo = await lerEspecialista("Gestão de Produto");
192
- expect(conteudo).toBeTruthy();
193
- });
194
- it("deve normalizar caracteres especiais", async () => {
195
- const conteudo = await lerEspecialista("Gestão-de-Produto");
196
- expect(conteudo).toBeTruthy();
197
- });
198
- it("deve ser case-insensitive", async () => {
199
- const conteudo1 = await lerEspecialista("GESTÃO DE PRODUTO");
200
- const conteudo2 = await lerEspecialista("gestão de produto");
201
- expect(conteudo1).toBe(conteudo2);
202
- });
203
- it("deve lidar com espaços em branco nas extremidades", async () => {
204
- const conteudo = await lerEspecialista(" Gestão de Produto ");
205
- expect(conteudo).toBeTruthy();
206
- });
207
- });
208
- //# sourceMappingURL=migracao-skills.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migracao-skills.test.js","sourceRoot":"","sources":["../../src/tests/migracao-skills.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Testes para o fluxo de onboarding otimizado
3
- */
4
- export {};
5
- //# sourceMappingURL=onboarding-flow.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onboarding-flow.test.d.ts","sourceRoot":"","sources":["../../src/tests/onboarding-flow.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}