feat(connectors): implement push logic for syncing connectors #191
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note
Description
This PR implements the push synchronization logic for OAuth connectors, enabling the CLI to sync local connector configurations with the Base44 API. The implementation handles creating, updating, and removing connectors, as well as managing OAuth authorization flows and error cases like different-user conflicts.
Related Issue
None
Type of Change
Changes Made
push.tsmodule withpushConnectors()function that syncs local connector configs to the APIConnectorSyncResultinterface to track sync outcomes (synced, removed, needs_oauth, error)different_userconflicts when a connector is already linked to another accountconnectorResourceto use the newpushConnectorsimplementation (previously threw an error)Testing
npm test)Checklist
Additional Notes
The implementation follows the Resource pattern established for entities, functions, and agents. The push logic handles three main scenarios: syncing local connectors to the API, removing upstream connectors not present locally, and managing OAuth authorization flows when needed. Error handling ensures graceful degradation when individual operations fail.
🤖 Generated by Claude | 2026-02-04 23:47 UTC