Initial commit: Clean DSS implementation

Migrated from design-system-swarm with fresh git history.
Old project history preserved in /home/overbits/apps/design-system-swarm

Core components:
- MCP Server (Python FastAPI with mcp 1.23.1)
- Claude Plugin (agents, commands, skills, strategies, hooks, core)
- DSS Backend (dss-mvp1 - token translation, Figma sync)
- Admin UI (Node.js/React)
- Server (Node.js/Express)
- Storybook integration (dss-mvp1/.storybook)

Self-contained configuration:
- All paths relative or use DSS_BASE_PATH=/home/overbits/dss
- PYTHONPATH configured for dss-mvp1 and dss-claude-plugin
- .env file with all configuration
- Claude plugin uses ${CLAUDE_PLUGIN_ROOT} for portability

Migration completed: $(date)
🤖 Clean migration with full functionality preserved
This commit is contained in:
Digital Production Factory
2025-12-09 18:45:48 -03:00
commit 276ed71f31
884 changed files with 373737 additions and 0 deletions

View File

@@ -0,0 +1,122 @@
# Browser Console Logging System
## Overview
Production-ready browser console log forwarding system that captures all console output (log, info, warn, error, debug) from the admin-ui and streams it to the server for monitoring and debugging.
## Architecture
### Components
1. **Client-Side Forwarder** (`admin-ui/js/utils/console-forwarder.js`)
- Intercepts all console methods
- Safe circular reference detection using WeakSet
- Batching: 50 logs or 2-second intervals
- Retry mechanism: Up to 3 retries with exponential backoff
- SendBeacon API for reliable page unload logging
2. **Server-Side Logger** (`tools/api/browser_logger.py`)
- FastAPI router endpoint: `POST /api/logs/browser`
- Rotating file handler: 10MB max, 5 backups
- Log location: `.dss/logs/browser-logs/browser.log`
3. **Proxy Configuration** (`admin-ui/vite.config.js`)
- Vite proxy forwards `/api``http://localhost:8002`
- Allows HTTPS frontend to communicate with HTTP backend
## Current Status
✅ All components implemented and integrated
✅ API endpoint tested and functional (server.py:259)
✅ Logs directory created: `.dss/logs/browser-logs/`
✅ Port configuration: Vite (3456), FastAPI (8002)
## Testing
### Manual API Test
\`\`\`bash
curl -X POST http://localhost:8002/api/logs/browser \
-H "Content-Type: application/json" \
-d '{"logs": [{"level": "info", "timestamp": "2025-12-08T15:00:00Z", "message": "Test", "data": []}]}'
\`\`\`
Expected response: `{"status":"ok","count":1}`
### View Logs
\`\`\`bash
# View all logs
./admin-ui/scripts/dss-logs.sh
# View errors only
./admin-ui/scripts/dss-logs.sh error
# View warnings and errors
./admin-ui/scripts/dss-logs.sh warn
\`\`\`
### Test Page
Open browser to: `https://localhost:3456/test-console-forwarding.html`
## Optional: Chrome DevTools Protocol
For deep debugging, use the CDP script:
\`\`\`bash
# On server
./admin-ui/scripts/start-chrome-debug.sh
# On local machine (SSH tunnel)
ssh -L 9222:localhost:9222 user@server-ip
# Then open chrome://inspect in local browser
\`\`\`
## Files Created/Modified
-`admin-ui/js/utils/console-forwarder.js` (NEW)
-`tools/api/browser_logger.py` (NEW)
-`admin-ui/index.html` (MODIFIED - loads forwarder)
-`admin-ui/vite.config.js` (MODIFIED - proxy config)
-`tools/api/server.py` (MODIFIED - router integration)
-`admin-ui/scripts/start-chrome-debug.sh` (NEW)
-`admin-ui/scripts/dss-logs.sh` (NEW)
-`admin-ui/test-console-forwarding.html` (NEW - test page)
## Safety Features
1. **Circular Reference Handling**: WeakSet-based detection prevents JSON.stringify crashes
2. **Infinite Loop Prevention**: No console.error in catch blocks of forwarder
3. **Batching**: Reduces network overhead (2s or 50 logs)
4. **Retry Logic**: Up to 3 retries with queue management
5. **Error Objects**: Explicit serialization of Error instances (message, stack, name)
6. **Page Unload**: SendBeacon ensures logs sent before navigation
## Log Format
\`\`\`
2025-12-08 12:03:55,678 [INFO] [BROWSER] [2025-12-08T15:05:00Z] Test log message
2025-12-08 12:03:55,678 [ERROR] [BROWSER] [2025-12-08T15:05:01Z] Error description
\`\`\`
## Next Steps
To verify end-to-end functionality:
1. Open `https://localhost:3456/` in a browser
2. Check console output in browser DevTools
3. Verify logs appear in `.dss/logs/browser-logs/browser.log`
## Troubleshooting
### Logs not appearing
- Check FastAPI server is running: `lsof -i :8002`
- Check Vite proxy: `curl -X POST https://localhost:3456/api/logs/browser -k`
- Check forwarder loaded: View source of `https://localhost:3456/`
### Permission errors
- Log directory uses project-local path (`.dss/logs/`)
- No root/sudo required
## References
- Implementation plan: `zen_generated.code` (can be deleted)
- Expert analysis: Gemini 3 Pro Preview validation