From b9b38fc4179c2dbfbf335bf93c31047f1e385ee9 Mon Sep 17 00:00:00 2001 From: shanu Date: Wed, 12 Aug 2026 18:26:58 +0530 Subject: [PATCH] fix(memory/sync): send fetch_type in Notion NOTION_FETCH_DATA args Composio's NOTION_FETCH_DATA now requires fetch_type; the memory-sync Notion provider's arguments() omitted it, so every periodic sync 400s. Closes #5506 --- src/memory/sync/composio/providers/notion.rs | 2 +- tests/composio_sync_mock.rs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/memory/sync/composio/providers/notion.rs b/src/memory/sync/composio/providers/notion.rs index 33c4038f..0c3f45e2 100644 --- a/src/memory/sync/composio/providers/notion.rs +++ b/src/memory/sync/composio/providers/notion.rs @@ -71,7 +71,7 @@ impl IncrementalSource for NotionSyncPipeline { _: &SyncState, page: Option<&str>, ) -> Value { - let mut args = serde_json::json!({"page_size": self.page_size, "filter": {"value": "page", "property": "object"}, "sort": {"direction": "descending", "timestamp": "last_edited_time"}}); + let mut args = serde_json::json!({"fetch_type": "pages", "page_size": self.page_size, "filter": {"value": "page", "property": "object"}, "sort": {"direction": "descending", "timestamp": "last_edited_time"}}); if let Some(page) = page { args["start_cursor"] = serde_json::json!(page); } diff --git a/tests/composio_sync_mock.rs b/tests/composio_sync_mock.rs index d6496f7b..da784ada 100644 --- a/tests/composio_sync_mock.rs +++ b/tests/composio_sync_mock.rs @@ -491,6 +491,9 @@ async fn todoist_reingests_edited_task_without_timestamp_change() { async fn notion_fetches_markdown_and_counts_both_requests() { let server = MockServer::start().await; Mock::given(path("/tools/execute/NOTION_FETCH_DATA")) + .and(body_partial_json( + serde_json::json!({"arguments": {"fetch_type": "pages"}}), + )) .respond_with(ResponseTemplate::new(200).set_body_json(serde_json::json!({"successful": true, "data": {"results": [{"id": "page-1", "title": "Roadmap", "last_edited_time": "2026-03-01T00:00:00Z"}]}}))) .mount(&server).await; Mock::given(path("/tools/execute/NOTION_GET_PAGE_MARKDOWN"))