dev3000 0.0.24 → 0.0.30
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 +15 -5
- package/dist/cdp-monitor.d.ts +39 -0
- package/dist/cdp-monitor.d.ts.map +1 -0
- package/dist/cdp-monitor.js +697 -0
- package/dist/cdp-monitor.js.map +1 -0
- package/dist/cli.js +13 -3
- package/dist/cli.js.map +1 -1
- package/dist/dev-environment.d.ts +4 -17
- package/dist/dev-environment.d.ts.map +1 -1
- package/dist/dev-environment.js +75 -573
- package/dist/dev-environment.js.map +1 -1
- package/mcp-server/app/api/logs/rotate/route.ts +63 -0
- package/mcp-server/app/api/mcp/[transport]/route.ts +221 -0
- package/mcp-server/app/api/replay/route.ts +70 -9
- package/mcp-server/app/logs/LogsClient.tsx +56 -6
- package/mcp-server/app/page.tsx +1 -1
- package/mcp-server/package.json +3 -1
- package/mcp-server/pnpm-lock.yaml +1491 -0
- package/package.json +10 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-environment.js","sourceRoot":"","sources":["../src/dev-environment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev-environment.js","sourceRoot":"","sources":["../src/dev-environment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
import { writeFileSync, existsSync, renameSync, symlinkSync, unlinkSync, readFileSync } from 'fs';
|
|
3
|
+
import { join, dirname } from 'path';
|
|
4
|
+
|
|
5
|
+
export async function POST(request: NextRequest) {
|
|
6
|
+
try {
|
|
7
|
+
const body = await request.json();
|
|
8
|
+
const { currentLogPath } = body;
|
|
9
|
+
|
|
10
|
+
if (!currentLogPath) {
|
|
11
|
+
return NextResponse.json(
|
|
12
|
+
{ error: 'currentLogPath is required' },
|
|
13
|
+
{ status: 400 }
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Check if the current log file exists
|
|
18
|
+
if (!existsSync(currentLogPath)) {
|
|
19
|
+
return NextResponse.json(
|
|
20
|
+
{ error: 'Current log file not found' },
|
|
21
|
+
{ status: 404 }
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const logDir = dirname(currentLogPath);
|
|
26
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
27
|
+
|
|
28
|
+
// Extract project name from current log path if it follows dev3000 pattern
|
|
29
|
+
const currentFileName = currentLogPath.split('/').pop() || '';
|
|
30
|
+
const projectMatch = currentFileName.match(/^dev3000-([^-]+)-/);
|
|
31
|
+
const projectName = projectMatch ? projectMatch[1] : 'unknown';
|
|
32
|
+
|
|
33
|
+
// Create new timestamped filename matching dev3000 pattern
|
|
34
|
+
const archivedLogPath = join(logDir, `dev3000-${projectName}-${timestamp}.log`);
|
|
35
|
+
|
|
36
|
+
// Rename current log to archived name
|
|
37
|
+
renameSync(currentLogPath, archivedLogPath);
|
|
38
|
+
|
|
39
|
+
// Create new empty log file
|
|
40
|
+
writeFileSync(currentLogPath, '');
|
|
41
|
+
|
|
42
|
+
// Update symlink to point to new log file
|
|
43
|
+
const symlinkPath = '/tmp/dev3000.log';
|
|
44
|
+
if (existsSync(symlinkPath)) {
|
|
45
|
+
unlinkSync(symlinkPath);
|
|
46
|
+
}
|
|
47
|
+
symlinkSync(currentLogPath, symlinkPath);
|
|
48
|
+
|
|
49
|
+
return NextResponse.json({
|
|
50
|
+
success: true,
|
|
51
|
+
archivedLogPath,
|
|
52
|
+
currentLogPath,
|
|
53
|
+
timestamp
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
} catch (error) {
|
|
57
|
+
console.error('Log rotation error:', error);
|
|
58
|
+
return NextResponse.json(
|
|
59
|
+
{ error: 'Failed to rotate log file' },
|
|
60
|
+
{ status: 500 }
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -2,8 +2,28 @@ import { createMcpHandler } from "mcp-handler";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { readFileSync, existsSync } from "fs";
|
|
4
4
|
import { join } from "path";
|
|
5
|
+
import { WebSocket } from "ws";
|
|
5
6
|
|
|
6
7
|
const handler = createMcpHandler((server) => {
|
|
8
|
+
// Healthcheck tool
|
|
9
|
+
server.tool(
|
|
10
|
+
"healthcheck",
|
|
11
|
+
"Simple healthcheck to verify MCP server is working",
|
|
12
|
+
{
|
|
13
|
+
message: z.string().optional().describe("Optional message to echo back")
|
|
14
|
+
},
|
|
15
|
+
async ({ message = "MCP server is healthy!" }) => {
|
|
16
|
+
return {
|
|
17
|
+
content: [
|
|
18
|
+
{
|
|
19
|
+
type: "text",
|
|
20
|
+
text: `✅ ${message} - Timestamp: ${new Date().toISOString()}`
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
|
|
7
27
|
// Tool to read consolidated logs
|
|
8
28
|
server.tool(
|
|
9
29
|
"read_consolidated_logs",
|
|
@@ -183,6 +203,207 @@ const handler = createMcpHandler((server) => {
|
|
|
183
203
|
}
|
|
184
204
|
}
|
|
185
205
|
);
|
|
206
|
+
|
|
207
|
+
// Tool to execute browser actions via CDP
|
|
208
|
+
server.tool(
|
|
209
|
+
"execute_browser_action",
|
|
210
|
+
"Execute safe browser actions via Chrome DevTools Protocol",
|
|
211
|
+
{
|
|
212
|
+
action: z.enum(["click", "navigate", "screenshot", "evaluate", "scroll", "type"]).describe("Action to perform"),
|
|
213
|
+
params: z.object({
|
|
214
|
+
x: z.number().optional().describe("X coordinate for click/scroll"),
|
|
215
|
+
y: z.number().optional().describe("Y coordinate for click/scroll"),
|
|
216
|
+
url: z.string().optional().describe("URL for navigation"),
|
|
217
|
+
selector: z.string().optional().describe("CSS selector for element targeting"),
|
|
218
|
+
text: z.string().optional().describe("Text to type"),
|
|
219
|
+
expression: z.string().optional().describe("JavaScript expression to evaluate (safe expressions only)"),
|
|
220
|
+
deltaX: z.number().optional().describe("Horizontal scroll amount"),
|
|
221
|
+
deltaY: z.number().optional().describe("Vertical scroll amount")
|
|
222
|
+
}).describe("Parameters for the action")
|
|
223
|
+
},
|
|
224
|
+
async ({ action, params }) => {
|
|
225
|
+
try {
|
|
226
|
+
// Connect to CDP on port 9222
|
|
227
|
+
const targetsResponse = await fetch('http://localhost:9222/json');
|
|
228
|
+
const targets = await targetsResponse.json();
|
|
229
|
+
|
|
230
|
+
const pageTarget = targets.find((target: any) => target.type === 'page');
|
|
231
|
+
if (!pageTarget) {
|
|
232
|
+
throw new Error('No browser tab found. Make sure dev3000 is running with CDP monitoring.');
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
const wsUrl = pageTarget.webSocketDebuggerUrl;
|
|
236
|
+
|
|
237
|
+
const result = await new Promise((resolve, reject) => {
|
|
238
|
+
// WebSocket imported at top of file
|
|
239
|
+
const ws = new WebSocket(wsUrl);
|
|
240
|
+
let messageId = 1;
|
|
241
|
+
|
|
242
|
+
ws.on('open', async () => {
|
|
243
|
+
try {
|
|
244
|
+
let cdpResult;
|
|
245
|
+
|
|
246
|
+
switch (action) {
|
|
247
|
+
case 'click':
|
|
248
|
+
if (!params.x || !params.y) {
|
|
249
|
+
throw new Error('Click action requires x and y coordinates');
|
|
250
|
+
}
|
|
251
|
+
// Send mouse down and up events
|
|
252
|
+
await sendCDPCommand(ws, messageId++, 'Input.dispatchMouseEvent', {
|
|
253
|
+
type: 'mousePressed',
|
|
254
|
+
x: params.x,
|
|
255
|
+
y: params.y,
|
|
256
|
+
button: 'left',
|
|
257
|
+
clickCount: 1
|
|
258
|
+
});
|
|
259
|
+
await sendCDPCommand(ws, messageId++, 'Input.dispatchMouseEvent', {
|
|
260
|
+
type: 'mouseReleased',
|
|
261
|
+
x: params.x,
|
|
262
|
+
y: params.y,
|
|
263
|
+
button: 'left',
|
|
264
|
+
clickCount: 1
|
|
265
|
+
});
|
|
266
|
+
cdpResult = { action: 'click', coordinates: { x: params.x, y: params.y } };
|
|
267
|
+
break;
|
|
268
|
+
|
|
269
|
+
case 'navigate':
|
|
270
|
+
if (!params.url) {
|
|
271
|
+
throw new Error('Navigate action requires url parameter');
|
|
272
|
+
}
|
|
273
|
+
// Basic URL validation
|
|
274
|
+
if (!params.url.startsWith('http://') && !params.url.startsWith('https://')) {
|
|
275
|
+
throw new Error('Only http:// and https:// URLs are allowed');
|
|
276
|
+
}
|
|
277
|
+
cdpResult = await sendCDPCommand(ws, messageId++, 'Page.navigate', { url: params.url });
|
|
278
|
+
break;
|
|
279
|
+
|
|
280
|
+
case 'screenshot':
|
|
281
|
+
cdpResult = await sendCDPCommand(ws, messageId++, 'Page.captureScreenshot', {
|
|
282
|
+
format: 'png',
|
|
283
|
+
quality: 80
|
|
284
|
+
});
|
|
285
|
+
break;
|
|
286
|
+
|
|
287
|
+
case 'evaluate':
|
|
288
|
+
if (!params.expression) {
|
|
289
|
+
throw new Error('Evaluate action requires expression parameter');
|
|
290
|
+
}
|
|
291
|
+
// Whitelist safe expressions only
|
|
292
|
+
const safeExpressions = [
|
|
293
|
+
/^document\.title$/,
|
|
294
|
+
/^window\.location\.href$/,
|
|
295
|
+
/^document\.querySelector\(['"][^'"]*['"]\)\.textContent$/,
|
|
296
|
+
/^document\.body\.scrollHeight$/,
|
|
297
|
+
/^window\.scrollY$/,
|
|
298
|
+
/^window\.scrollX$/
|
|
299
|
+
];
|
|
300
|
+
|
|
301
|
+
if (!safeExpressions.some(regex => regex.test(params.expression!))) {
|
|
302
|
+
throw new Error('Expression not in whitelist. Only safe read-only expressions allowed.');
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
cdpResult = await sendCDPCommand(ws, messageId++, 'Runtime.evaluate', {
|
|
306
|
+
expression: params.expression,
|
|
307
|
+
returnByValue: true
|
|
308
|
+
});
|
|
309
|
+
break;
|
|
310
|
+
|
|
311
|
+
case 'scroll':
|
|
312
|
+
const scrollX = params.deltaX || 0;
|
|
313
|
+
const scrollY = params.deltaY || 0;
|
|
314
|
+
cdpResult = await sendCDPCommand(ws, messageId++, 'Input.dispatchMouseEvent', {
|
|
315
|
+
type: 'mouseWheel',
|
|
316
|
+
x: params.x || 500,
|
|
317
|
+
y: params.y || 500,
|
|
318
|
+
deltaX: scrollX,
|
|
319
|
+
deltaY: scrollY
|
|
320
|
+
});
|
|
321
|
+
break;
|
|
322
|
+
|
|
323
|
+
case 'type':
|
|
324
|
+
if (!params.text) {
|
|
325
|
+
throw new Error('Type action requires text parameter');
|
|
326
|
+
}
|
|
327
|
+
// Type each character
|
|
328
|
+
for (const char of params.text) {
|
|
329
|
+
await sendCDPCommand(ws, messageId++, 'Input.dispatchKeyEvent', {
|
|
330
|
+
type: 'char',
|
|
331
|
+
text: char
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
cdpResult = { action: 'type', text: params.text };
|
|
335
|
+
break;
|
|
336
|
+
|
|
337
|
+
default:
|
|
338
|
+
throw new Error(`Unsupported action: ${action}`);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
ws.close();
|
|
342
|
+
resolve(cdpResult);
|
|
343
|
+
} catch (error) {
|
|
344
|
+
ws.close();
|
|
345
|
+
reject(error);
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
ws.on('error', reject);
|
|
350
|
+
|
|
351
|
+
// Helper function to send CDP commands
|
|
352
|
+
async function sendCDPCommand(ws: any, id: number, method: string, params: any): Promise<any> {
|
|
353
|
+
return new Promise((cmdResolve, cmdReject) => {
|
|
354
|
+
const command = { id, method, params };
|
|
355
|
+
|
|
356
|
+
const messageHandler = (data: any) => {
|
|
357
|
+
const message = JSON.parse(data.toString());
|
|
358
|
+
if (message.id === id) {
|
|
359
|
+
ws.removeListener('message', messageHandler);
|
|
360
|
+
if (message.error) {
|
|
361
|
+
cmdReject(new Error(message.error.message));
|
|
362
|
+
} else {
|
|
363
|
+
cmdResolve(message.result);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
ws.on('message', messageHandler);
|
|
369
|
+
ws.send(JSON.stringify(command));
|
|
370
|
+
|
|
371
|
+
// Command timeout
|
|
372
|
+
setTimeout(() => {
|
|
373
|
+
ws.removeListener('message', messageHandler);
|
|
374
|
+
cmdReject(new Error(`CDP command timeout: ${method}`));
|
|
375
|
+
}, 5000);
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
|
|
380
|
+
return {
|
|
381
|
+
content: [
|
|
382
|
+
{
|
|
383
|
+
type: "text",
|
|
384
|
+
text: `Browser action '${action}' executed successfully. Result: ${JSON.stringify(result, null, 2)}`
|
|
385
|
+
}
|
|
386
|
+
]
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
} catch (error) {
|
|
390
|
+
return {
|
|
391
|
+
content: [
|
|
392
|
+
{
|
|
393
|
+
type: "text",
|
|
394
|
+
text: `Browser action failed: ${error instanceof Error ? error.message : String(error)}`
|
|
395
|
+
}
|
|
396
|
+
]
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
);
|
|
401
|
+
}, {
|
|
402
|
+
// Server options
|
|
403
|
+
}, {
|
|
404
|
+
basePath: "/api/mcp",
|
|
405
|
+
maxDuration: 60,
|
|
406
|
+
verboseLogs: true
|
|
186
407
|
});
|
|
187
408
|
|
|
188
409
|
export { handler as GET, handler as POST };
|
|
@@ -273,7 +273,7 @@ function generateCDPCommands(replayData: ReplayData, speed: number): CDPCommand[
|
|
|
273
273
|
description: `Navigate to ${event.url}`
|
|
274
274
|
});
|
|
275
275
|
} else if (event.eventType === 'interaction') {
|
|
276
|
-
if (event.type === 'CLICK' && event.x !== undefined && event.y !== undefined) {
|
|
276
|
+
if ('type' in event && event.type === 'CLICK' && event.x !== undefined && event.y !== undefined) {
|
|
277
277
|
// Mouse down
|
|
278
278
|
commands.push({
|
|
279
279
|
method: 'Input.dispatchMouseEvent',
|
|
@@ -301,7 +301,7 @@ function generateCDPCommands(replayData: ReplayData, speed: number): CDPCommand[
|
|
|
301
301
|
delay: 50, // 50ms between down and up
|
|
302
302
|
description: `Release click at (${event.x}, ${event.y})`
|
|
303
303
|
});
|
|
304
|
-
} else if (event.type === 'SCROLL' && event.x !== undefined && event.y !== undefined) {
|
|
304
|
+
} else if ('type' in event && event.type === 'SCROLL' && event.x !== undefined && event.y !== undefined) {
|
|
305
305
|
commands.push({
|
|
306
306
|
method: 'Runtime.evaluate',
|
|
307
307
|
params: {
|
|
@@ -310,7 +310,7 @@ function generateCDPCommands(replayData: ReplayData, speed: number): CDPCommand[
|
|
|
310
310
|
delay: delay,
|
|
311
311
|
description: `Scroll to (${event.x}, ${event.y})`
|
|
312
312
|
});
|
|
313
|
-
} else if (event.type === 'KEY' && event.key) {
|
|
313
|
+
} else if ('type' in event && event.type === 'KEY' && event.key) {
|
|
314
314
|
// Key down
|
|
315
315
|
commands.push({
|
|
316
316
|
method: 'Input.dispatchKeyEvent',
|
|
@@ -341,11 +341,72 @@ function generateCDPCommands(replayData: ReplayData, speed: number): CDPCommand[
|
|
|
341
341
|
}
|
|
342
342
|
|
|
343
343
|
async function executeCDPCommands(commands: CDPCommand[]): Promise<any> {
|
|
344
|
-
|
|
345
|
-
// This would require the browser to be launched with --remote-debugging-port
|
|
346
|
-
// or we'd need to get the CDP endpoint from the Playwright instance
|
|
344
|
+
const WebSocket = require('ws');
|
|
347
345
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
346
|
+
try {
|
|
347
|
+
// Connect to Chrome DevTools Protocol on port 9222
|
|
348
|
+
const response = await fetch('http://localhost:9222/json/version');
|
|
349
|
+
const versionData = await response.json();
|
|
350
|
+
const wsUrl = versionData.webSocketDebuggerUrl;
|
|
351
|
+
|
|
352
|
+
return new Promise((resolve, reject) => {
|
|
353
|
+
const ws = new WebSocket(wsUrl);
|
|
354
|
+
let commandIndex = 0;
|
|
355
|
+
let nextId = 1;
|
|
356
|
+
const results: any[] = [];
|
|
357
|
+
|
|
358
|
+
ws.on('open', () => {
|
|
359
|
+
// Execute commands sequentially with proper timing
|
|
360
|
+
const executeNext = () => {
|
|
361
|
+
if (commandIndex >= commands.length) {
|
|
362
|
+
ws.close();
|
|
363
|
+
resolve({ executed: commandIndex, results });
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
const command = commands[commandIndex];
|
|
368
|
+
const message = {
|
|
369
|
+
id: nextId++,
|
|
370
|
+
method: command.method,
|
|
371
|
+
params: command.params
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
ws.send(JSON.stringify(message));
|
|
375
|
+
commandIndex++;
|
|
376
|
+
|
|
377
|
+
// Schedule next command with delay
|
|
378
|
+
setTimeout(executeNext, command.delay || 100);
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
// Start executing commands
|
|
382
|
+
executeNext();
|
|
383
|
+
});
|
|
384
|
+
|
|
385
|
+
ws.on('message', (data: any) => {
|
|
386
|
+
try {
|
|
387
|
+
const response = JSON.parse(data.toString());
|
|
388
|
+
if (response.id) {
|
|
389
|
+
results.push(response);
|
|
390
|
+
}
|
|
391
|
+
} catch (error) {
|
|
392
|
+
// Ignore parsing errors for events
|
|
393
|
+
}
|
|
394
|
+
});
|
|
395
|
+
|
|
396
|
+
ws.on('error', reject);
|
|
397
|
+
ws.on('close', () => {
|
|
398
|
+
if (commandIndex < commands.length) {
|
|
399
|
+
reject(new Error(`Connection closed after executing ${commandIndex}/${commands.length} commands`));
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
|
|
403
|
+
// Timeout after 30 seconds
|
|
404
|
+
setTimeout(() => {
|
|
405
|
+
ws.close();
|
|
406
|
+
reject(new Error('Replay execution timed out'));
|
|
407
|
+
}, 30000);
|
|
408
|
+
});
|
|
409
|
+
} catch (error) {
|
|
410
|
+
throw new Error(`Failed to connect to CDP: ${error}`);
|
|
411
|
+
}
|
|
351
412
|
}
|
|
@@ -164,6 +164,7 @@ export default function LogsClient({ version }: LogsClientProps) {
|
|
|
164
164
|
const [showFilters, setShowFilters] = useState(false);
|
|
165
165
|
const [showReplayPreview, setShowReplayPreview] = useState(false);
|
|
166
166
|
const [replayEvents, setReplayEvents] = useState<any[]>([]);
|
|
167
|
+
const [isRotatingLog, setIsRotatingLog] = useState(false);
|
|
167
168
|
const [filters, setFilters] = useState({
|
|
168
169
|
browser: true,
|
|
169
170
|
server: true,
|
|
@@ -381,6 +382,43 @@ export default function LogsClient({ version }: LogsClientProps) {
|
|
|
381
382
|
}
|
|
382
383
|
};
|
|
383
384
|
|
|
385
|
+
const handleRotateLog = async () => {
|
|
386
|
+
if (!currentLogFile || isRotatingLog) return;
|
|
387
|
+
|
|
388
|
+
setIsRotatingLog(true);
|
|
389
|
+
try {
|
|
390
|
+
const response = await fetch('/api/logs/rotate', {
|
|
391
|
+
method: 'POST',
|
|
392
|
+
headers: {
|
|
393
|
+
'Content-Type': 'application/json',
|
|
394
|
+
},
|
|
395
|
+
body: JSON.stringify({ currentLogPath: currentLogFile }),
|
|
396
|
+
});
|
|
397
|
+
|
|
398
|
+
if (response.ok) {
|
|
399
|
+
// Clear current logs from UI
|
|
400
|
+
setLogs([]);
|
|
401
|
+
setLastLogCount(0);
|
|
402
|
+
setLastFetched(null);
|
|
403
|
+
|
|
404
|
+
// Reload available logs to show the new archived file
|
|
405
|
+
await loadAvailableLogs();
|
|
406
|
+
|
|
407
|
+
// Start fresh polling
|
|
408
|
+
await loadInitialLogs();
|
|
409
|
+
} else {
|
|
410
|
+
const error = await response.json();
|
|
411
|
+
console.error('Failed to rotate log:', error);
|
|
412
|
+
alert('Failed to rotate log: ' + error.error);
|
|
413
|
+
}
|
|
414
|
+
} catch (error) {
|
|
415
|
+
console.error('Error rotating log:', error);
|
|
416
|
+
alert('Error rotating log');
|
|
417
|
+
} finally {
|
|
418
|
+
setIsRotatingLog(false);
|
|
419
|
+
}
|
|
420
|
+
};
|
|
421
|
+
|
|
384
422
|
const filteredLogs = useMemo(() => {
|
|
385
423
|
return logs.filter(entry => {
|
|
386
424
|
// Check specific message types first (these override source filtering)
|
|
@@ -470,13 +508,25 @@ export default function LogsClient({ version }: LogsClientProps) {
|
|
|
470
508
|
)}
|
|
471
509
|
</div>
|
|
472
510
|
) : (
|
|
473
|
-
<
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
511
|
+
<div className="flex items-center gap-2">
|
|
512
|
+
<span className="font-mono text-xs text-gray-600 px-3 py-1 whitespace-nowrap">
|
|
513
|
+
{isInitialLoading && !currentLogFile ? (
|
|
514
|
+
<div className="h-4 bg-gray-200 rounded animate-pulse" style={{width: '220px'}} />
|
|
515
|
+
) : (
|
|
516
|
+
currentLogFile ? currentLogFile.split('/').pop() : 'dev3000.log'
|
|
517
|
+
)}
|
|
518
|
+
</span>
|
|
519
|
+
{currentLogFile && !isInitialLoading && (
|
|
520
|
+
<button
|
|
521
|
+
onClick={handleRotateLog}
|
|
522
|
+
disabled={isRotatingLog}
|
|
523
|
+
className="px-2 py-1 text-xs bg-orange-100 text-orange-700 hover:bg-orange-200 rounded transition-colors disabled:opacity-50 disabled:cursor-not-allowed"
|
|
524
|
+
title="Clear logs (rotate current log to archive and start fresh)"
|
|
525
|
+
>
|
|
526
|
+
{isRotatingLog ? '...' : 'Clear'}
|
|
527
|
+
</button>
|
|
478
528
|
)}
|
|
479
|
-
</
|
|
529
|
+
</div>
|
|
480
530
|
)}
|
|
481
531
|
|
|
482
532
|
{logs.length > 0 && (
|
package/mcp-server/app/page.tsx
CHANGED