#[derive(Debug, Clone)]
pub struct WorkflowConfig {
pub command_timeout_secs: u64,
pub weather_timeout_secs: u64,
pub web_search_timeout_secs: u64,
pub web_search_provider: String,
pub web_search_api_key: String,
pub web_search_max_results: u32,
pub http_fetch_timeout_secs: u64,
pub http_fetch_max_response_bytes: usize,
pub http_fetch_allowed_prefixes: Vec<String>,
pub allowed_commands: Vec<String>,
pub command_max_output_len: usize,
pub test_result_cache_enabled: bool,
pub test_result_cache_max_entries: usize,
pub codebase_semantic_enabled: bool,
pub codebase_semantic_invalidate_on_workspace_change: bool,
pub codebase_semantic_index_sqlite_path: String,
pub codebase_semantic_max_file_bytes: usize,
pub codebase_semantic_chunk_max_chars: usize,
pub codebase_semantic_top_k: usize,
pub codebase_semantic_query_max_chunks: usize,
pub codebase_semantic_rebuild_max_files: usize,
pub codebase_semantic_rebuild_incremental: bool,
pub codebase_semantic_hybrid_alpha: f32,
pub codebase_semantic_fts_top_n: usize,
pub codebase_semantic_hybrid_semantic_pool: usize,
}