Skip to content

Conversation

@keelerm84
Copy link
Member

@keelerm84 keelerm84 commented Jan 30, 2026

Note

Medium Risk
Touches core FDv2 synchronization and HTTP wiring; misconfigured defaults or builder overrides could change network behavior (URIs/timeouts) or break initialization if .build() paths are missed.

Overview
Refactors FDv2 DataSystemConfig to use a new DataSourceBuilder protocol (objects with build(config)) instead of Callable[[Config], T] factories, and updates FDv2 (fdv2.py) to call .build() for initializers/synchronizers.

Updates polling and streaming FDv2 data sources to accept per-source overrides (base URI, poll interval / reconnect delay, and HTTPConfig) via new builder classes; requesters now build their own HTTPFactory from _base_headers(config) and the builder-supplied HTTPConfig/URI rather than always using config.http/config.base_uri.

Adds builder implementations for FileDataV2 and TestDataV2, updates integrations/tests/contract tests to use the new builder API, and adjusts StreamingDataSource/SSE client builder signatures accordingly.

Written by Cursor Bugbot for commit 451ff2d. This will update automatically on new commits. Configure here.

@keelerm84 keelerm84 requested a review from a team as a code owner January 30, 2026 21:29
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

config.http,
config.initial_reconnect_delay,
config
)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test helper incorrectly appends endpoint to base URI

Low Severity

The test helper make_streaming_data_source() incorrectly passes config.stream_base_uri + STREAMING_ENDPOINT to StreamingDataSource, but the constructor expects just the base URI without the endpoint. The create_sse_client function adds STREAMING_ENDPOINT to the URI it receives, so this would result in a doubled endpoint (e.g., /sdk/stream/sdk/stream). Tests pass because they mock _sse_client_builder, but the helper function is constructing the object incorrectly.

Fix in Cursor Fix in Web

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.

2 participants