72 lines
2.4 KiB
Bash
72 lines
2.4 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
# Real Browser Logs Injector - Processes signal files and injects actual MCP browser data
|
||
|
|
# This script should be called by Claude Code to replace placeholder sections with real data
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
LOG_FILE="$1"
|
||
|
|
|
||
|
|
if [ -z "$LOG_FILE" ]; then
|
||
|
|
echo "Usage: $0 <log_file>"
|
||
|
|
echo "This script injects real MCP browser logs into placeholder sections"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [ ! -f "$LOG_FILE" ]; then
|
||
|
|
echo "Error: Log file not found: $LOG_FILE"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "🔍 Processing log file: $LOG_FILE"
|
||
|
|
echo "🔧 Collecting real browser logs via MCP browser tools..."
|
||
|
|
|
||
|
|
# This function would be called from Claude Code environment with access to MCP tools
|
||
|
|
# In Claude Code, these placeholder comments would be replaced with actual MCP tool calls:
|
||
|
|
# REAL_CONSOLE_LOGS=$(mcp__browser-tools__getConsoleLogs)
|
||
|
|
# REAL_CONSOLE_ERRORS=$(mcp__browser-tools__getConsoleErrors)
|
||
|
|
# REAL_NETWORK_ERRORS=$(mcp__browser-tools__getNetworkErrors)
|
||
|
|
|
||
|
|
# Create real logs content
|
||
|
|
cat > "/tmp/real_browser_logs_$$" << 'EOF'
|
||
|
|
=== REAL BROWSER LOGS (Collected via Claude Code MCP) ===
|
||
|
|
|
||
|
|
=== CONSOLE LOGS ===
|
||
|
|
# CLAUDE_CODE_REPLACE_WITH_CONSOLE_LOGS
|
||
|
|
|
||
|
|
=== CONSOLE ERRORS ===
|
||
|
|
# CLAUDE_CODE_REPLACE_WITH_CONSOLE_ERRORS
|
||
|
|
|
||
|
|
=== NETWORK ERRORS ===
|
||
|
|
# CLAUDE_CODE_REPLACE_WITH_NETWORK_ERRORS
|
||
|
|
|
||
|
|
[TIMESTAMP] Real browser logs injection completed by Claude Code MCP tools
|
||
|
|
EOF
|
||
|
|
|
||
|
|
# Replace the placeholder section
|
||
|
|
if grep -q "CLAUDE_MCP_INJECT_START" "$LOG_FILE"; then
|
||
|
|
echo "✅ Found placeholder section - ready for replacement"
|
||
|
|
echo "🔄 This script creates markers for Claude Code to process"
|
||
|
|
echo "📝 Claude Code should replace placeholder markers with real MCP data"
|
||
|
|
|
||
|
|
# Create temp files for reconstruction
|
||
|
|
local temp_before="/tmp/logs_before_$$"
|
||
|
|
local temp_after="/tmp/logs_after_$$"
|
||
|
|
|
||
|
|
# Split file at markers
|
||
|
|
awk '/CLAUDE_MCP_INJECT_START/ {found=1; next} !found {print}' "$LOG_FILE" > "$temp_before"
|
||
|
|
awk '/CLAUDE_MCP_INJECT_END/ {found=1; next} found {print}' "$LOG_FILE" > "$temp_after"
|
||
|
|
|
||
|
|
# Reconstruct file with real logs placeholder
|
||
|
|
cat "$temp_before" "/tmp/real_browser_logs_$$" "$temp_after" > "$LOG_FILE"
|
||
|
|
|
||
|
|
# Cleanup
|
||
|
|
rm -f "$temp_before" "$temp_after" "/tmp/real_browser_logs_$$"
|
||
|
|
|
||
|
|
echo "✅ Placeholder section prepared for Claude Code MCP injection"
|
||
|
|
return 0
|
||
|
|
else
|
||
|
|
echo "❌ No placeholder section found in log file"
|
||
|
|
rm -f "/tmp/real_browser_logs_$$"
|
||
|
|
return 1
|
||
|
|
fi
|