diff --git a/.env.example b/.env.example index 1d972ac..9123dcd 100644 --- a/.env.example +++ b/.env.example @@ -65,9 +65,9 @@ NEXT_PUBLIC_GATEWAY_URL= # MISSION_CONTROL_TOKENS_PATH=.data/mission-control-tokens.json # === OpenClaw Paths (derived from OPENCLAW_HOME if not set) === -# OPENCLAW_LOG_DIR=/home/openclaw/.openclaw/logs -# OPENCLAW_MEMORY_DIR=/home/openclaw/.openclaw/memory -# OPENCLAW_SOUL_TEMPLATES_DIR=/home/openclaw/.openclaw/templates/souls +# OPENCLAW_LOG_DIR=/path/to/.openclaw/logs +# OPENCLAW_MEMORY_DIR=/path/to/.openclaw/memory +# OPENCLAW_SOUL_TEMPLATES_DIR=/path/to/.openclaw/templates/souls # OPENCLAW_BIN=openclaw # === Super Admin / Provisioning (optional) === diff --git a/scripts/agent-heartbeat.sh b/scripts/agent-heartbeat.sh index 4e9e587..9ea019f 100644 --- a/scripts/agent-heartbeat.sh +++ b/scripts/agent-heartbeat.sh @@ -11,7 +11,7 @@ set -e # Configuration -MISSION_CONTROL_URL="${MISSION_CONTROL_URL:-http://localhost:3005}" +MISSION_CONTROL_URL="${MISSION_CONTROL_URL:-http://localhost:3000}" LOG_DIR="${LOG_DIR:-$HOME/.mission-control/logs}" LOG_FILE="$LOG_DIR/agent-heartbeat-$(date +%Y-%m-%d).log" MAX_CONCURRENT=3 # Max agents to check concurrently diff --git a/scripts/notification-daemon.sh b/scripts/notification-daemon.sh index b44794a..fc78a6d 100644 --- a/scripts/notification-daemon.sh +++ b/scripts/notification-daemon.sh @@ -16,7 +16,7 @@ set -e # Configuration -MISSION_CONTROL_URL="${MISSION_CONTROL_URL:-http://localhost:3005}" +MISSION_CONTROL_URL="${MISSION_CONTROL_URL:-http://localhost:3000}" LOG_DIR="${LOG_DIR:-$HOME/.mission-control/logs}" LOG_FILE="$LOG_DIR/notification-daemon-$(date +%Y-%m-%d).log" PID_FILE="/tmp/notification-daemon.pid" diff --git a/src/app/api/integrations/route.ts b/src/app/api/integrations/route.ts index 6b38516..3d50ee3 100644 --- a/src/app/api/integrations/route.ts +++ b/src/app/api/integrations/route.ts @@ -35,11 +35,8 @@ const INTEGRATIONS: IntegrationDef[] = [ { id: 'x_twitter', name: 'X / Twitter', category: 'social', envVars: ['X_COOKIES_PATH'] }, { id: 'linkedin', name: 'LinkedIn', category: 'social', envVars: ['LINKEDIN_ACCESS_TOKEN'] }, - // Messaging - { id: 'telegram_jarv', name: 'Telegram (Jarv)', category: 'messaging', envVars: ['TELEGRAM_BOT_TOKEN_JARV'], vaultItem: 'openclaw-telegram-bot-token-jarv', testable: true }, - { id: 'telegram_forge', name: 'Telegram (Forge)', category: 'messaging', envVars: ['TELEGRAM_BOT_TOKEN_FORGE'], vaultItem: 'openclaw-telegram-bot-token-forge', testable: true }, - { id: 'telegram_nefes', name: 'Telegram (Nefes)', category: 'messaging', envVars: ['TELEGRAM_BOT_TOKEN_NEFES'], vaultItem: 'openclaw-telegram-bot-token-nefes', testable: true }, - { id: 'telegram_ops', name: 'Telegram (Ops)', category: 'messaging', envVars: ['TELEGRAM_BOT_TOKEN_OPS'], vaultItem: 'openclaw-telegram-bot-token-ops', testable: true }, + // Messaging — add entries here for each Telegram bot you run + { id: 'telegram', name: 'Telegram', category: 'messaging', envVars: ['TELEGRAM_BOT_TOKEN'], vaultItem: 'openclaw-telegram-bot-token', testable: true }, // Dev Tools { id: 'github', name: 'GitHub', category: 'devtools', envVars: ['GITHUB_TOKEN'], vaultItem: 'openclaw-github-token', testable: true }, @@ -419,10 +416,7 @@ async function handleTest( let result: { ok: boolean; detail: string } switch (integration.id) { - case 'telegram_jarv': - case 'telegram_forge': - case 'telegram_nefes': - case 'telegram_ops': { + case 'telegram': { const token = envMap.get(integration.envVars[0]) if (!token) return NextResponse.json({ ok: false, detail: 'Token not set' }) const res = await fetch(`https://api.telegram.org/bot${token}/getMe`, { signal: AbortSignal.timeout(5000) }) diff --git a/src/components/chat/chat-panel.tsx b/src/components/chat/chat-panel.tsx index 1328b56..0b23942 100644 --- a/src/components/chat/chat-panel.tsx +++ b/src/components/chat/chat-panel.tsx @@ -270,7 +270,6 @@ export function ChatPanel() { function AgentAvatar({ name, size = 'md' }: { name: string; size?: 'sm' | 'md' }) { const colors: Record = { coordinator: 'bg-purple-500/20 text-purple-400', - forge: 'bg-blue-500/20 text-blue-400', aegis: 'bg-red-500/20 text-red-400', research: 'bg-green-500/20 text-green-400', ops: 'bg-orange-500/20 text-orange-400', diff --git a/src/components/chat/message-bubble.tsx b/src/components/chat/message-bubble.tsx index 8c3856a..07f0219 100644 --- a/src/components/chat/message-bubble.tsx +++ b/src/components/chat/message-bubble.tsx @@ -4,7 +4,6 @@ import { ChatMessage } from '@/store' const AGENT_COLORS: Record = { coordinator: { bg: 'bg-purple-500/10', text: 'text-purple-400', border: 'border-purple-500/20' }, - forge: { bg: 'bg-blue-500/10', text: 'text-blue-400', border: 'border-blue-500/20' }, aegis: { bg: 'bg-red-500/10', text: 'text-red-400', border: 'border-red-500/20' }, research: { bg: 'bg-green-500/10', text: 'text-green-400', border: 'border-green-500/20' }, design: { bg: 'bg-pink-500/10', text: 'text-pink-400', border: 'border-pink-500/20' }, diff --git a/src/components/panels/agent-comms-panel.tsx b/src/components/panels/agent-comms-panel.tsx index 60cadd1..9ddf079 100644 --- a/src/components/panels/agent-comms-panel.tsx +++ b/src/components/panels/agent-comms-panel.tsx @@ -52,7 +52,7 @@ interface AgentOption { // Agent identity: color + emoji (matches openclaw.json) const AGENT_IDENTITY: Record = { [COORDINATOR_AGENT]: { color: '#a78bfa', emoji: '🧭', label: 'Coordinator' }, - forge: { color: '#60a5fa', emoji: '🛠️', label: 'Forge' }, + builder: { color: '#60a5fa', emoji: '🛠️', label: 'Builder' }, research: { color: '#4ade80', emoji: '🔬', label: 'Research' }, content: { color: '#818cf8', emoji: '✏️', label: 'Content' }, ops: { color: '#fb923c', emoji: '⚡', label: 'Ops' }, diff --git a/src/components/panels/notifications-panel.tsx b/src/components/panels/notifications-panel.tsx index 4f858ad..28f055e 100644 --- a/src/components/panels/notifications-panel.tsx +++ b/src/components/panels/notifications-panel.tsx @@ -86,7 +86,7 @@ export function NotificationsPanel() { value={recipient} onChange={(e) => setRecipient(e.target.value)} className="w-full bg-surface-1 text-foreground rounded-md px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-primary/50" - placeholder="Agent name (e.g., Jarvis)" + placeholder="Agent name (e.g., my-agent)" />