import React, { useState, useEffect } from "react"; interface SystemSettingsProps { settings: Record; alpacaMode: string | null; onSave: (key: string, value: any) => Promise; saveError: string | null; } const KNOWN_KEYS = new Set([ "llm.model", "llm.temperature", "llm.maxDebateRounds", "trading.maxLossPercent", "trading.positionSizePercent", "trading.takeProfitPercent", "trading.stopLossPercent", "trading.riskMethod", ]); export default function SystemSettings({ settings, alpacaMode, onSave, saveError }: SystemSettingsProps) { const [rawSettings, setRawSettings] = useState>([]); useEffect(() => { const others = Object.entries(settings) .filter(([key]) => !KNOWN_KEYS.has(key)) .map(([key, value]) => ({ key, value: typeof value === "string" ? value : JSON.stringify(value, null, 2), })); setRawSettings(others); }, [settings]); const handleRawSave = async (key: string, newValue: string) => { try { const parsed = JSON.parse(newValue); await onSave(key, parsed); } catch { await onSave(key, newValue); } }; return (

System

System configuration and environment info.

{saveError && (
{saveError}
)}

Alpaca Trading API

Mode: {alpacaMode === "live" ? "Live Trading" : "Paper Trading"}
{rawSettings.length > 0 && (

Additional Settings

{rawSettings.map((setting) => (
{setting.key}