SalesAgent's e2e implementation found that PlatformHandler.sync_accounts currently calls AccountStore.upsert with only params.accounts. That drops request-level sync_accounts fields before a store implementation can see them, including push_notification_config.
Why this matters:
- push_notification_config is where a buyer registers webhook delivery for later account/catalog changes.
- The store needs the full SyncAccountsRequest, not only the account refs, to persist that registration.
- Without this, a real MCP sync_accounts call appears successful but the webhook configuration is never registered.
Observed in SalesAgent while testing sync_accounts -> catalog/account webhook delivery e2e.
Suggested fix:
- Preserve backward compatibility for existing AccountStore.upsert(accounts, ctx) implementations.
- Add/recognize an optional full-request hook such as upsert_request(params, ctx), or otherwise pass the full SyncAccountsRequest through a new store interface.
- Project the result back through the existing sync_accounts response projection.
Local workaround in SalesAgent: monkey-patch PlatformHandler.sync_accounts to call account_store.upsert_request(params, ctx) when present, falling back to SDK behavior otherwise.
SalesAgent's e2e implementation found that PlatformHandler.sync_accounts currently calls AccountStore.upsert with only params.accounts. That drops request-level sync_accounts fields before a store implementation can see them, including push_notification_config.
Why this matters:
Observed in SalesAgent while testing sync_accounts -> catalog/account webhook delivery e2e.
Suggested fix:
Local workaround in SalesAgent: monkey-patch PlatformHandler.sync_accounts to call account_store.upsert_request(params, ctx) when present, falling back to SDK behavior otherwise.