You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Register native sync providers for Excel, Google Calendar, and Outlook #3903
Register native memory-sync providers for the connectable-but-unsynced toolkits — Excel, Google Calendar, Outlook — by implementing IncrementalSource primitives for each so they ride run_sync and inherit max_items + the sync_depth_days window for free. This is the "every future toolkit gets caps + window automatically" promise of #3333 made concrete.
Problem / Context
These toolkits can be connected, but they have no native sync provider, so a sync attempt hits "no native memory sync provider registered" at composio/mod.rs:149 and ingests nothing. With the orchestrator in place, adding a provider is implementing ~5 small primitives instead of a full sync loop.
Scope
In scope
Implement IncrementalSource (preamble, fetch_page, item_dedup_key, item_sort_ts, ingest, plus the relevant hooks) + a registry entry for excel, googlecalendar, outlook.
A cap/window e2e for at least one of them via the shared orchestrator path.
Out of scope / notes
Net-new orchestrator changes should not be required (use existing hooks); if one is, call it out.
The backend toolkitFromSlug splitting at the first _ is a known separate bug (tinyhumansai/backend) — flag it if it blocks any of these slugs (e.g. google_calendar).
Acceptance criteria
Excel — IncrementalSource impl + registry entry.
Google Calendar — IncrementalSource impl + registry entry.
Outlook — IncrementalSource impl + registry entry.
No more unregistered error — none of the three hit "no native memory sync provider registered" (composio/mod.rs:149).
Cap/window e2e — at least one of the three proves max_items + sync_depth_days via the shared path.
Diff coverage ≥ 80% — the implementing PR meets the changed-lines coverage gate.
Closing — descoped at the author's request; not part of this migration. (Issue deletion isn't available to me; closed as not planned and unlinked from #3333.)
Activity
sanil-23 commentedon Jun 22, 2026
Closing — descoped at the author's request; not part of this migration. (Issue deletion isn't available to me; closed as not planned and unlinked from #3333.)