diff --git a/src/openhuman/memory/tree/retrieval/rpc.rs b/src/openhuman/memory/tree/retrieval/rpc.rs index 31b4dd587..8731d908c 100644 --- a/src/openhuman/memory/tree/retrieval/rpc.rs +++ b/src/openhuman/memory/tree/retrieval/rpc.rs @@ -84,6 +84,7 @@ pub async fn query_source_rpc( /// Request body for `memory_tree_query_global`. #[derive(Clone, Debug, Serialize, Deserialize)] pub struct QueryGlobalRequest { + #[serde(alias = "time_window_days")] pub window_days: u32, } @@ -421,6 +422,16 @@ mod tests { ); } + #[test] + fn query_global_request_accepts_consolidated_time_window_alias() { + let req: QueryGlobalRequest = serde_json::from_value(serde_json::json!({ + "time_window_days": 7 + })) + .expect("time_window_days alias should deserialize"); + + assert_eq!(req.window_days, 7); + } + // ── query_topic_rpc ─────────────────────────────────────────────── #[tokio::test] diff --git a/src/openhuman/tools/impl/memory/tree/mod.rs b/src/openhuman/tools/impl/memory/tree/mod.rs index c0b4c99a8..6fe5e6855 100644 --- a/src/openhuman/tools/impl/memory/tree/mod.rs +++ b/src/openhuman/tools/impl/memory/tree/mod.rs @@ -81,7 +81,11 @@ impl Tool for MemoryTreeTool { }, "time_window_days": { "type": "integer", - "description": "query_source/query_global: look-back window in days." + "description": "query_source/query_topic: look-back window in days. query_global also accepts this as a compatibility alias." + }, + "window_days": { + "type": "integer", + "description": "query_global: look-back window in days." }, // drill_down params "node_id": { @@ -169,6 +173,17 @@ mod memory_tree_dispatcher_tests { assert!(modes.contains(&"fetch_leaves")); } + #[test] + fn memory_tree_schema_exposes_global_window_days() { + let schema = MemoryTreeTool.parameters_schema(); + let properties = schema + .get("properties") + .and_then(|p| p.as_object()) + .unwrap(); + assert!(properties.contains_key("window_days")); + assert!(properties.contains_key("time_window_days")); + } + #[tokio::test] async fn memory_tree_unknown_mode_returns_error() { let result = MemoryTreeTool