From 6c49274cfc68287af7c2b047d559661671d9f7b2 Mon Sep 17 00:00:00 2001 From: ClawHub Builder Date: Tue, 19 May 2026 21:49:02 +0000 Subject: [PATCH 1/2] fix(memory): accept time_window_days global alias --- src/openhuman/memory/tree/retrieval/rpc.rs | 11 +++++++++++ src/openhuman/tools/impl/memory/tree/mod.rs | 14 +++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) 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..1e2ba8f09 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,14 @@ 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 From c3350ae04bf901ff2fb1528697df4b668b374e13 Mon Sep 17 00:00:00 2001 From: ClawHub Builder Date: Tue, 19 May 2026 21:54:09 +0000 Subject: [PATCH 2/2] style: format memory tree schema test --- src/openhuman/tools/impl/memory/tree/mod.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/openhuman/tools/impl/memory/tree/mod.rs b/src/openhuman/tools/impl/memory/tree/mod.rs index 1e2ba8f09..6fe5e6855 100644 --- a/src/openhuman/tools/impl/memory/tree/mod.rs +++ b/src/openhuman/tools/impl/memory/tree/mod.rs @@ -176,7 +176,10 @@ mod memory_tree_dispatcher_tests { #[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(); + 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")); }