dev3000 0.0.76 → 0.0.77

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 (25) hide show
  1. package/README.md +89 -27
  2. package/dist/src/tui-interface-impl.tsx +80 -52
  3. package/dist/tui-interface-impl.d.ts.map +1 -1
  4. package/dist/tui-interface-impl.js +46 -12
  5. package/dist/tui-interface-impl.js.map +1 -1
  6. package/mcp-server/.next/BUILD_ID +1 -1
  7. package/mcp-server/.next/build-manifest.json +2 -2
  8. package/mcp-server/.next/fallback-build-manifest.json +2 -2
  9. package/mcp-server/.next/prerender-manifest.json +3 -3
  10. package/mcp-server/.next/server/app/_global-error.html +2 -2
  11. package/mcp-server/.next/server/app/_global-error.rsc +1 -1
  12. package/mcp-server/.next/server/app/_not-found.html +1 -1
  13. package/mcp-server/.next/server/app/_not-found.rsc +1 -1
  14. package/mcp-server/.next/server/app/index.html +1 -1
  15. package/mcp-server/.next/server/app/index.rsc +1 -1
  16. package/mcp-server/.next/server/chunks/[root-of-the-server]__270b33b7._.js +13 -23
  17. package/mcp-server/.next/server/chunks/[root-of-the-server]__270b33b7._.js.map +1 -1
  18. package/mcp-server/.next/server/server-reference-manifest.js +1 -1
  19. package/mcp-server/.next/server/server-reference-manifest.json +1 -1
  20. package/mcp-server/app/mcp/tools.ts +686 -151
  21. package/package.json +1 -1
  22. package/src/tui-interface-impl.tsx +80 -52
  23. /package/mcp-server/.next/static/{SDKkQ5XdHwJr8jB5PJj7F → NWQx_KX68gOo5fDkdXq6G}/_buildManifest.js +0 -0
  24. /package/mcp-server/.next/static/{SDKkQ5XdHwJr8jB5PJj7F → NWQx_KX68gOo5fDkdXq6G}/_clientMiddlewareManifest.json +0 -0
  25. /package/mcp-server/.next/static/{SDKkQ5XdHwJr8jB5PJj7F → NWQx_KX68gOo5fDkdXq6G}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # dev3000
2
2
 
3
- Captures your web app's complete development timeline - server logs, browser events, console messages, network requests, and automatic screenshots - in a unified, timestamped feed for AI debugging.
3
+ Captures your web app's complete development timeline - server logs, browser events, console messages, network requests, and automatic screenshots - in a unified, timestamped feed for AI debugging. **Gracefully enhances with chrome-devtools and nextjs-dev MCPs when available.**
4
4
 
5
5
  ## Quick Start
6
6
 
@@ -9,13 +9,27 @@ pnpm install -g dev3000
9
9
  dev3000
10
10
  ```
11
11
 
12
- ## AI Integration
12
+ ## AI Integration with Dynamic Enhancement
13
13
 
14
- **dev3000 automatically configures MCP connections for supported AI tools!**
14
+ **dev3000 features smart MCP integration that gracefully enhances capabilities when specialized MCPs are available!**
15
15
 
16
- When you run `dev3000`, it automatically detects and configures:
17
- - **dev3000 MCP** - Core debugging and browser automation tools
18
- - **chrome-devtools MCP** - Enhanced browser inspection and control
16
+ ### 🎯 Core Experience (Always Available)
17
+ When you run `dev3000`, you get:
18
+ - **dev3000 MCP** - Complete debugging and browser automation tools
19
+ - Full log analysis, error detection, interaction replay
20
+ - Comprehensive browser automation and screenshot capture
21
+
22
+ ### ⚡ Enhanced Experience (When Available)
23
+ dev3000 **automatically discovers** and integrates with:
24
+ - **chrome-devtools MCP** - Advanced browser inspection, DOM analysis, performance profiling
25
+ - **nextjs-dev MCP** - Framework-specific build analysis, SSR debugging, hydration troubleshooting
26
+
27
+ ### 🚀 Dynamic Capability Discovery
28
+ - **Real-time detection** of available MCP capabilities via log introspection
29
+ - **Context-aware suggestions** that match your current debugging scenario
30
+ - **Zero manual configuration** - works out of the box
31
+ - **Intelligent caching** (5min TTL) for optimal performance
32
+ - **Self-updating** - automatically adapts when MCPs add new features
19
33
 
20
34
  For **Claude Code**, no manual setup is required. Just run `dev3000` and start using AI commands:
21
35
 
@@ -23,6 +37,23 @@ For **Claude Code**, no manual setup is required. Just run `dev3000` and start u
23
37
  fix my app
24
38
  ```
25
39
 
40
+ dev3000 will provide comprehensive analysis and, when enhanced MCPs are available, suggest additional capabilities like:
41
+ ```
42
+ 🔗 AUGMENTED ANALYSIS AVAILABLE
43
+
44
+ dev3000 provided the core log analysis above. For deeper insights, consider also gathering:
45
+
46
+ Next.js Framework Analysis:
47
+ • dev3000-nextjs-dev:debug_hydration() - Client-server hydration analysis
48
+ • dev3000-nextjs-dev:analyze_build_process() - Deep build system insights
49
+
50
+ Browser-Side Analysis:
51
+ • dev3000-chrome-devtools:inspect_element() - Deep DOM inspection
52
+ • dev3000-chrome-devtools:start_performance_profile() - Client-side performance data
53
+
54
+ 💡 Best approach: Use dev3000's log analysis as your foundation, then gather specific additional data as needed for a complete picture.
55
+ ```
56
+
26
57
  ![dev3000 CLI](www/public/cli.gif)
27
58
 
28
59
  ## What it does
@@ -41,23 +72,34 @@ The tool monitors your app in a real browser and captures:
41
72
 
42
73
  Logs are automatically saved with timestamps in `/var/log/dev3000/` (or temp directory) and rotated to keep the 10 most recent per project. Each instance has its own timestamped log file displayed when starting dev3000.
43
74
 
44
- ## dev3000 is The Orchestrator
75
+ ## dev3000: Smart Debugging Orchestrator
76
+
77
+ **dev3000 doesn't just work alone - it's designed to intelligently enhance its capabilities by orchestrating your entire MCP debugging ecosystem!** 🎼
45
78
 
46
- **dev3000 doesn't just work alone - it's designed to be the conductor of your debugging orchestra!** 🎼
79
+ ### 🎯 How Smart Integration Works
47
80
 
48
- When other MCP tools like `nextjs-dev` or `chrome-devtools` are available, dev3000 automatically detects them and transforms into an **intelligent debugging orchestrator** that coordinates all your debugging tools together.
81
+ **Core Mode** (dev3000 alone):
82
+ - Complete log analysis, browser automation, error detection, interaction replay
83
+ - All essential debugging functionality available immediately
84
+ - Zero dependencies - works great out of the box
49
85
 
50
- ### 🎯 How Orchestration Works
86
+ **Enhanced Mode** (with specialized MCPs):
87
+ - **Dynamic Discovery**: Real-time detection of available MCP capabilities via log introspection
88
+ - **Capability-Aware Suggestions**: Context-sensitive recommendations based on discovered MCP functions
89
+ - **Augmented Delegation**: Provides comprehensive dev3000 analysis PLUS enhanced MCP suggestions
90
+ - **Self-Updating Intelligence**: Automatically adapts when MCPs add new capabilities - no manual updates required
51
91
 
52
- **Standalone Mode** (no other MCPs detected):
53
- - dev3000 works exactly as before - full error analysis, interaction replay, browser automation
54
- - All existing functionality remains intact
92
+ ### 🚀 Key Innovation: Dynamic Capability Discovery
55
93
 
56
- **Enhanced Mode** (MCPs detected):
57
- - **Auto-Discovery**: Automatically finds running `nextjs-dev` and `chrome-devtools` MCPs via process detection and port pinging
58
- - **Smart Delegation**: Suggests better tools when available ("Use chrome-devtools for detailed browser inspection")
59
- - **Cross-Correlation**: "Compare dev3000's interaction timestamps with Next.js request logs"
60
- - **Systematic Workflows**: Creates 3-phase debugging plans across all available tools
94
+ Unlike static integrations that become outdated, dev3000 features **living integration** that:
95
+
96
+ - **Introspects MCP Logs**: Analyzes Claude's MCP communication logs to discover available functions
97
+ - **Pattern Recognition**: Uses intelligent regex patterns to extract function names and descriptions
98
+ - **Smart Categorization**: Automatically classifies capabilities as "advanced" vs "basic"
99
+ - **Context Matching**: Prioritizes suggestions based on current error patterns
100
+ - **Cache Intelligence**: 5-minute caching for performance with automatic refresh
101
+
102
+ **Result**: You always get suggestions for the **latest available capabilities** from your MCPs, even when they update with new features you haven't seen yet!
61
103
 
62
104
  ### 🚀 Integration Benefits
63
105
 
@@ -76,7 +118,28 @@ When other MCP tools like `nextjs-dev` or `chrome-devtools` are available, dev30
76
118
  - AI-powered error correlation across all layers
77
119
  - 90%+ issue resolution rate through systematic workflows
78
120
 
79
- ### 📋 New Orchestrator Tools
121
+ ### 📋 Smart Integration Tools
122
+
123
+ **`fix_my_app`** - Enhanced with dynamic capability discovery
124
+ - Provides comprehensive dev3000 log analysis
125
+ - Automatically suggests relevant enhanced MCP functions based on discovered capabilities
126
+ - Context-aware suggestions that match current error patterns
127
+ - Returns structured data for orchestration when needed
128
+
129
+ **`get_mcp_capabilities`** - NEW! Inspect your MCP ecosystem
130
+ ```bash
131
+ # In Claude Code
132
+ "Show me what MCP capabilities are currently available"
133
+ ```
134
+ - Displays all discovered functions from available MCPs
135
+ - Shows capability categories (advanced vs basic)
136
+ - Reveals cache status and discovery timestamps
137
+ - Perfect for debugging MCP integration issues
138
+
139
+ **`execute_browser_action`** - Now capability-aware
140
+ - Performs dev3000 browser automation (clicks, navigation, screenshots)
141
+ - Suggests enhanced MCP capabilities when relevant
142
+ - Context-specific recommendations based on the action performed
80
143
 
81
144
  **`discover_available_mcps`** - Find what MCPs are running
82
145
  ```bash
@@ -90,11 +153,6 @@ When other MCP tools like `nextjs-dev` or `chrome-devtools` are available, dev30
90
153
  "Create an integrated debugging workflow for my Next.js app"
91
154
  ```
92
155
 
93
- **Enhanced `fix_my_app`** - Now integration-aware
94
- - Automatically suggests relevant MCP functions
95
- - Provides cross-tool correlation tips
96
- - Returns structured data for orchestration
97
-
98
156
  ### 🔍 Proactive Discovery
99
157
 
100
158
  dev3000 can automatically discover other MCPs without manual configuration:
@@ -115,13 +173,17 @@ dev3000 can automatically discover other MCPs without manual configuration:
115
173
 
116
174
  The MCP server runs at `http://localhost:3684/mcp` and provides these tools:
117
175
 
176
+ - `fix_my_app` - **Enhanced!** AI-powered debugging with dynamic MCP capability suggestions
177
+ - `execute_browser_action` - **Enhanced!** Browser automation with context-aware MCP recommendations
178
+ - `get_mcp_capabilities` - **NEW!** Inspect available MCP ecosystem capabilities in real-time
179
+ - `discover_available_mcps` - Find running MCPs via process detection and port pinging
180
+ - `create_integrated_workflow` - Generate systematic multi-MCP debugging plans
181
+ - `get_shared_cdp_url` - Get CDP WebSocket URL for browser coordination
118
182
  - `read_consolidated_logs` - Get recent logs with filtering
119
183
  - `search_logs` - Regex search with context
120
184
  - `get_browser_errors` - Extract browser errors by time period
121
- - `execute_browser_action` - Control the browser (click, navigate, screenshot, evaluate, scroll, type)
122
- - `fix_my_app` - AI-powered debugging and error resolution
123
185
 
124
- **Automatic Configuration**: Claude Code users get MCP access automatically when running `dev3000`. Other AI tools will be supported in future releases.
186
+ **Automatic Configuration**: Claude Code users get MCP access automatically when running `dev3000`. The dynamic capability discovery works with any MCPs you have configured - no manual setup required!
125
187
 
126
188
 
127
189
 
@@ -42,7 +42,7 @@ const TUIApp = ({
42
42
  const logIdCounter = useRef(0)
43
43
  const { stdout } = useStdout()
44
44
  const ctrlCMessageDefault = "^C quit"
45
- const [ctrlCMessage] = useState(ctrlCMessageDefault)
45
+ const [ctrlCMessage, setCtrlCMessage] = useState(ctrlCMessageDefault)
46
46
 
47
47
  const [terminalSize, setTerminalSize] = useState(() => ({
48
48
  width: stdout?.columns || 80,
@@ -82,7 +82,21 @@ const TUIApp = ({
82
82
 
83
83
  // Provide status update function to parent
84
84
  useEffect(() => {
85
- onStatusUpdate(setInitStatus)
85
+ onStatusUpdate((status: string | null) => {
86
+ // Check if this is the "Press Ctrl+C again" warning
87
+ if (status?.includes("Press Ctrl+C again")) {
88
+ // Update the bottom Ctrl+C message with warning emoji
89
+ setCtrlCMessage("⚠️ ^C again to quit")
90
+ // Clear the init status since we don't want it in the header anymore
91
+ setInitStatus(null)
92
+ // Reset after 3 seconds
93
+ setTimeout(() => {
94
+ setCtrlCMessage(ctrlCMessageDefault)
95
+ }, 3000)
96
+ } else {
97
+ setInitStatus(status)
98
+ }
99
+ })
86
100
  }, [onStatusUpdate])
87
101
 
88
102
  // Calculate available lines for logs dynamically based on terminal height and mode
@@ -94,13 +108,22 @@ const TUIApp = ({
94
108
  // In compact mode, reduce header size, account for bottom status line
95
109
  return Math.max(3, termHeight - 10)
96
110
  } else {
97
- // Normal mode calculation - reduced header lines since we removed Controls section
98
- const headerLines = 10 // Reduced from 12 since Controls section is commented out
99
- const logBoxHeaderLines = 3
100
- const logBoxFooterLines = scrollOffset > 0 ? 3 : 1
101
- const bottomStatusLine = 1 // Just one line for the log path
102
- const safetyBuffer = 0 // Removed safety buffer to use more space
103
- const totalReservedLines = headerLines + logBoxHeaderLines + logBoxFooterLines + bottomStatusLine + safetyBuffer
111
+ // Normal mode calculation - account for all UI elements
112
+ const headerBorderLines = 2 // Top border (with title) + bottom border
113
+ const headerContentLines = 5 // Logo is 4 lines tall, +1 for padding
114
+ const logBoxBorderLines = 2 // Top and bottom border of log box
115
+ const logBoxHeaderLines = 2 // "Logs (X total)" text (no blank line after)
116
+ const logBoxFooterLines = scrollOffset > 0 ? 2 : 0 // "(X lines below)" when scrolled
117
+ const bottomStatusLine = 1 // Log path and quit message
118
+ const safetyBuffer = 1 // Small buffer to prevent header from being pushed up
119
+ const totalReservedLines =
120
+ headerBorderLines +
121
+ headerContentLines +
122
+ logBoxBorderLines +
123
+ logBoxHeaderLines +
124
+ logBoxFooterLines +
125
+ bottomStatusLine +
126
+ safetyBuffer
104
127
  return Math.max(3, termHeight - totalReservedLines)
105
128
  }
106
129
  }
@@ -237,41 +260,52 @@ const TUIApp = ({
237
260
  )
238
261
 
239
262
  // Render normal header
240
- const renderNormalHeader = () => (
241
- <Box borderStyle="round" borderColor="#A18CE5" paddingX={2} paddingY={1} marginBottom={1} flexDirection="column">
242
- <Box flexDirection="row" gap={3}>
243
- {/* ASCII Logo on the left */}
244
- {/* biome-ignore format: preserve ASCII art alignment */}
245
- <Box flexDirection="column" alignItems="flex-start">
246
- {FULL_LOGO.map((line) => (
247
- <Text key={line} color="#A18CE5" bold>{line}</Text>
248
- ))}
249
- </Box>
250
-
251
- {/* Info on the right */}
252
- <Box flexDirection="column" flexGrow={1}>
253
- <Text color="#A18CE5" bold>
254
- {commandName} v{version} {initStatus ? `- ${initStatus}` : "is running!"}
255
- </Text>
256
- <Text> </Text>
257
- <Text color="cyan">🌐 Your App: http://localhost:{appPort}</Text>
258
- <Text color="cyan">🤖 MCP Server: http://localhost:{mcpPort}/mcp</Text>
259
- <Text color="cyan">
260
- 📸 Visual Timeline: http://localhost:{mcpPort}/logs
261
- {projectName ? `?project=${encodeURIComponent(projectName)}` : ""}
262
- </Text>
263
- {serversOnly && <Text color="cyan">🖥️ Servers-only mode - use Chrome extension for browser monitoring</Text>}
263
+ const renderNormalHeader = () => {
264
+ // Create custom top border with title embedded (like Claude Code)
265
+ const title = ` ${commandName} v${version} ${initStatus ? `- ${initStatus} ` : ""}`
266
+ const borderChar = "─"
267
+ const leftPadding = 2
268
+ // Account for border characters and padding
269
+ const availableWidth = termWidth - 2 // -2 for corner characters
270
+ const titleLength = title.length
271
+ const rightBorderLength = Math.max(0, availableWidth - titleLength - leftPadding)
272
+ const topBorderLine = `╭${borderChar.repeat(leftPadding)}${title}${borderChar.repeat(rightBorderLength)}╮`
273
+
274
+ return (
275
+ <Box flexDirection="column">
276
+ {/* Custom top border with embedded title */}
277
+ <Text color="#A18CE5">{topBorderLine}</Text>
278
+
279
+ {/* Content with side borders only */}
280
+ <Box borderStyle="round" borderColor="#A18CE5" borderTop={false} paddingX={2} paddingY={1}>
281
+ <Box flexDirection="row" gap={3}>
282
+ {/* ASCII Logo on the left */}
283
+ {/* biome-ignore format: preserve ASCII art alignment */}
284
+ <Box flexDirection="column" alignItems="flex-start">
285
+ {FULL_LOGO.map((line) => (
286
+ <Text key={line} color="#A18CE5" bold>
287
+ {line}
288
+ </Text>
289
+ ))}
290
+ </Box>
291
+
292
+ {/* Info on the right */}
293
+ <Box flexDirection="column" flexGrow={1}>
294
+ <Text color="cyan">🌐 Your App: http://localhost:{appPort}</Text>
295
+ <Text color="cyan">🤖 MCP Server: http://localhost:{mcpPort}/mcp</Text>
296
+ <Text color="cyan">
297
+ 📸 Visual Timeline: http://localhost:{mcpPort}/logs
298
+ {projectName ? `?project=${encodeURIComponent(projectName)}` : ""}
299
+ </Text>
300
+ {serversOnly && (
301
+ <Text color="cyan">🖥️ Servers-only mode - use Chrome extension for browser monitoring</Text>
302
+ )}
303
+ </Box>
304
+ </Box>
264
305
  </Box>
265
306
  </Box>
266
-
267
- {/* Controls at the bottom of header box */}
268
- {/*
269
- <Box marginTop={1}>
270
- <Text dimColor>💡 Controls: ↑/↓ scroll | PgUp/PgDn page | g/G start/end | Ctrl-C quit</Text>
271
- </Box>
272
- */}
273
- </Box>
274
- )
307
+ )
308
+ }
275
309
 
276
310
  return (
277
311
  <Box flexDirection="column" height="100%">
@@ -281,12 +315,9 @@ const TUIApp = ({
281
315
  {/* Logs Box - flexGrow makes it expand to fill available height */}
282
316
  <Box flexDirection="column" borderStyle="single" borderColor="gray" paddingX={1} flexGrow={1} minHeight={0}>
283
317
  {!isVeryCompact && (
284
- <>
285
- <Text color="gray" dimColor>
286
- Logs ({logs.length} total{scrollOffset > 0 && `, scrolled up ${scrollOffset} lines`})
287
- </Text>
288
- <Text> </Text>
289
- </>
318
+ <Text color="gray" dimColor>
319
+ Logs ({logs.length} total{scrollOffset > 0 && `, scrolled up ${scrollOffset} lines`})
320
+ </Text>
290
321
  )}
291
322
 
292
323
  {/* Logs content area - also uses flexGrow to expand */}
@@ -401,10 +432,7 @@ const TUIApp = ({
401
432
 
402
433
  {/* Scroll indicator - only show when scrolled up and not in very compact mode */}
403
434
  {!isVeryCompact && logs.length > maxVisibleLogs && scrollOffset > 0 && (
404
- <>
405
- <Text> </Text>
406
- <Text dimColor>({scrollOffset} lines below)</Text>
407
- </>
435
+ <Text dimColor>({scrollOffset} lines below)</Text>
408
436
  )}
409
437
  </Box>
410
438
 
@@ -1 +1 @@
1
- {"version":3,"file":"tui-interface-impl.d.ts","sourceRoot":"","sources":["../src/tui-interface-impl.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAoZD,wBAAsB,MAAM,CAC1B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAAE,CAAC,CA+B1F"}
1
+ {"version":3,"file":"tui-interface-impl.d.ts","sourceRoot":"","sources":["../src/tui-interface-impl.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAgbD,wBAAsB,MAAM,CAC1B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAAE,CAAC,CA+B1F"}
@@ -15,7 +15,7 @@ const TUIApp = ({ appPort, mcpPort, logFile, commandName, serversOnly, version,
15
15
  const logIdCounter = useRef(0);
16
16
  const { stdout } = useStdout();
17
17
  const ctrlCMessageDefault = "^C quit";
18
- const [ctrlCMessage] = useState(ctrlCMessageDefault);
18
+ const [ctrlCMessage, setCtrlCMessage] = useState(ctrlCMessageDefault);
19
19
  const [terminalSize, setTerminalSize] = useState(() => ({
20
20
  width: stdout?.columns || 80,
21
21
  height: stdout?.rows || 24
@@ -48,7 +48,22 @@ const TUIApp = ({ appPort, mcpPort, logFile, commandName, serversOnly, version,
48
48
  const isVeryCompact = termWidth < 60 || termHeight < 15;
49
49
  // Provide status update function to parent
50
50
  useEffect(() => {
51
- onStatusUpdate(setInitStatus);
51
+ onStatusUpdate((status) => {
52
+ // Check if this is the "Press Ctrl+C again" warning
53
+ if (status?.includes("Press Ctrl+C again")) {
54
+ // Update the bottom Ctrl+C message with warning emoji
55
+ setCtrlCMessage("⚠️ ^C again to quit");
56
+ // Clear the init status since we don't want it in the header anymore
57
+ setInitStatus(null);
58
+ // Reset after 3 seconds
59
+ setTimeout(() => {
60
+ setCtrlCMessage(ctrlCMessageDefault);
61
+ }, 3000);
62
+ }
63
+ else {
64
+ setInitStatus(status);
65
+ }
66
+ });
52
67
  }, [onStatusUpdate]);
53
68
  // Calculate available lines for logs dynamically based on terminal height and mode
54
69
  const calculateMaxVisibleLogs = () => {
@@ -61,13 +76,21 @@ const TUIApp = ({ appPort, mcpPort, logFile, commandName, serversOnly, version,
61
76
  return Math.max(3, termHeight - 10);
62
77
  }
63
78
  else {
64
- // Normal mode calculation - reduced header lines since we removed Controls section
65
- const headerLines = 10; // Reduced from 12 since Controls section is commented out
66
- const logBoxHeaderLines = 3;
67
- const logBoxFooterLines = scrollOffset > 0 ? 3 : 1;
68
- const bottomStatusLine = 1; // Just one line for the log path
69
- const safetyBuffer = 0; // Removed safety buffer to use more space
70
- const totalReservedLines = headerLines + logBoxHeaderLines + logBoxFooterLines + bottomStatusLine + safetyBuffer;
79
+ // Normal mode calculation - account for all UI elements
80
+ const headerBorderLines = 2; // Top border (with title) + bottom border
81
+ const headerContentLines = 5; // Logo is 4 lines tall, +1 for padding
82
+ const logBoxBorderLines = 2; // Top and bottom border of log box
83
+ const logBoxHeaderLines = 2; // "Logs (X total)" text (no blank line after)
84
+ const logBoxFooterLines = scrollOffset > 0 ? 2 : 0; // "(X lines below)" when scrolled
85
+ const bottomStatusLine = 1; // Log path and quit message
86
+ const safetyBuffer = 1; // Small buffer to prevent header from being pushed up
87
+ const totalReservedLines = headerBorderLines +
88
+ headerContentLines +
89
+ logBoxBorderLines +
90
+ logBoxHeaderLines +
91
+ logBoxFooterLines +
92
+ bottomStatusLine +
93
+ safetyBuffer;
71
94
  return Math.max(3, termHeight - totalReservedLines);
72
95
  }
73
96
  };
@@ -172,8 +195,19 @@ const TUIApp = ({ appPort, mcpPort, logFile, commandName, serversOnly, version,
172
195
  // Render compact header for small terminals
173
196
  const renderCompactHeader = () => (_jsx(Box, { borderStyle: "single", borderColor: "#A18CE5", paddingX: 1, marginBottom: 1, children: _jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsxs(Box, { children: [_jsx(Text, { color: "#A18CE5", bold: true, children: COMPACT_LOGO }), _jsxs(Text, { children: [" v", version, " "] }), initStatus && _jsxs(Text, { dimColor: true, children: ["- ", initStatus] })] }), !isVeryCompact && (_jsxs(_Fragment, { children: [_jsxs(Text, { dimColor: true, children: ["App: localhost:", appPort, " | MCP: localhost:", mcpPort] }), _jsx(Text, { dimColor: true, children: "\u2191/\u2193 scroll | Ctrl-C quit" })] }))] }) }));
174
197
  // Render normal header
175
- const renderNormalHeader = () => (_jsx(Box, { borderStyle: "round", borderColor: "#A18CE5", paddingX: 2, paddingY: 1, marginBottom: 1, flexDirection: "column", children: _jsxs(Box, { flexDirection: "row", gap: 3, children: [_jsx(Box, { flexDirection: "column", alignItems: "flex-start", children: FULL_LOGO.map((line) => (_jsx(Text, { color: "#A18CE5", bold: true, children: line }, line))) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsxs(Text, { color: "#A18CE5", bold: true, children: [commandName, " v", version, " ", initStatus ? `- ${initStatus}` : "is running!"] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: "cyan", children: ["\uD83C\uDF10 Your App: http://localhost:", appPort] }), _jsxs(Text, { color: "cyan", children: ["\uD83E\uDD16 MCP Server: http://localhost:", mcpPort, "/mcp"] }), _jsxs(Text, { color: "cyan", children: ["\uD83D\uDCF8 Visual Timeline: http://localhost:", mcpPort, "/logs", projectName ? `?project=${encodeURIComponent(projectName)}` : ""] }), serversOnly && _jsx(Text, { color: "cyan", children: "\uD83D\uDDA5\uFE0F Servers-only mode - use Chrome extension for browser monitoring" })] })] }) }));
176
- return (_jsxs(Box, { flexDirection: "column", height: "100%", children: [isCompact ? renderCompactHeader() : renderNormalHeader(), _jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "gray", paddingX: 1, flexGrow: 1, minHeight: 0, children: [!isVeryCompact && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: "gray", dimColor: true, children: ["Logs (", logs.length, " total", scrollOffset > 0 && `, scrolled up ${scrollOffset} lines`, ")"] }), _jsx(Text, { children: " " })] })), _jsx(Box, { flexDirection: "column", flexGrow: 1, children: visibleLogs.length === 0 ? (_jsx(Text, { dimColor: true, children: "Waiting for logs..." })) : (visibleLogs.map((log) => {
198
+ const renderNormalHeader = () => {
199
+ // Create custom top border with title embedded (like Claude Code)
200
+ const title = ` ${commandName} v${version} ${initStatus ? `- ${initStatus} ` : ""}`;
201
+ const borderChar = "─";
202
+ const leftPadding = 2;
203
+ // Account for border characters and padding
204
+ const availableWidth = termWidth - 2; // -2 for corner characters
205
+ const titleLength = title.length;
206
+ const rightBorderLength = Math.max(0, availableWidth - titleLength - leftPadding);
207
+ const topBorderLine = `╭${borderChar.repeat(leftPadding)}${title}${borderChar.repeat(rightBorderLength)}╮`;
208
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "#A18CE5", children: topBorderLine }), _jsx(Box, { borderStyle: "round", borderColor: "#A18CE5", borderTop: false, paddingX: 2, paddingY: 1, children: _jsxs(Box, { flexDirection: "row", gap: 3, children: [_jsx(Box, { flexDirection: "column", alignItems: "flex-start", children: FULL_LOGO.map((line) => (_jsx(Text, { color: "#A18CE5", bold: true, children: line }, line))) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsxs(Text, { color: "cyan", children: ["\uD83C\uDF10 Your App: http://localhost:", appPort] }), _jsxs(Text, { color: "cyan", children: ["\uD83E\uDD16 MCP Server: http://localhost:", mcpPort, "/mcp"] }), _jsxs(Text, { color: "cyan", children: ["\uD83D\uDCF8 Visual Timeline: http://localhost:", mcpPort, "/logs", projectName ? `?project=${encodeURIComponent(projectName)}` : ""] }), serversOnly && (_jsx(Text, { color: "cyan", children: "\uD83D\uDDA5\uFE0F Servers-only mode - use Chrome extension for browser monitoring" }))] })] }) })] }));
209
+ };
210
+ return (_jsxs(Box, { flexDirection: "column", height: "100%", children: [isCompact ? renderCompactHeader() : renderNormalHeader(), _jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "gray", paddingX: 1, flexGrow: 1, minHeight: 0, children: [!isVeryCompact && (_jsxs(Text, { color: "gray", dimColor: true, children: ["Logs (", logs.length, " total", scrollOffset > 0 && `, scrolled up ${scrollOffset} lines`, ")"] })), _jsx(Box, { flexDirection: "column", flexGrow: 1, children: visibleLogs.length === 0 ? (_jsx(Text, { dimColor: true, children: "Waiting for logs..." })) : (visibleLogs.map((log) => {
177
211
  // Parse log line to colorize different parts
178
212
  const parts = log.content.match(/^\[(.*?)\] \[(.*?)\] (?:\[(.*?)\] )?(.*)$/);
179
213
  if (parts) {
@@ -224,7 +258,7 @@ const TUIApp = ({ appPort, mcpPort, logFile, commandName, serversOnly, version,
224
258
  }
225
259
  // Fallback for unparsed lines
226
260
  return (_jsx(Text, { wrap: "truncate-end", children: log.content }, log.id));
227
- })) }), !isVeryCompact && logs.length > maxVisibleLogs && scrollOffset > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["(", scrollOffset, " lines below)"] })] }))] }), _jsxs(Box, { paddingX: 1, justifyContent: "space-between", children: [_jsxs(Text, { color: "#A18CE5", children: ["\u23F5\u23F5 ", logFile.replace(process.env.HOME || "", "~")] }), _jsx(Text, { color: "#A18CE5", children: ctrlCMessage })] })] }));
261
+ })) }), !isVeryCompact && logs.length > maxVisibleLogs && scrollOffset > 0 && (_jsxs(Text, { dimColor: true, children: ["(", scrollOffset, " lines below)"] }))] }), _jsxs(Box, { paddingX: 1, justifyContent: "space-between", children: [_jsxs(Text, { color: "#A18CE5", children: ["\u23F5\u23F5 ", logFile.replace(process.env.HOME || "", "~")] }), _jsx(Text, { color: "#A18CE5", children: ctrlCMessage })] })] }));
228
262
  };
229
263
  export async function runTUI(options) {
230
264
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tui-interface-impl.js","sourceRoot":"","sources":["../src/tui-interface-impl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-interface-impl.js","sourceRoot":"","sources":["../src/tui-interface-impl.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- SDKkQ5XdHwJr8jB5PJj7F
1
+ NWQx_KX68gOo5fDkdXq6G
@@ -8,8 +8,8 @@
8
8
  "static/chunks/a6dad97d9634a72d.js"
9
9
  ],
10
10
  "lowPriorityFiles": [
11
- "static/SDKkQ5XdHwJr8jB5PJj7F/_ssgManifest.js",
12
- "static/SDKkQ5XdHwJr8jB5PJj7F/_buildManifest.js"
11
+ "static/NWQx_KX68gOo5fDkdXq6G/_ssgManifest.js",
12
+ "static/NWQx_KX68gOo5fDkdXq6G/_buildManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/11ac0d0e69696c72.js",
@@ -6,8 +6,8 @@
6
6
  "ampDevFiles": [],
7
7
  "polyfillFiles": [],
8
8
  "lowPriorityFiles": [
9
- "static/SDKkQ5XdHwJr8jB5PJj7F/_ssgManifest.js",
10
- "static/SDKkQ5XdHwJr8jB5PJj7F/_buildManifest.js"
9
+ "static/NWQx_KX68gOo5fDkdXq6G/_ssgManifest.js",
10
+ "static/NWQx_KX68gOo5fDkdXq6G/_buildManifest.js"
11
11
  ],
12
12
  "rootMainFiles": [],
13
13
  "ampFirstPages": []
@@ -81,8 +81,8 @@
81
81
  "dynamicRoutes": {},
82
82
  "notFoundRoutes": [],
83
83
  "preview": {
84
- "previewModeId": "36ebea3c15f8f096ef7308fadb0633f9",
85
- "previewModeSigningKey": "cf0305870e899d9e8ed5a52e86e0a1d9e4ad68c2366412ff13c080f765e5b1ef",
86
- "previewModeEncryptionKey": "f14da12a052e579366f157364cc2dcc7d4209fe6e1b7985c6074599c29700fa5"
84
+ "previewModeId": "6ec69a00d235859fabe63a8c2cd5f785",
85
+ "previewModeSigningKey": "12009826c3fd3b663aaa136eed7e158e7dc510c07e7fe5c244c94b8620eff7af",
86
+ "previewModeEncryptionKey": "0d640abd7ab013312ca29ef993190e00ee94a3ea891398b3986b8e71316d5ba7"
87
87
  }
88
88
  }
@@ -1,2 +1,2 @@
1
- <!DOCTYPE html><!--SDKkQ5XdHwJr8jB5PJj7F--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/11ac0d0e69696c72.js"/><script src="/_next/static/chunks/172f6179d608c15f.js" async=""></script><script src="/_next/static/chunks/571fbcba7786c174.js" async=""></script><script src="/_next/static/chunks/dbbdc51e76f4cea4.js" async=""></script><script src="/_next/static/chunks/526448e84b58822c.js" async=""></script><script src="/_next/static/chunks/turbopack-7cd5a898ed038e26.js" async=""></script><script src="/_next/static/chunks/711519b5a2e53fc8.js" async=""></script><script src="/_next/static/chunks/addab50e23821c6c.js" async=""></script><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
- @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/11ac0d0e69696c72.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[64953,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"default\"]\n3:I[3695,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"default\"]\n4:I[17204,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"OutletBoundary\"]\n6:I[49261,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"AsyncMetadataOutlet\"]\n8:I[17204,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"ViewportBoundary\"]\na:I[17204,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"MetadataBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[34938,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"SDKkQ5XdHwJr8jB5PJj7F\",\"c\":[\"\",\"_global-error\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/711519b5a2e53fc8.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/addab50e23821c6c.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$L5\",[\"$\",\"$L6\",null,{\"promise\":\"$@7\"}]]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],null],[\"$\",\"$La\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$b\",null,{\"fallback\":null,\"children\":\"$Lc\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n5:null\n"])</script><script>self.__next_f.push([1,"7:{\"metadata\":[],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"c:\"$7:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--NWQx_KX68gOo5fDkdXq6G--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/11ac0d0e69696c72.js"/><script src="/_next/static/chunks/172f6179d608c15f.js" async=""></script><script src="/_next/static/chunks/571fbcba7786c174.js" async=""></script><script src="/_next/static/chunks/dbbdc51e76f4cea4.js" async=""></script><script src="/_next/static/chunks/526448e84b58822c.js" async=""></script><script src="/_next/static/chunks/turbopack-7cd5a898ed038e26.js" async=""></script><script src="/_next/static/chunks/711519b5a2e53fc8.js" async=""></script><script src="/_next/static/chunks/addab50e23821c6c.js" async=""></script><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
+ @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/11ac0d0e69696c72.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[64953,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"default\"]\n3:I[3695,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"default\"]\n4:I[17204,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"OutletBoundary\"]\n6:I[49261,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"AsyncMetadataOutlet\"]\n8:I[17204,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"ViewportBoundary\"]\na:I[17204,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"MetadataBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[34938,[\"/_next/static/chunks/711519b5a2e53fc8.js\",\"/_next/static/chunks/addab50e23821c6c.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"NWQx_KX68gOo5fDkdXq6G\",\"c\":[\"\",\"_global-error\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/711519b5a2e53fc8.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/addab50e23821c6c.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$L5\",[\"$\",\"$L6\",null,{\"promise\":\"$@7\"}]]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],null],[\"$\",\"$La\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$b\",null,{\"fallback\":null,\"children\":\"$Lc\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n5:null\n"])</script><script>self.__next_f.push([1,"7:{\"metadata\":[],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"c:\"$7:metadata\"\n"])</script></body></html>