Merge pull request #49 from builderz-labs/fix/scrub-sensitive-data
fix: scrub deployment-specific data from public repo
This commit is contained in:
commit
281315c685
|
|
@ -65,9 +65,9 @@ NEXT_PUBLIC_GATEWAY_URL=
|
||||||
# MISSION_CONTROL_TOKENS_PATH=.data/mission-control-tokens.json
|
# MISSION_CONTROL_TOKENS_PATH=.data/mission-control-tokens.json
|
||||||
|
|
||||||
# === OpenClaw Paths (derived from OPENCLAW_HOME if not set) ===
|
# === OpenClaw Paths (derived from OPENCLAW_HOME if not set) ===
|
||||||
# OPENCLAW_LOG_DIR=/home/openclaw/.openclaw/logs
|
# OPENCLAW_LOG_DIR=/path/to/.openclaw/logs
|
||||||
# OPENCLAW_MEMORY_DIR=/home/openclaw/.openclaw/memory
|
# OPENCLAW_MEMORY_DIR=/path/to/.openclaw/memory
|
||||||
# OPENCLAW_SOUL_TEMPLATES_DIR=/home/openclaw/.openclaw/templates/souls
|
# OPENCLAW_SOUL_TEMPLATES_DIR=/path/to/.openclaw/templates/souls
|
||||||
# OPENCLAW_BIN=openclaw
|
# OPENCLAW_BIN=openclaw
|
||||||
|
|
||||||
# === Super Admin / Provisioning (optional) ===
|
# === Super Admin / Provisioning (optional) ===
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 57 KiB |
|
|
@ -11,7 +11,7 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Configuration
|
# 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_DIR="${LOG_DIR:-$HOME/.mission-control/logs}"
|
||||||
LOG_FILE="$LOG_DIR/agent-heartbeat-$(date +%Y-%m-%d).log"
|
LOG_FILE="$LOG_DIR/agent-heartbeat-$(date +%Y-%m-%d).log"
|
||||||
MAX_CONCURRENT=3 # Max agents to check concurrently
|
MAX_CONCURRENT=3 # Max agents to check concurrently
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Configuration
|
# 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_DIR="${LOG_DIR:-$HOME/.mission-control/logs}"
|
||||||
LOG_FILE="$LOG_DIR/notification-daemon-$(date +%Y-%m-%d).log"
|
LOG_FILE="$LOG_DIR/notification-daemon-$(date +%Y-%m-%d).log"
|
||||||
PID_FILE="/tmp/notification-daemon.pid"
|
PID_FILE="/tmp/notification-daemon.pid"
|
||||||
|
|
|
||||||
|
|
@ -35,11 +35,8 @@ const INTEGRATIONS: IntegrationDef[] = [
|
||||||
{ id: 'x_twitter', name: 'X / Twitter', category: 'social', envVars: ['X_COOKIES_PATH'] },
|
{ id: 'x_twitter', name: 'X / Twitter', category: 'social', envVars: ['X_COOKIES_PATH'] },
|
||||||
{ id: 'linkedin', name: 'LinkedIn', category: 'social', envVars: ['LINKEDIN_ACCESS_TOKEN'] },
|
{ id: 'linkedin', name: 'LinkedIn', category: 'social', envVars: ['LINKEDIN_ACCESS_TOKEN'] },
|
||||||
|
|
||||||
// Messaging
|
// Messaging — add entries here for each Telegram bot you run
|
||||||
{ id: 'telegram_jarv', name: 'Telegram (Jarv)', category: 'messaging', envVars: ['TELEGRAM_BOT_TOKEN_JARV'], vaultItem: 'openclaw-telegram-bot-token-jarv', testable: true },
|
{ id: 'telegram', name: 'Telegram', category: 'messaging', envVars: ['TELEGRAM_BOT_TOKEN'], vaultItem: 'openclaw-telegram-bot-token', 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 },
|
|
||||||
|
|
||||||
// Dev Tools
|
// Dev Tools
|
||||||
{ id: 'github', name: 'GitHub', category: 'devtools', envVars: ['GITHUB_TOKEN'], vaultItem: 'openclaw-github-token', testable: true },
|
{ 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 }
|
let result: { ok: boolean; detail: string }
|
||||||
|
|
||||||
switch (integration.id) {
|
switch (integration.id) {
|
||||||
case 'telegram_jarv':
|
case 'telegram': {
|
||||||
case 'telegram_forge':
|
|
||||||
case 'telegram_nefes':
|
|
||||||
case 'telegram_ops': {
|
|
||||||
const token = envMap.get(integration.envVars[0])
|
const token = envMap.get(integration.envVars[0])
|
||||||
if (!token) return NextResponse.json({ ok: false, detail: 'Token not set' })
|
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) })
|
const res = await fetch(`https://api.telegram.org/bot${token}/getMe`, { signal: AbortSignal.timeout(5000) })
|
||||||
|
|
|
||||||
|
|
@ -270,7 +270,6 @@ export function ChatPanel() {
|
||||||
function AgentAvatar({ name, size = 'md' }: { name: string; size?: 'sm' | 'md' }) {
|
function AgentAvatar({ name, size = 'md' }: { name: string; size?: 'sm' | 'md' }) {
|
||||||
const colors: Record<string, string> = {
|
const colors: Record<string, string> = {
|
||||||
coordinator: 'bg-purple-500/20 text-purple-400',
|
coordinator: 'bg-purple-500/20 text-purple-400',
|
||||||
forge: 'bg-blue-500/20 text-blue-400',
|
|
||||||
aegis: 'bg-red-500/20 text-red-400',
|
aegis: 'bg-red-500/20 text-red-400',
|
||||||
research: 'bg-green-500/20 text-green-400',
|
research: 'bg-green-500/20 text-green-400',
|
||||||
ops: 'bg-orange-500/20 text-orange-400',
|
ops: 'bg-orange-500/20 text-orange-400',
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import { ChatMessage } from '@/store'
|
||||||
|
|
||||||
const AGENT_COLORS: Record<string, { bg: string; text: string; border: string }> = {
|
const AGENT_COLORS: Record<string, { bg: string; text: string; border: string }> = {
|
||||||
coordinator: { bg: 'bg-purple-500/10', text: 'text-purple-400', border: 'border-purple-500/20' },
|
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' },
|
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' },
|
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' },
|
design: { bg: 'bg-pink-500/10', text: 'text-pink-400', border: 'border-pink-500/20' },
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ interface AgentOption {
|
||||||
// Agent identity: color + emoji (matches openclaw.json)
|
// Agent identity: color + emoji (matches openclaw.json)
|
||||||
const AGENT_IDENTITY: Record<string, { color: string; emoji: string; label: string }> = {
|
const AGENT_IDENTITY: Record<string, { color: string; emoji: string; label: string }> = {
|
||||||
[COORDINATOR_AGENT]: { color: '#a78bfa', emoji: '🧭', label: 'Coordinator' },
|
[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' },
|
research: { color: '#4ade80', emoji: '🔬', label: 'Research' },
|
||||||
content: { color: '#818cf8', emoji: '✏️', label: 'Content' },
|
content: { color: '#818cf8', emoji: '✏️', label: 'Content' },
|
||||||
ops: { color: '#fb923c', emoji: '⚡', label: 'Ops' },
|
ops: { color: '#fb923c', emoji: '⚡', label: 'Ops' },
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ export function NotificationsPanel() {
|
||||||
value={recipient}
|
value={recipient}
|
||||||
onChange={(e) => setRecipient(e.target.value)}
|
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"
|
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)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue