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