@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/index.js CHANGED
@@ -25,7 +25,7 @@ app.get("/health", (req, res) => {
25
25
  res.json({
26
26
  status: "ok",
27
27
  server: "mcp-maestro",
28
- version: "3.0.0",
28
+ version: MAESTRO_VERSION,
29
29
  sessions: sessions.size,
30
30
  });
31
31
  });
@@ -35,7 +35,7 @@ app.get("/health", (req, res) => {
35
35
  app.get("/", (req, res) => {
36
36
  res.json({
37
37
  name: "MCP Maestro",
38
- version: "3.0.0",
38
+ version: MAESTRO_VERSION,
39
39
  description: "Model Context Protocol server for Maestro development guide",
40
40
  endpoints: {
41
41
  health: "GET /health",
@@ -94,7 +94,7 @@ app.get("/mcp", (req, res) => {
94
94
  // Não é SSE, retornar info do endpoint
95
95
  res.json({
96
96
  name: "MCP Maestro",
97
- version: "3.0.0",
97
+ version: MAESTRO_VERSION,
98
98
  transport: "streamable-http",
99
99
  endpoints: {
100
100
  sse: "GET /mcp (Accept: text/event-stream)",
@@ -252,13 +252,26 @@ async function handleMcpRequest(request) {
252
252
  break;
253
253
  }
254
254
  case "initialize": {
255
+ // Capturar capabilities do client
256
+ if (params) {
257
+ captureClientCapabilities(params);
258
+ }
255
259
  result = {
256
- protocolVersion: "2024-11-05",
257
- serverInfo: { name: "mcp-maestro", version: "4.0.0" },
260
+ protocolVersion: SUPPORTED_PROTOCOL_VERSION,
261
+ serverInfo: { name: MAESTRO_NAME, version: MAESTRO_VERSION },
258
262
  capabilities: { resources: {}, tools: {}, prompts: {} },
259
263
  };
260
264
  break;
261
265
  }
266
+ case "prompts/list": {
267
+ result = await getPromptsList();
268
+ break;
269
+ }
270
+ case "prompts/get": {
271
+ const { name: promptName, arguments: promptArgs } = params;
272
+ result = await getPromptContent(promptName, promptArgs);
273
+ break;
274
+ }
262
275
  default:
263
276
  return {
264
277
  jsonrpc: "2.0",
@@ -283,150 +296,17 @@ async function handleMcpRequest(request) {
283
296
  // ============================================
284
297
  // Implementações diretas (bypass do SDK transport)
285
298
  // ============================================
286
- import { lerEspecialista, lerTemplate, lerGuia, lerPrompt, } from "./utils/files.js";
299
+ import { MAESTRO_NAME, MAESTRO_VERSION, SUPPORTED_PROTOCOL_VERSION } from "./constants.js";
300
+ import { captureClientCapabilities } from "./services/client-capabilities.service.js";
287
301
  import { routeToolCall, getRegisteredTools } from "./router.js";
288
- // Gera documentação de uma tool a partir do registry do router
289
- function getToolDocumentation(toolName) {
290
- const tools = getRegisteredTools();
291
- const tool = tools.find(t => t.name === toolName);
292
- if (!tool)
293
- return `Tool não encontrada: ${toolName}`;
294
- return `## 🎯 ${tool.name}
295
-
296
- ${tool.description}
297
-
298
- ---
299
- **AÇÃO REQUERIDA**: Execute a tool acima com os parâmetros necessários.
300
- `;
301
- }
302
+ import { listResources as sharedListResources, readResource as sharedReadResource } from "./handlers/shared-resource-handler.js";
303
+ import { listPrompts as sharedListPrompts, getPrompt as sharedGetPrompt } from "./handlers/shared-prompt-handler.js";
304
+ // v5.2: Usa handler compartilhado para resources (elimina duplicação)
302
305
  async function getResourcesList() {
303
- // Expõe as tools registradas no router como resources no seletor @mcp:maestro:
304
- // Especialistas, templates e guias continuam acessíveis via URI direta
305
- const tools = getRegisteredTools();
306
- return {
307
- resources: tools.map((t) => ({
308
- uri: `maestro://tool/${t.name}`,
309
- name: t.name,
310
- description: t.description,
311
- mimeType: "text/markdown",
312
- })),
313
- };
306
+ return await sharedListResources();
314
307
  }
315
308
  async function getResourceContent(uri) {
316
- // Handler para tools (exibidas no seletor @mcp:maestro:)
317
- if (uri.startsWith("maestro://tool/")) {
318
- const toolName = uri.replace("maestro://tool/", "");
319
- const conteudo = getToolDocumentation(toolName);
320
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
321
- }
322
- // Handlers para recursos internos (acessíveis via URI direta pela IA)
323
- if (uri.startsWith("maestro://especialista/")) {
324
- const nome = decodeURIComponent(uri.replace("maestro://especialista/", ""));
325
- const conteudo = await lerEspecialista(nome);
326
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
327
- }
328
- if (uri.startsWith("maestro://template/")) {
329
- const nome = decodeURIComponent(uri.replace("maestro://template/", ""));
330
- const conteudo = await lerTemplate(nome);
331
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
332
- }
333
- if (uri.startsWith("maestro://guia/")) {
334
- const nome = decodeURIComponent(uri.replace("maestro://guia/", ""));
335
- const conteudo = await lerGuia(nome);
336
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
337
- }
338
- if (uri.startsWith("maestro://prompt/")) {
339
- const path = uri.replace("maestro://prompt/", "");
340
- const [categoria, nome] = path.split("/");
341
- const conteudo = await lerPrompt(decodeURIComponent(categoria), decodeURIComponent(nome));
342
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
343
- }
344
- if (uri === "maestro://system-prompt") {
345
- const conteudo = `# Maestro - Instruções OBRIGATÓRIAS para IA
346
-
347
- ## 🚫 REGRAS ABSOLUTAS (VIOLAÇÃO = FALHA)
348
-
349
- 1. **NUNCA chame \`aprovar_gate\`** - Esta tool é EXCLUSIVA do usuário humano
350
- 2. **NUNCA gere entregáveis SEM LER o especialista e template ANTES**
351
- 3. **NUNCA avance sem confirmação EXPLÍCITA do usuário** ("sim", "pode", "avançar")
352
- 4. **NUNCA passe entregáveis vazios ou incompletos** para \`proximo()\`
353
- 5. **NUNCA pule a leitura de recursos** - é OBRIGATÓRIO para cada fase
354
-
355
- ---
356
-
357
- ## 📚 LEITURA OBRIGATÓRIA DE RECURSOS
358
-
359
- Para CADA fase, você DEVE executar estes comandos ANTES de gerar qualquer conteúdo:
360
-
361
- \`\`\`
362
- // 1. Ler o especialista da fase
363
- read_resource("maestro://especialista/{nome}")
364
-
365
- // 2. Ler o template do entregável
366
- read_resource("maestro://template/{nome}")
367
- \`\`\`
368
-
369
- ### Recursos Disponíveis
370
-
371
- | Tipo | URI | Exemplo |
372
- |------|-----|---------|
373
- | Especialista | \`maestro://especialista/{nome}\` | \`maestro://especialista/Gestão de Produto\` |
374
- | Template | \`maestro://template/{nome}\` | \`maestro://template/PRD\` |
375
- | Guia | \`maestro://guia/{nome}\` | \`maestro://guia/Gates de Qualidade\` |
376
-
377
- > ⛔ **GERAR ENTREGÁVEL SEM LER RECURSOS = ERRO GRAVE**
378
-
379
- ---
380
-
381
- ## 🔄 FLUXO OBRIGATÓRIO DE AVANÇO
382
-
383
- 1. Chamar \`status()\` para ver fase atual
384
- 2. **LER especialista** da fase → OBRIGATÓRIO
385
- 3. **LER template** da fase → OBRIGATÓRIO
386
- 4. Fazer as perguntas obrigatórias do especialista ao usuário
387
- 5. Gerar entregável seguindo TODAS as seções do template
388
- 6. **Apresentar ao usuário** e perguntar: "Posso salvar e avançar?"
389
- 7. **Aguardar confirmação EXPLÍCITA** ("sim", "pode", "avançar")
390
- 8. Chamar \`proximo(entregavel)\`
391
- 9. Se bloqueado (score < 70): PARAR e informar ao usuário
392
- 10. Repetir para próxima fase
393
-
394
- ---
395
-
396
- ## 🔐 Sistema de Proteção de Gates
397
-
398
- - **Score >= 70**: Aprovado automaticamente
399
- - **Score 50-69**: BLOQUEADO → Aguardar decisão do usuário
400
- - **Score < 50**: Rejeitado → Corrigir e tentar novamente
401
- - **Entregável < 200 chars**: BLOQUEADO → Desenvolver conteúdo
402
-
403
- Quando bloqueado:
404
- - A IA deve INFORMAR o usuário sobre o bloqueio
405
- - A IA deve AGUARDAR o usuário decidir
406
- - A IA NÃO pode chamar \`aprovar_gate\` por conta própria
407
-
408
- ---
409
-
410
- ## Tools Disponíveis
411
-
412
- ### Core
413
- - \`iniciar_projeto\` - Inicia novo projeto
414
- - \`carregar_projeto\` - Carrega projeto existente
415
- - \`proximo\` - Salva entregável e avança fase
416
- - \`status\` - Retorna estado atual
417
- - \`validar_gate\` - Valida checklist da fase
418
-
419
- ### 🔐 Exclusivo do Usuário
420
- - \`aprovar_gate\` - ⛔ IA NÃO PODE USAR
421
-
422
- ### Auxiliares
423
- - \`classificar\` - Reclassifica complexidade
424
- - \`contexto\` - Retorna contexto acumulado
425
- - \`salvar\` - Salva rascunhos/anexos
426
- `;
427
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
428
- }
429
- throw new Error(`Resource não encontrado: ${uri}`);
309
+ return await sharedReadResource(uri);
430
310
  }
431
311
  async function getToolsList() {
432
312
  return { tools: getRegisteredTools() };
@@ -434,13 +314,21 @@ async function getToolsList() {
434
314
  async function callTool(name, args) {
435
315
  return await routeToolCall(name, args || {});
436
316
  }
317
+ // v5.2: Usa handler compartilhado para prompts (elimina duplicação)
318
+ async function getPromptsList() {
319
+ return sharedListPrompts();
320
+ }
321
+ async function getPromptContent(name, args) {
322
+ const diretorio = args?.diretorio || process.cwd();
323
+ return await sharedGetPrompt(name, diretorio);
324
+ }
437
325
  // ============================================
438
326
  // Iniciar servidor
439
327
  // ============================================
440
328
  app.listen(PORT, () => {
441
329
  console.log(`
442
330
  ╔═══════════════════════════════════════════════════════════╗
443
- ║ MCP MAESTRO v3.0.0
331
+ ║ MCP MAESTRO v${MAESTRO_VERSION}
444
332
  ╠═══════════════════════════════════════════════════════════╣
445
333
  ║ 🚀 Server running on http://localhost:${PORT} ║
446
334
  ║ ║
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,12 @@ export declare function applyMiddlewares(toolName: string, handler: ToolHandler)
28
28
  * Útil para tools que já fazem injeção ativa internamente (proximo, maestro).
29
29
  */
30
30
  export declare function applyLightMiddlewares(toolName: string, handler: ToolHandler): ToolHandler;
31
+ /**
32
+ * Aplica middlewares inteligentes: estado + skill injection condicional.
33
+ * v5.1: Injeta skill apenas quando o projeto está em fase de desenvolvimento (não onboarding).
34
+ * Substitui applyLightMiddlewares para tools que se beneficiam de skill injection.
35
+ */
36
+ export declare function applySmartMiddlewares(toolName: string, handler: ToolHandler): ToolHandler;
31
37
  /**
32
38
  * Aplica middlewares de persistência e estado (sem skill injection).
33
39
  * Útil para tools que não precisam de injeção de skills mas precisam de persistência.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAOrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAWpF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAKzF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAO/F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAOrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAWpF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAKzF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAOzF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAO/F"}
@@ -35,6 +35,14 @@ export function applyMiddlewares(toolName, handler) {
35
35
  export function applyLightMiddlewares(toolName, handler) {
36
36
  return withErrorHandling(toolName, withStateLoad(handler));
37
37
  }
38
+ /**
39
+ * Aplica middlewares inteligentes: estado + skill injection condicional.
40
+ * v5.1: Injeta skill apenas quando o projeto está em fase de desenvolvimento (não onboarding).
41
+ * Substitui applyLightMiddlewares para tools que se beneficiam de skill injection.
42
+ */
43
+ export function applySmartMiddlewares(toolName, handler) {
44
+ return withErrorHandling(toolName, withStateLoad(withSkillInjection(handler)));
45
+ }
38
46
  /**
39
47
  * Aplica middlewares de persistência e estado (sem skill injection).
40
48
  * Útil para tools que não precisam de injeção de skills mas precisam de persistência.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAoB;IACnE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,cAAc,CACV,eAAe,CACX,kBAAkB,CAAC,OAAO,CAAC,CAC9B,CACJ,CACJ,CACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAoB;IACxE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CAAC,OAAO,CAAC,CACzB,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAgB,EAAE,OAAoB;IAC9E,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,eAAe,CAAC,OAAO,CAAC,CAC3B,CACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAoB;IACnE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,cAAc,CACV,eAAe,CACX,kBAAkB,CAAC,OAAO,CAAC,CAC9B,CACJ,CACJ,CACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAoB;IACxE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CAAC,OAAO,CAAC,CACzB,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAoB;IACxE,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,kBAAkB,CAAC,OAAO,CAAC,CAC9B,CACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAgB,EAAE,OAAoB;IAC9E,OAAO,iBAAiB,CACpB,QAAQ,EACR,aAAa,CACT,eAAe,CAAC,OAAO,CAAC,CAC3B,CACJ,CAAC;AACN,CAAC"}
@@ -1,6 +1,8 @@
1
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
1
  /**
3
- * Registra handlers de resources no servidor MCP
2
+ * @deprecated v5.2 CÓDIGO MORTO. Removido na v5.2.
3
+ * Resources são gerenciados por handlers/shared-resource-handler.ts,
4
+ * chamado diretamente por stdio.ts e index.ts.
5
+ * Este arquivo existe apenas para evitar erros de compilação em referências residuais.
4
6
  */
5
- export declare function registerResources(server: Server): void;
7
+ export {};
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAwFnE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,QAyG/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC"}
@@ -1,166 +1,2 @@
1
- import { ListResourcesRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
2
- import { listarEspecialistas, listarTemplates, listarGuias, listarExemplos, lerEspecialista, lerTemplate, lerGuia, lerPrompt, lerExemplo, getProjectDirectory, } from "../utils/files.js";
3
- /**
4
- * Gera o system prompt com instruções para a IA
5
- */
6
- async function gerarSystemPrompt() {
7
- return `# Maestro - Instruções OBRIGATÓRIAS para IA
8
-
9
- ## 📦 PRÉ-REQUISITO: Configuração Local
10
-
11
- Antes de usar qualquer tool do Maestro, verifique se o projeto foi configurado:
12
-
13
- \`\`\`bash
14
- npx @maestro-ai/cli
15
- \`\`\`
16
-
17
- Este comando injeta especialistas, templates e prompts localmente no projeto.
18
- **Se a pasta \`.maestro/content/\` não existir, ORIENTE O USUÁRIO a executar o npx acima.**
19
-
20
- ---
21
-
22
- ## 🚫 REGRAS ABSOLUTAS (VIOLAÇÃO = FALHA)
23
-
24
- 1. **NUNCA chame \`aprovar_gate\`** - Esta tool é EXCLUSIVA do usuário humano
25
- 2. **NUNCA gere entregáveis SEM LER o especialista e template ANTES**
26
- 3. **NUNCA avance sem confirmação EXPLÍCITA do usuário**
27
- 4. **NUNCA passe entregáveis vazios ou incompletos** para \`proximo()\`
28
-
29
- ---
30
-
31
- ## 📚 LEITURA OBRIGATÓRIA DE RECURSOS
32
-
33
- Para CADA fase, você DEVE executar ANTES de gerar conteúdo:
34
-
35
- \`\`\`
36
- read_resource("maestro://especialista/{nome}")
37
- read_resource("maestro://template/{nome}")
38
- \`\`\`
39
-
40
- > ⛔ **GERAR ENTREGÁVEL SEM LER RECURSOS = ERRO GRAVE**
41
-
42
- ---
43
-
44
- ## 🔄 FLUXO OBRIGATÓRIO
45
-
46
- 1. \`status()\` → ver fase atual
47
- 2. **LER especialista** → OBRIGATÓRIO
48
- 3. **LER template** → OBRIGATÓRIO
49
- 4. Perguntas do especialista ao usuário
50
- 5. Gerar entregável seguindo template
51
- 6. Apresentar e pedir confirmação
52
- 7. \`proximo(entregavel)\`
53
- 8. Se bloqueado: PARAR e informar
54
-
55
- ---
56
-
57
- ## 🔐 Proteção de Gates
58
-
59
- - Score >= 70: Aprovado
60
- - Score 50-69: BLOQUEADO → usuário decide
61
- - Score < 50: Rejeitado
62
- - Entregável < 200 chars: BLOQUEADO
63
-
64
- ## Tools
65
-
66
- - \`iniciar_projeto\`, \`proximo\`, \`status\`, \`validar_gate\`
67
- - \`aprovar_gate\` → ⛔ IA NÃO PODE USAR
68
- `;
69
- }
70
- /**
71
- * Registra handlers de resources no servidor MCP
72
- */
73
- export function registerResources(server) {
74
- // Listar resources disponíveis
75
- server.setRequestHandler(ListResourcesRequestSchema, async () => {
76
- // Usa diretório do projeto para priorizar content local (null -> undefined)
77
- const diretorio = getProjectDirectory() || undefined;
78
- const especialistas = await listarEspecialistas();
79
- const templates = await listarTemplates();
80
- const guias = await listarGuias();
81
- const exemplos = await listarExemplos();
82
- return {
83
- resources: [
84
- // Especialistas
85
- ...especialistas.map((e) => ({
86
- uri: `maestro://especialista/${encodeURIComponent(e)}`,
87
- name: `Especialista: ${e}`,
88
- mimeType: "text/markdown",
89
- description: `Especialista em ${e}`,
90
- })),
91
- // Templates
92
- ...templates.map((t) => ({
93
- uri: `maestro://template/${encodeURIComponent(t)}`,
94
- name: `Template: ${t}`,
95
- mimeType: "text/markdown",
96
- description: `Template de ${t}`,
97
- })),
98
- // Guias
99
- ...guias.map((g) => ({
100
- uri: `maestro://guia/${encodeURIComponent(g)}`,
101
- name: `Guia: ${g}`,
102
- mimeType: "text/markdown",
103
- description: `Guia de ${g}`,
104
- })),
105
- // Exemplos de Fluxo Completo
106
- ...exemplos.map((ex) => ({
107
- uri: `maestro://exemplo/${encodeURIComponent(ex)}`,
108
- name: `Exemplo: ${ex}`,
109
- mimeType: "text/markdown",
110
- description: `Exemplo de fluxo completo: ${ex}`,
111
- })),
112
- // System prompt
113
- {
114
- uri: "maestro://system-prompt",
115
- name: "System Prompt",
116
- mimeType: "text/markdown",
117
- description: "Instruções de comportamento para a IA",
118
- },
119
- ],
120
- };
121
- });
122
- // Ler resource específico
123
- server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
124
- const { uri } = request.params;
125
- // Usa diretório do projeto para priorizar content local (null -> undefined)
126
- const diretorio = getProjectDirectory() || undefined;
127
- // Especialista
128
- if (uri.startsWith("maestro://especialista/")) {
129
- const nome = decodeURIComponent(uri.replace("maestro://especialista/", ""));
130
- const conteudo = await lerEspecialista(nome);
131
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
132
- }
133
- // Template
134
- if (uri.startsWith("maestro://template/")) {
135
- const nome = decodeURIComponent(uri.replace("maestro://template/", ""));
136
- const conteudo = await lerTemplate(nome);
137
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
138
- }
139
- // Guia
140
- if (uri.startsWith("maestro://guia/")) {
141
- const nome = decodeURIComponent(uri.replace("maestro://guia/", ""));
142
- const conteudo = await lerGuia(nome);
143
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
144
- }
145
- // Prompt
146
- if (uri.startsWith("maestro://prompt/")) {
147
- const path = uri.replace("maestro://prompt/", "");
148
- const [categoria, nome] = path.split("/");
149
- const conteudo = await lerPrompt(decodeURIComponent(categoria), decodeURIComponent(nome));
150
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
151
- }
152
- // Exemplo de Fluxo Completo
153
- if (uri.startsWith("maestro://exemplo/")) {
154
- const nome = decodeURIComponent(uri.replace("maestro://exemplo/", ""));
155
- const conteudo = await lerExemplo(nome);
156
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
157
- }
158
- // System prompt
159
- if (uri === "maestro://system-prompt") {
160
- const conteudo = await gerarSystemPrompt();
161
- return { contents: [{ uri, mimeType: "text/markdown", text: conteudo }] };
162
- }
163
- throw new Error(`Resource não encontrado: ${uri}`);
164
- });
165
- }
1
+ export {};
166
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":""}
package/dist/router.d.ts CHANGED
@@ -10,11 +10,6 @@
10
10
  * - Middlewares aplicados automaticamente
11
11
  */
12
12
  import type { ToolResult } from "./types/index.js";
13
- /**
14
- * Executa uma tool pelo nome com os argumentos fornecidos.
15
- * Ponto ÚNICO de execução - usado por stdio.ts e index.ts.
16
- * Aceita TODAS as tools (public + legacy) para backward compatibility.
17
- */
18
13
  export declare function routeToolCall(name: string, rawArgs: Record<string, unknown>): Promise<ToolResult>;
19
14
  /**
20
15
  * Retorna lista de tools PÚBLICAS no formato MCP.
@@ -25,6 +20,7 @@ export declare function getRegisteredTools(): Array<{
25
20
  name: string;
26
21
  description: string;
27
22
  inputSchema: Record<string, unknown>;
23
+ outputSchema?: Record<string, unknown>;
28
24
  }>;
29
25
  /**
30
26
  * Retorna lista de TODAS as tools (public + legacy) no formato MCP.
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgbnD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBvG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAMvH;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAMhH;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAsgBnD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BvG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAO/J;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAMhH;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}