(&self, args: &serde_json::Value)
| 851 | |
| 852 | impl<'a> RepoToolExecutor<'a> { |
| 853 | fn exec_kg_search(&self, args: &serde_json::Value) -> Result<String, String> { |
| 854 | let query = args["query"] |
| 855 | .as_str() |
| 856 | .ok_or("missing required parameter: query")?; |
| 857 | let limit = args["limit"].as_u64().unwrap_or(10) as usize; |
| 858 | |
| 859 | let nodes = self |
| 860 | .repo |
| 861 | .vault_kg_search(query, limit, None) |
| 862 | .map_err(|e| format!("kg_search failed: {e}"))?; |
| 863 | |
| 864 | serde_json::to_string_pretty(&nodes).map_err(|e| format!("serialize error: {e}")) |
| 865 | } |
| 866 | |
| 867 | fn exec_kg_neighbors(&self, args: &serde_json::Value) -> Result<String, String> { |
| 868 | let node_id = args["node_id"] |
no test coverage detected