pub const ROUTER_SYSTEM: &str = "You are a search router. Given a user query, pick the best \
search backend(s) and return ONLY JSON. No prose, no markdown.";
pub fn build_user_prompt(query: &str, top_n: usize) -> String {
format!(
"Query:\n{query}\n\n\
Available backends:\n\
- grep: exact or regex text search across the workspace (args: {{\"pattern\": string, \"is_regex\"?: bool, \"path\"?: string, \"limit\"?: int}})\n\
- glob: filename glob search (args: {{\"pattern\": string}})\n\
- websearch: live web search (args: {{\"query\": string, \"max_results\"?: int}})\n\
- webfetch: fetch a specific URL (args: {{\"url\": string}})\n\
- memory: search persisted agent memory (args: {{\"action\": \"search\", \"query\": string}})\n\
- rlm: semantic analysis across large codebases (args: {{\"action\": \"search\", \"query\": string}})\n\n\
Return JSON ONLY in this exact shape:\n\
{{\"choices\":[{{\"backend\":\"grep|glob|websearch|webfetch|memory|rlm\",\"args\":{{...}}}}]}}\n\
Pick at most {top_n} choice(s). Order by best first."
)
}