@tostudy-ai/mcp-setup 1.0.2 → 1.1.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.
- package/README.md +1 -1
- package/dist/__tests__/e2e-wizard-flow.test.d.ts.map +1 -1
- package/dist/__tests__/e2e-wizard-flow.test.js +128 -117
- package/dist/__tests__/e2e-wizard-flow.test.js.map +1 -1
- package/dist/__tests__/ide-handlers.test.js +15 -11
- package/dist/__tests__/ide-handlers.test.js.map +1 -1
- package/dist/__tests__/install-command.test.js +106 -95
- package/dist/__tests__/install-command.test.js.map +1 -1
- package/dist/config.d.ts +15 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +79 -29
- package/dist/config.js.map +1 -1
- package/dist/diagnose.d.ts +1 -1
- package/dist/diagnose.d.ts.map +1 -1
- package/dist/diagnose.js +154 -164
- package/dist/diagnose.js.map +1 -1
- package/dist/ide-handlers/antigravity.js +1 -1
- package/dist/ide-handlers/antigravity.js.map +1 -1
- package/dist/ide-handlers/base.d.ts +8 -8
- package/dist/ide-handlers/base.d.ts.map +1 -1
- package/dist/ide-handlers/base.js +29 -4
- package/dist/ide-handlers/base.js.map +1 -1
- package/dist/ide-handlers/claude-code.js +1 -1
- package/dist/ide-handlers/claude-code.js.map +1 -1
- package/dist/ide-handlers/codex.js +1 -1
- package/dist/ide-handlers/codex.js.map +1 -1
- package/dist/ide-handlers/cursor.js +1 -1
- package/dist/ide-handlers/cursor.js.map +1 -1
- package/dist/ide-handlers/desktop.d.ts +3 -3
- package/dist/ide-handlers/desktop.d.ts.map +1 -1
- package/dist/ide-handlers/desktop.js +32 -8
- package/dist/ide-handlers/desktop.js.map +1 -1
- package/dist/ide-handlers/manual.js +1 -1
- package/dist/ide-handlers/manual.js.map +1 -1
- package/dist/ide-handlers/opencode.js +1 -1
- package/dist/ide-handlers/opencode.js.map +1 -1
- package/dist/ide-handlers/vscode.js +1 -1
- package/dist/ide-handlers/vscode.js.map +1 -1
- package/dist/ide-handlers/windsurf.js +1 -1
- package/dist/ide-handlers/windsurf.js.map +1 -1
- package/dist/index.js +198 -156
- package/dist/index.js.map +1 -1
- package/dist/repair.d.ts +1 -1
- package/dist/repair.d.ts.map +1 -1
- package/dist/repair.js +213 -168
- package/dist/repair.js.map +1 -1
- package/package.json +5 -5
package/dist/diagnose.js
CHANGED
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
* Performs diagnostic checks for common MCP configuration issues.
|
|
6
6
|
* Detects port conflicts, missing config, auth errors, and connectivity problems.
|
|
7
7
|
*/
|
|
8
|
-
import { existsSync, readFileSync, statSync } from
|
|
9
|
-
import { createServer } from
|
|
10
|
-
import chalk from
|
|
11
|
-
import { getClaudeConfigPath, isClaudeInstalled, isTostudyMcpConfigured, getTostudyMcpConfig, readClaudeConfig, } from
|
|
12
|
-
import { getInstalledIDEs } from
|
|
8
|
+
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
9
|
+
import { createServer } from "node:net";
|
|
10
|
+
import chalk from "chalk";
|
|
11
|
+
import { getClaudeConfigPath, isClaudeInstalled, isTostudyMcpConfigured, getTostudyMcpConfig, readClaudeConfig, extractApiKey, extractMcpUrl, } from "./config.js";
|
|
12
|
+
import { getInstalledIDEs } from "./detect.js";
|
|
13
13
|
const DEFAULT_MCP_PORT = 3701;
|
|
14
|
-
function println(message =
|
|
14
|
+
function println(message = "") {
|
|
15
15
|
process.stdout.write(`${message}\n`);
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
@@ -20,14 +20,14 @@ function println(message = '') {
|
|
|
20
20
|
async function isPortAvailable(port) {
|
|
21
21
|
return new Promise((resolve) => {
|
|
22
22
|
const server = createServer();
|
|
23
|
-
server.once(
|
|
23
|
+
server.once("error", () => {
|
|
24
24
|
resolve(false);
|
|
25
25
|
});
|
|
26
|
-
server.once(
|
|
26
|
+
server.once("listening", () => {
|
|
27
27
|
server.close();
|
|
28
28
|
resolve(true);
|
|
29
29
|
});
|
|
30
|
-
server.listen(port,
|
|
30
|
+
server.listen(port, "127.0.0.1");
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
@@ -36,11 +36,11 @@ async function isPortAvailable(port) {
|
|
|
36
36
|
function checkClaudeInstallation() {
|
|
37
37
|
if (!isClaudeInstalled()) {
|
|
38
38
|
return {
|
|
39
|
-
id:
|
|
40
|
-
severity:
|
|
41
|
-
title:
|
|
42
|
-
description:
|
|
43
|
-
suggestion:
|
|
39
|
+
id: "claude-not-installed",
|
|
40
|
+
severity: "critical",
|
|
41
|
+
title: "Claude Code nao encontrado",
|
|
42
|
+
description: "O diretorio de configuracao do Claude Code nao foi encontrado no sistema.",
|
|
43
|
+
suggestion: "Instale o Claude Code em https://claude.ai/download",
|
|
44
44
|
autoFixable: false,
|
|
45
45
|
};
|
|
46
46
|
}
|
|
@@ -53,11 +53,11 @@ function checkConfigFile() {
|
|
|
53
53
|
const configPath = getClaudeConfigPath();
|
|
54
54
|
if (!existsSync(configPath)) {
|
|
55
55
|
return {
|
|
56
|
-
id:
|
|
57
|
-
severity:
|
|
58
|
-
title:
|
|
56
|
+
id: "config-missing",
|
|
57
|
+
severity: "warning",
|
|
58
|
+
title: "Arquivo de configuracao nao existe",
|
|
59
59
|
description: `O arquivo ${configPath} nao foi encontrado. Sera criado durante o setup.`,
|
|
60
|
-
suggestion:
|
|
60
|
+
suggestion: "Execute o comando de setup para criar a configuracao.",
|
|
61
61
|
autoFixable: true,
|
|
62
62
|
};
|
|
63
63
|
}
|
|
@@ -66,22 +66,22 @@ function checkConfigFile() {
|
|
|
66
66
|
const stats = statSync(configPath);
|
|
67
67
|
if (!stats.isFile()) {
|
|
68
68
|
return {
|
|
69
|
-
id:
|
|
70
|
-
severity:
|
|
71
|
-
title:
|
|
69
|
+
id: "config-not-file",
|
|
70
|
+
severity: "critical",
|
|
71
|
+
title: "Configuracao nao e um arquivo",
|
|
72
72
|
description: `${configPath} existe mas nao e um arquivo valido.`,
|
|
73
|
-
suggestion:
|
|
73
|
+
suggestion: "Remova o item e execute o setup novamente.",
|
|
74
74
|
autoFixable: false,
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
catch {
|
|
79
79
|
return {
|
|
80
|
-
id:
|
|
81
|
-
severity:
|
|
82
|
-
title:
|
|
80
|
+
id: "config-unreadable",
|
|
81
|
+
severity: "critical",
|
|
82
|
+
title: "Arquivo de configuracao inacessivel",
|
|
83
83
|
description: `Nao foi possivel acessar ${configPath}. Verifique as permissoes.`,
|
|
84
|
-
suggestion:
|
|
84
|
+
suggestion: "Verifique as permissoes do arquivo ou recrie-o.",
|
|
85
85
|
autoFixable: false,
|
|
86
86
|
};
|
|
87
87
|
}
|
|
@@ -96,15 +96,15 @@ function checkConfigJson() {
|
|
|
96
96
|
return null; // Already handled by checkConfigFile
|
|
97
97
|
}
|
|
98
98
|
try {
|
|
99
|
-
const content = readFileSync(configPath,
|
|
99
|
+
const content = readFileSync(configPath, "utf-8");
|
|
100
100
|
JSON.parse(content);
|
|
101
101
|
}
|
|
102
102
|
catch {
|
|
103
103
|
return {
|
|
104
|
-
id:
|
|
105
|
-
severity:
|
|
106
|
-
title:
|
|
107
|
-
description:
|
|
104
|
+
id: "config-invalid-json",
|
|
105
|
+
severity: "critical",
|
|
106
|
+
title: "JSON de configuracao invalido",
|
|
107
|
+
description: "O arquivo de configuracao contem JSON invalido.",
|
|
108
108
|
suggestion: 'Execute "mcp-setup repair" para corrigir ou remova o arquivo e execute o setup novamente.',
|
|
109
109
|
autoFixable: true,
|
|
110
110
|
};
|
|
@@ -117,112 +117,100 @@ function checkConfigJson() {
|
|
|
117
117
|
function checkMcpConfiguration() {
|
|
118
118
|
if (!isTostudyMcpConfigured()) {
|
|
119
119
|
return {
|
|
120
|
-
id:
|
|
121
|
-
severity:
|
|
122
|
-
title:
|
|
123
|
-
description:
|
|
124
|
-
suggestion:
|
|
120
|
+
id: "mcp-not-configured",
|
|
121
|
+
severity: "warning",
|
|
122
|
+
title: "Catalyst MCP nao configurado",
|
|
123
|
+
description: "O servidor MCP da Catalyst nao esta configurado no Claude Code.",
|
|
124
|
+
suggestion: "Execute o comando de setup para configurar o MCP.",
|
|
125
125
|
autoFixable: true,
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
return null;
|
|
129
129
|
}
|
|
130
130
|
/**
|
|
131
|
-
* Check API key format
|
|
131
|
+
* Check API key format (supports both SSE headers and stdio args formats)
|
|
132
132
|
*/
|
|
133
133
|
function checkApiKeyFormat() {
|
|
134
134
|
const mcpConfig = getTostudyMcpConfig();
|
|
135
135
|
if (!mcpConfig) {
|
|
136
136
|
return null; // Already handled by checkMcpConfiguration
|
|
137
137
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (!authHeader) {
|
|
138
|
+
const apiKey = extractApiKey(mcpConfig);
|
|
139
|
+
if (!apiKey) {
|
|
141
140
|
return {
|
|
142
|
-
id:
|
|
143
|
-
severity:
|
|
144
|
-
title:
|
|
145
|
-
description:
|
|
146
|
-
suggestion:
|
|
147
|
-
autoFixable: true,
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
// Check Bearer token format
|
|
151
|
-
if (!authHeader.startsWith('Bearer ')) {
|
|
152
|
-
return {
|
|
153
|
-
id: 'api-key-invalid-format',
|
|
154
|
-
severity: 'critical',
|
|
155
|
-
title: 'Formato de API key invalido',
|
|
156
|
-
description: 'O header de Authorization deve iniciar com "Bearer ".',
|
|
157
|
-
suggestion: 'Execute o setup novamente com uma API key valida.',
|
|
141
|
+
id: "api-key-missing",
|
|
142
|
+
severity: "critical",
|
|
143
|
+
title: "API key nao configurada",
|
|
144
|
+
description: "A configuracao do MCP nao possui uma API key.",
|
|
145
|
+
suggestion: "Execute o setup novamente com uma API key valida.",
|
|
158
146
|
autoFixable: true,
|
|
159
147
|
};
|
|
160
148
|
}
|
|
161
149
|
// Check API key length
|
|
162
|
-
const apiKey = authHeader.replace('Bearer ', '');
|
|
163
150
|
if (apiKey.length < 32) {
|
|
164
151
|
return {
|
|
165
|
-
id:
|
|
166
|
-
severity:
|
|
167
|
-
title:
|
|
152
|
+
id: "api-key-too-short",
|
|
153
|
+
severity: "warning",
|
|
154
|
+
title: "API key parece ser muito curta",
|
|
168
155
|
description: `A API key tem apenas ${apiKey.length} caracteres. API keys validas geralmente tem 32+ caracteres.`,
|
|
169
|
-
suggestion:
|
|
156
|
+
suggestion: "Verifique se copiou a API key completa de /student/settings/mcp.",
|
|
170
157
|
autoFixable: true,
|
|
171
158
|
};
|
|
172
159
|
}
|
|
173
160
|
return null;
|
|
174
161
|
}
|
|
175
162
|
/**
|
|
176
|
-
* Check MCP server URL format
|
|
163
|
+
* Check MCP server URL format (supports both SSE url and stdio args formats)
|
|
177
164
|
*/
|
|
178
165
|
function checkServerUrl() {
|
|
179
166
|
const mcpConfig = getTostudyMcpConfig();
|
|
180
167
|
if (!mcpConfig) {
|
|
181
168
|
return null;
|
|
182
169
|
}
|
|
183
|
-
const url = mcpConfig
|
|
170
|
+
const url = extractMcpUrl(mcpConfig);
|
|
184
171
|
if (!url) {
|
|
185
172
|
return {
|
|
186
|
-
id:
|
|
187
|
-
severity:
|
|
188
|
-
title:
|
|
189
|
-
description:
|
|
190
|
-
suggestion:
|
|
173
|
+
id: "server-url-missing",
|
|
174
|
+
severity: "critical",
|
|
175
|
+
title: "URL do servidor MCP nao configurada",
|
|
176
|
+
description: "A configuracao do MCP nao possui uma URL de servidor.",
|
|
177
|
+
suggestion: "Execute o setup novamente para configurar a URL correta.",
|
|
191
178
|
autoFixable: true,
|
|
192
179
|
};
|
|
193
180
|
}
|
|
194
181
|
// Check URL format
|
|
195
182
|
try {
|
|
196
183
|
const parsedUrl = new URL(url);
|
|
197
|
-
if (![
|
|
184
|
+
if (!["http:", "https:"].includes(parsedUrl.protocol)) {
|
|
198
185
|
return {
|
|
199
|
-
id:
|
|
200
|
-
severity:
|
|
201
|
-
title:
|
|
186
|
+
id: "server-url-invalid-protocol",
|
|
187
|
+
severity: "critical",
|
|
188
|
+
title: "Protocolo de URL invalido",
|
|
202
189
|
description: `O protocolo "${parsedUrl.protocol}" nao e suportado. Use http: ou https:.`,
|
|
203
|
-
suggestion:
|
|
190
|
+
suggestion: "Execute o setup novamente com a URL correta.",
|
|
204
191
|
autoFixable: true,
|
|
205
192
|
};
|
|
206
193
|
}
|
|
207
|
-
//
|
|
208
|
-
|
|
194
|
+
// For SSE format: check /mcp/sse suffix; for stdio: check /mcp suffix
|
|
195
|
+
const validPaths = ["/mcp/sse", "/mcp"];
|
|
196
|
+
if (!validPaths.some((p) => parsedUrl.pathname.endsWith(p))) {
|
|
209
197
|
return {
|
|
210
|
-
id:
|
|
211
|
-
severity:
|
|
212
|
-
title:
|
|
213
|
-
description: `A URL ${url} nao termina com /mcp
|
|
214
|
-
suggestion:
|
|
198
|
+
id: "server-url-missing-sse-path",
|
|
199
|
+
severity: "warning",
|
|
200
|
+
title: "URL do servidor pode estar incorreta",
|
|
201
|
+
description: `A URL ${url} nao termina com /mcp como esperado.`,
|
|
202
|
+
suggestion: "Verifique se a URL esta correta ou execute o setup novamente.",
|
|
215
203
|
autoFixable: true,
|
|
216
204
|
};
|
|
217
205
|
}
|
|
218
206
|
}
|
|
219
207
|
catch {
|
|
220
208
|
return {
|
|
221
|
-
id:
|
|
222
|
-
severity:
|
|
223
|
-
title:
|
|
209
|
+
id: "server-url-invalid",
|
|
210
|
+
severity: "critical",
|
|
211
|
+
title: "URL do servidor invalida",
|
|
224
212
|
description: `A URL "${url}" nao e uma URL valida.`,
|
|
225
|
-
suggestion:
|
|
213
|
+
suggestion: "Execute o setup novamente com uma URL valida.",
|
|
226
214
|
autoFixable: true,
|
|
227
215
|
};
|
|
228
216
|
}
|
|
@@ -235,34 +223,39 @@ async function checkPortConflict() {
|
|
|
235
223
|
const isAvailable = await isPortAvailable(DEFAULT_MCP_PORT);
|
|
236
224
|
if (!isAvailable) {
|
|
237
225
|
return {
|
|
238
|
-
id:
|
|
239
|
-
severity:
|
|
226
|
+
id: "port-conflict",
|
|
227
|
+
severity: "warning",
|
|
240
228
|
title: `Porta ${DEFAULT_MCP_PORT} em uso`,
|
|
241
229
|
description: `A porta padrao do MCP server (${DEFAULT_MCP_PORT}) esta sendo usada por outro processo.`,
|
|
242
|
-
suggestion:
|
|
230
|
+
suggestion: "Verifique qual processo esta usando a porta ou use uma porta alternativa.",
|
|
243
231
|
autoFixable: false,
|
|
244
232
|
};
|
|
245
233
|
}
|
|
246
234
|
return null;
|
|
247
235
|
}
|
|
248
236
|
/**
|
|
249
|
-
* Check MCP server connectivity
|
|
237
|
+
* Check MCP server connectivity (supports both SSE and stdio formats)
|
|
250
238
|
*/
|
|
251
239
|
async function checkServerConnectivity() {
|
|
252
240
|
const mcpConfig = getTostudyMcpConfig();
|
|
253
|
-
if (!mcpConfig
|
|
241
|
+
if (!mcpConfig) {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
const mcpUrl = extractMcpUrl(mcpConfig);
|
|
245
|
+
const apiKey = extractApiKey(mcpConfig);
|
|
246
|
+
if (!mcpUrl) {
|
|
254
247
|
return null;
|
|
255
248
|
}
|
|
256
|
-
// Extract base URL (remove /sse path)
|
|
257
|
-
const baseUrl =
|
|
249
|
+
// Extract base URL (remove /mcp/sse or /mcp path)
|
|
250
|
+
const baseUrl = mcpUrl.replace(/\/mcp(\/sse)?$/, "");
|
|
258
251
|
try {
|
|
259
252
|
const controller = new AbortController();
|
|
260
253
|
const timeout = setTimeout(() => controller.abort(), 5000);
|
|
261
254
|
const response = await fetch(`${baseUrl}/api/mcp/heartbeat`, {
|
|
262
|
-
method:
|
|
255
|
+
method: "POST",
|
|
263
256
|
headers: {
|
|
264
|
-
|
|
265
|
-
|
|
257
|
+
Authorization: apiKey ? `Bearer ${apiKey}` : "",
|
|
258
|
+
"Content-Type": "application/json",
|
|
266
259
|
},
|
|
267
260
|
body: JSON.stringify({ timestamp: new Date().toISOString() }),
|
|
268
261
|
signal: controller.signal,
|
|
@@ -270,42 +263,42 @@ async function checkServerConnectivity() {
|
|
|
270
263
|
clearTimeout(timeout);
|
|
271
264
|
if (response.status === 401 || response.status === 403) {
|
|
272
265
|
return {
|
|
273
|
-
id:
|
|
274
|
-
severity:
|
|
275
|
-
title:
|
|
276
|
-
description:
|
|
277
|
-
suggestion:
|
|
266
|
+
id: "auth-failed",
|
|
267
|
+
severity: "critical",
|
|
268
|
+
title: "Falha de autenticacao",
|
|
269
|
+
description: "O servidor MCP rejeitou a API key. Ela pode estar expirada ou invalida.",
|
|
270
|
+
suggestion: "Gere uma nova API key em /student/settings/mcp e execute o setup novamente.",
|
|
278
271
|
autoFixable: true,
|
|
279
272
|
};
|
|
280
273
|
}
|
|
281
274
|
if (!response.ok && response.status !== 204) {
|
|
282
275
|
return {
|
|
283
|
-
id:
|
|
284
|
-
severity:
|
|
276
|
+
id: "server-error",
|
|
277
|
+
severity: "warning",
|
|
285
278
|
title: `Servidor retornou erro ${response.status}`,
|
|
286
279
|
description: `O servidor MCP retornou um status de erro: ${response.status}.`,
|
|
287
|
-
suggestion:
|
|
280
|
+
suggestion: "O servidor pode estar temporariamente indisponivel. Tente novamente mais tarde.",
|
|
288
281
|
autoFixable: false,
|
|
289
282
|
};
|
|
290
283
|
}
|
|
291
284
|
}
|
|
292
285
|
catch (error) {
|
|
293
|
-
if (error instanceof Error && error.name ===
|
|
286
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
294
287
|
return {
|
|
295
|
-
id:
|
|
296
|
-
severity:
|
|
297
|
-
title:
|
|
298
|
-
description:
|
|
299
|
-
suggestion:
|
|
288
|
+
id: "server-timeout",
|
|
289
|
+
severity: "warning",
|
|
290
|
+
title: "Timeout de conexao",
|
|
291
|
+
description: "O servidor MCP nao respondeu em 5 segundos.",
|
|
292
|
+
suggestion: "Verifique sua conexao de internet ou se o servidor esta online.",
|
|
300
293
|
autoFixable: false,
|
|
301
294
|
};
|
|
302
295
|
}
|
|
303
296
|
return {
|
|
304
|
-
id:
|
|
305
|
-
severity:
|
|
306
|
-
title:
|
|
307
|
-
description:
|
|
308
|
-
suggestion:
|
|
297
|
+
id: "server-unreachable",
|
|
298
|
+
severity: "warning",
|
|
299
|
+
title: "Servidor MCP inacessivel",
|
|
300
|
+
description: "Nao foi possivel conectar ao servidor MCP.",
|
|
301
|
+
suggestion: "Verifique sua conexao de internet ou se a URL do servidor esta correta.",
|
|
309
302
|
autoFixable: false,
|
|
310
303
|
};
|
|
311
304
|
}
|
|
@@ -318,11 +311,11 @@ function checkIDEInstallation() {
|
|
|
318
311
|
const installedIDEs = getInstalledIDEs();
|
|
319
312
|
if (installedIDEs.length === 0) {
|
|
320
313
|
return {
|
|
321
|
-
id:
|
|
322
|
-
severity:
|
|
323
|
-
title:
|
|
324
|
-
description:
|
|
325
|
-
suggestion:
|
|
314
|
+
id: "no-ide-detected",
|
|
315
|
+
severity: "info",
|
|
316
|
+
title: "Nenhuma IDE suportada detectada",
|
|
317
|
+
description: "Nao foi encontrada nenhuma IDE compativel (VS Code, Cursor, JetBrains).",
|
|
318
|
+
suggestion: "Instale uma IDE suportada para usar a integracao completa.",
|
|
326
319
|
autoFixable: false,
|
|
327
320
|
};
|
|
328
321
|
}
|
|
@@ -338,15 +331,15 @@ function checkDuplicateServers() {
|
|
|
338
331
|
}
|
|
339
332
|
// Check for servers with similar URLs
|
|
340
333
|
const servers = Object.entries(config.mcpServers);
|
|
341
|
-
const anaServers = servers.filter(([key, server]) => key.toLowerCase().includes(
|
|
342
|
-
key.toLowerCase().includes(
|
|
343
|
-
(server.url && server.url.includes(
|
|
334
|
+
const anaServers = servers.filter(([key, server]) => key.toLowerCase().includes("ana") ||
|
|
335
|
+
key.toLowerCase().includes("catalyst") ||
|
|
336
|
+
(server.url && server.url.includes("tostudy.com")));
|
|
344
337
|
if (anaServers.length > 1) {
|
|
345
338
|
return {
|
|
346
|
-
id:
|
|
347
|
-
severity:
|
|
348
|
-
title:
|
|
349
|
-
description: `Foram encontrados ${anaServers.length} servidores relacionados a Catalyst: ${anaServers.map(([k]) => k).join(
|
|
339
|
+
id: "duplicate-servers",
|
|
340
|
+
severity: "warning",
|
|
341
|
+
title: "Multiplos servidores Catalyst configurados",
|
|
342
|
+
description: `Foram encontrados ${anaServers.length} servidores relacionados a Catalyst: ${anaServers.map(([k]) => k).join(", ")}.`,
|
|
350
343
|
suggestion: 'Execute "mcp-setup repair" para remover duplicatas ou limpe manualmente.',
|
|
351
344
|
autoFixable: true,
|
|
352
345
|
};
|
|
@@ -375,12 +368,9 @@ export async function runDiagnostics() {
|
|
|
375
368
|
}
|
|
376
369
|
}
|
|
377
370
|
// Async checks - only run if basic config is valid
|
|
378
|
-
const hasConfigIssues = issues.some((issue) => [
|
|
371
|
+
const hasConfigIssues = issues.some((issue) => ["config-invalid-json", "claude-not-installed"].includes(issue.id));
|
|
379
372
|
if (!hasConfigIssues) {
|
|
380
|
-
const asyncChecks = await Promise.all([
|
|
381
|
-
checkPortConflict(),
|
|
382
|
-
checkServerConnectivity(),
|
|
383
|
-
]);
|
|
373
|
+
const asyncChecks = await Promise.all([checkPortConflict(), checkServerConnectivity()]);
|
|
384
374
|
for (const issue of asyncChecks) {
|
|
385
375
|
if (issue) {
|
|
386
376
|
issues.push(issue);
|
|
@@ -394,7 +384,7 @@ export async function runDiagnostics() {
|
|
|
394
384
|
info: 2,
|
|
395
385
|
};
|
|
396
386
|
issues.sort((a, b) => severityOrder[a.severity] - severityOrder[b.severity]);
|
|
397
|
-
const hasCritical = issues.some((issue) => issue.severity ===
|
|
387
|
+
const hasCritical = issues.some((issue) => issue.severity === "critical");
|
|
398
388
|
return {
|
|
399
389
|
timestamp: new Date().toISOString(),
|
|
400
390
|
claudeInstalled: isClaudeInstalled(),
|
|
@@ -408,12 +398,12 @@ export async function runDiagnostics() {
|
|
|
408
398
|
*/
|
|
409
399
|
function getSeverityIcon(severity) {
|
|
410
400
|
switch (severity) {
|
|
411
|
-
case
|
|
412
|
-
return chalk.red(
|
|
413
|
-
case
|
|
414
|
-
return chalk.yellow(
|
|
415
|
-
case
|
|
416
|
-
return chalk.blue(
|
|
401
|
+
case "critical":
|
|
402
|
+
return chalk.red("●");
|
|
403
|
+
case "warning":
|
|
404
|
+
return chalk.yellow("●");
|
|
405
|
+
case "info":
|
|
406
|
+
return chalk.blue("●");
|
|
417
407
|
}
|
|
418
408
|
}
|
|
419
409
|
/**
|
|
@@ -421,12 +411,12 @@ function getSeverityIcon(severity) {
|
|
|
421
411
|
*/
|
|
422
412
|
function getSeverityLabel(severity) {
|
|
423
413
|
switch (severity) {
|
|
424
|
-
case
|
|
425
|
-
return chalk.red(
|
|
426
|
-
case
|
|
427
|
-
return chalk.yellow(
|
|
428
|
-
case
|
|
429
|
-
return chalk.blue(
|
|
414
|
+
case "critical":
|
|
415
|
+
return chalk.red("CRITICO");
|
|
416
|
+
case "warning":
|
|
417
|
+
return chalk.yellow("AVISO");
|
|
418
|
+
case "info":
|
|
419
|
+
return chalk.blue("INFO");
|
|
430
420
|
}
|
|
431
421
|
}
|
|
432
422
|
/**
|
|
@@ -434,33 +424,33 @@ function getSeverityLabel(severity) {
|
|
|
434
424
|
*/
|
|
435
425
|
export function printDiagnosticReport(report) {
|
|
436
426
|
println();
|
|
437
|
-
println(chalk.cyan(
|
|
438
|
-
println(chalk.cyan(
|
|
439
|
-
println(chalk.cyan(
|
|
427
|
+
println(chalk.cyan(" ╔═══════════════════════════════════════╗"));
|
|
428
|
+
println(chalk.cyan(" ║") + chalk.white.bold(" Catalyst MCP Diagnostics ") + chalk.cyan("║"));
|
|
429
|
+
println(chalk.cyan(" ╚═══════════════════════════════════════╝"));
|
|
440
430
|
println();
|
|
441
431
|
// Status summary
|
|
442
|
-
println(chalk.gray(
|
|
443
|
-
println(` Claude Code: ${report.claudeInstalled ? chalk.green(
|
|
444
|
-
println(` MCP Catalyst: ${report.mcpConfigured ? chalk.green(
|
|
432
|
+
println(chalk.gray("Status:"));
|
|
433
|
+
println(` Claude Code: ${report.claudeInstalled ? chalk.green("✓ Instalado") : chalk.red("✗ Nao encontrado")}`);
|
|
434
|
+
println(` MCP Catalyst: ${report.mcpConfigured ? chalk.green("✓ Configurado") : chalk.yellow("○ Nao configurado")}`);
|
|
445
435
|
println();
|
|
446
436
|
if (report.issues.length === 0) {
|
|
447
|
-
println(chalk.green.bold(
|
|
437
|
+
println(chalk.green.bold("✓ Nenhum problema encontrado!"));
|
|
448
438
|
println();
|
|
449
|
-
println(chalk.gray(
|
|
439
|
+
println(chalk.gray("Tudo parece estar funcionando corretamente."));
|
|
450
440
|
println();
|
|
451
441
|
return;
|
|
452
442
|
}
|
|
453
443
|
// Issues
|
|
454
|
-
const criticalCount = report.issues.filter((i) => i.severity ===
|
|
455
|
-
const warningCount = report.issues.filter((i) => i.severity ===
|
|
456
|
-
const infoCount = report.issues.filter((i) => i.severity ===
|
|
457
|
-
println(chalk.white.bold(
|
|
444
|
+
const criticalCount = report.issues.filter((i) => i.severity === "critical").length;
|
|
445
|
+
const warningCount = report.issues.filter((i) => i.severity === "warning").length;
|
|
446
|
+
const infoCount = report.issues.filter((i) => i.severity === "info").length;
|
|
447
|
+
println(chalk.white.bold("Problemas encontrados:"));
|
|
458
448
|
if (criticalCount > 0)
|
|
459
|
-
println(` ${chalk.red(
|
|
449
|
+
println(` ${chalk.red("●")} ${criticalCount} critico(s)`);
|
|
460
450
|
if (warningCount > 0)
|
|
461
|
-
println(` ${chalk.yellow(
|
|
451
|
+
println(` ${chalk.yellow("●")} ${warningCount} aviso(s)`);
|
|
462
452
|
if (infoCount > 0)
|
|
463
|
-
println(` ${chalk.blue(
|
|
453
|
+
println(` ${chalk.blue("●")} ${infoCount} informativo(s)`);
|
|
464
454
|
println();
|
|
465
455
|
for (const issue of report.issues) {
|
|
466
456
|
println(`${getSeverityIcon(issue.severity)} ${getSeverityLabel(issue.severity)}: ${chalk.white(issue.title)}`);
|
|
@@ -473,10 +463,10 @@ export function printDiagnosticReport(report) {
|
|
|
473
463
|
}
|
|
474
464
|
// Summary
|
|
475
465
|
if (report.passed) {
|
|
476
|
-
println(chalk.yellow(
|
|
466
|
+
println(chalk.yellow("⚠ Alguns avisos encontrados, mas o sistema deve funcionar."));
|
|
477
467
|
}
|
|
478
468
|
else {
|
|
479
|
-
println(chalk.red(
|
|
469
|
+
println(chalk.red("✗ Problemas criticos precisam ser resolvidos."));
|
|
480
470
|
println(chalk.gray(' Execute "npx @tostudy-ai/mcp-setup" para corrigir a configuracao.'));
|
|
481
471
|
}
|
|
482
472
|
println();
|
|
@@ -488,12 +478,12 @@ export function exportDiagnosticReportJson(report) {
|
|
|
488
478
|
return JSON.stringify(report, null, 2);
|
|
489
479
|
}
|
|
490
480
|
// CLI entry point
|
|
491
|
-
if (process.argv[1]?.endsWith(
|
|
481
|
+
if (process.argv[1]?.endsWith("diagnose.js")) {
|
|
492
482
|
(async () => {
|
|
493
483
|
try {
|
|
494
484
|
const report = await runDiagnostics();
|
|
495
485
|
// Check for --json flag
|
|
496
|
-
if (process.argv.includes(
|
|
486
|
+
if (process.argv.includes("--json")) {
|
|
497
487
|
println(exportDiagnosticReportJson(report));
|
|
498
488
|
}
|
|
499
489
|
else {
|
|
@@ -503,8 +493,8 @@ if (process.argv[1]?.endsWith('diagnose.js')) {
|
|
|
503
493
|
process.exit(report.passed ? 0 : 1);
|
|
504
494
|
}
|
|
505
495
|
catch (error) {
|
|
506
|
-
process.stderr.write(chalk.red(
|
|
507
|
-
process.stderr.write((error instanceof Error ? error.message : String(error)) +
|
|
496
|
+
process.stderr.write(chalk.red("Erro ao executar diagnostico:\n"));
|
|
497
|
+
process.stderr.write((error instanceof Error ? error.message : String(error)) + "\n");
|
|
508
498
|
process.exit(1);
|
|
509
499
|
}
|
|
510
500
|
})();
|
package/dist/diagnose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../src/diagnose.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAqB/C,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,SAAS,OAAO,CAAC,OAAO,GAAG,EAAE;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;YAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB;IAC9B,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,4BAA4B;YACnC,WAAW,EAAE,2EAA2E;YACxF,UAAU,EAAE,qDAAqD;YACjE,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IAEzC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,EAAE,EAAE,gBAAgB;YACpB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,oCAAoC;YAC3C,WAAW,EAAE,aAAa,UAAU,mDAAmD;YACvF,UAAU,EAAE,uDAAuD;YACnE,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,iBAAiB;gBACrB,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,+BAA+B;gBACtC,WAAW,EAAE,GAAG,UAAU,sCAAsC;gBAChE,UAAU,EAAE,4CAA4C;gBACxD,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,qCAAqC;YAC5C,WAAW,EAAE,4BAA4B,UAAU,4BAA4B;YAC/E,UAAU,EAAE,iDAAiD;YAC7D,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IAEzC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,CAAC,qCAAqC;IACpD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,+BAA+B;YACtC,WAAW,EAAE,iDAAiD;YAC9D,UAAU,EAAE,2FAA2F;YACvG,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;QAC9B,OAAO;YACL,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,8BAA8B;YACrC,WAAW,EAAE,iEAAiE;YAC9E,UAAU,EAAE,mDAAmD;YAC/D,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,CAAC,2CAA2C;IAC1D,CAAC;IAED,iCAAiC;IACjC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,EAAE,EAAE,iBAAiB;YACrB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,8DAA8D;YAC3E,UAAU,EAAE,mDAAmD;YAC/D,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,EAAE,EAAE,wBAAwB;YAC5B,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,6BAA6B;YACpC,WAAW,EAAE,uDAAuD;YACpE,UAAU,EAAE,mDAAmD;YAC/D,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,gCAAgC;YACvC,WAAW,EAAE,wBAAwB,MAAM,CAAC,MAAM,8DAA8D;YAChH,UAAU,EAAE,kEAAkE;YAC9E,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,cAAc;IACrB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;IAE1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,qCAAqC;YAC5C,WAAW,EAAE,uDAAuD;YACpE,UAAU,EAAE,0DAA0D;YACtE,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,OAAO;gBACL,EAAE,EAAE,6BAA6B;gBACjC,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,gBAAgB,SAAS,CAAC,QAAQ,yCAAyC;gBACxF,UAAU,EAAE,8CAA8C;gBAC1D,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,EAAE,EAAE,6BAA6B;gBACjC,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,sCAAsC;gBAC7C,WAAW,EAAE,SAAS,GAAG,0CAA0C;gBACnE,UAAU,EAAE,+DAA+D;gBAC3E,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,UAAU,GAAG,yBAAyB;YACnD,UAAU,EAAE,+CAA+C;YAC3D,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB;IAC9B,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;YACL,EAAE,EAAE,eAAe;YACnB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS,gBAAgB,SAAS;YACzC,WAAW,EAAE,iCAAiC,gBAAgB,wCAAwC;YACtG,UAAU,EAAE,2EAA2E;YACvF,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB;IACpC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sCAAsC;IACtC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,oBAAoB,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE;gBAC3D,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7D,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,YAAY,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvD,OAAO;gBACL,EAAE,EAAE,aAAa;gBACjB,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,yEAAyE;gBACtF,UAAU,EAAE,6EAA6E;gBACzF,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5C,OAAO;gBACL,EAAE,EAAE,cAAc;gBAClB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,0BAA0B,QAAQ,CAAC,MAAM,EAAE;gBAClD,WAAW,EAAE,8CAA8C,QAAQ,CAAC,MAAM,GAAG;gBAC7E,UAAU,EAAE,iFAAiF;gBAC7F,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1D,OAAO;gBACL,EAAE,EAAE,gBAAgB;gBACpB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,oBAAoB;gBAC3B,WAAW,EAAE,6CAA6C;gBAC1D,UAAU,EAAE,iEAAiE;gBAC7E,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,4CAA4C;YACzD,UAAU,EAAE,yEAAyE;YACrF,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,EAAE,EAAE,iBAAiB;YACrB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,iCAAiC;YACxC,WAAW,EAAE,yEAAyE;YACtF,UAAU,EAAE,4DAA4D;YACxE,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sCAAsC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAClD,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtC,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACnD,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,4CAA4C;YACnD,WAAW,EAAE,qBAAqB,UAAU,CAAC,MAAM,wCAAwC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACnI,UAAU,EAAE,0EAA0E;YACtF,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,qBAAqB;IACrB,MAAM,UAAU,GAAG;QACjB,uBAAuB,EAAE;QACzB,eAAe,EAAE;QACjB,eAAe,EAAE;QACjB,qBAAqB,EAAE;QACvB,iBAAiB,EAAE;QACnB,cAAc,EAAE;QAChB,oBAAoB,EAAE;QACtB,qBAAqB,EAAE;KACxB,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5C,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CACnE,CAAC;IAEF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpC,iBAAiB,EAAE;YACnB,uBAAuB,EAAE;SAC1B,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,aAAa,GAAkC;QACnD,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IAE1E,OAAO;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,eAAe,EAAE,iBAAiB,EAAE;QACpC,aAAa,EAAE,sBAAsB,EAAE;QACvC,MAAM;QACN,MAAM,EAAE,CAAC,WAAW;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAuB;IAC9C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,QAAuB;IAC/C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAwB;IAC5D,OAAO,EAAE,CAAC;IACV,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;IAEV,iBAAiB;IACjB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/B,OAAO,CAAC,kBAAkB,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACjH,OAAO,CAAC,mBAAmB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACtH,OAAO,EAAE,CAAC;IAEV,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,SAAS;IACT,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IACpF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAClF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAE5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACpD,IAAI,aAAa,GAAG,CAAC;QAAE,OAAO,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,aAAa,CAAC,CAAC;IAClF,IAAI,YAAY,GAAG,CAAC;QAAE,OAAO,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,YAAY,WAAW,CAAC,CAAC;IACjF,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,iBAAiB,CAAC,CAAC;IAC/E,OAAO,EAAE,CAAC;IAEV,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/G,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,UAAU;IACV,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAwB;IACjE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,kBAAkB;AAClB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;IAC7C,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;YAEtC,wBAAwB;YACxB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YAED,6BAA6B;YAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../src/diagnose.ts"],"names":[],"mappings":"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"}
|