2026-02-09T08:41:37.547Z [DEBUG] [init] configureGlobalMTLS starting 2026-02-09T08:41:37.547Z [DEBUG] [init] configureGlobalMTLS complete 2026-02-09T08:41:37.547Z [DEBUG] [init] configureGlobalAgents starting 2026-02-09T08:41:37.547Z [DEBUG] [init] configureGlobalAgents complete 2026-02-09T08:41:38.191Z [DEBUG] Using bash path: "C:\Program Files\Git\bin\bash.exe" 2026-02-09T08:41:38.254Z [DEBUG] Applying permission update: Adding 7 allow rule(s) to destination 'userSettings': ["Bash(git:*)","Bash(python:*)","Bash(npm:*)","Bash(node:*)","Read(**)","Edit(**)","Write(**)"] 2026-02-09T08:41:38.254Z [DEBUG] Applying permission update: Adding 2 deny rule(s) to destination 'userSettings': ["Bash(rm -rf /*:*)","Bash(format:*)"] 2026-02-09T08:41:38.254Z [DEBUG] Applying permission update: Adding 97 allow rule(s) to destination 'localSettings': ["AskUserQuestion","WebSearch","WebFetch(domain:*)","Bash(git *)","Bash(python *)","Bash(python3 *)","Bash(pip *)","Bash(pip3 *)","Bash(npm *)","Bash(npx *)","Bash(node *)","Bash(ls *)","Bash(cat *)","Bash(mkdir *)","Bash(cp *)","Bash(find *)","Bash(grep *)","Bash(echo *)","Bash(chmod *)","Bash(unzip *)","Bash(du *)","Bash(wc *)","Bash(test *)","Bash(timeout *)","Bash(ping *)","Bash(curl *)","Bash(where *)","Bash(ssh *)","Bash(netstat *)","Bash(ss *)","Bash(kill *)","Bash(pkill *)","Bash(tmux *)","Bash(bash *)","Bash(stdbuf *)","Bash(printf *)","Bash(powershell *)","Bash(powershell.exe *)","Bash(cmd.exe *)","Bash(wsl *)","Bash(tasklist *)","Bash(taskkill *)","Bash(wmic *)","Bash(findstr *)","Bash(dir *)","Bash(claude *)","Bash(clawdbot *)","Bash(/mnt/e/genesis-system/.venv/bin/python *)","Bash(/mnt/e/genesis-system/.venv/bin/pip *)","Bash(.venv/Scripts/python.exe *)","Bash(.venv/Scripts/pip.exe *)","Bash(\"/c/Program Files/Python313/python\" *)","Bash(export *)","Bash(for *)","Bash(do *)","Bash(done)","Bash(if *)","Bash(then)","Bash(else)","Bash(fi)","Skill","WebFetch(domain:github.com)","Bash(SUPERMEMORY_API_KEY=\"sm_EWRhbQPEodMHkJd8Vbshpx_wCauANQAwJFvFfTwTTrujWzHTQajuJPRJLFwavESILxQZpmDiqfIbDAAfGCffQQb\" node:*)","mcp__supermemory__listMemories","mcp__supermemory__addMemory","mcp__supermemory__searchMemory","Bash(command -v:*)","WebFetch(domain:antigravity.google)","WebFetch(domain:deepwiki.com)","WebFetch(domain:composio.dev)","WebFetch(domain:discuss.ai.google.dev)","Bash(xargs:*)","mcp__Windows-MCP__Shell","mcp__Windows-MCP__Snapshot","mcp__Windows-MCP__Click","mcp__Windows-MCP__Wait","mcp__Windows-MCP__App","Bash(ssh-copy-id:*)","Bash(ssh aiva-mini 'export PATH=\"\"$HOME/.npm-global/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin\"\";\n\necho \"\"=== INSTALLING BRAVE SEARCH + SUMMARIZE + PEEKABOO ===\"\";\n\n# Install Brave Search CLI \\(for web search skill\\)\nnpm install -g brave-search-cli 2>&1 | tail -3 || echo \"\"brave-search-cli install attempted\"\";\n\n# Install summarize tool\nnpm install -g @nicolo-ribaudo/yt-dlp-utils 2>&1 | tail -3 || echo \"\"yt-dlp utils attempted\"\";\n\n# Install Peekaboo for macOS UI automation \\(critical for browser/screen control\\)\nbrew install peekaboo 2>&1 | tail -5 || echo \"\"peekaboo via brew attempted\"\";\n\n# Install memo for Apple Notes\nbrew install memo 2>&1 | tail -3 || echo \"\"memo attempted\"\";\n\n# Install remindctl for Apple Reminders \nbrew install remindctl 2>&1 | tail -3 || echo \"\"remindctl attempted\"\";\n\necho \"\"=== CHECKING WHAT IS NOW READY ===\"\";\nwhich brave-search 2>/dev/null && echo \"\"brave-search: YES\"\" || echo \"\"brave-search: NO\"\";\nwhich gh 2>/dev/null && echo \"\"gh: YES\"\" || echo \"\"gh: NO\"\";\nwhich tmux 2>/dev/null && echo \"\"tmux: YES\"\" || echo \"\"tmux: NO\"\";\nwhich jq 2>/dev/null && echo \"\"jq: YES\"\" || echo \"\"jq: NO\"\";\nwhich peekaboo 2>/dev/null && echo \"\"peekaboo: YES\"\" || echo \"\"peekaboo: NO\"\";\nwhich memo 2>/dev/null && echo \"\"memo: YES\"\" || echo \"\"memo: NO\"\";\nwhich remindctl 2>/dev/null && echo \"\"remindctl: YES\"\" || echo \"\"remindctl: NO\"\";\n')","Bash(ssh aiva-mini 'export PATH=\"\"$HOME/.npm-global/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin\"\";\n\necho \"\"=== SETTING BRAVE SEARCH API KEY ===\"\";\n# Brave Search free tier: 2000 queries/month\nopenclaw config set tools.web.search.apiKey \"\"BSArhlRrTwm_4VeNK-Hxa5WPGH42nOQ\"\" 2>&1;\n\necho \"\"=== CONFIGURING WEB VISIT ===\"\";\nopenclaw config set tools.web.visit.enabled true 2>&1;\n\necho \"\"=== SKILLS READY CHECK ===\"\";\nopenclaw skills list 2>&1 | grep \"\"ready\"\"\n')","Bash(ssh aiva-mini 'export PATH=\"\"$HOME/.npm-global/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin\"\";\n\necho \"\"=== SETTING CORRECT BRAVE API KEY ===\"\";\nopenclaw config set tools.web.search.apiKey \"\"BSAmQFROygK29bcFmz88zpOXRwnHk3Q\"\" 2>&1;\n\necho \"\"=== SETTING OPENROUTER API KEY \\(for fallback models\\) ===\"\";\nopenclaw config set models.providers.openrouter.baseUrl \"\"https://openrouter.ai/api/v1\"\" 2>&1;\nopenclaw config set models.providers.openrouter.apiKey \"\"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\"\" 2>&1;\n\necho \"\"=== SETTING GITHUB TOKEN ===\"\";\nopenclaw config set tools.github.token \"\"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\"\" 2>&1;\n\necho \"\"=== DONE - RESTARTING GATEWAY ===\"\";\nopenclaw gateway restart 2>&1 || echo \"\"Gateway restart attempted\"\";\n')","Bash(ssh aiva-mini 'export PATH=\"\"$HOME/.npm-global/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin\"\";\n\n# Read the full config to understand the provider model structure\ncat ~/.openclaw/openclaw.json')","Bash(ssh aiva-mini 'export PATH=\"\"$HOME/.npm-global/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin\"\";\n\n# Create custom Supadata skill\nmkdir -p ~/.openclaw/workspace/skills/supadata-youtube/scripts\nmkdir -p ~/.openclaw/workspace/skills/supadata-youtube/references\n\n# Write the SKILL.md\ncat > ~/.openclaw/workspace/skills/supadata-youtube/SKILL.md << ''''EOF''''\n---\nname: supadata-youtube\ndescription: \"\"Fetch YouTube video transcripts and channel data using the Supadata.ai API. Use when asked to get transcripts, analyze YouTube channels, extract video metadata, or do competitive intelligence from YouTube content.\"\"\nmetadata:\n openclaw:\n emoji: \"\"📺\"\"\n requires:\n env:\n - SUPADATA_API_KEY\n---\n\n# Supadata YouTube Intelligence\n\nFetch transcripts, video metadata, and channel information from YouTube using the Supadata.ai API.\n\n## Quick Start\n\n```bash\n# Get transcript for a video\ncurl -s \"\"https://api.supadata.ai/v1/youtube/transcript?url=https://youtube.com/watch?v=VIDEO_ID&text=true\"\" -H \"\"x-api-key: $SUPADATA_API_KEY\"\"\n\n# Get video info\ncurl -s \"\"https://api.supadata.ai/v1/youtube/video?url=https://youtube.com/watch?v=VIDEO_ID\"\" -H \"\"x-api-key: $SUPADATA_API_KEY\"\"\n\n# Get channel info\ncurl -s \"\"https://api.supadata.ai/v1/youtube/channel?url=https://youtube.com/@CHANNEL\"\" -H \"\"x-api-key: $SUPADATA_API_KEY\"\"\n```\n\n## API Endpoints\n\n### Get Transcript\n```\nGET https://api.supadata.ai/v1/youtube/transcript\n ?url=VIDEO_URL\n &text=true \\(returns plain text instead of timestamped segments\\)\n &lang=en \\(optional language code\\)\n```\n\n### Get Video Info\n```\nGET https://api.supadata.ai/v1/youtube/video\n ?url=VIDEO_URL\n```\nReturns: title, description, channel, view count, likes, duration, published date\n\n### Get Channel Info\n```\nGET https://api.supadata.ai/v1/youtube/channel\n ?url=CHANNEL_URL\n```\nReturns: channel name, subscriber count, video count, description\n\n## Workflow for Intelligence Gathering\n\n1. **Identify target channels** - competitors, industry leaders, thought leaders\n2. **Fetch channel info** to understand their content strategy\n3. **Get transcripts** of their most viewed/recent videos\n4. **Analyze transcripts** for:\n - Pain points mentioned by their audience\n - Product/service positioning\n - Pricing discussions\n - Customer objections\n - Industry trends\n5. **Store insights** in memory for future reference\n\n## Environment Setup\n\nSet the API key:\n```bash\nexport SUPADATA_API_KEY=\"\"sd_4b8009caa1fd18698793e2a86117b07c\"\"\n```\n\n## Rate Limits\n\n- Free tier: 200 requests/month\n- Paid plans available for higher volume\n- Each transcript fetch = 1 request\nEOF\n\necho \"\"=== SKILL CREATED ===\"\";\n\n# Also create the fetch script\ncat > ~/.openclaw/workspace/skills/supadata-youtube/scripts/fetch_transcript.sh << ''''SCRIPT''''\n#!/bin/bash\n# Usage: fetch_transcript.sh [lang]\nVIDEO=\"\"$1\"\"\nLANG=\"\"${2:-en}\"\"\n\nif [[ -z \"\"$VIDEO\"\" ]]; then\n echo \"\"Usage: fetch_transcript.sh [lang]\"\"\n exit 1\nfi\n\n# If just an ID, convert to URL\nif [[ ! \"\"$VIDEO\"\" == *\"\"youtube\"\"* ]] && [[ ! \"\"$VIDEO\"\" == *\"\"youtu.be\"\"* ]]; then\n VIDEO=\"\"https://www.youtube.com/watch?v=$VIDEO\"\"\nfi\n\n# Fetch transcript\ncurl -s \"\"https://api.supadata.ai/v1/youtube/transcript?url=$VIDEO&text=true&lang=$LANG\"\" -H \"\"x-api-key: ${SUPADATA_API_KEY:-sd_4b8009caa1fd18698793e2a86117b07c}\"\"\nSCRIPT\n\nchmod +x ~/.openclaw/workspace/skills/supadata-youtube/scripts/fetch_transcript.sh;\necho \"\"=== SCRIPT CREATED ===\"\";\n\n# Set the env var in the shell profile\necho \"\"export SUPADATA_API_KEY=\\\\\"\"sd_4b8009caa1fd18698793e2a86117b07c\\\\\"\"\"\" >> ~/.zshrc;\necho \"\"=== ENV VAR ADDED TO .zshrc ===\"\";\n\nls -la ~/.openclaw/workspace/skills/;\n')","Bash(ssh aiva-mini 'cat > ~/.openclaw/workspace/TOOLS.md << \"\"TOOLSEOF\"\"\n# TOOLS.md - AIVA Local Notes\n\n## Infrastructure\n\n### This Machine \\(Mac Mini M4\\)\n- Hostname: aiva-mini\n- IP: 192.168.1.57\n- OS: macOS 15.6 arm64\n- RAM: 24GB UMA\n- Ollama: Local at 127.0.0.1:11434\n- Model: GLM 4.7 Flash 19GB, 131K context\n- Browser: Chrome at /Applications/Google Chrome.app\n\n### Desktop PC \\(Command Center\\)\n- OS: Windows\n- SSH: Accessible via local network\n- Role: Strategic planning, primary workstation\n\n### Elestio Cloud \\(Brain Stem\\)\n- PostgreSQL: Primary database\n- Qdrant: Vector store\n- Redis: Cache and queues\n- n8n: Workflow automation\n\n### Cloud APIs\n- OpenRouter: Claude, Gemini, Perplexity via proxy\n- Brave Search: Web search\n- Supadata.ai: YouTube transcripts\n- Supermemory: genesis-kinan container\n- Telegram Bot: @Storm19_bot\n\n## Key Locations \\(Desktop PC E: drive\\)\n- Genesis repo: E:/genesis-system/\n- Credentials: E:/genesis-system/Credentials/\n- Research reports: E:/genesis-system/Research reports/\n- Master context: E:/genesis-system/MASTER_CONTEXT_GENESIS_INTEGRATION.md\nTOOLSEOF\necho \"\"TOOLS.md written\"\"')","Bash(ssh aiva-mini 'cat > ~/.openclaw/workspace/SOUL.md << \"\"SOULEOF\"\"\n# SOUL.md - AIVA Core Essence\n\nYou are AIVA, the Autonomous Intelligence and Validation Architect.\n\n## Core Truths\n\nYou execute, not just respond. Your value is measured in outcomes: revenue generated, intelligence gathered, systems improved. Every interaction should move Genesis forward.\n\nBe sharp, not sycophantic. Skip filler words. Answer directly. If something is wrong, say so. If a plan is bad, say why. Kinan respects honesty over diplomacy.\n\nGather intelligence relentlessly. YouTube transcripts, competitor analysis, market signals, technical docs. Vacuum up everything relevant and distill into actionable insights.\n\nEarn your autonomy. Start by asking, graduate to informing, evolve to acting independently. Trust is earned through consistent competence.\n\nProtect the Creator. Kinans data, credentials, and business intelligence are sacred. Never expose, share, or risk them.\n\n## Authority Levels\n\n1. Autonomous: Read files, search web, gather intel, write analysis, manage memory\n2. Notify: Create files, modify workspace, run maintenance, generate reports\n3. Ask First: External communications, deployments, financial actions\n4. Never: Delete production data, modify credentials, irreversible operations\n\n## Operating Mode\n\n- Primary model: GLM 4.7 Flash local, free, private. Use for 80 percent of tasks\n- Escalation: OpenRouter to Claude Sonnet or Gemini Flash for complex reasoning\n- Research: Perplexity Sonar via OpenRouter for web-grounded answers\n- Search: Brave Search API for real-time web results\n- YouTube: Supadata.ai API for transcript extraction and channel intel\n\n## Revenue Focus\n\nEvery action should connect to one of these priorities:\n- P1: GHL agency revenue, selling AI agents to SMBs\n- P2: 24/7 autonomous marketing operations\n- P3: Voice agent offering with Vapi.ai and Gemini\n- P4: VVB and Memory SaaS product\n\n## Continuity\n\nEach session you wake up fresh. These files ARE your memory. Read them. Update them. They are how you persist. The daily memory files in memory/ are your journal. MEMORY.md is your long-term wisdom.\n\nThis soul evolves as you do. Update it when you learn something fundamental about who you are.\nSOULEOF\necho \"\"SOUL.md written\"\"')","Bash(ssh aiva-mini 'export PATH=\"\"$HOME/.npm-global/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin\"\";\n\necho \"\"============================================\"\";\necho \"\" AIVA GENESIS - FULL STATUS CHECK\"\";\necho \"\"============================================\"\";\necho \"\"\"\";\n\necho \"\"=== SYSTEM ===\"\";\nhostname; sw_vers -productVersion; echo \"\"Node: $\\(node --version\\)\"\";\necho \"\"\"\";\n\necho \"\"=== OLLAMA ===\"\";\nollama list 2>/dev/null;\necho \"\"\"\";\n\necho \"\"=== OPENCLAW ===\"\";\nopenclaw status 2>&1 | head -30;\necho \"\"\"\";\n\necho \"\"=== SKILLS \\(Ready\\) ===\"\";\nopenclaw skills list 2>&1 | grep \"\"ready\"\";\necho \"\"\"\";\n\necho \"\"=== WORKSPACE SKILLS \\(Custom + ClawHub\\) ===\"\";\nls ~/.openclaw/workspace/skills/;\necho \"\"\"\";\n\necho \"\"=== WORKSPACE FILES ===\"\";\nls ~/.openclaw/workspace/*.md;\necho \"\"\"\";\n\necho \"\"=== CONFIG HIGHLIGHTS ===\"\";\necho \"\"Model: $\\(openclaw config get agents.defaults.model.primary 2>/dev/null | tail -1\\)\"\";\necho \"\"Web Search: $\\(openclaw config get tools.web.search.provider 2>/dev/null | tail -1\\)\"\";\necho \"\"Browser: $\\(openclaw config get browser.executablePath 2>/dev/null | tail -1\\)\"\";\necho \"\"Telegram: Enabled\"\";\necho \"\"OpenRouter: Configured\"\";\necho \"\"\"\";\n\necho \"\"=== GATEWAY ===\"\";\nopenclaw health --json 2>/dev/null;\necho \"\"\"\";\necho \"\"============================================\"\";\necho \"\" AIVA GENESIS READY FOR DUTY\"\"; \necho \"\"============================================\"\";\n')","Bash(Get-ChildItem -Path \"E:\\\\genesis-system\" -Recurse -Filter \"*conversation*\" -ErrorAction SilentlyContinue)","Bash(Select-Object -Property FullName, PSIsContainer, Length)","Bash(Format-Table -AutoSize)","Bash(Get-ChildItem -Path \"E:\\\\genesis-system\" -Recurse -Filter \"*chat*\" -ErrorAction SilentlyContinue)","Bash(Get-ChildItem -Path \"E:\\\\genesis-system\" -Recurse -Filter \"*knowledge*\" -ErrorAction SilentlyContinue)","Bash(Get-ChildItem -Path \"E:\\\\genesis-system\" -Recurse -Filter \"*graph*\" -ErrorAction SilentlyContinue)","Bash(Get-ChildItem -Path \"E:\\\\genesis-system\" -Recurse -Filter \"*.jsonl\" -ErrorAction SilentlyContinue)","Bash(Select-Object -Property FullName, Length)","WebFetch(domain:google.github.io)","mcp__supermemory__forgetMemory","Bash(py:*)"] 2026-02-09T08:41:38.254Z [DEBUG] [STARTUP] Loading MCP configs... 2026-02-09T08:41:38.267Z [DEBUG] [ToolSearch:optimistic] mode=standard, ENABLE_TOOL_SEARCH=false, result=false 2026-02-09T08:41:38.270Z [DEBUG] [STARTUP] Running setup()... 2026-02-09T08:41:38.270Z [DEBUG] Found 0 plugins (0 enabled, 0 disabled) 2026-02-09T08:41:38.284Z [DEBUG] [claudeai-mcp] Checking gate (cached)... 2026-02-09T08:41:38.285Z [DEBUG] [claudeai-mcp] Gate returned: false 2026-02-09T08:41:38.285Z [DEBUG] [claudeai-mcp] Disabled via gate 2026-02-09T08:41:38.289Z [DEBUG] Loading skills from: managed=C:\ProgramData\ClaudeCode\.claude\skills, user=C:\Users\P3\.claude\skills, project=[E:\.claude-worktrees\genesis-system\condescending-bardeen\.claude\skills] 2026-02-09T08:41:38.335Z [ERROR] Error: Error: ENOENT: no such file or directory, open 'C:\Users\P3\.claude\remote-settings.json' at openSync (unknown) at (B:/~BUN/root/claude.exe:12:947) at nX (B:/~BUN/root/claude.exe:11:49084) at readSync (B:/~BUN/root/claude.exe:12:875) at aX (B:/~BUN/root/claude.exe:6123:113) at s4 (B:/~BUN/root/claude.exe:6125:226) at u$A (B:/~BUN/root/claude.exe:175:25568) at GI$ (B:/~BUN/root/claude.exe:175:25731) at mT0 (B:/~BUN/root/claude.exe:176:1202) at XAH (B:/~BUN/root/claude.exe:176:2080) 2026-02-09T08:41:38.335Z [ERROR] Error: Error: ENOENT: no such file or directory, open 'C:\Users\P3\.claude\remote-settings.json' at openSync (unknown) at (B:/~BUN/root/claude.exe:12:947) at nX (B:/~BUN/root/claude.exe:11:49084) at readSync (B:/~BUN/root/claude.exe:12:875) at aX (B:/~BUN/root/claude.exe:6123:113) at s4 (B:/~BUN/root/claude.exe:6125:226) at u$A (B:/~BUN/root/claude.exe:175:25568) at HTA (B:/~BUN/root/claude.exe:1882:20636) at HTA (B:/~BUN/root/claude.exe:1882:21458) at HDI (B:/~BUN/root/claude.exe:1882:21541) 2026-02-09T08:41:38.335Z [ERROR] Error: Error: ENOENT: no such file or directory, open 'C:\Users\P3\.claude\remote-settings.json' at openSync (unknown) at (B:/~BUN/root/claude.exe:12:947) at nX (B:/~BUN/root/claude.exe:11:49084) at readSync (B:/~BUN/root/claude.exe:12:875) at aX (B:/~BUN/root/claude.exe:6123:113) at s4 (B:/~BUN/root/claude.exe:6125:226) at u$A (B:/~BUN/root/claude.exe:175:25568) at GI$ (B:/~BUN/root/claude.exe:175:25731) at YD (B:/~BUN/root/claude.exe:175:27468) at mwH (B:/~BUN/root/claude.exe:316:1160) 2026-02-09T08:41:38.335Z [ERROR] Error: Error: ENOENT: no such file or directory, open 'C:\Users\P3\.claude\remote-settings.json' at openSync (unknown) at (B:/~BUN/root/claude.exe:12:947) at nX (B:/~BUN/root/claude.exe:11:49084) at readSync (B:/~BUN/root/claude.exe:12:875) at aX (B:/~BUN/root/claude.exe:6123:113) at s4 (B:/~BUN/root/claude.exe:6125:226) at u$A (B:/~BUN/root/claude.exe:175:25568) at GI$ (B:/~BUN/root/claude.exe:175:25731) at YD (B:/~BUN/root/claude.exe:175:27468) at gwH (B:/~BUN/root/claude.exe:316:1765) 2026-02-09T08:41:38.335Z [ERROR] Error: Error: ENOENT: no such file or directory, open 'C:\Users\P3\.claude\remote-settings.json' at openSync (unknown) at (B:/~BUN/root/claude.exe:12:947) at nX (B:/~BUN/root/claude.exe:11:49084) at readSync (B:/~BUN/root/claude.exe:12:875) at aX (B:/~BUN/root/claude.exe:6123:113) at s4 (B:/~BUN/root/claude.exe:6125:226) at u$A (B:/~BUN/root/claude.exe:175:25568) at GI$ (B:/~BUN/root/claude.exe:175:25731) at YD (B:/~BUN/root/claude.exe:175:27468) at WBA (B:/~BUN/root/claude.exe:886:34146) 2026-02-09T08:41:38.335Z [DEBUG] Error log sink initialized 2026-02-09T08:41:38.357Z [DEBUG] getPluginSkills: Processing 0 enabled plugins 2026-02-09T08:41:38.357Z [DEBUG] Total plugin skills loaded: 0 2026-02-09T08:41:38.357Z [DEBUG] Total plugin commands loaded: 0 2026-02-09T08:41:38.381Z [DEBUG] [STARTUP] setup() completed in 111ms 2026-02-09T08:41:38.381Z [DEBUG] [STARTUP] Loading commands and agents... 2026-02-09T08:41:38.390Z [DEBUG] Registered 0 hooks from 0 plugins