airbyte-cdk 6.60.0.post35.dev16509779638__tar.gz → 6.60.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/PKG-INFO +11 -10
  2. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/source_declarative_manifest/_run.py +35 -30
  3. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/config_observation.py +2 -2
  4. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector.py +2 -1
  5. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/connector_builder_handler.py +6 -1
  6. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/main.py +11 -18
  7. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/test_reader/helpers.py +31 -0
  8. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +5 -0
  9. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/test_reader/reader.py +8 -3
  10. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/destination.py +7 -7
  11. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/entrypoint.py +23 -8
  12. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/logger.py +2 -2
  13. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/models/__init__.py +6 -7
  14. airbyte_cdk-6.60.2/airbyte_cdk/models/airbyte_protocol.py +88 -0
  15. airbyte_cdk-6.60.2/airbyte_cdk/models/airbyte_protocol_serializers.py +48 -0
  16. airbyte_cdk-6.60.2/airbyte_cdk/models/well_known_types.py +5 -0
  17. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +2 -4
  18. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -11
  19. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -6
  20. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -15
  21. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -3
  22. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -6
  23. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +15 -7
  24. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +7 -4
  25. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +2 -25
  26. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/spec/spec.py +2 -2
  27. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_based_source.py +3 -3
  28. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/source.py +4 -2
  29. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -6
  30. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -6
  31. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -6
  32. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/http_client.py +7 -5
  33. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/permissions/identities_stream.py +1 -1
  34. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/shared/sql_processor.py +1 -1
  35. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/catalog_builder.py +2 -1
  36. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/entrypoint_wrapper.py +16 -25
  37. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/datetime_helpers.py +5 -14
  38. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/traced_exception.py +2 -2
  39. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/pyproject.toml +15 -12
  40. airbyte_cdk-6.60.0.post35.dev16509779638/airbyte_cdk/models/airbyte_protocol.py +0 -9
  41. airbyte_cdk-6.60.0.post35.dev16509779638/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -174
  42. airbyte_cdk-6.60.0.post35.dev16509779638/airbyte_cdk/models/well_known_types.py +0 -5
  43. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/LICENSE.txt +0 -0
  44. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/LICENSE_SHORT +0 -0
  45. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/README.md +0 -0
  46. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/__init__.py +0 -0
  47. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/__init__.py +0 -0
  48. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/airbyte_cdk/__init__.py +0 -0
  49. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/airbyte_cdk/_connector.py +0 -0
  50. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/airbyte_cdk/_image.py +0 -0
  51. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/airbyte_cdk/_manifest.py +0 -0
  52. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/airbyte_cdk/_secrets.py +0 -0
  53. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/airbyte_cdk/_version.py +0 -0
  54. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/airbyte_cdk/exceptions.py +0 -0
  55. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/source_declarative_manifest/README.md +0 -0
  56. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  57. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  58. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/README.md +0 -0
  59. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/__init__.py +0 -0
  60. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/models.py +0 -0
  61. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
  62. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
  63. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/__init__.py +0 -0
  64. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  65. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  66. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  67. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  68. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  69. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  70. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  71. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  72. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  73. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/exception_handler.py +0 -0
  74. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/README.md +0 -0
  75. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/__init__.py +0 -0
  76. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/exceptions.py +0 -0
  77. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/manifest_migration.py +0 -0
  78. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/migration_handler.py +0 -0
  79. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/migrations/__init__.py +0 -0
  80. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/migrations/http_requester_path_to_url.py +0 -0
  81. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py +0 -0
  82. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/migrations/http_requester_url_base_to_url.py +0 -0
  83. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/migrations/registry.yaml +0 -0
  84. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/manifest_migrations/migrations_registry.py +0 -0
  85. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/models/connector_metadata.py +0 -0
  86. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/py.typed +0 -0
  87. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/__init__.py +0 -0
  88. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/abstract_source.py +0 -0
  89. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  90. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  91. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  92. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  93. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  94. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  95. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  96. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/config.py +0 -0
  97. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  98. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  99. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  100. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  101. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  102. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  103. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  104. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  105. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  106. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  107. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  108. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  109. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  110. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  111. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  112. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  113. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  114. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
  115. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  116. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  117. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  118. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  119. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  120. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  121. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  122. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -0
  123. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  124. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  125. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  126. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  127. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  128. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
  129. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  130. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  131. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  132. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  133. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  134. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  135. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  136. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  137. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  138. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  139. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  140. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  141. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  142. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  143. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  144. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  145. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
  146. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  147. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  148. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  149. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  150. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  151. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  152. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  153. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  154. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  155. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  156. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  157. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  158. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  159. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py +0 -0
  160. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -0
  161. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  162. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  163. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  164. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  165. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py +0 -0
  166. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  167. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  168. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  169. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  170. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
  171. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  172. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  173. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  174. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  175. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  176. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  177. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  178. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  179. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  180. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  181. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  182. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  183. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  184. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  185. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  186. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  187. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  188. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  189. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  190. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  191. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  192. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  193. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  194. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  195. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  196. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  197. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  198. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  199. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  200. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  201. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  202. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -0
  203. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -0
  204. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +0 -0
  205. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +0 -0
  206. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/__init__.py +0 -0
  207. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/group_by_key.py +0 -0
  208. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/merge_strategy.py +0 -0
  209. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  210. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  211. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  212. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  213. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  214. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  215. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  216. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  217. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  218. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  219. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  220. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  221. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
  222. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  223. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py +0 -0
  224. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  225. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  226. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/__init__.py +0 -0
  227. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/connector_builder_file_uploader.py +0 -0
  228. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/default_file_uploader.py +0 -0
  229. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_uploader.py +0 -0
  230. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_writer.py +0 -0
  231. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/local_file_system_file_writer.py +0 -0
  232. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/noop_file_writer.py +0 -0
  233. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  234. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  235. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/schema/composite_schema_loader.py +0 -0
  236. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  237. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
  238. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  239. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  240. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  241. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  242. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  243. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  244. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  245. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer_test_read_decorator.py +0 -0
  246. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  247. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  248. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/__init__.py +0 -0
  249. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/add_fields.py +0 -0
  250. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/config_transformation.py +0 -0
  251. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/remap_field.py +0 -0
  252. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/remove_fields.py +0 -0
  253. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  254. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  255. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  256. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  257. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  258. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  259. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  260. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/types.py +0 -0
  261. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/validators/__init__.py +0 -0
  262. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/validators/dpath_validator.py +0 -0
  263. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/validators/predicate_validator.py +0 -0
  264. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/validators/validate_adheres_to_schema.py +0 -0
  265. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/validators/validation_strategy.py +0 -0
  266. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/validators/validator.py +0 -0
  267. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  268. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/README.md +0 -0
  269. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  270. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  271. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  272. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  273. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  274. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  275. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  276. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  277. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  278. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  279. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  280. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  281. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  282. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
  283. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  284. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  285. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  286. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  287. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
  288. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  289. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_record_data.py +0 -0
  290. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  291. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  292. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  293. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  294. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  295. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  296. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  297. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  298. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  299. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  300. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  301. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  302. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  303. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  304. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  305. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  306. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  307. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  308. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  309. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  310. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  311. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  312. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  313. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  314. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  315. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  316. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
  317. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
  318. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/file_based/types.py +0 -0
  319. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/http_config.py +0 -0
  320. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/http_logger.py +0 -0
  321. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/message/__init__.py +0 -0
  322. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/message/repository.py +0 -0
  323. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
  324. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/__init__.py +0 -0
  325. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  326. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  327. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  328. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  329. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  330. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  331. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  332. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  333. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  334. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  335. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  336. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  337. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  338. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  339. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  340. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  341. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  342. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  343. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  344. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  345. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  346. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  347. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  348. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  349. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  350. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  351. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  352. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
  353. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/core.py +0 -0
  354. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  355. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  356. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  357. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  358. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  359. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  360. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  361. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  362. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  363. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  364. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  365. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  366. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/http.py +0 -0
  367. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  368. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  369. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  370. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  371. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  372. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  373. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  374. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/types.py +0 -0
  375. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/utils/__init__.py +0 -0
  376. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/utils/casing.py +0 -0
  377. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/utils/files_directory.py +0 -0
  378. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  379. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  380. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  381. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/utils/transform.py +0 -0
  382. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sources/utils/types.py +0 -0
  383. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/__init__.py +0 -0
  384. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/_util/__init__.py +0 -0
  385. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/_util/hashing.py +0 -0
  386. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  387. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/constants.py +0 -0
  388. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/exceptions.py +0 -0
  389. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/secrets.py +0 -0
  390. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/shared/__init__.py +0 -0
  391. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  392. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/sql/types.py +0 -0
  393. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/__init__.py +0 -0
  394. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  395. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  396. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  397. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/mock_http/request.py +0 -0
  398. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/mock_http/response.py +0 -0
  399. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  400. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/models/__init__.py +0 -0
  401. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/models/outcome.py +0 -0
  402. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/models/scenario.py +0 -0
  403. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/standard_tests/__init__.py +0 -0
  404. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/standard_tests/_job_runner.py +0 -0
  405. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/standard_tests/connector_base.py +0 -0
  406. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/standard_tests/declarative_sources.py +0 -0
  407. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/standard_tests/destination_base.py +0 -0
  408. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/standard_tests/docker_base.py +0 -0
  409. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/standard_tests/pytest_hooks.py +0 -0
  410. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/standard_tests/source_base.py +0 -0
  411. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/standard_tests/util.py +0 -0
  412. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/state_builder.py +0 -0
  413. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/utils/__init__.py +0 -0
  414. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/utils/data.py +0 -0
  415. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  416. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  417. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/test/utils/reading.py +0 -0
  418. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/__init__.py +0 -0
  419. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  420. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/analytics_message.py +0 -0
  421. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/connector_paths.py +0 -0
  422. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/constants.py +0 -0
  423. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  424. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/docker.py +0 -0
  425. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/event_timing.py +0 -0
  426. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  427. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  428. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/message_utils.py +0 -0
  429. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  430. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/print_buffer.py +0 -0
  431. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  432. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/slice_hasher.py +0 -0
  433. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  434. {airbyte_cdk-6.60.0.post35.dev16509779638 → airbyte_cdk-6.60.2}/airbyte_cdk/utils/stream_status_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.60.0.post35.dev16509779638
3
+ Version: 6.60.2
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -23,7 +23,7 @@ Provides-Extra: sql
23
23
  Provides-Extra: vector-db-based
24
24
  Requires-Dist: Jinja2 (>=3.1.2,<3.2.0)
25
25
  Requires-Dist: PyYAML (>=6.0.1,<7.0.0)
26
- Requires-Dist: airbyte-protocol-models-pdv2 (>=0.18.0,<0.19.0)
26
+ Requires-Dist: airbyte-protocol-models-dataclasses (>=0.17.1,<0.18.0)
27
27
  Requires-Dist: anyascii (>=0.3.2,<0.4.0)
28
28
  Requires-Dist: avro (>=1.11.2,<1.13.0) ; extra == "file-based"
29
29
  Requires-Dist: backoff
@@ -31,14 +31,13 @@ Requires-Dist: boltons (>=25.0.0,<26.0.0)
31
31
  Requires-Dist: cachetools
32
32
  Requires-Dist: click (>=8.1.8,<9.0.0)
33
33
  Requires-Dist: cohere (==4.21) ; extra == "vector-db-based"
34
- Requires-Dist: cryptography (>=44.0.0,<46.0.0)
35
- Requires-Dist: dacite (>=1.9.2,<2.0.0)
34
+ Requires-Dist: cryptography (>=44.0.0,<45.0.0)
36
35
  Requires-Dist: dateparser (>=1.2.2,<2.0.0)
37
36
  Requires-Dist: dpath (>=2.1.6,<3.0.0)
38
37
  Requires-Dist: dunamai (>=1.22.0,<2.0.0)
39
38
  Requires-Dist: fastavro (>=1.8.0,<1.9.0) ; extra == "file-based"
40
39
  Requires-Dist: genson (==1.3.0)
41
- Requires-Dist: google-cloud-secret-manager (>=2.17.0,<3.0.0) ; extra == "dev"
40
+ Requires-Dist: google-cloud-secret-manager (>=2.17.0,<3.0.0)
42
41
  Requires-Dist: isodate (>=0.6.1,<0.7.0)
43
42
  Requires-Dist: jsonref (>=0.2,<0.3)
44
43
  Requires-Dist: jsonschema (>=4.17.3,<4.18.0)
@@ -46,13 +45,14 @@ Requires-Dist: langchain (==0.1.16) ; extra == "vector-db-based"
46
45
  Requires-Dist: langchain_core (==0.1.42)
47
46
  Requires-Dist: markdown ; extra == "file-based"
48
47
  Requires-Dist: nltk (==3.9.1)
49
- Requires-Dist: numpy (<3.0)
48
+ Requires-Dist: numpy (<2)
50
49
  Requires-Dist: openai[embeddings] (==0.27.9) ; extra == "vector-db-based"
51
50
  Requires-Dist: orjson (>=3.10.7,<4.0.0)
52
51
  Requires-Dist: packaging
53
- Requires-Dist: pandas (>=2.2.2,<3.0.0)
52
+ Requires-Dist: pandas (==2.2.2)
54
53
  Requires-Dist: pdf2image (==1.16.3) ; extra == "file-based"
55
54
  Requires-Dist: pdfminer.six (==20221105) ; extra == "file-based"
55
+ Requires-Dist: psutil (==6.1.0)
56
56
  Requires-Dist: pyarrow (>=19.0.0,<20.0.0) ; extra == "file-based"
57
57
  Requires-Dist: pydantic (>=2.7,<3.0)
58
58
  Requires-Dist: pyjwt (>=2.8.0,<3.0.0)
@@ -63,12 +63,13 @@ Requires-Dist: python-calamine (==0.2.3) ; extra == "file-based"
63
63
  Requires-Dist: python-dateutil (>=2.9.0,<3.0.0)
64
64
  Requires-Dist: python-snappy (==0.7.3) ; extra == "file-based"
65
65
  Requires-Dist: python-ulid (>=3.0.0,<4.0.0)
66
- Requires-Dist: pytz (>=2024.2)
66
+ Requires-Dist: pytz (==2024.2)
67
+ Requires-Dist: rapidfuzz (>=3.10.1,<4.0.0)
67
68
  Requires-Dist: requests
68
69
  Requires-Dist: requests_cache
69
70
  Requires-Dist: rich
70
71
  Requires-Dist: rich-click (>=1.8.8,<2.0.0)
71
- Requires-Dist: serpyco-rs (>=1.10.2,<2.0.0) ; sys_platform != "emscripten"
72
+ Requires-Dist: serpyco-rs (>=1.10.2,<2.0.0)
72
73
  Requires-Dist: setuptools (>=80.9.0,<81.0.0)
73
74
  Requires-Dist: sqlalchemy (>=2.0,<3.0,!=2.0.36) ; extra == "sql"
74
75
  Requires-Dist: tiktoken (==0.8.0) ; extra == "vector-db-based"
@@ -77,7 +78,7 @@ Requires-Dist: unidecode (>=1.3.8,<2.0.0)
77
78
  Requires-Dist: unstructured.pytesseract (>=0.3.12) ; extra == "file-based"
78
79
  Requires-Dist: unstructured[docx,pptx] (==0.10.27) ; extra == "file-based"
79
80
  Requires-Dist: wcmatch (==10.0)
80
- Requires-Dist: whenever (>=0.6.16,<0.7.0) ; sys_platform != "emscripten"
81
+ Requires-Dist: whenever (>=0.6.16,<0.7.0)
81
82
  Requires-Dist: xmltodict (>=0.13,<0.15)
82
83
  Project-URL: Documentation, https://docs.airbyte.io/
83
84
  Project-URL: Repository, https://github.com/airbytehq/airbyte-python-cdk
@@ -32,13 +32,13 @@ from airbyte_cdk.entrypoint import AirbyteEntrypoint, launch
32
32
  from airbyte_cdk.models import (
33
33
  AirbyteErrorTraceMessage,
34
34
  AirbyteMessage,
35
+ AirbyteMessageSerializer,
35
36
  AirbyteStateMessage,
36
37
  AirbyteTraceMessage,
37
38
  ConfiguredAirbyteCatalog,
39
+ ConnectorSpecificationSerializer,
38
40
  TraceType,
39
41
  Type,
40
- ab_connector_spec_from_string,
41
- ab_message_to_string,
42
42
  )
43
43
  from airbyte_cdk.sources.declarative.concurrent_declarative_source import (
44
44
  ConcurrentDeclarativeSource,
@@ -105,19 +105,21 @@ def _get_local_yaml_source(args: list[str]) -> SourceLocalYaml:
105
105
  )
106
106
  except Exception as error:
107
107
  print(
108
- ab_message_to_string(
109
- AirbyteMessage(
110
- type=Type.TRACE,
111
- trace=AirbyteTraceMessage(
112
- type=TraceType.ERROR,
113
- emitted_at=ab_datetime_now().to_epoch_millis(),
114
- error=AirbyteErrorTraceMessage(
115
- message=f"Error starting the sync. This could be due to an invalid configuration or catalog. Please contact Support for assistance. Error: {error}",
116
- stack_trace=traceback.format_exc(),
108
+ orjson.dumps(
109
+ AirbyteMessageSerializer.dump(
110
+ AirbyteMessage(
111
+ type=Type.TRACE,
112
+ trace=AirbyteTraceMessage(
113
+ type=TraceType.ERROR,
114
+ emitted_at=ab_datetime_now().to_epoch_millis(),
115
+ error=AirbyteErrorTraceMessage(
116
+ message=f"Error starting the sync. This could be due to an invalid configuration or catalog. Please contact Support for assistance. Error: {error}",
117
+ stack_trace=traceback.format_exc(),
118
+ ),
117
119
  ),
118
- ),
119
- ),
120
- )
120
+ )
121
+ )
122
+ ).decode()
121
123
  )
122
124
  raise error
123
125
 
@@ -147,10 +149,11 @@ def handle_remote_manifest_command(args: list[str]) -> None:
147
149
  "Could not find `spec.json` file for source-declarative-manifest"
148
150
  )
149
151
 
150
- spec = ab_connector_spec_from_string(json_spec.decode("utf-8"))
152
+ spec_obj = json.loads(json_spec)
153
+ spec = ConnectorSpecificationSerializer.load(spec_obj)
151
154
 
152
155
  message = AirbyteMessage(type=Type.SPEC, spec=spec)
153
- print(ab_message_to_string(message))
156
+ print(AirbyteEntrypoint.airbyte_message_to_string(message))
154
157
  else:
155
158
  source = create_declarative_source(args)
156
159
  launch(
@@ -212,19 +215,21 @@ def create_declarative_source(
212
215
  )
213
216
  except Exception as error:
214
217
  print(
215
- ab_message_to_string(
216
- AirbyteMessage(
217
- type=Type.TRACE,
218
- trace=AirbyteTraceMessage(
219
- type=TraceType.ERROR,
220
- emitted_at=ab_datetime_now().to_epoch_millis(),
221
- error=AirbyteErrorTraceMessage(
222
- message=f"Error starting the sync. This could be due to an invalid configuration or catalog. Please contact Support for assistance. Error: {error}",
223
- stack_trace=traceback.format_exc(),
218
+ orjson.dumps(
219
+ AirbyteMessageSerializer.dump(
220
+ AirbyteMessage(
221
+ type=Type.TRACE,
222
+ trace=AirbyteTraceMessage(
223
+ type=TraceType.ERROR,
224
+ emitted_at=ab_datetime_now().to_epoch_millis(),
225
+ error=AirbyteErrorTraceMessage(
226
+ message=f"Error starting the sync. This could be due to an invalid configuration or catalog. Please contact Support for assistance. Error: {error}",
227
+ stack_trace=traceback.format_exc(),
228
+ ),
224
229
  ),
225
- ),
226
- ),
227
- ),
230
+ )
231
+ )
232
+ ).decode()
228
233
  )
229
234
  raise error
230
235
 
@@ -293,10 +298,10 @@ def _register_components_from_file(filepath: str) -> None:
293
298
  spec.loader.exec_module(module)
294
299
 
295
300
 
296
- def run(args: list[str] | None = None) -> None:
301
+ def run() -> None:
297
302
  """Run the `source-declarative-manifest` CLI.
298
303
 
299
304
  Args are detected from the command line, and the appropriate command is executed.
300
305
  """
301
- args = args or sys.argv[1:]
306
+ args: list[str] = sys.argv[1:]
302
307
  handle_command(args)
@@ -16,9 +16,9 @@ from airbyte_cdk.models import (
16
16
  AirbyteControlConnectorConfigMessage,
17
17
  AirbyteControlMessage,
18
18
  AirbyteMessage,
19
+ AirbyteMessageSerializer,
19
20
  OrchestratorType,
20
21
  Type,
21
- ab_message_to_string,
22
22
  )
23
23
 
24
24
 
@@ -92,7 +92,7 @@ def emit_configuration_as_airbyte_control_message(config: MutableMapping[str, An
92
92
  See the airbyte_cdk.sources.message package
93
93
  """
94
94
  airbyte_message = create_connector_config_control_message(config)
95
- print(ab_message_to_string(airbyte_message))
95
+ print(orjson.dumps(AirbyteMessageSerializer.dump(airbyte_message)).decode())
96
96
 
97
97
 
98
98
  def create_connector_config_control_message(config: MutableMapping[str, Any]) -> AirbyteMessage:
@@ -15,6 +15,7 @@ import yaml
15
15
  from airbyte_cdk.models import (
16
16
  AirbyteConnectionStatus,
17
17
  ConnectorSpecification,
18
+ ConnectorSpecificationSerializer,
18
19
  )
19
20
 
20
21
 
@@ -94,7 +95,7 @@ class BaseConnector(ABC, Generic[TConfig]):
94
95
  else:
95
96
  raise FileNotFoundError("Unable to find spec.yaml or spec.json in the package.")
96
97
 
97
- return ConnectorSpecification.model_validate(spec_obj)
98
+ return ConnectorSpecificationSerializer.load(spec_obj)
98
99
 
99
100
  @abstractmethod
100
101
  def check(self, logger: logging.Logger, config: TConfig) -> AirbyteConnectionStatus:
@@ -108,7 +108,12 @@ def read_stream(
108
108
  stream_name = configured_catalog.streams[0].stream.name
109
109
 
110
110
  stream_read = test_read_handler.run_test_read(
111
- source, config, configured_catalog, state, limits.max_records
111
+ source,
112
+ config,
113
+ configured_catalog,
114
+ stream_name,
115
+ state,
116
+ limits.max_records,
112
117
  )
113
118
 
114
119
  return AirbyteMessage(
@@ -20,10 +20,11 @@ from airbyte_cdk.connector_builder.connector_builder_handler import (
20
20
  from airbyte_cdk.entrypoint import AirbyteEntrypoint
21
21
  from airbyte_cdk.models import (
22
22
  AirbyteMessage,
23
+ AirbyteMessageSerializer,
23
24
  AirbyteStateMessage,
24
25
  ConfiguredAirbyteCatalog,
26
+ ConfiguredAirbyteCatalogSerializer,
25
27
  )
26
- from airbyte_cdk.models.airbyte_protocol_serializers import ab_message_to_string
27
28
  from airbyte_cdk.sources.declarative.manifest_declarative_source import ManifestDeclarativeSource
28
29
  from airbyte_cdk.sources.source import Source
29
30
  from airbyte_cdk.utils.traced_exception import AirbyteTracedException
@@ -52,7 +53,7 @@ def get_config_and_catalog_from_args(
52
53
 
53
54
  command = config["__command"]
54
55
  if command == "test_read":
55
- catalog = ConfiguredAirbyteCatalog.model_validate(BaseConnector.read_config(catalog_path))
56
+ catalog = ConfiguredAirbyteCatalogSerializer.load(BaseConnector.read_config(catalog_path))
56
57
  state = Source.read_state(state_path)
57
58
  else:
58
59
  catalog = None
@@ -91,27 +92,19 @@ def handle_request(args: List[str]) -> str:
91
92
  command, config, catalog, state = get_config_and_catalog_from_args(args)
92
93
  limits = get_limits(config)
93
94
  source = create_source(config, limits)
94
- return ab_message_to_string(
95
- handle_connector_builder_request(source, command, config, catalog, state, limits)
96
- )
95
+ return orjson.dumps(
96
+ AirbyteMessageSerializer.dump(
97
+ handle_connector_builder_request(source, command, config, catalog, state, limits)
98
+ )
99
+ ).decode() # type: ignore[no-any-return] # Serializer.dump() always returns AirbyteMessage
97
100
 
98
- def run(args: list[str] | None) -> None:
99
- """Run the connector builder handler."""
100
- if args is None:
101
- args = sys.argv[1:]
102
101
 
102
+ if __name__ == "__main__":
103
103
  try:
104
- result = handle_request(args)
105
- print(result)
104
+ print(handle_request(sys.argv[1:]))
106
105
  except Exception as exc:
107
106
  error = AirbyteTracedException.from_exception(
108
107
  exc, message=f"Error handling request: {str(exc)}"
109
108
  )
110
109
  m = error.as_airbyte_message()
111
- print(ab_message_to_string(m))
112
- sys.exit(1)
113
-
114
-
115
- if __name__ == "__main__":
116
- run(sys.argv[1:])
117
- sys.exit(1)
110
+ print(orjson.dumps(AirbyteMessageSerializer.dump(m)).decode())
@@ -269,6 +269,37 @@ def should_close_page_for_slice(at_least_one_page_in_group: bool, message: Airby
269
269
  return at_least_one_page_in_group and should_process_slice_descriptor(message)
270
270
 
271
271
 
272
+ def is_page_http_request_for_different_stream(
273
+ json_message: Optional[Dict[str, Any]], stream_name: str
274
+ ) -> bool:
275
+ """
276
+ Determines whether a given JSON message represents a page HTTP request for a different stream.
277
+
278
+ This function checks if the provided JSON message is a page HTTP request, and if the stream name in the log is
279
+ different from the provided stream name.
280
+
281
+ This is needed because dynamic streams result in extra page HTTP requests for the dynamic streams that we want to ignore
282
+ when they do not match the stream that is being read.
283
+
284
+ Args:
285
+ json_message (Optional[Dict[str, Any]]): The JSON message to evaluate.
286
+ stream_name (str): The name of the stream to compare against.
287
+
288
+ Returns:
289
+ bool: True if the JSON message is a page HTTP request for a different stream, False otherwise.
290
+ """
291
+ if not json_message or not is_page_http_request(json_message):
292
+ return False
293
+
294
+ message_stream_name: str | None = (
295
+ json_message.get("airbyte_cdk", {}).get("stream", {}).get("name", None)
296
+ )
297
+ if message_stream_name is None:
298
+ return False
299
+
300
+ return message_stream_name != stream_name
301
+
302
+
272
303
  def is_page_http_request(json_message: Optional[Dict[str, Any]]) -> bool:
273
304
  """
274
305
  Determines whether a given JSON message represents a page HTTP request.
@@ -28,6 +28,7 @@ from .helpers import (
28
28
  is_async_auxiliary_request,
29
29
  is_config_update_message,
30
30
  is_log_message,
31
+ is_page_http_request_for_different_stream,
31
32
  is_record_message,
32
33
  is_state_message,
33
34
  is_trace_with_error,
@@ -44,6 +45,7 @@ def get_message_groups(
44
45
  schema_inferrer: SchemaInferrer,
45
46
  datetime_format_inferrer: DatetimeFormatInferrer,
46
47
  limit: int,
48
+ stream_name: str,
47
49
  ) -> MESSAGE_GROUPS:
48
50
  """
49
51
  Processes an iterator of AirbyteMessage objects to group and yield messages based on their type and sequence.
@@ -96,6 +98,9 @@ def get_message_groups(
96
98
  while records_count < limit and (message := next(messages, None)):
97
99
  json_message = airbyte_message_to_json(message)
98
100
 
101
+ if is_page_http_request_for_different_stream(json_message, stream_name):
102
+ continue
103
+
99
104
  if should_close_page(at_least_one_page_in_group, message, json_message):
100
105
  current_page_request, current_page_response = handle_current_page(
101
106
  current_page_request,
@@ -86,6 +86,7 @@ class TestReader:
86
86
  source: DeclarativeSource,
87
87
  config: Mapping[str, Any],
88
88
  configured_catalog: ConfiguredAirbyteCatalog,
89
+ stream_name: str,
89
90
  state: List[AirbyteStateMessage],
90
91
  record_limit: Optional[int] = None,
91
92
  ) -> StreamRead:
@@ -112,14 +113,17 @@ class TestReader:
112
113
 
113
114
  record_limit = self._check_record_limit(record_limit)
114
115
  # The connector builder currently only supports reading from a single stream at a time
115
- stream = source.streams(config)[0]
116
+ streams = source.streams(config)
117
+ stream = next((stream for stream in streams if stream.name == stream_name), None)
116
118
 
117
119
  # get any deprecation warnings during the component creation
118
120
  deprecation_warnings: List[LogMessage] = source.deprecation_warnings()
119
121
 
120
122
  schema_inferrer = SchemaInferrer(
121
- self._pk_to_nested_and_composite_field(stream.primary_key),
122
- self._cursor_field_to_nested_and_composite_field(stream.cursor_field),
123
+ self._pk_to_nested_and_composite_field(stream.primary_key) if stream else None,
124
+ self._cursor_field_to_nested_and_composite_field(stream.cursor_field)
125
+ if stream
126
+ else None,
123
127
  )
124
128
  datetime_format_inferrer = DatetimeFormatInferrer()
125
129
 
@@ -128,6 +132,7 @@ class TestReader:
128
132
  schema_inferrer,
129
133
  datetime_format_inferrer,
130
134
  record_limit,
135
+ stream_name,
131
136
  )
132
137
 
133
138
  slices, log_messages, auxiliary_requests, latest_config_update = self._categorise_groups(
@@ -15,12 +15,10 @@ from airbyte_cdk.connector import Connector
15
15
  from airbyte_cdk.exception_handler import init_uncaught_exception_handler
16
16
  from airbyte_cdk.models import (
17
17
  AirbyteMessage,
18
+ AirbyteMessageSerializer,
18
19
  ConfiguredAirbyteCatalog,
20
+ ConfiguredAirbyteCatalogSerializer,
19
21
  Type,
20
- ab_configured_catalog_from_string,
21
- ab_configured_catalog_to_string,
22
- ab_message_from_string,
23
- ab_message_to_string,
24
22
  )
25
23
  from airbyte_cdk.sources.utils.schema_helpers import check_config_against_spec_or_exit
26
24
  from airbyte_cdk.utils.traced_exception import AirbyteTracedException
@@ -48,7 +46,7 @@ class Destination(Connector, ABC):
48
46
  """Reads from stdin, converting to Airbyte messages"""
49
47
  for line in input_stream:
50
48
  try:
51
- yield ab_message_from_string(line)
49
+ yield AirbyteMessageSerializer.load(orjson.loads(line))
52
50
  except orjson.JSONDecodeError:
53
51
  logger.info(
54
52
  f"ignoring input which can't be deserialized as Airbyte Message: {line}"
@@ -60,7 +58,9 @@ class Destination(Connector, ABC):
60
58
  configured_catalog_path: str,
61
59
  input_stream: io.TextIOWrapper,
62
60
  ) -> Iterable[AirbyteMessage]:
63
- catalog = ab_configured_catalog_from_string(open(configured_catalog_path).read())
61
+ catalog = ConfiguredAirbyteCatalogSerializer.load(
62
+ orjson.loads(open(configured_catalog_path).read())
63
+ )
64
64
  input_messages = self._parse_input_stream(input_stream)
65
65
  logger.info("Begin writing to the destination...")
66
66
  yield from self.write(
@@ -151,4 +151,4 @@ class Destination(Connector, ABC):
151
151
  parsed_args = self.parse_args(args)
152
152
  output_messages = self.run_cmd(parsed_args)
153
153
  for message in output_messages:
154
- print(ab_message_to_string(message))
154
+ print(orjson.dumps(AirbyteMessageSerializer.dump(message)).decode())
@@ -26,12 +26,12 @@ from airbyte_cdk.logger import PRINT_BUFFER, init_logger
26
26
  from airbyte_cdk.models import (
27
27
  AirbyteConnectionStatus,
28
28
  AirbyteMessage,
29
+ AirbyteMessageSerializer,
29
30
  AirbyteStateStats,
30
31
  ConnectorSpecification,
31
32
  FailureType,
32
33
  Status,
33
34
  Type,
34
- ab_message_to_string,
35
35
  )
36
36
  from airbyte_cdk.sources import Source
37
37
  from airbyte_cdk.sources.connector_state_manager import HashableStreamDescriptor
@@ -47,6 +47,7 @@ logger = init_logger("airbyte")
47
47
 
48
48
  VALID_URL_SCHEMES = ["https"]
49
49
  CLOUD_DEPLOYMENT_MODE = "cloud"
50
+ _HAS_LOGGED_FOR_SERIALIZATION_ERROR = False
50
51
 
51
52
 
52
53
  class AirbyteEntrypoint(object):
@@ -177,26 +178,26 @@ class AirbyteEntrypoint(object):
177
178
  if cmd == "spec":
178
179
  message = AirbyteMessage(type=Type.SPEC, spec=source_spec)
179
180
  yield from [
180
- ab_message_to_string(queued_message)
181
+ self.airbyte_message_to_string(queued_message)
181
182
  for queued_message in self._emit_queued_messages(self.source)
182
183
  ]
183
- yield ab_message_to_string(message)
184
+ yield self.airbyte_message_to_string(message)
184
185
  else:
185
186
  raw_config = self.source.read_config(parsed_args.config)
186
187
  config = self.source.configure(raw_config, temp_dir)
187
188
 
188
189
  yield from [
189
- ab_message_to_string(queued_message)
190
+ self.airbyte_message_to_string(queued_message)
190
191
  for queued_message in self._emit_queued_messages(self.source)
191
192
  ]
192
193
  if cmd == "check":
193
194
  yield from map(
194
- ab_message_to_string,
195
+ AirbyteEntrypoint.airbyte_message_to_string,
195
196
  self.check(source_spec, config),
196
197
  )
197
198
  elif cmd == "discover":
198
199
  yield from map(
199
- ab_message_to_string,
200
+ AirbyteEntrypoint.airbyte_message_to_string,
200
201
  self.discover(source_spec, config),
201
202
  )
202
203
  elif cmd == "read":
@@ -204,14 +205,14 @@ class AirbyteEntrypoint(object):
204
205
  state = self.source.read_state(parsed_args.state)
205
206
 
206
207
  yield from map(
207
- ab_message_to_string,
208
+ AirbyteEntrypoint.airbyte_message_to_string,
208
209
  self.read(source_spec, config, config_catalog, state),
209
210
  )
210
211
  else:
211
212
  raise Exception("Unexpected command " + cmd)
212
213
  finally:
213
214
  yield from [
214
- ab_message_to_string(queued_message)
215
+ self.airbyte_message_to_string(queued_message)
215
216
  for queued_message in self._emit_queued_messages(self.source)
216
217
  ]
217
218
 
@@ -326,6 +327,20 @@ class AirbyteEntrypoint(object):
326
327
  config_secrets = get_secrets(connection_specification, config)
327
328
  update_secrets(config_secrets)
328
329
 
330
+ @staticmethod
331
+ def airbyte_message_to_string(airbyte_message: AirbyteMessage) -> str:
332
+ global _HAS_LOGGED_FOR_SERIALIZATION_ERROR
333
+ serialized_message = AirbyteMessageSerializer.dump(airbyte_message)
334
+ try:
335
+ return orjson.dumps(serialized_message).decode()
336
+ except Exception as exception:
337
+ if not _HAS_LOGGED_FOR_SERIALIZATION_ERROR:
338
+ logger.warning(
339
+ f"There was an error during the serialization of an AirbyteMessage: `{exception}`. This might impact the sync performances."
340
+ )
341
+ _HAS_LOGGED_FOR_SERIALIZATION_ERROR = True
342
+ return json.dumps(serialized_message)
343
+
329
344
  @classmethod
330
345
  def extract_state(cls, args: List[str]) -> Optional[Any]:
331
346
  parsed_args = cls.parse_args(args)
@@ -12,9 +12,9 @@ import orjson
12
12
  from airbyte_cdk.models import (
13
13
  AirbyteLogMessage,
14
14
  AirbyteMessage,
15
+ AirbyteMessageSerializer,
15
16
  Level,
16
17
  Type,
17
- ab_message_to_string,
18
18
  )
19
19
  from airbyte_cdk.utils import PrintBuffer
20
20
  from airbyte_cdk.utils.airbyte_secrets_utils import filter_secrets
@@ -81,7 +81,7 @@ class AirbyteLogFormatter(logging.Formatter):
81
81
  log_message = AirbyteMessage(
82
82
  type=Type.LOG, log=AirbyteLogMessage(level=airbyte_level, message=message)
83
83
  )
84
- return ab_message_to_string(log_message)
84
+ return orjson.dumps(AirbyteMessageSerializer.dump(log_message)).decode()
85
85
 
86
86
  @staticmethod
87
87
  def extract_extra_args_from_record(record: logging.LogRecord) -> Mapping[str, Any]:
@@ -50,13 +50,12 @@ from .airbyte_protocol import (
50
50
  Type,
51
51
  )
52
52
  from .airbyte_protocol_serializers import (
53
- ab_configured_catalog_from_string,
54
- ab_configured_catalog_to_string,
55
- ab_connector_spec_from_string,
56
- ab_connector_spec_to_string,
57
- ab_message_from_string,
58
- ab_message_to_string,
59
- ab_state_message_to_string,
53
+ AirbyteMessageSerializer,
54
+ AirbyteStateMessageSerializer,
55
+ AirbyteStreamStateSerializer,
56
+ ConfiguredAirbyteCatalogSerializer,
57
+ ConfiguredAirbyteStreamSerializer,
58
+ ConnectorSpecificationSerializer,
60
59
  )
61
60
  from .well_known_types import (
62
61
  BinaryData,
@@ -0,0 +1,88 @@
1
+ #
2
+ # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
3
+ #
4
+
5
+ from dataclasses import InitVar, dataclass
6
+ from typing import Annotated, Any, Dict, List, Mapping, Optional, Union
7
+
8
+ from airbyte_protocol_dataclasses.models import * # noqa: F403 # Allow '*'
9
+ from serpyco_rs.metadata import Alias
10
+
11
+ # ruff: noqa: F405 # ignore fuzzy import issues with 'import *'
12
+
13
+
14
+ @dataclass
15
+ class AirbyteStateBlob:
16
+ """
17
+ A dataclass that dynamically sets attributes based on provided keyword arguments and positional arguments.
18
+ Used to "mimic" pydantic Basemodel with ConfigDict(extra='allow') option.
19
+
20
+ The `AirbyteStateBlob` class allows for flexible instantiation by accepting any number of keyword arguments
21
+ and positional arguments. These are used to dynamically update the instance's attributes. This class is useful
22
+ in scenarios where the attributes of an object are not known until runtime and need to be set dynamically.
23
+
24
+ Attributes:
25
+ kwargs (InitVar[Mapping[str, Any]]): A dictionary of keyword arguments used to set attributes dynamically.
26
+
27
+ Methods:
28
+ __init__(*args: Any, **kwargs: Any) -> None:
29
+ Initializes the `AirbyteStateBlob` by setting attributes from the provided arguments.
30
+
31
+ __eq__(other: object) -> bool:
32
+ Checks equality between two `AirbyteStateBlob` instances based on their internal dictionaries.
33
+ Returns `False` if the other object is not an instance of `AirbyteStateBlob`.
34
+ """
35
+
36
+ kwargs: InitVar[Mapping[str, Any]]
37
+
38
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
39
+ # Set any attribute passed in through kwargs
40
+ for arg in args:
41
+ self.__dict__.update(arg)
42
+ for key, value in kwargs.items():
43
+ setattr(self, key, value)
44
+
45
+ def __eq__(self, other: object) -> bool:
46
+ return (
47
+ False
48
+ if not isinstance(other, AirbyteStateBlob)
49
+ else bool(self.__dict__ == other.__dict__)
50
+ )
51
+
52
+
53
+ # The following dataclasses have been redeclared to include the new version of AirbyteStateBlob
54
+ @dataclass
55
+ class AirbyteStreamState:
56
+ stream_descriptor: StreamDescriptor # type: ignore [name-defined]
57
+ stream_state: Optional[AirbyteStateBlob] = None
58
+
59
+
60
+ @dataclass
61
+ class AirbyteGlobalState:
62
+ stream_states: List[AirbyteStreamState]
63
+ shared_state: Optional[AirbyteStateBlob] = None
64
+
65
+
66
+ @dataclass
67
+ class AirbyteStateMessage:
68
+ type: Optional[AirbyteStateType] = None # type: ignore [name-defined]
69
+ stream: Optional[AirbyteStreamState] = None
70
+ global_: Annotated[AirbyteGlobalState | None, Alias("global")] = (
71
+ None # "global" is a reserved keyword in python ⇒ Alias is used for (de-)serialization
72
+ )
73
+ data: Optional[Dict[str, Any]] = None
74
+ sourceStats: Optional[AirbyteStateStats] = None # type: ignore [name-defined]
75
+ destinationStats: Optional[AirbyteStateStats] = None # type: ignore [name-defined]
76
+
77
+
78
+ @dataclass
79
+ class AirbyteMessage:
80
+ type: Type # type: ignore [name-defined]
81
+ log: Optional[AirbyteLogMessage] = None # type: ignore [name-defined]
82
+ spec: Optional[ConnectorSpecification] = None # type: ignore [name-defined]
83
+ connectionStatus: Optional[AirbyteConnectionStatus] = None # type: ignore [name-defined]
84
+ catalog: Optional[AirbyteCatalog] = None # type: ignore [name-defined]
85
+ record: Optional[AirbyteRecordMessage] = None # type: ignore [name-defined]
86
+ state: Optional[AirbyteStateMessage] = None
87
+ trace: Optional[AirbyteTraceMessage] = None # type: ignore [name-defined]
88
+ control: Optional[AirbyteControlMessage] = None # type: ignore [name-defined]