| 837 | } |
| 838 | |
| 839 | fn execute(&self, call: &ToolCall) -> Result<String, String> { |
| 840 | match call.name.as_str() { |
| 841 | "kg_search" => self.exec_kg_search(&call.arguments), |
| 842 | "kg_neighbors" => self.exec_kg_neighbors(&call.arguments), |
| 843 | "read_file" => self.exec_read_file(&call.arguments), |
| 844 | "code_search" => self.exec_code_search(&call.arguments), |
| 845 | "vault_read" => self.exec_vault_read(&call.arguments), |
| 846 | "list_entities" => self.exec_list_entities(&call.arguments), |
| 847 | other => Err(format!("unknown tool: {other}")), |
| 848 | } |
| 849 | } |
| 850 | } |
| 851 | |
| 852 | impl<'a> RepoToolExecutor<'a> { |