export interface FileEntry { name: string; kind: "file" | "dir"; } export interface SearchResult { path: string; matches: number; } export interface CommandOutput { stdout: string; stderr: string; exit_code: number; } export type Role = "system" | "user" | "assistant" | "tool"; export interface ToolCall { id?: string; type: string; function: { name: string; arguments: string; }; } export interface Message { role: Role; content: string; tool_calls?: ToolCall[]; tool_call_id?: string; } export interface ProviderConfig { provider: string; model: string; base_url?: string; enable_tools?: boolean; }