/** * API client for TradingAgentsX backend */ import axios from "axios"; import type { AnalysisRequest, AnalysisResponse, ConfigResponse, HealthResponse, Ticker, TaskCreatedResponse, TaskStatusResponse, } from "./types"; const apiClient = axios.create({ headers: { "Content-Type": "application/json", }, }); export const api = { /** * Get API health status */ async health(): Promise { const response = await apiClient.get("/api/health"); return response.data; }, /** * Get configuration options */ async getConfig(): Promise { const response = await apiClient.get("/api/config"); return response.data; }, /** * Start analysis (returns task ID) */ async runAnalysis(request: AnalysisRequest): Promise { const response = await apiClient.post( "/api/analyze", request ); return response.data; }, /** * Get task status */ async getTaskStatus(taskId: string): Promise { const response = await apiClient.get( `/api/task/${taskId}` ); return response.data; }, /** * Get list of popular tickers */ async getTickers(): Promise<{ tickers: Ticker[] }> { const response = await apiClient.get<{ tickers: Ticker[] }>("/api/tickers"); return response.data; }, };