@maestro-ai/mcp-server 5.0.0 → 5.2.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 (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 +95 -77
  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 +1 -1
@@ -0,0 +1,223 @@
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
+ import { describe, it, expect, beforeEach } from "vitest";
14
+ // === skill-cache.service ===
15
+ import { getCached, setCache, invalidateCache, getCacheStats, } from "../services/skill-cache.service.js";
16
+ describe("skill-cache.service", () => {
17
+ beforeEach(() => {
18
+ invalidateCache();
19
+ });
20
+ it("retorna null para chave inexistente", () => {
21
+ expect(getCached("nao-existe")).toBeNull();
22
+ });
23
+ it("armazena e recupera valor", () => {
24
+ setCache("key1", "valor1");
25
+ expect(getCached("key1")).toBe("valor1");
26
+ });
27
+ it("invalida cache específico", () => {
28
+ setCache("key1", "valor1");
29
+ setCache("key2", "valor2");
30
+ invalidateCache("key1");
31
+ expect(getCached("key1")).toBeNull();
32
+ expect(getCached("key2")).toBe("valor2");
33
+ });
34
+ it("invalida todo o cache", () => {
35
+ setCache("key1", "valor1");
36
+ setCache("key2", "valor2");
37
+ invalidateCache();
38
+ expect(getCached("key1")).toBeNull();
39
+ expect(getCached("key2")).toBeNull();
40
+ });
41
+ it("retorna stats corretas", () => {
42
+ setCache("a", "1");
43
+ setCache("b", "2");
44
+ const stats = getCacheStats();
45
+ expect(stats.size).toBe(2);
46
+ expect(stats.keys).toContain("a");
47
+ expect(stats.keys).toContain("b");
48
+ });
49
+ });
50
+ // === structured-content.service ===
51
+ import { withStructuredContent, extractStructuredData, } from "../services/structured-content.service.js";
52
+ describe("structured-content.service", () => {
53
+ it("embute JSON como bloco markdown quando client não suporta", () => {
54
+ const text = [{ type: "text", text: "# Teste" }];
55
+ const data = { fase: 1, nome: "Produto" };
56
+ const result = withStructuredContent(text, data, "Dados");
57
+ // Sem suporte nativo, deve ter 2 blocos (original + JSON)
58
+ expect(result.content.length).toBe(2);
59
+ expect(result.content[1].text).toContain("```json");
60
+ expect(result.content[1].text).toContain('"fase": 1');
61
+ expect(result.structuredContent).toBeUndefined();
62
+ });
63
+ it("extractStructuredData retorna null sem structuredContent", () => {
64
+ expect(extractStructuredData({})).toBeNull();
65
+ });
66
+ it("extractStructuredData retorna dados quando presente", () => {
67
+ const data = { x: 1 };
68
+ const result = extractStructuredData({
69
+ structuredContent: { type: "json", json: data },
70
+ });
71
+ expect(result).toEqual(data);
72
+ });
73
+ });
74
+ // === annotations-fallback.service ===
75
+ import { annotateContent, forAssistantOnly, forUserOnly, } from "../services/annotations-fallback.service.js";
76
+ describe("annotations-fallback.service", () => {
77
+ it("forAssistantOnly adiciona annotation ou prefixo inline", () => {
78
+ const block = { type: "text", text: "Instruções secretas" };
79
+ const result = forAssistantOnly(block);
80
+ // Deve ter o texto original (possivelmente com prefixo)
81
+ expect(result.text).toContain("Instruções secretas");
82
+ expect(result.type).toBe("text");
83
+ });
84
+ it("forUserOnly adiciona annotation ou prefixo inline", () => {
85
+ const block = { type: "text", text: "Para o usuário" };
86
+ const result = forUserOnly(block);
87
+ expect(result.text).toContain("Para o usuário");
88
+ expect(result.type).toBe("text");
89
+ });
90
+ it("annotateContent processa bloco individual", () => {
91
+ const block = { type: "text", text: "Bloco 1" };
92
+ const result = annotateContent(block, { audience: ["user"], priority: 0.5 });
93
+ expect(result.type).toBe("text");
94
+ expect(result.text).toContain("Bloco 1");
95
+ });
96
+ });
97
+ // === response-formatter ===
98
+ import { formatResponse, formatError, embedAllMetadata, } from "../utils/response-formatter.js";
99
+ describe("response-formatter", () => {
100
+ it("formatResponse gera bloco com título e resumo", () => {
101
+ const blocks = formatResponse({
102
+ titulo: "Teste",
103
+ resumo: "Resumo do teste",
104
+ });
105
+ expect(blocks.length).toBeGreaterThanOrEqual(1);
106
+ expect(blocks[0].text).toContain("# Teste");
107
+ expect(blocks[0].text).toContain("Resumo do teste");
108
+ });
109
+ it("formatResponse inclui dados como tabela", () => {
110
+ const blocks = formatResponse({
111
+ titulo: "T",
112
+ resumo: "R",
113
+ dados: { Projeto: "Meu App", Fase: 3 },
114
+ });
115
+ const text = blocks.map(b => b.text).join("\n");
116
+ expect(text).toContain("Meu App");
117
+ expect(text).toContain("3");
118
+ });
119
+ it("formatResponse inclui alertas", () => {
120
+ const blocks = formatResponse({
121
+ titulo: "T",
122
+ resumo: "R",
123
+ alertas: ["Atenção!"],
124
+ });
125
+ const text = blocks.map(b => b.text).join("\n");
126
+ expect(text).toContain("⚠️ Atenção!");
127
+ });
128
+ it("formatResponse inclui próximo passo", () => {
129
+ const blocks = formatResponse({
130
+ titulo: "T",
131
+ resumo: "R",
132
+ proximo_passo: {
133
+ tool: "avancar",
134
+ descricao: "Avançar fase",
135
+ },
136
+ });
137
+ const text = blocks.map(b => b.text).join("\n");
138
+ expect(text).toContain("avancar");
139
+ expect(text).toContain("Avançar fase");
140
+ });
141
+ it("formatError gera bloco de erro", () => {
142
+ const blocks = formatError("status", "Algo deu errado", "Tente novamente");
143
+ expect(blocks.length).toBe(1);
144
+ expect(blocks[0].text).toContain("❌ Erro");
145
+ expect(blocks[0].text).toContain("status");
146
+ expect(blocks[0].text).toContain("Algo deu errado");
147
+ expect(blocks[0].text).toContain("Tente novamente");
148
+ });
149
+ it("embedAllMetadata embute specialist, progress e next_action", () => {
150
+ const base = [{ type: "text", text: "Base" }];
151
+ const result = embedAllMetadata(base, {
152
+ specialist: {
153
+ name: "Arquiteto",
154
+ tone: "Técnico",
155
+ expertise: ["Backend"],
156
+ instructions: "Foque em APIs",
157
+ },
158
+ progress: {
159
+ current_phase: "Arquitetura",
160
+ total_phases: 5,
161
+ completed_phases: 2,
162
+ percentage: 40,
163
+ },
164
+ next_action: {
165
+ tool: "avancar",
166
+ description: "Próxima fase",
167
+ args_template: {},
168
+ requires_user_input: false,
169
+ },
170
+ });
171
+ const text = result.map(b => b.text).join("\n");
172
+ expect(text).toContain("Arquiteto");
173
+ expect(text).toContain("40%");
174
+ expect(text).toContain("avancar");
175
+ });
176
+ });
177
+ // === client-capabilities.service ===
178
+ import { captureClientCapabilities, getClientCapabilities, clientSupports, } from "../services/client-capabilities.service.js";
179
+ describe("client-capabilities.service", () => {
180
+ it("captura e retorna capabilities", () => {
181
+ captureClientCapabilities({
182
+ capabilities: { sampling: {} },
183
+ clientInfo: { name: "windsurf", version: "1.0" },
184
+ protocolVersion: "2025-03-26",
185
+ });
186
+ const caps = getClientCapabilities();
187
+ expect(caps).toBeDefined();
188
+ expect(caps.clientName).toBe("windsurf");
189
+ expect(caps.hasSampling).toBe(true);
190
+ expect(caps.hasElicitation).toBe(false);
191
+ });
192
+ it("clientSupports retorna boolean", () => {
193
+ const result = clientSupports("hasSampling");
194
+ expect(typeof result).toBe("boolean");
195
+ });
196
+ });
197
+ // === elicitation-fallback.service ===
198
+ import { buildElicitation } from "../services/elicitation-fallback.service.js";
199
+ describe("elicitation-fallback.service", () => {
200
+ it("gera markdown fallback para questionário", () => {
201
+ const result = buildElicitation({
202
+ title: "Discovery",
203
+ description: "Coleta de dados",
204
+ fields: [
205
+ { name: "nome", label: "Nome do projeto", type: "text", required: true },
206
+ { name: "tipo", label: "Tipo", type: "select", options: ["web", "mobile"], required: false },
207
+ ],
208
+ });
209
+ expect(result.markdownFallback).toContain("Discovery");
210
+ expect(result.markdownFallback).toContain("Nome do projeto");
211
+ expect(typeof result.useNative).toBe("boolean");
212
+ });
213
+ });
214
+ // === sampling-fallback.service ===
215
+ import { buildCodeAnalysisFallback } from "../services/sampling-fallback.service.js";
216
+ describe("sampling-fallback.service", () => {
217
+ it("gera checklist de análise para código", () => {
218
+ const result = buildCodeAnalysisFallback("function hello() { return 'world'; }", "completo");
219
+ expect(typeof result).toBe("string");
220
+ expect(result.length).toBeGreaterThan(0);
221
+ });
222
+ });
223
+ //# sourceMappingURL=v52-integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v52-integration.test.js","sourceRoot":"","sources":["../../src/tests/v52-integration.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analisar.d.ts","sourceRoot":"","sources":["../../../src/tools/consolidated/analisar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOvD,UAAU,YAAY;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,CAAC;IAC/E,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;CACrD;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAkDtE;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B1B,CAAC"}
1
+ {"version":3,"file":"analisar.d.ts","sourceRoot":"","sources":["../../../src/tools/consolidated/analisar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AASvD,UAAU,YAAY;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,CAAC;IAC/E,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;CACrD;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAgEtE;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B1B,CAAC"}
@@ -11,11 +11,13 @@
11
11
  *
12
12
  * Aceita parâmetro 'tipo' para determinar análise.
13
13
  */
14
+ import { formatError } from "../../utils/response-formatter.js";
14
15
  import { analisarSeguranca } from "../analise/seguranca.js";
15
16
  import { analisarQualidade } from "../analise/qualidade.js";
16
17
  import { analisarPerformance } from "../analise/performance.js";
17
18
  import { gerarRelatorio } from "../analise/relatorio.js";
18
19
  import { validateDependencies } from "../fase1/validation.tools.js";
20
+ import { buildCodeAnalysisFallback } from "../../services/sampling-fallback.service.js";
19
21
  /**
20
22
  * Tool: analisar
21
23
  * Entry point unificado para análises de código.
@@ -23,10 +25,7 @@ import { validateDependencies } from "../fase1/validation.tools.js";
23
25
  export async function analisar(args) {
24
26
  if (!args.diretorio) {
25
27
  return {
26
- content: [{
27
- type: "text",
28
- text: "❌ **Erro**: Parâmetro `diretorio` é obrigatório.",
29
- }],
28
+ content: formatError("analisar", "Parâmetro `diretorio` é obrigatório."),
30
29
  isError: true,
31
30
  };
32
31
  }
@@ -58,11 +57,28 @@ export async function analisar(args) {
58
57
  language: args.language,
59
58
  });
60
59
  case "completo":
61
- default:
60
+ default: {
61
+ // v5.2: Se código fornecido sem sampling, gerar checklist de self-analysis
62
+ if (args.code && args.code.trim().length > 0) {
63
+ const fallbackContent = buildCodeAnalysisFallback(args.code, "completo");
64
+ const subResult = await gerarRelatorio({
65
+ diretorio: args.diretorio,
66
+ estado_json: args.estado_json || "",
67
+ });
68
+ // Append sampling fallback checklist to the result
69
+ return {
70
+ ...subResult,
71
+ content: [
72
+ ...subResult.content,
73
+ { type: "text", text: fallbackContent },
74
+ ],
75
+ };
76
+ }
62
77
  return gerarRelatorio({
63
78
  diretorio: args.diretorio,
64
79
  estado_json: args.estado_json || "",
65
80
  });
81
+ }
66
82
  }
67
83
  }
68
84
  export const analisarSchema = {
@@ -1 +1 @@
1
- {"version":3,"file":"analisar.js","sourceRoot":"","sources":["../../../src/tools/consolidated/analisar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAoB,MAAM,8BAA8B,CAAC;AAUtF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAkB;IAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kDAAkD;iBAC3D,CAAC;YACF,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC;IAErC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,WAAW;YACZ,OAAO,iBAAiB,CAAC;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACjB,CAAC,CAAC;QAEd,KAAK,WAAW;YACZ,OAAO,iBAAiB,CAAC;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACjB,CAAC,CAAC;QAEd,KAAK,aAAa;YACd,OAAO,mBAAmB,CAAC;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACjB,CAAC,CAAC;QAEd,KAAK,cAAc;YACf,OAAO,oBAAoB,CAAC;gBACxB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACnB,CAAC,CAAC;QAEd,KAAK,UAAU,CAAC;QAChB;YACI,OAAO,cAAc,CAAC;gBAClB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;aAC/B,CAAC,CAAC;IAClB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,SAAS,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+BAA+B;SAC/C;QACD,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wDAAwD;SACxE;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sBAAsB;SACtC;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,CAAC;YAC3E,WAAW,EAAE,oCAAoC;SACpD;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC;YAC5C,WAAW,EAAE,8CAA8C;SAC9D;KACJ;IACD,QAAQ,EAAE,CAAC,WAAW,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"analisar.js","sourceRoot":"","sources":["../../../src/tools/consolidated/analisar.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"avancar.d.ts","sourceRoot":"","sources":["../../../src/tools/consolidated/avancar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,sBAAsB,CAAC;AAOtE,UAAU,WAAW;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA+EpE;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCzB,CAAC"}
1
+ {"version":3,"file":"avancar.d.ts","sourceRoot":"","sources":["../../../src/tools/consolidated/avancar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,sBAAsB,CAAC;AAQtE,UAAU,WAAW;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAyEpE;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCzB,CAAC"}
@@ -8,6 +8,7 @@
8
8
  *
9
9
  * Detecta contexto automaticamente e delega para o handler correto.
10
10
  */
11
+ import { formatResponse, formatError } from "../../utils/response-formatter.js";
11
12
  import { parsearEstado } from "../../state/storage.js";
12
13
  import { isInOnboarding } from "../../services/flow-engine.js";
13
14
  import { proximo } from "../proximo.js";
@@ -21,10 +22,7 @@ import { brainstorm } from "../brainstorm.js";
21
22
  export async function avancar(args) {
22
23
  if (!args.diretorio) {
23
24
  return {
24
- content: [{
25
- type: "text",
26
- text: "❌ **Erro**: Parâmetro `diretorio` é obrigatório.",
27
- }],
25
+ content: formatError("avancar", "Parâmetro `diretorio` é obrigatório."),
28
26
  isError: true,
29
27
  };
30
28
  }
@@ -66,20 +64,17 @@ export async function avancar(args) {
66
64
  // Desenvolvimento: delegar para proximo
67
65
  if (!args.entregavel) {
68
66
  return {
69
- content: [{
70
- type: "text",
71
- text: `# ⚠️ Entregável Necessário
72
-
73
- Para avançar na fase de desenvolvimento, forneça o entregável:
74
-
75
- \`\`\`
76
- avancar(
77
- diretorio: "${args.diretorio}",
78
- entregavel: "conteúdo do entregável...",
79
- estado_json: "..."
80
- )
81
- \`\`\``,
82
- }],
67
+ content: formatResponse({
68
+ titulo: "⚠️ Entregável Necessário",
69
+ resumo: "Para avançar na fase de desenvolvimento, forneça o entregável.",
70
+ proximo_passo: {
71
+ tool: "avancar",
72
+ descricao: "Avançar fase com entregável",
73
+ args: `diretorio: "${args.diretorio}", entregavel: "conteúdo do entregável..."`,
74
+ requer_input_usuario: true,
75
+ prompt_usuario: "Forneça o conteúdo do entregável da fase atual.",
76
+ },
77
+ }),
83
78
  };
84
79
  }
85
80
  return proximo({
@@ -1 +1 @@
1
- {"version":3,"file":"avancar.js","sourceRoot":"","sources":["../../../src/tools/consolidated/avancar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avancar.js","sourceRoot":"","sources":["../../../src/tools/consolidated/avancar.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/consolidated/checkpoint-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAQvD,UAAU,cAAc;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,kBAAkB,GAAG,QAAQ,CAAC;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA8D1E;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC5B,CAAC"}
1
+ {"version":3,"file":"checkpoint-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/consolidated/checkpoint-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AASvD,UAAU,cAAc;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,kBAAkB,GAAG,QAAQ,CAAC;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAqD1E;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC5B,CAAC"}
@@ -9,6 +9,7 @@
9
9
  *
10
10
  * Aceita parâmetro 'acao' para determinar a operação.
11
11
  */
12
+ import { formatError } from "../../utils/response-formatter.js";
12
13
  import { createCheckpoint, rollbackTotal, rollbackPartial, listCheckpoints, } from "../fase1/checkpoint.tools.js";
13
14
  /**
14
15
  * Tool: checkpoint
@@ -17,10 +18,7 @@ import { createCheckpoint, rollbackTotal, rollbackPartial, listCheckpoints, } fr
17
18
  export async function checkpoint(args) {
18
19
  if (!args.diretorio) {
19
20
  return {
20
- content: [{
21
- type: "text",
22
- text: "❌ **Erro**: Parâmetro `diretorio` é obrigatório.",
23
- }],
21
+ content: formatError("checkpoint", "Parâmetro `diretorio` é obrigatório."),
24
22
  isError: true,
25
23
  };
26
24
  }
@@ -36,10 +34,7 @@ export async function checkpoint(args) {
36
34
  case "rollback":
37
35
  if (!args.checkpointId) {
38
36
  return {
39
- content: [{
40
- type: "text",
41
- text: "❌ **Erro**: `checkpointId` é obrigatório para rollback.",
42
- }],
37
+ content: formatError("checkpoint", "`checkpointId` é obrigatório para rollback."),
43
38
  isError: true,
44
39
  };
45
40
  }
@@ -51,10 +46,7 @@ export async function checkpoint(args) {
51
46
  case "rollback_parcial":
52
47
  if (!args.checkpointId || !args.modules?.length) {
53
48
  return {
54
- content: [{
55
- type: "text",
56
- text: "❌ **Erro**: `checkpointId` e `modules` são obrigatórios para rollback parcial.",
57
- }],
49
+ content: formatError("checkpoint", "`checkpointId` e `modules` são obrigatórios para rollback parcial."),
58
50
  isError: true,
59
51
  };
60
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-tool.js","sourceRoot":"","sources":["../../../src/tools/consolidated/checkpoint-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-tool.js","sourceRoot":"","sources":["../../../src/tools/consolidated/checkpoint-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,eAAe,GAClB,MAAM,8BAA8B,CAAC;AAYtC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAoB;IACjD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB,OAAO;YACH,OAAO,EAAE,WAAW,CAAC,YAAY,EAAE,sCAAsC,CAAC;YAC1E,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IAEnC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,OAAO;YACR,OAAO,gBAAgB,CAAC;gBACpB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,mBAAmB;gBAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;aACX,CAAC,CAAC;QAEd,KAAK,UAAU;YACX,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrB,OAAO;oBACH,OAAO,EAAE,WAAW,CAAC,YAAY,EAAE,6CAA6C,CAAC;oBACjF,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YACD,OAAO,aAAa,CAAC;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;aAC3B,CAAC,CAAC;QAEd,KAAK,kBAAkB;YACnB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC9C,OAAO;oBACH,OAAO,EAAE,WAAW,CAAC,YAAY,EAAE,oEAAoE,CAAC;oBACxG,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YACD,OAAO,eAAe,CAAC;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;aACjB,CAAC,CAAC;QAEd,KAAK,QAAQ,CAAC;QACd;YACI,OAAO,eAAe,CAAC;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;aAC/B,CAAC,CAAC;IAClB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,SAAS,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+BAA+B;SAC/C;QACD,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wDAAwD;SACxE;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,CAAC;YACzD,WAAW,EAAE,kCAAkC;SAClD;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wCAAwC;SACxD;QACD,YAAY,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;SAClD;QACD,OAAO,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EAAE,+BAA+B;SAC/C;QACD,IAAI,EAAE;YACF,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uCAAuC;SACvD;KACJ;IACD,QAAQ,EAAE,CAAC,WAAW,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Tool Consolidada: executar
3
+ *
4
+ * Unifica:
5
+ * - avancar (avançar fase / onboarding)
6
+ * - salvar (salvar conteúdo sem avançar)
7
+ * - checkpoint (criar, rollback, listar)
8
+ *
9
+ * Aceita parâmetro 'acao' para determinar a operação.
10
+ * Padrão: "avancar" (comportamento mais comum).
11
+ *
12
+ * @since v5.2.0 — Task C.1 do Roadmap v5.2
13
+ */
14
+ import type { ToolResult } from "../../types/index.js";
15
+ type ExecutarAcao = "avancar" | "salvar" | "checkpoint";
16
+ interface ExecutarArgs {
17
+ diretorio: string;
18
+ estado_json?: string;
19
+ /** Ação principal: avancar (padrão), salvar, checkpoint */
20
+ acao?: ExecutarAcao;
21
+ entregavel?: string;
22
+ respostas?: Record<string, unknown>;
23
+ resumo_json?: string;
24
+ nome_arquivo?: string;
25
+ auto_flow?: boolean;
26
+ /** Sub-ação para avancar (ex: 'proximo_bloco') ou checkpoint (ex: 'criar') */
27
+ sub_acao?: string;
28
+ conteudo?: string;
29
+ tipo?: "rascunho" | "anexo" | "entregavel";
30
+ /** Ação de checkpoint: criar, rollback, rollback_parcial, listar */
31
+ checkpoint_acao?: "criar" | "rollback" | "rollback_parcial" | "listar";
32
+ reason?: string;
33
+ checkpointId?: string;
34
+ modules?: string[];
35
+ auto?: boolean;
36
+ }
37
+ /**
38
+ * Tool: executar
39
+ * Entry point unificado para ações de execução no projeto.
40
+ */
41
+ export declare function executar(args: ExecutarArgs): Promise<ToolResult>;
42
+ export declare const executarSchema: {
43
+ type: string;
44
+ properties: {
45
+ diretorio: {
46
+ type: string;
47
+ description: string;
48
+ };
49
+ estado_json: {
50
+ type: string;
51
+ description: string;
52
+ };
53
+ acao: {
54
+ type: string;
55
+ enum: string[];
56
+ description: string;
57
+ };
58
+ entregavel: {
59
+ type: string;
60
+ description: string;
61
+ };
62
+ respostas: {
63
+ type: string;
64
+ description: string;
65
+ };
66
+ resumo_json: {
67
+ type: string;
68
+ description: string;
69
+ };
70
+ nome_arquivo: {
71
+ type: string;
72
+ description: string;
73
+ };
74
+ auto_flow: {
75
+ type: string;
76
+ description: string;
77
+ };
78
+ sub_acao: {
79
+ type: string;
80
+ description: string;
81
+ };
82
+ conteudo: {
83
+ type: string;
84
+ description: string;
85
+ };
86
+ tipo: {
87
+ type: string;
88
+ enum: string[];
89
+ description: string;
90
+ };
91
+ checkpoint_acao: {
92
+ type: string;
93
+ enum: string[];
94
+ description: string;
95
+ };
96
+ reason: {
97
+ type: string;
98
+ description: string;
99
+ };
100
+ checkpointId: {
101
+ type: string;
102
+ description: string;
103
+ };
104
+ modules: {
105
+ type: string;
106
+ items: {
107
+ type: string;
108
+ };
109
+ description: string;
110
+ };
111
+ auto: {
112
+ type: string;
113
+ description: string;
114
+ };
115
+ };
116
+ required: string[];
117
+ };
118
+ export {};
119
+ //# sourceMappingURL=executar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executar.d.ts","sourceRoot":"","sources":["../../../src/tools/consolidated/executar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,KAAK,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;AAExD,UAAU,YAAY;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,YAAY,CAAC;IAGpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC;IAG3C,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,kBAAkB,GAAG,QAAQ,CAAC;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CA+DtE;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyE1B,CAAC"}