@maestro-ai/mcp-server 5.1.0 → 5.2.1

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 (116) hide show
  1. package/dist/constants.d.ts +16 -0
  2. package/dist/constants.d.ts.map +1 -0
  3. package/dist/constants.js +16 -0
  4. package/dist/constants.js.map +1 -0
  5. package/dist/handlers/shared-prompt-handler.d.ts +41 -0
  6. package/dist/handlers/shared-prompt-handler.d.ts.map +1 -0
  7. package/dist/handlers/shared-prompt-handler.js +289 -0
  8. package/dist/handlers/shared-prompt-handler.js.map +1 -0
  9. package/dist/handlers/shared-resource-handler.d.ts +54 -0
  10. package/dist/handlers/shared-resource-handler.d.ts.map +1 -0
  11. package/dist/handlers/shared-resource-handler.js +131 -0
  12. package/dist/handlers/shared-resource-handler.js.map +1 -0
  13. package/dist/index.js +34 -146
  14. package/dist/index.js.map +1 -1
  15. package/dist/middleware/index.d.ts +6 -0
  16. package/dist/middleware/index.d.ts.map +1 -1
  17. package/dist/middleware/index.js +8 -0
  18. package/dist/middleware/index.js.map +1 -1
  19. package/dist/resources/index.d.ts +5 -3
  20. package/dist/resources/index.d.ts.map +1 -1
  21. package/dist/resources/index.js +1 -165
  22. package/dist/resources/index.js.map +1 -1
  23. package/dist/router.d.ts +1 -5
  24. package/dist/router.d.ts.map +1 -1
  25. package/dist/router.js +116 -28
  26. package/dist/router.js.map +1 -1
  27. package/dist/server.d.ts +4 -3
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js +1 -26
  30. package/dist/server.js.map +1 -1
  31. package/dist/services/annotations-fallback.service.d.ts +64 -0
  32. package/dist/services/annotations-fallback.service.d.ts.map +1 -0
  33. package/dist/services/annotations-fallback.service.js +64 -0
  34. package/dist/services/annotations-fallback.service.js.map +1 -0
  35. package/dist/services/client-capabilities.service.d.ts +46 -0
  36. package/dist/services/client-capabilities.service.d.ts.map +1 -0
  37. package/dist/services/client-capabilities.service.js +96 -0
  38. package/dist/services/client-capabilities.service.js.map +1 -0
  39. package/dist/services/elicitation-fallback.service.d.ts +37 -0
  40. package/dist/services/elicitation-fallback.service.d.ts.map +1 -0
  41. package/dist/services/elicitation-fallback.service.js +90 -0
  42. package/dist/services/elicitation-fallback.service.js.map +1 -0
  43. package/dist/services/sampling-fallback.service.d.ts +33 -0
  44. package/dist/services/sampling-fallback.service.d.ts.map +1 -0
  45. package/dist/services/sampling-fallback.service.js +71 -0
  46. package/dist/services/sampling-fallback.service.js.map +1 -0
  47. package/dist/services/skill-cache.service.d.ts +28 -0
  48. package/dist/services/skill-cache.service.d.ts.map +1 -0
  49. package/dist/services/skill-cache.service.js +49 -0
  50. package/dist/services/skill-cache.service.js.map +1 -0
  51. package/dist/services/skill-loader.service.d.ts.map +1 -1
  52. package/dist/services/skill-loader.service.js +16 -1
  53. package/dist/services/skill-loader.service.js.map +1 -1
  54. package/dist/services/structured-content.service.d.ts +38 -0
  55. package/dist/services/structured-content.service.d.ts.map +1 -0
  56. package/dist/services/structured-content.service.js +44 -0
  57. package/dist/services/structured-content.service.js.map +1 -0
  58. package/dist/services/system-prompt.service.d.ts +17 -0
  59. package/dist/services/system-prompt.service.d.ts.map +1 -0
  60. package/dist/services/system-prompt.service.js +72 -0
  61. package/dist/services/system-prompt.service.js.map +1 -0
  62. package/dist/stdio.js +26 -381
  63. package/dist/stdio.js.map +1 -1
  64. package/dist/tests/skill-loader.test.js +2 -0
  65. package/dist/tests/skill-loader.test.js.map +1 -1
  66. package/dist/tests/v52-integration.test.d.ts +14 -0
  67. package/dist/tests/v52-integration.test.d.ts.map +1 -0
  68. package/dist/tests/v52-integration.test.js +223 -0
  69. package/dist/tests/v52-integration.test.js.map +1 -0
  70. package/dist/tools/consolidated/analisar.d.ts.map +1 -1
  71. package/dist/tools/consolidated/analisar.js +21 -5
  72. package/dist/tools/consolidated/analisar.js.map +1 -1
  73. package/dist/tools/consolidated/avancar.d.ts.map +1 -1
  74. package/dist/tools/consolidated/avancar.js +13 -18
  75. package/dist/tools/consolidated/avancar.js.map +1 -1
  76. package/dist/tools/consolidated/checkpoint-tool.d.ts.map +1 -1
  77. package/dist/tools/consolidated/checkpoint-tool.js +4 -12
  78. package/dist/tools/consolidated/checkpoint-tool.js.map +1 -1
  79. package/dist/tools/consolidated/executar.d.ts +119 -0
  80. package/dist/tools/consolidated/executar.d.ts.map +1 -0
  81. package/dist/tools/consolidated/executar.js +155 -0
  82. package/dist/tools/consolidated/executar.js.map +1 -0
  83. package/dist/tools/consolidated/validar.d.ts.map +1 -1
  84. package/dist/tools/consolidated/validar.js +2 -4
  85. package/dist/tools/consolidated/validar.js.map +1 -1
  86. package/dist/tools/contexto.d.ts.map +1 -1
  87. package/dist/tools/contexto.js +22 -33
  88. package/dist/tools/contexto.js.map +1 -1
  89. package/dist/tools/discovery.d.ts.map +1 -1
  90. package/dist/tools/discovery.js +26 -5
  91. package/dist/tools/discovery.js.map +1 -1
  92. package/dist/tools/index.d.ts +4 -3
  93. package/dist/tools/index.d.ts.map +1 -1
  94. package/dist/tools/index.js +1 -369
  95. package/dist/tools/index.js.map +1 -1
  96. package/dist/tools/maestro-tool.d.ts.map +1 -1
  97. package/dist/tools/maestro-tool.js +83 -76
  98. package/dist/tools/maestro-tool.js.map +1 -1
  99. package/dist/tools/salvar.d.ts.map +1 -1
  100. package/dist/tools/salvar.js +16 -38
  101. package/dist/tools/salvar.js.map +1 -1
  102. package/dist/tools/status.d.ts.map +1 -1
  103. package/dist/tools/status.js +27 -32
  104. package/dist/tools/status.js.map +1 -1
  105. package/dist/types/index.d.ts +11 -5
  106. package/dist/types/index.d.ts.map +1 -1
  107. package/dist/types/index.js.map +1 -1
  108. package/dist/utils/resource-links.d.ts +44 -0
  109. package/dist/utils/resource-links.d.ts.map +1 -0
  110. package/dist/utils/resource-links.js +84 -0
  111. package/dist/utils/resource-links.js.map +1 -0
  112. package/dist/utils/response-formatter.d.ts +113 -0
  113. package/dist/utils/response-formatter.d.ts.map +1 -0
  114. package/dist/utils/response-formatter.js +185 -0
  115. package/dist/utils/response-formatter.js.map +1 -0
  116. package/package.json +3 -2
package/dist/stdio.js CHANGED
@@ -14,17 +14,16 @@
14
14
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
15
15
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
16
16
  import { ListResourcesRequestSchema, ReadResourceRequestSchema, ListToolsRequestSchema, CallToolRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
17
- import { listarEspecialistas, listarTemplates, listarGuias, lerEspecialista, lerTemplate, lerGuia, lerPrompt, setProjectDirectory, } from "./utils/files.js";
17
+ import { setProjectDirectory } from "./utils/files.js";
18
18
  import { routeToolCall, getRegisteredTools, getToolCount } from "./router.js";
19
- import { ContentResolverService } from "./services/content-resolver.service.js";
20
- import { SkillLoaderService } from "./services/skill-loader.service.js";
21
- import { createStateService } from "./services/state.service.js";
22
- import { getSpecialistPersona } from "./services/specialist.service.js";
23
- import { getFaseComStitch } from "./flows/types.js";
19
+ import { MAESTRO_NAME, MAESTRO_VERSION } from "./constants.js";
20
+ import { captureClientCapabilities } from "./services/client-capabilities.service.js";
21
+ import { listPrompts, getPrompt } from "./handlers/shared-prompt-handler.js";
22
+ import { listResources, readResource } from "./handlers/shared-resource-handler.js";
24
23
  // Criar servidor MCP
25
24
  const server = new Server({
26
- name: "mcp-maestro",
27
- version: "5.0.0",
25
+ name: MAESTRO_NAME,
26
+ version: MAESTRO_VERSION,
28
27
  }, {
29
28
  capabilities: {
30
29
  resources: {},
@@ -32,389 +31,24 @@ const server = new Server({
32
31
  prompts: {},
33
32
  },
34
33
  });
35
- // ==================== RESOURCES (v5: Skills expandidas) ====================
34
+ // ==================== RESOURCES (v5.2: Handler compartilhado) ====================
36
35
  server.setRequestHandler(ListResourcesRequestSchema, async () => {
37
- const especialistas = await listarEspecialistas();
38
- const templates = await listarTemplates();
39
- const guias = await listarGuias();
40
- // v5: Listar skills como resources estruturados
41
- const contentResolver = new ContentResolverService(projectsDir);
42
- const skills = await contentResolver.listAvailableSkills();
43
- const skillResources = [];
44
- for (const skillName of skills) {
45
- // SKILL.md principal
46
- skillResources.push({
47
- uri: `maestro://skills/${skillName}/SKILL.md`,
48
- name: `Skill: ${skillName}`,
49
- mimeType: "text/markdown",
50
- });
51
- // Templates da skill
52
- const skillTemplates = await contentResolver.listSkillResources(skillName, "templates");
53
- for (const t of skillTemplates) {
54
- skillResources.push({
55
- uri: `maestro://skills/${skillName}/templates/${t}`,
56
- name: `${skillName} Template: ${t}`,
57
- mimeType: "text/markdown",
58
- });
59
- }
60
- // Checklists da skill
61
- const checklists = await contentResolver.listSkillResources(skillName, "checklists");
62
- for (const c of checklists) {
63
- skillResources.push({
64
- uri: `maestro://skills/${skillName}/checklists/${c}`,
65
- name: `${skillName} Checklist: ${c}`,
66
- mimeType: "text/markdown",
67
- });
68
- }
69
- }
70
- return {
71
- resources: [
72
- // v5: Skills estruturadas (prioridade)
73
- ...skillResources,
74
- // Legacy: especialistas, templates, guias
75
- ...especialistas.map((e) => ({
76
- uri: `maestro://especialista/${encodeURIComponent(e)}`,
77
- name: `Especialista: ${e}`,
78
- mimeType: "text/markdown",
79
- })),
80
- ...templates.map((t) => ({
81
- uri: `maestro://template/${encodeURIComponent(t)}`,
82
- name: `Template: ${t}`,
83
- mimeType: "text/markdown",
84
- })),
85
- ...guias.map((g) => ({
86
- uri: `maestro://guia/${encodeURIComponent(g)}`,
87
- name: `Guia: ${g}`,
88
- mimeType: "text/markdown",
89
- })),
90
- {
91
- uri: "maestro://system-prompt",
92
- name: "System Prompt",
93
- mimeType: "text/markdown",
94
- },
95
- ],
96
- };
36
+ return await listResources({ projectDir: projectsDir, includeSkills: true });
97
37
  });
98
38
  server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
99
39
  const { uri } = request.params;
100
- // v5: Skills como resources
101
- if (uri.startsWith("maestro://skills/")) {
102
- const path = uri.replace("maestro://skills/", "");
103
- const parts = path.split("/");
104
- const skillName = parts[0];
105
- const contentResolver = new ContentResolverService(projectsDir);
106
- if (parts.length === 2 && parts[1] === "SKILL.md") {
107
- // maestro://skills/{skill}/SKILL.md
108
- const content = await contentResolver.readSkillFile(skillName, "SKILL.md");
109
- if (!content)
110
- throw new Error(`SKILL.md não encontrado: ${skillName}`);
111
- return { contents: [{ uri, mimeType: "text/markdown", text: content }] };
112
- }
113
- if (parts.length === 3) {
114
- // maestro://skills/{skill}/{tipo}/{arquivo}
115
- const tipo = parts[1];
116
- const arquivo = parts[2];
117
- const content = await contentResolver.readSkillResource(skillName, tipo, arquivo);
118
- if (!content)
119
- throw new Error(`Resource não encontrado: ${uri}`);
120
- return { contents: [{ uri, mimeType: "text/markdown", text: content }] };
121
- }
122
- }
123
- // Legacy: especialistas
124
- if (uri.startsWith("maestro://especialista/")) {
125
- const nome = decodeURIComponent(uri.replace("maestro://especialista/", ""));
126
- const conteudo = await lerEspecialista(nome);
127
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
128
- }
129
- if (uri.startsWith("maestro://template/")) {
130
- const nome = decodeURIComponent(uri.replace("maestro://template/", ""));
131
- const conteudo = await lerTemplate(nome);
132
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
133
- }
134
- if (uri.startsWith("maestro://guia/")) {
135
- const nome = decodeURIComponent(uri.replace("maestro://guia/", ""));
136
- const conteudo = await lerGuia(nome);
137
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
138
- }
139
- if (uri.startsWith("maestro://prompt/")) {
140
- const path = uri.replace("maestro://prompt/", "");
141
- const [categoria, nome] = path.split("/");
142
- const conteudo = await lerPrompt(decodeURIComponent(categoria), decodeURIComponent(nome));
143
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
144
- }
145
- if (uri === "maestro://system-prompt") {
146
- const conteudo = `# Maestro v5 — Instruções para IA
147
-
148
- Você está usando o Maestro v5, um orquestrador de desenvolvimento assistido por IA.
149
-
150
- ## Modo Híbrido (v5)
151
-
152
- O Maestro v5 opera em modo híbrido:
153
- - **Estado carregado automaticamente** de .maestro/estado.json (não precisa passar como parâmetro)
154
- - **Skills injetadas ativamente** nas respostas das tools (não precisa ler manualmente)
155
- - **Persistência automática** — o MCP salva estado e arquivos diretamente
156
- - **Fallback stateless** — estado_json como parâmetro ainda aceito para compatibilidade
157
-
158
- ## Comportamentos Automáticos
159
-
160
- Quando o usuário disser "próximo", "avançar", "terminei" ou "pronto":
161
- 1. Chame \`avancar(diretorio: "<path>")\`
162
- 2. O Maestro detecta contexto automaticamente
163
- 3. O contexto do especialista já vem incluído na resposta
164
- 4. Siga as instruções do especialista e template retornados
165
-
166
- ## Tools Disponíveis (v5 Consolidadas)
167
-
168
- | Tool | Descrição |
169
- |------|-----------|
170
- | \`maestro(diretorio)\` | Entry point inteligente — detecta contexto e guia |
171
- | \`avancar(diretorio, entregavel?)\` | Avança fase (onboarding ou desenvolvimento) |
172
- | \`status(diretorio)\` | Status completo do projeto |
173
- | \`validar(diretorio, tipo?)\` | Valida gate, entregável ou compliance |
174
- | \`contexto(diretorio)\` | Contexto acumulado (ADRs, padrões) |
175
- | \`salvar(diretorio, conteudo, tipo)\` | Salva rascunhos/anexos |
176
- | \`checkpoint(diretorio, acao)\` | Gerencia checkpoints e rollbacks |
177
- | \`analisar(diretorio, tipo?)\` | Análise de código (segurança, qualidade, etc.) |
178
-
179
- > **Nota:** Tools legadas (proximo, validar_gate, etc.) ainda funcionam para backward compatibility.
180
- `;
181
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
182
- }
183
- throw new Error(`Resource não encontrado: ${uri}`);
40
+ return await readResource(uri, { projectDir: projectsDir });
184
41
  });
185
- // ==================== PROMPTS (v5: System Prompt Automático) ====================
42
+ // ==================== PROMPTS (v5.2: Handler Compartilhado) ====================
186
43
  server.setRequestHandler(ListPromptsRequestSchema, async () => {
187
- return {
188
- prompts: [
189
- {
190
- name: "maestro-specialist",
191
- description: "Persona + instruções do especialista da fase atual do projeto",
192
- arguments: [
193
- {
194
- name: "diretorio",
195
- description: "Diretório do projeto",
196
- required: true,
197
- },
198
- ],
199
- },
200
- {
201
- name: "maestro-context",
202
- description: "Contexto completo do projeto para a sessão de trabalho",
203
- arguments: [
204
- {
205
- name: "diretorio",
206
- description: "Diretório do projeto",
207
- required: true,
208
- },
209
- ],
210
- },
211
- {
212
- name: "maestro-template",
213
- description: "Template do entregável esperado para a fase atual",
214
- arguments: [
215
- {
216
- name: "diretorio",
217
- description: "Diretório do projeto",
218
- required: true,
219
- },
220
- ],
221
- },
222
- ],
223
- };
44
+ return listPrompts();
224
45
  });
225
46
  server.setRequestHandler(GetPromptRequestSchema, async (request) => {
226
47
  const { name, arguments: promptArgs } = request.params;
227
48
  const diretorio = promptArgs?.diretorio || projectsDir;
228
- if (name === "maestro-specialist") {
229
- return await buildSpecialistPrompt(diretorio);
230
- }
231
- if (name === "maestro-context") {
232
- return await buildContextPrompt(diretorio);
233
- }
234
- if (name === "maestro-template") {
235
- return await buildTemplatePrompt(diretorio);
236
- }
237
- throw new Error(`Prompt não encontrado: ${name}`);
49
+ return await getPrompt(name, diretorio);
238
50
  });
239
- /**
240
- * Constrói prompt dinâmico do especialista da fase atual.
241
- */
242
- async function buildSpecialistPrompt(diretorio) {
243
- const stateService = createStateService(diretorio);
244
- const estado = await stateService.load();
245
- if (!estado) {
246
- return {
247
- description: "Nenhum projeto encontrado",
248
- messages: [{
249
- role: "user",
250
- content: { type: "text", text: "Nenhum projeto ativo neste diretório. Use `maestro(diretorio)` para começar." },
251
- }],
252
- };
253
- }
254
- const faseInfo = getFaseComStitch(estado.nivel, estado.fase_atual, estado.usar_stitch);
255
- if (!faseInfo) {
256
- return {
257
- description: `Projeto: ${estado.nome}`,
258
- messages: [{
259
- role: "user",
260
- content: { type: "text", text: `Projeto ${estado.nome} — fase ${estado.fase_atual} não encontrada no fluxo.` },
261
- }],
262
- };
263
- }
264
- const mode = (estado.config?.mode || "balanced");
265
- const contentResolver = new ContentResolverService(diretorio);
266
- const skillLoader = new SkillLoaderService(contentResolver);
267
- try {
268
- const contextPkg = await skillLoader.loadForPhase(faseInfo.nome, mode);
269
- if (contextPkg) {
270
- return {
271
- description: `Especialista: ${contextPkg.specialist?.name || faseInfo.nome} — Fase ${estado.fase_atual}/${estado.total_fases}`,
272
- messages: [{
273
- role: "user",
274
- content: {
275
- type: "text",
276
- text: `# Especialista da Fase: ${faseInfo.nome}\n\n${skillLoader.formatAsMarkdown(contextPkg)}`,
277
- },
278
- }],
279
- };
280
- }
281
- }
282
- catch (error) {
283
- console.warn("[Prompt] Falha ao carregar skill:", error);
284
- }
285
- // Fallback: persona básica
286
- const specialist = getSpecialistPersona(faseInfo.nome);
287
- return {
288
- description: `Especialista: ${specialist?.name || faseInfo.nome}`,
289
- messages: [{
290
- role: "user",
291
- content: {
292
- type: "text",
293
- text: specialist
294
- ? `# ${specialist.name}\n\n**Tom:** ${specialist.tone}\n**Expertise:** ${specialist.expertise.join(", ")}\n**Instruções:** ${specialist.instructions}`
295
- : `Fase ${estado.fase_atual}: ${faseInfo.nome}`,
296
- },
297
- }],
298
- };
299
- }
300
- /**
301
- * Constrói prompt de contexto completo do projeto.
302
- */
303
- async function buildContextPrompt(diretorio) {
304
- const stateService = createStateService(diretorio);
305
- const estado = await stateService.load();
306
- if (!estado) {
307
- return {
308
- description: "Nenhum projeto encontrado",
309
- messages: [{
310
- role: "user",
311
- content: { type: "text", text: "Nenhum projeto ativo neste diretório." },
312
- }],
313
- };
314
- }
315
- const faseInfo = getFaseComStitch(estado.nivel, estado.fase_atual, estado.usar_stitch);
316
- const contextText = `# Contexto do Projeto: ${estado.nome}
317
-
318
- ## Estado
319
- | Campo | Valor |
320
- |-------|-------|
321
- | **Nível** | ${estado.nivel.toUpperCase()} |
322
- | **Fase Atual** | ${estado.fase_atual}/${estado.total_fases} — ${faseInfo?.nome || "N/A"} |
323
- | **Gates Validados** | ${estado.gates_validados?.join(", ") || "nenhum"} |
324
-
325
- ## Entregáveis Salvos
326
- ${Object.entries(estado.entregaveis || {}).map(([k, v]) => `- **${k}:** ${v}`).join("\n") || "Nenhum ainda."}
327
-
328
- ## Próximo Passo
329
- Trabalhe com o especialista **${faseInfo?.especialista || "N/A"}** para gerar: **${faseInfo?.entregavel_esperado || "N/A"}**
330
- `;
331
- return {
332
- description: `Projeto: ${estado.nome} — Fase ${estado.fase_atual}/${estado.total_fases}`,
333
- messages: [{
334
- role: "user",
335
- content: { type: "text", text: contextText },
336
- }],
337
- };
338
- }
339
- /**
340
- * Constrói prompt do template da fase atual.
341
- */
342
- async function buildTemplatePrompt(diretorio) {
343
- const stateService = createStateService(diretorio);
344
- const estado = await stateService.load();
345
- if (!estado) {
346
- return {
347
- description: "Nenhum projeto encontrado",
348
- messages: [{
349
- role: "user",
350
- content: { type: "text", text: "Nenhum projeto ativo neste diretório." },
351
- }],
352
- };
353
- }
354
- const faseInfo = getFaseComStitch(estado.nivel, estado.fase_atual, estado.usar_stitch);
355
- if (!faseInfo) {
356
- return {
357
- description: `Projeto: ${estado.nome}`,
358
- messages: [{
359
- role: "user",
360
- content: { type: "text", text: `Projeto ${estado.nome} — fase ${estado.fase_atual} não encontrada.` },
361
- }],
362
- };
363
- }
364
- const contentResolver = new ContentResolverService(diretorio);
365
- const skillLoader = new SkillLoaderService(contentResolver);
366
- try {
367
- const templateContent = await skillLoader.loadTemplate(faseInfo.nome);
368
- if (templateContent) {
369
- return {
370
- description: `Template: ${faseInfo.entregavel_esperado || faseInfo.nome}`,
371
- messages: [{
372
- role: "user",
373
- content: {
374
- type: "text",
375
- text: `# Template do Entregável: ${faseInfo.entregavel_esperado || faseInfo.nome}
376
-
377
- ## Fase ${estado.fase_atual}/${estado.total_fases}: ${faseInfo.nome}
378
-
379
- Use este template como base para gerar o entregável:
380
-
381
- ---
382
-
383
- ${templateContent}
384
-
385
- ---
386
-
387
- > 💡 Dica: Preencha todas as seções marcadas com [...] ou indicadores de conteúdo.`,
388
- },
389
- }],
390
- };
391
- }
392
- }
393
- catch (error) {
394
- console.warn("[Prompt] Falha ao carregar template:", error);
395
- }
396
- // Fallback: estrutura básica
397
- return {
398
- description: `Template: ${faseInfo.entregavel_esperado || faseInfo.nome}`,
399
- messages: [{
400
- role: "user",
401
- content: {
402
- type: "text",
403
- text: `# Template do Entregável: ${faseInfo.entregavel_esperado || faseInfo.nome}
404
-
405
- ## Fase ${estado.fase_atual}/${estado.total_fases}: ${faseInfo.nome}
406
-
407
- ### Estrutura Esperada
408
-
409
- ${faseInfo.gate_checklist.map((item, i) => `${i + 1}. ${item}`).join("\n")}
410
-
411
- ---
412
-
413
- > ℹ️ Template específico não disponível. Use a lista acima como guia.`,
414
- },
415
- }],
416
- };
417
- }
51
+ // v5.2: Funções de prompt movidas para handlers/shared-prompt-handler.ts
418
52
  // ==================== TOOLS (via Router Centralizado) ====================
419
53
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
420
54
  tools: getRegisteredTools(),
@@ -429,10 +63,21 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
429
63
  const projectsDir = process.argv[2] || process.cwd();
430
64
  // Configurar diretório padrão para as tools
431
65
  setProjectDirectory(projectsDir);
66
+ // v5.2: Capturar capabilities do client após handshake STDIO
67
+ server.oninitialized = () => {
68
+ const clientCaps = server.getClientCapabilities();
69
+ const clientVersion = server.getClientVersion();
70
+ captureClientCapabilities({
71
+ capabilities: clientCaps || {},
72
+ clientInfo: clientVersion || {},
73
+ protocolVersion: "2025-03-26",
74
+ });
75
+ console.error(`[STDIO] Client detectado: ${clientVersion?.name || "unknown"} v${clientVersion?.version || "?"}`);
76
+ };
432
77
  async function main() {
433
78
  const transport = new StdioServerTransport();
434
79
  await server.connect(transport);
435
- console.error(`MCP Maestro v5 (stdio) iniciado — ${getToolCount()} tools públicas`);
80
+ console.error(`MCP Maestro v${MAESTRO_VERSION} (stdio) iniciado — ${getToolCount()} tools públicas`);
436
81
  console.error(`Diretório de projetos: ${projectsDir}`);
437
82
  }
438
83
  main().catch(console.error);
package/dist/stdio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { describe, it, expect, beforeEach, vi } from 'vitest';
5
5
  import { SkillLoaderService } from '../services/skill-loader.service.js';
6
+ import { invalidateCache } from '../services/skill-cache.service.js';
6
7
  // Mock ContentResolverService
7
8
  vi.mock('../services/content-resolver.service.js');
8
9
  // Mock prompt-mapper
@@ -113,6 +114,7 @@ describe('SkillLoaderService', () => {
113
114
  let mockResolver;
114
115
  beforeEach(() => {
115
116
  vi.clearAllMocks();
117
+ invalidateCache();
116
118
  mockResolver = {
117
119
  readSkillFile: vi.fn(),
118
120
  readFirstTemplate: vi.fn(),
@@ -1 +1 @@
1
- {"version":3,"file":"skill-loader.test.js","sourceRoot":"","sources":["../../src/tests/skill-loader.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-loader.test.js","sourceRoot":"","sources":["../../src/tests/skill-loader.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Testes unitários para módulos integrados na v5.2
3
+ *
4
+ * Cobre:
5
+ * - skill-cache.service (A.3)
6
+ * - structured-content.service (A.8)
7
+ * - annotations-fallback.service (A.7)
8
+ * - response-formatter (A.6)
9
+ * - client-capabilities.service (A.5)
10
+ * - elicitation-fallback.service (A.7)
11
+ * - sampling-fallback.service (A.7)
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=v52-integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v52-integration.test.d.ts","sourceRoot":"","sources":["../../src/tests/v52-integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}