Skip to content

Refactor connections, remove Plaid, add view creation API#66

Merged
jfrench9 merged 5 commits intomainfrom
feature/connection-improvements
Feb 28, 2026
Merged

Refactor connections, remove Plaid, add view creation API#66
jfrench9 merged 5 commits intomainfrom
feature/connection-improvements

Conversation

@jfrench9
Copy link
Member

Summary

This PR refactors the connection subsystem by removing Plaid integration, streamlining the element mapping architecture, and introducing a new View creation API with supporting models. The changes simplify the SDK surface area while adding new view-building capabilities.

Key Accomplishments

Plaid Integration Removal

  • Removed PlaidConnectionConfig model and all Plaid-specific references from connection-related files
  • Cleaned up Plaid provider references from ConnectionProviderInfoProvider, CreateConnectionRequestProvider, and ListConnectionsProviderType0
  • Simplified ConnectionResponse and CreateConnectionRequest models by removing Plaid-specific configuration branches
  • Streamlined SecConnectionConfig model

Connection API Cleanup

  • Removed unused functionality from create_connection, get_connection_options, and sync_connection API endpoints
  • Simplified list_connections API

New View Creation API

  • Added api/views/ module with a create_view endpoint
  • Introduced new models: CreateViewRequest, ViewConfig, ViewAxisConfig, ViewAxisConfigElementLabelsType0, and ViewAxisConfigMemberLabelsType0
  • Repurposed renamed Plaid model files into view axis config label types (leveraging similar structure)

Element Mapping Client Removal & View Builder Refactor

  • Deleted element_mapping_client.py (585 lines removed) and removed its export from the extensions module
  • Streamlined ViewBuilderClient by removing element mapping references, enhancing clarity of the view builder's responsibilities
  • Updated SDK aliases in __init__.py to reflect the new module structure

Breaking Changes

⚠️ Breaking: The following removals will affect consumers of this SDK:

  • PlaidConnectionConfig model has been removed — any code referencing Plaid connections will break
  • ElementMappingClient extension has been deleted — consumers must migrate away from this client
  • ViewBuilderClient API surface has changed — element mapping methods are no longer available through this client
  • Connection API endpoints (create_connection, get_connection_options, sync_connection) have reduced functionality — callers passing Plaid-specific parameters will need to be updated
  • SDK aliases in __init__.py have been refactored — import paths may need updating

Testing Notes

  • Verify that existing connection workflows (non-Plaid providers) continue to function correctly with the simplified models
  • Test the new create_view endpoint with various ViewConfig and ViewAxisConfig combinations
  • Confirm that the ViewBuilderClient operates correctly without element mapping dependencies
  • Validate that SecConnectionConfig changes are backward-compatible for existing SEC-based connections
  • Check that all model serialization/deserialization works correctly for the new view-related models

Infrastructure Considerations

  • Downstream services and consumers of this SDK should be updated to remove any Plaid-related references before adopting this version
  • The new views API module requires corresponding backend endpoint availability — ensure the API server supports the create_view route before deployment
  • Consider a coordinated release if other services depend on the removed ElementMappingClient functionality

🤖 Generated with Claude Code

Branch Info:

  • Source: feature/connection-improvements
  • Target: main
  • Type: feature

Co-Authored-By: Claude noreply@anthropic.com

- Updated the SDK aliases to improve clarity by renaming `RoboSystemsClient` for better understanding.
- Added `RoboSystemsClient` to the `__all__` export list to ensure it is accessible for users of the SDK.

These changes enhance the usability and readability of the SDK's interface.
- Removed the `ElementMappingClient` and associated classes from the codebase to streamline the SDK and eliminate unused functionality.
- Updated the `ViewBuilderClient` to remove references to the `ElementMappingClient`, simplifying its initialization and method signatures.

These changes enhance the clarity and maintainability of the SDK by focusing on essential components.
…ection models

- Eliminated all Plaid-related documentation and references from the connection API files, including `create_connection.py`, `get_connection_options.py`, `sync_connection.py`, and `list_connections.py`.
- Updated the `ConnectionResponse` and `CreateConnectionRequest` models to remove Plaid-specific attributes and adjust entity_id handling.
- Deleted unused Plaid connection configuration models to streamline the codebase.

These changes enhance clarity and focus on the remaining connection providers, improving maintainability of the SDK.
@jfrench9 jfrench9 merged commit 0e993fd into main Feb 28, 2026
1 check passed
@jfrench9 jfrench9 deleted the feature/connection-improvements branch February 28, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant