@maestro-ai/mcp-server 2.6.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/content/.version.json +16 -0
  2. package/dist/data/project-templates.d.ts +37 -0
  3. package/dist/data/project-templates.d.ts.map +1 -0
  4. package/dist/data/project-templates.js +208 -0
  5. package/dist/data/project-templates.js.map +1 -0
  6. package/dist/errors/index.d.ts +84 -0
  7. package/dist/errors/index.d.ts.map +1 -0
  8. package/dist/errors/index.js +158 -0
  9. package/dist/errors/index.js.map +1 -0
  10. package/dist/flows/onboarding-orchestrator.d.ts.map +1 -1
  11. package/dist/flows/onboarding-orchestrator.js +126 -91
  12. package/dist/flows/onboarding-orchestrator.js.map +1 -1
  13. package/dist/gates/validator.d.ts +2 -1
  14. package/dist/gates/validator.d.ts.map +1 -1
  15. package/dist/gates/validator.js +33 -2
  16. package/dist/gates/validator.js.map +1 -1
  17. package/dist/index.js +19 -164
  18. package/dist/index.js.map +1 -1
  19. package/dist/middleware/flow-engine.middleware.d.ts +14 -0
  20. package/dist/middleware/flow-engine.middleware.d.ts.map +1 -0
  21. package/dist/middleware/flow-engine.middleware.js +51 -0
  22. package/dist/middleware/flow-engine.middleware.js.map +1 -0
  23. package/dist/middleware/index.d.ts +36 -0
  24. package/dist/middleware/index.d.ts.map +1 -0
  25. package/dist/middleware/index.js +45 -0
  26. package/dist/middleware/index.js.map +1 -0
  27. package/dist/middleware/persistence.middleware.d.ts +14 -0
  28. package/dist/middleware/persistence.middleware.d.ts.map +1 -0
  29. package/dist/middleware/persistence.middleware.js +55 -0
  30. package/dist/middleware/persistence.middleware.js.map +1 -0
  31. package/dist/middleware/skill-injection.middleware.d.ts +15 -0
  32. package/dist/middleware/skill-injection.middleware.d.ts.map +1 -0
  33. package/dist/middleware/skill-injection.middleware.js +63 -0
  34. package/dist/middleware/skill-injection.middleware.js.map +1 -0
  35. package/dist/middleware/state-loader.middleware.d.ts +13 -0
  36. package/dist/middleware/state-loader.middleware.d.ts.map +1 -0
  37. package/dist/middleware/state-loader.middleware.js +36 -0
  38. package/dist/middleware/state-loader.middleware.js.map +1 -0
  39. package/dist/router.d.ts +46 -0
  40. package/dist/router.d.ts.map +1 -0
  41. package/dist/router.js +441 -0
  42. package/dist/router.js.map +1 -0
  43. package/dist/services/content-resolver.service.d.ts +96 -0
  44. package/dist/services/content-resolver.service.d.ts.map +1 -0
  45. package/dist/services/content-resolver.service.js +280 -0
  46. package/dist/services/content-resolver.service.js.map +1 -0
  47. package/dist/services/flow-engine.d.ts +82 -0
  48. package/dist/services/flow-engine.d.ts.map +1 -0
  49. package/dist/services/flow-engine.js +270 -0
  50. package/dist/services/flow-engine.js.map +1 -0
  51. package/dist/services/onboarding.service.d.ts +20 -0
  52. package/dist/services/onboarding.service.d.ts.map +1 -0
  53. package/dist/services/onboarding.service.js +49 -0
  54. package/dist/services/onboarding.service.js.map +1 -0
  55. package/dist/services/skill-loader.service.d.ts +81 -0
  56. package/dist/services/skill-loader.service.d.ts.map +1 -0
  57. package/dist/services/skill-loader.service.js +321 -0
  58. package/dist/services/skill-loader.service.js.map +1 -0
  59. package/dist/services/specialist.service.d.ts +20 -0
  60. package/dist/services/specialist.service.d.ts.map +1 -0
  61. package/dist/services/specialist.service.js +115 -0
  62. package/dist/services/specialist.service.js.map +1 -0
  63. package/dist/services/state.service.d.ts +59 -0
  64. package/dist/services/state.service.d.ts.map +1 -0
  65. package/dist/services/state.service.js +131 -0
  66. package/dist/services/state.service.js.map +1 -0
  67. package/dist/stdio.js +329 -437
  68. package/dist/stdio.js.map +1 -1
  69. package/dist/tests/content-resolver.test.d.ts +5 -0
  70. package/dist/tests/content-resolver.test.d.ts.map +1 -0
  71. package/dist/tests/content-resolver.test.js +157 -0
  72. package/dist/tests/content-resolver.test.js.map +1 -0
  73. package/dist/tests/middleware.test.d.ts +5 -0
  74. package/dist/tests/middleware.test.d.ts.map +1 -0
  75. package/dist/tests/middleware.test.js +228 -0
  76. package/dist/tests/middleware.test.js.map +1 -0
  77. package/dist/tests/skill-loader.test.d.ts +5 -0
  78. package/dist/tests/skill-loader.test.d.ts.map +1 -0
  79. package/dist/tests/skill-loader.test.js +242 -0
  80. package/dist/tests/skill-loader.test.js.map +1 -0
  81. package/dist/tools/aprovar-gate.d.ts.map +1 -1
  82. package/dist/tools/aprovar-gate.js +35 -0
  83. package/dist/tools/aprovar-gate.js.map +1 -1
  84. package/dist/tools/brainstorm.d.ts.map +1 -1
  85. package/dist/tools/brainstorm.js +90 -49
  86. package/dist/tools/brainstorm.js.map +1 -1
  87. package/dist/tools/classificar.d.ts.map +1 -1
  88. package/dist/tools/classificar.js +20 -1
  89. package/dist/tools/classificar.js.map +1 -1
  90. package/dist/tools/confirmar-classificacao.d.ts.map +1 -1
  91. package/dist/tools/confirmar-classificacao.js +20 -1
  92. package/dist/tools/confirmar-classificacao.js.map +1 -1
  93. package/dist/tools/consolidated/analisar.d.ts +56 -0
  94. package/dist/tools/consolidated/analisar.d.ts.map +1 -0
  95. package/dist/tools/consolidated/analisar.js +96 -0
  96. package/dist/tools/consolidated/analisar.js.map +1 -0
  97. package/dist/tools/consolidated/avancar.d.ts +67 -0
  98. package/dist/tools/consolidated/avancar.d.ts.map +1 -0
  99. package/dist/tools/consolidated/avancar.js +132 -0
  100. package/dist/tools/consolidated/avancar.js.map +1 -0
  101. package/dist/tools/consolidated/checkpoint-tool.d.ts +66 -0
  102. package/dist/tools/consolidated/checkpoint-tool.d.ts.map +1 -0
  103. package/dist/tools/consolidated/checkpoint-tool.js +111 -0
  104. package/dist/tools/consolidated/checkpoint-tool.js.map +1 -0
  105. package/dist/tools/consolidated/validar.d.ts +63 -0
  106. package/dist/tools/consolidated/validar.d.ts.map +1 -0
  107. package/dist/tools/consolidated/validar.js +104 -0
  108. package/dist/tools/consolidated/validar.js.map +1 -0
  109. package/dist/tools/contexto.d.ts.map +1 -1
  110. package/dist/tools/contexto.js +18 -0
  111. package/dist/tools/contexto.js.map +1 -1
  112. package/dist/tools/iniciar-projeto.d.ts +1 -0
  113. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  114. package/dist/tools/iniciar-projeto.js +109 -38
  115. package/dist/tools/iniciar-projeto.js.map +1 -1
  116. package/dist/tools/maestro-tool.d.ts +51 -0
  117. package/dist/tools/maestro-tool.d.ts.map +1 -0
  118. package/dist/tools/maestro-tool.js +224 -0
  119. package/dist/tools/maestro-tool.js.map +1 -0
  120. package/dist/tools/prd-writer.d.ts.map +1 -1
  121. package/dist/tools/prd-writer.js +13 -0
  122. package/dist/tools/prd-writer.js.map +1 -1
  123. package/dist/tools/proximo.d.ts.map +1 -1
  124. package/dist/tools/proximo.js +22 -16
  125. package/dist/tools/proximo.js.map +1 -1
  126. package/dist/tools/salvar.d.ts.map +1 -1
  127. package/dist/tools/salvar.js +13 -0
  128. package/dist/tools/salvar.js.map +1 -1
  129. package/dist/tools/setup-inicial.d.ts.map +1 -1
  130. package/dist/tools/setup-inicial.js +12 -0
  131. package/dist/tools/setup-inicial.js.map +1 -1
  132. package/dist/tools/status.d.ts.map +1 -1
  133. package/dist/tools/status.js +6 -0
  134. package/dist/tools/status.js.map +1 -1
  135. package/dist/tools/validar-gate.d.ts.map +1 -1
  136. package/dist/tools/validar-gate.js +25 -0
  137. package/dist/tools/validar-gate.js.map +1 -1
  138. package/dist/types/index.d.ts +8 -1
  139. package/dist/types/index.d.ts.map +1 -1
  140. package/dist/types/index.js.map +1 -1
  141. package/dist/types/response.d.ts +49 -0
  142. package/dist/types/response.d.ts.map +1 -1
  143. package/dist/types/response.js.map +1 -1
  144. package/dist/utils/smart-defaults.d.ts +56 -0
  145. package/dist/utils/smart-defaults.d.ts.map +1 -0
  146. package/dist/utils/smart-defaults.js +113 -0
  147. package/dist/utils/smart-defaults.js.map +1 -0
  148. package/package.json +1 -1
@@ -0,0 +1,131 @@
1
+ /**
2
+ * StateService — Persistência Ativa
3
+ *
4
+ * O MCP agora pode gravar estado diretamente no filesystem,
5
+ * sem depender da IA para salvar arquivos.
6
+ *
7
+ * Fallback: continua retornando files[] e estado_atualizado
8
+ * para IDEs que preferem controlar a persistência.
9
+ */
10
+ import { readFile, writeFile, mkdir } from "fs/promises";
11
+ import { existsSync } from "fs";
12
+ import { join } from "path";
13
+ import { parsearEstado, serializarEstado } from "../state/storage.js";
14
+ export class StateService {
15
+ diretorio;
16
+ maestroDir;
17
+ estadoPath;
18
+ constructor(diretorio) {
19
+ this.diretorio = diretorio;
20
+ this.maestroDir = join(diretorio, ".maestro");
21
+ this.estadoPath = join(this.maestroDir, "estado.json");
22
+ }
23
+ /**
24
+ * Carrega estado do projeto do filesystem.
25
+ * Retorna null se não existir ou falhar.
26
+ */
27
+ async load() {
28
+ try {
29
+ if (!existsSync(this.estadoPath))
30
+ return null;
31
+ const raw = await readFile(this.estadoPath, "utf-8");
32
+ return parsearEstado(raw);
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ /**
39
+ * Salva estado no filesystem.
40
+ * Cria diretório .maestro se não existir.
41
+ * Retorna true se salvou com sucesso, false se falhou (fallback para files[]).
42
+ */
43
+ async save(estado) {
44
+ try {
45
+ await mkdir(this.maestroDir, { recursive: true });
46
+ estado.atualizado_em = new Date().toISOString();
47
+ const serialized = serializarEstado(estado);
48
+ await writeFile(this.estadoPath, serialized.content, "utf-8");
49
+ return true;
50
+ }
51
+ catch (error) {
52
+ console.warn("[StateService] Falha ao salvar estado:", error);
53
+ return false;
54
+ }
55
+ }
56
+ /**
57
+ * Aplica patch parcial ao estado e salva.
58
+ * Carrega estado atual, aplica as mudanças, e persiste.
59
+ */
60
+ async patch(changes) {
61
+ const current = await this.load();
62
+ if (!current)
63
+ return null;
64
+ const updated = { ...current, ...changes, atualizado_em: new Date().toISOString() };
65
+ const success = await this.save(updated);
66
+ return success ? updated : null;
67
+ }
68
+ /**
69
+ * Salva arquivo genérico no diretório do projeto.
70
+ * Usado para entregáveis, resumos, etc.
71
+ */
72
+ async saveFile(relativePath, content) {
73
+ try {
74
+ const fullPath = join(this.diretorio, relativePath);
75
+ const dir = fullPath.substring(0, fullPath.lastIndexOf("/")).replace(/\\/g, "/");
76
+ // Normalize for Windows
77
+ const dirNormalized = dir.replace(/\//g, join("a", "b").includes("\\") ? "\\" : "/");
78
+ await mkdir(fullPath.substring(0, fullPath.replace(/\\/g, "/").lastIndexOf("/")), { recursive: true });
79
+ await writeFile(fullPath, content, "utf-8");
80
+ return true;
81
+ }
82
+ catch (error) {
83
+ console.warn("[StateService] Falha ao salvar arquivo:", relativePath, error);
84
+ return false;
85
+ }
86
+ }
87
+ /**
88
+ * Salva múltiplos arquivos de uma vez.
89
+ * Retorna quantos foram salvos com sucesso.
90
+ */
91
+ async saveFiles(files) {
92
+ let saved = 0;
93
+ for (const file of files) {
94
+ // Se path é absoluto, usar diretamente; se relativo, usar join
95
+ const fullPath = file.path.startsWith(this.diretorio)
96
+ ? file.path
97
+ : join(this.diretorio, file.path);
98
+ try {
99
+ const dirPart = fullPath.replace(/\\/g, "/");
100
+ const dirOnly = dirPart.substring(0, dirPart.lastIndexOf("/"));
101
+ await mkdir(dirOnly, { recursive: true });
102
+ await writeFile(fullPath, file.content, "utf-8");
103
+ saved++;
104
+ }
105
+ catch (error) {
106
+ console.warn("[StateService] Falha ao salvar:", fullPath, error);
107
+ }
108
+ }
109
+ return saved;
110
+ }
111
+ /**
112
+ * Verifica se o diretório .maestro existe (projeto inicializado).
113
+ */
114
+ exists() {
115
+ return existsSync(this.maestroDir);
116
+ }
117
+ /**
118
+ * Verifica se tem estado salvo.
119
+ */
120
+ hasState() {
121
+ return existsSync(this.estadoPath);
122
+ }
123
+ }
124
+ /**
125
+ * Factory function para criar StateService.
126
+ * Facilita o uso em tools que recebem diretorio como argumento.
127
+ */
128
+ export function createStateService(diretorio) {
129
+ return new StateService(diretorio);
130
+ }
131
+ //# sourceMappingURL=state.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.service.js","sourceRoot":"","sources":["../../src/services/state.service.ts"],"names":[],"mappings":"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"}