@sudu-cli/fronted-preview-mcp 1.0.0-beta.3 → 1.0.0-beta.4

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 (37) hide show
  1. package/dist/cdp/connectionManager.d.ts +57 -0
  2. package/dist/cdp/connectionManager.js +153 -0
  3. package/dist/cdp/connectionManager.js.map +1 -0
  4. package/dist/cli.js +2 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/constants.d.ts +19 -0
  7. package/dist/constants.js +26 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/detectors/frameworkDetector.js +17 -13
  10. package/dist/detectors/frameworkDetector.js.map +1 -1
  11. package/dist/handlers/autoFixLoop.d.ts +31 -0
  12. package/dist/handlers/autoFixLoop.js +120 -4
  13. package/dist/handlers/autoFixLoop.js.map +1 -1
  14. package/dist/handlers/checkPageErrors.js +11 -50
  15. package/dist/handlers/checkPageErrors.js.map +1 -1
  16. package/dist/handlers/typescriptDiagnostics.js +4 -25
  17. package/dist/handlers/typescriptDiagnostics.js.map +1 -1
  18. package/dist/index.js +15 -3
  19. package/dist/index.js.map +1 -1
  20. package/dist/serverManager.d.ts +22 -4
  21. package/dist/serverManager.js +215 -140
  22. package/dist/serverManager.js.map +1 -1
  23. package/dist/types.d.ts +9 -0
  24. package/dist/types.js +21 -1
  25. package/dist/types.js.map +1 -1
  26. package/dist/version.d.ts +7 -0
  27. package/dist/version.js +10 -0
  28. package/dist/version.js.map +1 -0
  29. package/package.json +1 -1
  30. package/templates/init/instructions.md +1 -11
  31. package/templates/init/opencode.json +1 -1
  32. package/dist/handlers/pickElement.d.ts +0 -10
  33. package/dist/handlers/pickElement.js +0 -413
  34. package/dist/handlers/pickElement.js.map +0 -1
  35. package/dist/handlers/takeScreenshot.d.ts +0 -17
  36. package/dist/handlers/takeScreenshot.js +0 -83
  37. package/dist/handlers/takeScreenshot.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { detectFramework } from '../detectors/frameworkDetector.js';
2
2
  import { startServer } from '../serverManager.js';
3
- import CDP from 'chrome-remote-interface';
3
+ import { createMCPError, createMCPSuccess } from '../types.js';
4
+ import { CDPConnectionManager } from '../cdp/connectionManager.js';
4
5
  async function handleCheckPageErrors(args) {
5
6
  const projectDir = args.projectDir || process.cwd();
6
7
  const cdpPort = args.cdpPort || 9222;
@@ -10,59 +11,20 @@ async function handleCheckPageErrors(args) {
10
11
  // Step 1: Detect framework and start/get dev server
11
12
  const info = await detectFramework(projectDir);
12
13
  if (!info.devScript) {
13
- return {
14
- content: [
15
- {
16
- type: 'text',
17
- text: JSON.stringify({
18
- error: 'No dev script found',
19
- availableScripts: Object.keys(info.npmScripts),
20
- projectDir,
21
- }, null, 2),
22
- },
23
- ],
24
- isError: true,
25
- };
14
+ return createMCPError('FRAMEWORK_NOT_DETECTED', 'No dev script found', { availableScripts: Object.keys(info.npmScripts), projectDir }, 'Add a dev script to package.json (e.g., "dev": "vite")');
26
15
  }
27
16
  // Step 2: Start dev server (or reuse existing)
28
17
  const port = args.customPort || info.port;
29
18
  const command = `npm run ${info.devScript}`;
30
19
  const status = await startServer(projectDir, command, port);
31
20
  const pageUrl = status.url;
32
- // Step 3: Connect to Chrome via CDP
33
- const cdpOptions = { port: cdpPort };
21
+ // Step 3: Connect to Chrome via CDP with retry and pooling
22
+ let client = null;
34
23
  try {
35
- client = await CDP(cdpOptions);
24
+ client = await CDPConnectionManager.getInstance().getConnection(cdpPort);
36
25
  }
37
26
  catch (cdpErr) {
38
- return {
39
- content: [
40
- {
41
- type: 'text',
42
- text: JSON.stringify({
43
- error: `Failed to connect to Chrome DevTools Protocol on port ${cdpPort}. Ensure Chrome is running with --remote-debugging-port=${cdpPort}`,
44
- details: cdpErr instanceof Error ? cdpErr.message : String(cdpErr),
45
- pageUrl,
46
- suggestion: 'Start Chrome with: chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug',
47
- }, null, 2),
48
- },
49
- ],
50
- isError: true,
51
- };
52
- }
53
- if (!client) {
54
- return {
55
- content: [
56
- {
57
- type: 'text',
58
- text: JSON.stringify({
59
- error: 'Failed to create CDP client',
60
- pageUrl,
61
- }, null, 2),
62
- },
63
- ],
64
- isError: true,
65
- };
27
+ return createMCPError('CDP_CONNECTION_FAILED', `Failed to connect to Chrome DevTools Protocol on port ${cdpPort}`, { details: cdpErr instanceof Error ? cdpErr.message : String(cdpErr) }, 'Start Chrome with: chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug');
66
28
  }
67
29
  // Enable domains
68
30
  const { Page, Runtime, Network, Log } = client;
@@ -145,18 +107,17 @@ async function handleCheckPageErrors(args) {
145
107
  },
146
108
  ],
147
109
  };
110
+ return createMCPSuccess(report);
148
111
  }
149
112
  catch (err) {
150
113
  const errorMessage = err instanceof Error ? err.message : String(err);
151
- return {
152
- content: [{ type: 'text', text: JSON.stringify({ error: errorMessage }, null, 2) }],
153
- isError: true,
154
- };
114
+ return createMCPError('UNKNOWN_ERROR', errorMessage);
155
115
  }
156
116
  finally {
157
117
  if (client) {
158
118
  try {
159
- await client.close();
119
+ // Release connection back to pool instead of closing
120
+ CDPConnectionManager.getInstance().releaseConnection(cdpPort);
160
121
  }
161
122
  catch {
162
123
  // Ignore cleanup errors
@@ -1 +1 @@
1
- {"version":3,"file":"checkPageErrors.js","sourceRoot":"","sources":["../../src/handlers/checkPageErrors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkPageErrors.js","sourceRoot":"","sources":["../../src/handlers/checkPageErrors.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import * as path from 'node:path';
2
2
  import { Project } from 'ts-morph';
3
+ import { createMCPError, createMCPSuccess } from '../types.js';
3
4
  function getSeverity(diagnostic) {
4
5
  const category = diagnostic.getCategory();
5
6
  if (category === 1)
@@ -72,19 +73,7 @@ async function handleGetTypeScriptDiagnostics(args) {
72
73
  await fs.access(fullTsConfigPath);
73
74
  }
74
75
  catch {
75
- return {
76
- content: [
77
- {
78
- type: 'text',
79
- text: JSON.stringify({
80
- error: `tsconfig.json not found at ${fullTsConfigPath}`,
81
- projectDir,
82
- suggestion: 'Ensure the project has a tsconfig.json file',
83
- }, null, 2),
84
- },
85
- ],
86
- isError: true,
87
- };
76
+ return createMCPError('CONFIG_NOT_FOUND', `tsconfig.json not found at ${fullTsConfigPath}`, { projectDir }, 'Ensure the project has a tsconfig.json file');
88
77
  }
89
78
  // Create ts-morph project
90
79
  const project = new Project({
@@ -130,21 +119,11 @@ async function handleGetTypeScriptDiagnostics(args) {
130
119
  durationMs: Date.now() - startTime,
131
120
  timestamp: new Date().toISOString(),
132
121
  };
133
- return {
134
- content: [
135
- {
136
- type: 'text',
137
- text: JSON.stringify(report, null, 2),
138
- },
139
- ],
140
- };
122
+ return createMCPSuccess(report);
141
123
  }
142
124
  catch (err) {
143
125
  const errorMessage = err instanceof Error ? err.message : String(err);
144
- return {
145
- content: [{ type: 'text', text: JSON.stringify({ error: errorMessage }, null, 2) }],
146
- isError: true,
147
- };
126
+ return createMCPError('TYPE_CHECK_FAILED', errorMessage);
148
127
  }
149
128
  }
150
129
  export { handleGetTypeScriptDiagnostics };
@@ -1 +1 @@
1
- {"version":3,"file":"typescriptDiagnostics.js","sourceRoot":"","sources":["../../src/handlers/typescriptDiagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescriptDiagnostics.js","sourceRoot":"","sources":["../../src/handlers/typescriptDiagnostics.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -205,8 +205,9 @@ server.tool('get_typescript_diagnostics', 'Get TypeScript compiler diagnostics (
205
205
  // ============================================================
206
206
  server.tool('auto_fix_loop', 'Automatically detect and fix frontend errors in an iterative loop. ' +
207
207
  'Combines console error checking (via CDP) and TypeScript diagnostics ' +
208
- 'to identify and verify fixes automatically.\n\n' +
209
- 'Returns { success, iterations, errorsFixed, errorsRemaining, messages, errors }.\n\n' +
208
+ 'to identify and verify fixes automatically. Includes built-in fix strategies ' +
209
+ 'for common TypeScript and console errors.\n\n' +
210
+ 'Returns { success, iterations, errorsFixed, errorsRemaining, messages, errors, fixesApplied }.\n\n' +
210
211
  'WHEN TO USE:\n' +
211
212
  '- User wants to automatically fix all detected errors\n' +
212
213
  '- User says "fix all errors" or "auto-fix this project"\n' +
@@ -218,8 +219,9 @@ server.tool('auto_fix_loop', 'Automatically detect and fix frontend errors in an
218
219
  '- Start Chrome: chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug\n\n' +
219
220
  'AFTER THIS TOOL:\n' +
220
221
  '- Check the result for errorsFixed vs errorsRemaining\n' +
222
+ '- Review fixesApplied for applied fixes and suggestions\n' +
221
223
  '- For visual inspection, use chrome-devtools take_screenshot\n' +
222
- '- If errors remain, run again with more iterations\n' +
224
+ '- If errors remain, run again with more iterations or fixAction: "auto"\n' +
223
225
  '- Manual review may be needed for complex issues', {
224
226
  projectDir: z
225
227
  .string()
@@ -253,6 +255,10 @@ server.tool('auto_fix_loop', 'Automatically detect and fix frontend errors in an
253
255
  .array(z.string())
254
256
  .optional()
255
257
  .describe('Optional: filter to specific error messages. If omitted, fixes all errors.'),
258
+ fixAction: z
259
+ .enum(['auto', 'suggest', 'none'])
260
+ .optional()
261
+ .describe('Fix behavior: "auto" = apply fixes automatically, "suggest" = only suggest fixes, "none" = only detect. Defaults to "suggest".'),
256
262
  }, async (args) => {
257
263
  const result = await handleAutoFixLoop(args);
258
264
  const content = [
@@ -272,6 +278,12 @@ server.tool('auto_fix_loop', 'Automatically detect and fix frontend errors in an
272
278
  text: `\nErrors:\n${result.errors.join('\n')}`
273
279
  });
274
280
  }
281
+ if (result.fixesApplied.length > 0) {
282
+ content.push({
283
+ type: 'text',
284
+ text: `\nFixes Applied:\n${result.fixesApplied.map(f => `${f.success ? '✅' : '💡'} ${f.message}`).join('\n')}`
285
+ });
286
+ }
275
287
  return { content };
276
288
  });
277
289
  // ============================================================
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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"}
@@ -1,8 +1,26 @@
1
1
  import type { ServerStatus } from './types.js';
2
- declare function startServer(projectDir: string, devCommand: string, port: number): Promise<ServerStatus>;
3
- declare function stopServer(): Promise<{
2
+ export declare class ServerManager {
3
+ private static instance;
4
+ private activeServer;
5
+ private startLocks;
6
+ private shutdownLock;
7
+ private constructor();
8
+ static getInstance(): ServerManager;
9
+ static resetInstance(): void;
10
+ private isPortAvailable;
11
+ private waitForServerReady;
12
+ startServer(projectDir: string, devCommand: string, port: number, timeoutMs?: number): Promise<ServerStatus>;
13
+ private doStartServer;
14
+ stopServer(): Promise<{
15
+ success: boolean;
16
+ message: string;
17
+ }>;
18
+ private doStopServer;
19
+ getServerStatus(): ServerStatus | null;
20
+ }
21
+ export declare function startServer(projectDir: string, devCommand: string, port: number): Promise<ServerStatus>;
22
+ export declare function stopServer(): Promise<{
4
23
  success: boolean;
5
24
  message: string;
6
25
  }>;
7
- declare function getServerStatus(): ServerStatus | null;
8
- export { startServer, stopServer, getServerStatus };
26
+ export declare function getServerStatus(): ServerStatus | null;