export const kpiData = [ { label: 'Total Computers', value: '24', change: '+3', icon: 'Monitor', color: 'purple' }, { label: 'Running', value: '18', change: '+2', icon: 'Play', color: 'green' }, { label: 'Idle', value: '4', change: '-1', icon: 'Pause', color: 'amber' }, { label: 'Provisioning', value: '2', change: '+1', icon: 'Loader', color: 'cyan' }, { label: 'Workflows Active', value: '7', change: '+2', icon: 'GitBranch', color: 'purple' }, { label: 'Storage Usage', value: '1.8 TB', change: '+12%', icon: 'HardDrive', color: 'cyan' }, { label: 'Active Sessions', value: '12', change: '+4', icon: 'Users', color: 'green' }, ]; export const quickActions = [ { label: 'New Desktop', icon: 'Plus', color: 'purple' }, { label: 'Launch Browser Lab', icon: 'Globe', color: 'cyan' }, { label: 'Open Dev Container', icon: 'Code', color: 'green' }, { label: 'Resume Session', icon: 'RotateCcw', color: 'amber' }, { label: 'Run Workflow', icon: 'Play', color: 'purple' }, { label: 'View Logs', icon: 'ScrollText', color: 'cyan' }, ]; export const computers = [ { id: 1, name: 'Ubuntu 24.04 LTS', os: 'ubuntu', status: 'running', cpu: 45, ram: 62, disk: 38, tags: ['production', 'web'], lastActive: '2m ago', favorite: true, ip: '10.0.1.42' }, { id: 2, name: 'Debian 13 Trixie KDE', os: 'debian', status: 'running', cpu: 28, ram: 41, disk: 22, tags: ['dev', 'kde'], lastActive: '5m ago', favorite: false, ip: '10.0.1.43' }, { id: 3, name: 'Arch Linux', os: 'arch', status: 'idle', cpu: 5, ram: 18, disk: 55, tags: ['rolling', 'minimal'], lastActive: '1h ago', favorite: true, ip: '10.0.1.44' }, { id: 4, name: 'Kali Linux', os: 'kali', status: 'running', cpu: 72, ram: 85, disk: 61, tags: ['security', 'pentest'], lastActive: 'now', favorite: false, ip: '10.0.1.45' }, { id: 5, name: 'Parrot Security', os: 'parrot', status: 'provisioning', cpu: 0, ram: 0, disk: 12, tags: ['security', 'forensics'], lastActive: 'provisioning', favorite: false, ip: '10.0.1.46' }, { id: 6, name: 'QubesOS Lab', os: 'qubes', status: 'stopped', cpu: 0, ram: 0, disk: 45, tags: ['security', 'isolated'], lastActive: '3d ago', favorite: false, ip: '10.0.1.47' }, { id: 7, name: 'Pop!_OS COSMIC', os: 'popos', status: 'running', cpu: 33, ram: 54, disk: 29, tags: ['desktop', 'cosmic'], lastActive: '12m ago', favorite: true, ip: '10.0.1.48' }, { id: 8, name: 'Chrome with CDP', os: 'chrome', status: 'running', cpu: 56, ram: 71, disk: 18, tags: ['browser', 'automation'], lastActive: 'now', favorite: false, ip: '10.0.1.49' }, { id: 9, name: 'Chromium + Claude', os: 'chromium', status: 'running', cpu: 61, ram: 78, disk: 24, tags: ['browser', 'ai-agent'], lastActive: '1m ago', favorite: true, ip: '10.0.1.50' }, { id: 10, name: 'Firefox ForgeStudio', os: 'firefox', status: 'idle', cpu: 8, ram: 32, disk: 15, tags: ['browser', 'devtools'], lastActive: '45m ago', favorite: false, ip: '10.0.1.51' }, { id: 11, name: 'Dev Container', os: 'container', status: 'running', cpu: 42, ram: 56, disk: 31, tags: ['dev', 'docker'], lastActive: '3m ago', favorite: true, ip: '10.0.1.52' }, ]; export const templates = [ { id: 1, name: 'Ubuntu 24.04 Desktop', category: 'desktops', baseImage: 'ubuntu:24.04', cpu: 4, ram: '8GB', disk: '40GB', tools: ['GNOME', 'Firefox', 'VS Code', 'Docker'], tags: ['stable', 'LTS'], lastUpdated: '2h ago', description: 'Full Ubuntu desktop environment with GNOME and essential dev tools.' }, { id: 2, name: 'Debian 13 KDE Plasma', category: 'desktops', baseImage: 'debian:trixie', cpu: 4, ram: '8GB', disk: '35GB', tools: ['KDE Plasma', 'Konsole', 'Kate', 'Docker'], tags: ['stable', 'KDE'], lastUpdated: '1d ago', description: 'Debian Trixie with KDE Plasma desktop environment.' }, { id: 3, name: 'Arch Linux Minimal', category: 'desktops', baseImage: 'archlinux:latest', cpu: 2, ram: '4GB', disk: '20GB', tools: ['i3wm', 'Alacritty', 'Neovim', 'yay'], tags: ['rolling', 'minimal'], lastUpdated: '6h ago', description: 'Minimal Arch Linux with i3 window manager.' }, { id: 4, name: 'Chrome CDP Sandbox', category: 'browsers', baseImage: 'chrome:latest', cpu: 2, ram: '4GB', disk: '15GB', tools: ['Chrome', 'CDP', 'Puppeteer', 'DevTools'], tags: ['automation', 'CDP'], lastUpdated: '4h ago', description: 'Headless Chrome with Chrome DevTools Protocol access.' }, { id: 5, name: 'Firefox Playwright', category: 'browsers', baseImage: 'firefox:latest', cpu: 2, ram: '4GB', disk: '15GB', tools: ['Firefox', 'Playwright', 'GeckoDriver'], tags: ['automation', 'testing'], lastUpdated: '12h ago', description: 'Firefox browser with Playwright automation framework.' }, { id: 6, name: 'Kali Linux Full', category: 'security', baseImage: 'kalilinux/kali-rolling', cpu: 4, ram: '8GB', disk: '60GB', tools: ['Metasploit', 'Burp Suite', 'Nmap', 'Wireshark', 'John'], tags: ['pentest', 'security'], lastUpdated: '1d ago', description: 'Full Kali Linux penetration testing distribution.' }, { id: 7, name: 'Parrot Security OS', category: 'security', baseImage: 'parrotsec/security', cpu: 4, ram: '8GB', disk: '50GB', tools: ['Metasploit', 'Hashcat', 'Aircrack', 'Volatility'], tags: ['forensics', 'security'], lastUpdated: '3d ago', description: 'Parrot Security for digital forensics and pentesting.' }, { id: 8, name: 'Node.js Dev Container', category: 'dev-containers', baseImage: 'mcr.microsoft.com/devcontainers/javascript-node', cpu: 2, ram: '4GB', disk: '20GB', tools: ['Node 20', 'npm', 'TypeScript', 'ESLint', 'Prettier'], tags: ['node', 'dev'], lastUpdated: '8h ago', description: 'Pre-configured Node.js development container.' }, { id: 9, name: 'Python Dev Container', category: 'dev-containers', baseImage: 'mcr.microsoft.com/devcontainers/python', cpu: 2, ram: '4GB', disk: '20GB', tools: ['Python 3.12', 'pip', 'Poetry', 'Jupyter'], tags: ['python', 'dev'], lastUpdated: '5h ago', description: 'Python development container with Jupyter support.' }, { id: 10, name: 'QubesOS Isolated Lab', category: 'experimental', baseImage: 'qubes:latest', cpu: 8, ram: '16GB', disk: '80GB', tools: ['Xen', 'Whonix', 'Disposable VMs'], tags: ['isolated', 'experimental'], lastUpdated: '1w ago', description: 'Isolated QubesOS environment for high-security workflows.' }, ]; export const agents = [ { id: 1, name: 'Claude Code', provider: 'Anthropic', model: 'claude-opus-4', status: 'active', sandboxes: 3, icon: '🤖', description: 'Advanced coding assistant with shell and filesystem access.' }, { id: 2, name: 'OpenCode', provider: 'OpenAI', model: 'gpt-4o', status: 'active', sandboxes: 2, icon: '⚡', description: 'Open-source coding agent with multi-language support.' }, { id: 3, name: 'Codex CLI', provider: 'OpenAI', model: 'codex-1', status: 'idle', sandboxes: 1, icon: '🔧', description: 'CLI-based code generation and execution agent.' }, { id: 4, name: 'OpenClaw', provider: 'Community', model: 'openclaw-v2', status: 'active', sandboxes: 4, icon: '🦀', description: 'Open-source agent with tool-use capabilities.' }, { id: 5, name: 'Kilo Code', provider: 'Kilo Labs', model: 'kilo-v3', status: 'idle', sandboxes: 0, icon: '🎯', description: 'Lightweight code agent optimized for speed.' }, { id: 6, name: 'Cursor CLI', provider: 'Cursor', model: 'cursor-v1', status: 'active', sandboxes: 2, icon: '📝', description: 'AI-powered code editor agent with context awareness.' }, { id: 7, name: 'Hermes Agent', provider: 'NousResearch', model: 'hermes-3', status: 'provisioning', sandboxes: 1, icon: '🕊️', description: 'Multi-modal agent for complex reasoning tasks.' }, { id: 8, name: 'Pi', provider: 'Inflection', model: 'pi-v2', status: 'idle', sandboxes: 0, icon: 'π', description: 'Conversational AI with code execution capabilities.' }, ]; export const modelRouting = [ { name: 'GPT-5.5', provider: 'OpenAI', latency: '120ms', status: 'available', color: 'green' }, { name: 'Claude Opus', provider: 'Anthropic', latency: '95ms', status: 'available', color: 'purple' }, { name: 'Gemini Ultra', provider: 'Google', latency: '150ms', status: 'available', color: 'cyan' }, { name: 'Kimi K2', provider: 'Moonshot', latency: '200ms', status: 'degraded', color: 'amber' }, { name: 'OpenRouter Mix', provider: 'OpenRouter', latency: '180ms', status: 'available', color: 'green' }, { name: 'Local Fallback', provider: 'Ollama', latency: '350ms', status: 'standby', color: 'slate' }, ]; export const toolPermissions = [ { tool: 'Browser', agent: true, sandbox: true, approval: false, icon: 'Globe' }, { tool: 'Shell', agent: true, sandbox: true, approval: true, icon: 'Terminal' }, { tool: 'Filesystem', agent: true, sandbox: true, approval: false, icon: 'FolderOpen' }, { tool: 'Clipboard', agent: false, sandbox: true, approval: true, icon: 'Clipboard' }, { tool: 'Network', agent: true, sandbox: false, approval: true, icon: 'Wifi' }, { tool: 'API Keys', agent: false, sandbox: false, approval: true, icon: 'Key' }, { tool: 'Terminal', agent: true, sandbox: true, approval: false, icon: 'TerminalSquare' }, { tool: 'Screenshots', agent: true, sandbox: true, approval: false, icon: 'Camera' }, { tool: 'Workflows', agent: true, sandbox: false, approval: true, icon: 'GitBranch' }, ]; export const workflows = [ { id: 1, name: 'Deploy Staging', status: 'running', column: 'running', trigger: 'push to main', progress: 65, startTime: '2m ago', node: 'Boot Container' }, { id: 2, name: 'Security Scan', status: 'queued', column: 'queued', trigger: 'schedule */6h', progress: 0, startTime: 'pending', node: 'Start' }, { id: 3, name: 'Browser Test Suite', status: 'waiting', column: 'waiting', trigger: 'manual', progress: 40, startTime: '15m ago', node: 'Attach Browser' }, { id: 4, name: 'Snapshot Backup', status: 'completed', column: 'completed', trigger: 'schedule daily', progress: 100, startTime: '2h ago', node: 'Cleanup' }, { id: 5, name: 'Image Pull + Cache', status: 'queued', column: 'queued', trigger: 'webhook', progress: 0, startTime: 'pending', node: 'Start' }, { id: 6, name: 'Agent Health Check', status: 'running', column: 'running', trigger: 'cron */5m', progress: 80, startTime: '1m ago', node: 'Health Check' }, { id: 7, name: 'Log Rotation', status: 'completed', column: 'completed', trigger: 'schedule weekly', progress: 100, startTime: '1d ago', node: 'Notify' }, ]; export const workflowNodes = [ { id: 'start', label: 'Start', type: 'trigger', x: 50, y: 150, status: 'completed' }, { id: 'pull', label: 'Pull Image', type: 'process', x: 200, y: 150, status: 'completed' }, { id: 'boot', label: 'Boot Container', type: 'process', x: 350, y: 150, status: 'running' }, { id: 'health', label: 'Health Check', type: 'check', x: 500, y: 150, status: 'pending' }, { id: 'browser', label: 'Attach Browser', type: 'process', x: 650, y: 100, status: 'pending' }, { id: 'snapshot', label: 'Snapshot', type: 'process', x: 650, y: 200, status: 'pending' }, { id: 'cleanup', label: 'Cleanup', type: 'process', x: 800, y: 150, status: 'pending' }, { id: 'notify', label: 'Notify', type: 'output', x: 950, y: 150, status: 'pending' }, ]; export const workflowEdges = [ { from: 'start', to: 'pull' }, { from: 'pull', to: 'boot' }, { from: 'boot', to: 'health' }, { from: 'health', to: 'browser' }, { from: 'health', to: 'snapshot' }, { from: 'browser', to: 'cleanup' }, { from: 'snapshot', to: 'cleanup' }, { from: 'cleanup', to: 'notify' }, ]; export const terminalSessions = [ { id: 1, name: 'ubuntu-main', shell: '/bin/bash', cwd: '~/projects/ghostnode', status: 'active' }, { id: 2, name: 'kali-pentest', shell: '/bin/zsh', cwd: '~/pentest/target', status: 'active' }, { id: 3, name: 'dev-container', shell: '/bin/bash', cwd: '/workspace/api', status: 'idle' }, ]; export const terminalOutput = [ { type: 'prompt', text: 'ghostnode@ubuntu:~/projects/ghostnode$' }, { type: 'command', text: 'docker ps --format "table {{.Names}}\\t{{.Status}}\\t{{.Ports}}"' }, { type: 'output', text: 'NAMES STATUS PORTS' }, { type: 'output', text: 'ghostnode-api Up 2 hours 0.0.0.0:3000->3000/tcp' }, { type: 'output', text: 'ghostnode-worker Up 2 hours 0.0.0.0:4000->4000/tcp' }, { type: 'output', text: 'chrome-cdp Up 45 minutes 0.0.0.0:9222->9222/tcp' }, { type: 'output', text: 'dev-container Up 3 hours 0.0.0.0:8080->8080/tcp' }, { type: 'prompt', text: 'ghostnode@ubuntu:~/projects/ghostnode$' }, { type: 'command', text: 'kubectl get pods -n ghostnode' }, { type: 'output', text: 'NAME READY STATUS RESTARTS AGE' }, { type: 'output', text: 'api-deployment-7d8f9c6b5-x2k1 1/1 Running 0 2h' }, { type: 'output', text: 'worker-deployment-5c4d3a2f1-m9n7 1/1 Running 0 2h' }, { type: 'output', text: 'chrome-cdp-9b8a7c6d5-p4q3 1/1 Running 0 45m' }, { type: 'output', text: 'redis-master-0 1/1 Running 0 5d' }, { type: 'prompt', text: 'ghostnode@ubuntu:~/projects/ghostnode$' }, { type: 'command', text: 'gh workflow run deploy-staging.yml' }, { type: 'output', text: '✓ Created workflow_run event for deploy-staging.yml' }, { type: 'output', text: ' Run ID: 89456123' }, { type: 'output', text: ' Status: queued' }, { type: 'prompt', text: 'ghostnode@ubuntu:~/projects/ghostnode$' }, { type: 'command', text: 'ghostnode status --all' }, { type: 'output', text: '╭──────────────────────────────────────────────╮' }, { type: 'output', text: '│ Ghostnode Cluster Status │' }, { type: 'output', text: '│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │' }, { type: 'output', text: '│ Computers: 24 total, 18 running, 4 idle │' }, { type: 'output', text: '│ Agents: 6 active, 2 idle │' }, { type: 'output', text: '│ Workflows: 3 running, 2 queued │' }, { type: 'output', text: '│ Storage: 1.8 TB / 4.0 TB (45%) │' }, { type: 'output', text: '│ Uptime: 99.97% (30d rolling) │' }, { type: 'output', text: '╰──────────────────────────────────────────────╯' }, { type: 'prompt', text: 'ghostnode@ubuntu:~/projects/ghostnode$' }, ]; export const logLines = [ { time: '14:32:01', level: 'info', source: 'api', message: 'Container ubuntu-main health check passed' }, { time: '14:32:03', level: 'info', source: 'worker', message: 'Workflow deploy-staging step 3/8 started' }, { time: '14:32:05', level: 'warn', source: 'scheduler', message: 'Agent hermes-3 provisioning timeout, retrying...' }, { time: '14:32:08', level: 'info', source: 'browser', message: 'Chrome CDP session established for sandbox-7d2f' }, { time: '14:32:10', level: 'error', source: 'network', message: 'Outbound connection blocked by policy: 203.0.113.42:443' }, { time: '14:32:12', level: 'info', source: 'api', message: 'Snapshot created: kali-pentest-snap-20240115' }, { time: '14:32:15', level: 'info', source: 'worker', message: 'Health check passed for dev-container' }, { time: '14:32:18', level: 'debug', source: 'agent', message: 'Claude Code tool call: read_file(/workspace/api/src/index.ts)' }, { time: '14:32:20', level: 'info', source: 'scheduler', message: 'Cron job agent-health-check triggered' }, { time: '14:32:22', level: 'info', source: 'api', message: 'New session established: user@firefox-forge' }, ]; export const browserLabs = [ { id: 1, name: 'Chrome CDP Session', type: 'chrome-cdp', status: 'active', url: 'https://app.ghostnode.dev', actions: 47, screenshots: 12 }, { id: 2, name: 'Playwright Test Suite', type: 'playwright', status: 'running', url: 'http://localhost:3000', actions: 156, screenshots: 34 }, { id: 3, name: 'Scraping Task - Docs', type: 'scraping', status: 'queued', url: 'https://docs.ghostnode.dev', actions: 0, screenshots: 0 }, { id: 4, name: 'Firefox Forge Session', type: 'firefox', status: 'idle', url: 'about:blank', actions: 23, screenshots: 5 }, { id: 5, name: 'HAR Capture - API', type: 'har-capture', status: 'active', url: 'https://api.ghostnode.dev/v2', actions: 89, screenshots: 0 }, { id: 6, name: 'Browser-use Agent', type: 'browser-use', status: 'running', url: 'https://github.com/ghostnode', actions: 312, screenshots: 45 }, { id: 7, name: 'Session Replay #42', type: 'replay', status: 'completed', url: 'https://app.ghostnode.dev/dashboard', actions: 67, screenshots: 18 }, ]; export const apiKeys = [ { id: 1, provider: 'Anthropic', key: 'sk-ant-...7x2k', status: 'active', lastUsed: '2m ago', model: 'Claude Opus 4' }, { id: 2, provider: 'OpenAI', key: 'sk-proj-...m9n7', status: 'active', lastUsed: '5m ago', model: 'GPT-5.5' }, { id: 3, provider: 'Google AI', key: 'AIza...4q3p', status: 'active', lastUsed: '1h ago', model: 'Gemini Ultra' }, { id: 4, provider: 'OpenRouter', key: 'sk-or-...8j5l', status: 'active', lastUsed: '3h ago', model: 'Multi-model' }, { id: 5, provider: 'Vercel AI Gateway', key: 'vk_aigw-...2d9f', status: 'active', lastUsed: '30m ago', model: 'BYOK Gateway' }, { id: 6, provider: 'Ollama Local', key: 'http://localhost:11434', status: 'standby', lastUsed: '1d ago', model: 'Llama 3.1 70B' }, ]; export const securityPolicies = [ { name: 'Outbound-Only Networking', enabled: true, description: 'Block all inbound connections except through approved proxies.' }, { name: 'Secret Redaction', enabled: true, description: 'Automatically redact API keys and tokens in logs and output.' }, { name: 'Audit Logging', enabled: true, description: 'Log all agent actions, shell commands, and file access.' }, { name: 'Screenshot Permissions', enabled: false, description: 'Require approval before agents can capture screenshots.' }, { name: 'Command Approval', enabled: true, description: 'Require human approval for destructive shell commands.' }, { name: 'Sandbox TTL', enabled: true, description: 'Auto-terminate sandboxes after 24h of inactivity.' }, { name: 'Network Isolation', enabled: false, description: 'Full network isolation for high-security sandboxes.' }, { name: 'Resource Limits', enabled: true, description: 'Enforce CPU/memory limits on all containers.' }, ]; export const recentActivity = [ { id: 1, action: 'Container ubuntu-main started', time: '2m ago', type: 'success', icon: 'Play' }, { id: 2, action: 'Agent Claude Code executed shell command', time: '5m ago', type: 'info', icon: 'Terminal' }, { id: 3, action: 'Workflow deploy-staging reached step 3', time: '8m ago', type: 'info', icon: 'GitBranch' }, { id: 4, action: 'Snapshot created: kali-pentest-snap', time: '15m ago', type: 'success', icon: 'Camera' }, { id: 5, action: 'Security alert: outbound connection blocked', time: '22m ago', type: 'warning', icon: 'Shield' }, { id: 6, action: 'Browser CDP session established', time: '30m ago', type: 'info', icon: 'Globe' }, { id: 7, action: 'Container parrot-security provisioning', time: '45m ago', type: 'info', icon: 'Loader' }, { id: 8, action: 'API key rotated for OpenAI', time: '1h ago', type: 'success', icon: 'Key' }, ]; export const systemHealth = { cpu: { used: 67, total: 100, label: 'CPU', cores: 32 }, memory: { used: 48, total: 128, label: 'Memory', unit: 'GB' }, storage: { used: 1.8, total: 4.0, label: 'Storage', unit: 'TB' }, network: { inbound: '2.4 Gbps', outbound: '1.8 Gbps', label: 'Network' }, sessions: { active: 12, total: 24, label: 'Sessions' }, };