airbytehq / airbytehq/PyAirbyte

feat: Add STATE message handling for incremental sync support in universal source

Aperta
#987 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
344
Fork
77
Merge medio
1g 11h
PR unite (30g)
35

Descrizione

## Summary

The universal source connector (`SourcePyAirbyteUniversal`) currently only forwards RECORD messages from the underlying PyAirbyte source. STATE messages are dropped, which means only full-refresh syncs are supported.

## Context

In `airbyte/cli/universal_connector/source.py`, the `read()` method filters messages to only yield RECORD types. STATE messages require per-stream format conversion between `airbyte_protocol.models` and `airbyte_cdk.models`, which adds complexity.

## Desired Behavior

- Forward STATE messages from the underlying source through the universal source connector
- Handle per-stream state format conversion between PyAirbyte's protocol models and the CDK models
- Enable incremental sync support for connectors wrapped by the universal source

## References

- Related PR: https://github.com/airbytehq/PyAirbyte/pull/982
- File: `airbyte/cli/universal_connector/source.py` (line 195)

---
[Devin session](https://app.devin.ai/sessions/02ea317be9054bcba5e48a6ed1622620)

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.