airbyte-cdk 6.57.2__tar.gz → 6.57.3.post1.dev16088268564__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 (431) hide show
  1. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/PKG-INFO +1 -1
  2. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/airbyte_cdk/_connector.py +7 -5
  3. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/rate_limiting.py +2 -1
  4. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/shared/catalog_providers.py +14 -4
  5. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/shared/sql_processor.py +12 -3
  6. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/entrypoint_wrapper.py +51 -0
  7. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/standard_tests/_job_runner.py +4 -25
  8. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/standard_tests/connector_base.py +11 -2
  9. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/standard_tests/docker_base.py +40 -57
  10. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/standard_tests/util.py +18 -18
  11. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/docker.py +82 -38
  12. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/pyproject.toml +1 -1
  13. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/LICENSE.txt +0 -0
  14. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/LICENSE_SHORT +0 -0
  15. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/README.md +0 -0
  16. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/__init__.py +0 -0
  17. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/__init__.py +0 -0
  18. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/airbyte_cdk/__init__.py +0 -0
  19. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/airbyte_cdk/_image.py +0 -0
  20. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/airbyte_cdk/_manifest.py +0 -0
  21. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/airbyte_cdk/_secrets.py +0 -0
  22. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/airbyte_cdk/_version.py +0 -0
  23. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/airbyte_cdk/exceptions.py +0 -0
  24. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/source_declarative_manifest/README.md +0 -0
  25. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  26. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  27. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  28. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/config_observation.py +0 -0
  29. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector.py +0 -0
  30. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/README.md +0 -0
  31. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/__init__.py +0 -0
  32. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  33. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/main.py +0 -0
  34. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/models.py +0 -0
  35. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
  36. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
  37. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
  38. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
  39. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
  40. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/__init__.py +0 -0
  41. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/destination.py +0 -0
  42. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  43. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  44. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  45. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  46. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  47. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  48. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  49. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  50. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  51. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/entrypoint.py +0 -0
  52. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/exception_handler.py +0 -0
  53. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/logger.py +0 -0
  54. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/README.md +0 -0
  55. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/__init__.py +0 -0
  56. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/exceptions.py +0 -0
  57. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/manifest_migration.py +0 -0
  58. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/migration_handler.py +0 -0
  59. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/migrations/__init__.py +0 -0
  60. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/migrations/http_requester_path_to_url.py +0 -0
  61. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py +0 -0
  62. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/migrations/http_requester_url_base_to_url.py +0 -0
  63. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/migrations/registry.yaml +0 -0
  64. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/manifest_migrations/migrations_registry.py +0 -0
  65. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/models/__init__.py +0 -0
  66. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  67. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  68. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/models/connector_metadata.py +0 -0
  69. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/models/well_known_types.py +0 -0
  70. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/py.typed +0 -0
  71. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/__init__.py +0 -0
  72. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/abstract_source.py +0 -0
  73. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  74. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  75. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  76. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  77. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  78. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  79. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  80. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/config.py +0 -0
  81. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  82. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  83. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  84. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  85. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  86. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  87. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  88. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  89. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  90. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  91. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  92. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  93. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  94. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  95. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  96. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  97. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  98. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
  99. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  100. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  101. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  102. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  103. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
  104. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  105. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  106. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  107. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -0
  108. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  109. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  110. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  111. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  112. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  113. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
  114. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  115. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  116. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  117. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  118. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  119. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  120. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  121. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  122. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  123. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  124. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  125. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  126. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  127. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  128. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  129. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  130. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  131. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
  132. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
  133. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  134. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
  135. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  136. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  137. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  138. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  139. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  140. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  141. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  142. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  143. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  144. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  145. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
  146. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  147. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  148. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  149. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  150. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py +0 -0
  151. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -0
  152. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  153. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  154. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  155. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  156. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py +0 -0
  157. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  158. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +0 -0
  159. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  160. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  161. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  162. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
  163. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  164. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  165. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  166. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  167. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  168. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  169. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  170. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  171. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  172. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  173. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  174. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  175. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  176. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  177. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  178. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  179. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  180. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  181. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  182. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  183. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  184. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  185. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  186. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  187. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  188. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  189. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  190. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  191. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  192. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  193. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  194. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -0
  195. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -0
  196. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +0 -0
  197. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +0 -0
  198. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/__init__.py +0 -0
  199. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/group_by_key.py +0 -0
  200. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/merge_strategy.py +0 -0
  201. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  202. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  203. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  204. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  205. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  206. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  207. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  208. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  209. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  210. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  211. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  212. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  213. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
  214. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  215. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py +0 -0
  216. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  217. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  218. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/file_uploader/__init__.py +0 -0
  219. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/file_uploader/connector_builder_file_uploader.py +0 -0
  220. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/file_uploader/default_file_uploader.py +0 -0
  221. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_uploader.py +0 -0
  222. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_writer.py +0 -0
  223. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/file_uploader/local_file_system_file_writer.py +0 -0
  224. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/file_uploader/noop_file_writer.py +0 -0
  225. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  226. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
  227. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  228. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/schema/composite_schema_loader.py +0 -0
  229. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  230. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
  231. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  232. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  233. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  234. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  235. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  236. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  237. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  238. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  239. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer_test_read_decorator.py +0 -0
  240. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  241. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  242. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/config_transformations/__init__.py +0 -0
  243. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/config_transformations/add_fields.py +0 -0
  244. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/config_transformations/config_transformation.py +0 -0
  245. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/config_transformations/remap_field.py +0 -0
  246. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/config_transformations/remove_fields.py +0 -0
  247. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  248. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  249. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  250. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  251. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  252. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  253. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  254. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/types.py +0 -0
  255. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/validators/__init__.py +0 -0
  256. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/validators/dpath_validator.py +0 -0
  257. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/validators/predicate_validator.py +0 -0
  258. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/validators/validate_adheres_to_schema.py +0 -0
  259. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/validators/validation_strategy.py +0 -0
  260. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/validators/validator.py +0 -0
  261. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  262. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/README.md +0 -0
  263. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  264. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  265. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  266. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  267. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  268. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  269. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  270. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  271. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  272. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  273. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  274. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  275. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  276. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
  277. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  278. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  279. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  280. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  281. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  282. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
  283. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  284. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_record_data.py +0 -0
  285. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  286. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  287. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  288. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  289. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  290. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  291. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  292. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  293. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  294. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  295. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  296. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  297. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  298. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  299. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  300. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  301. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  302. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  303. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  304. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  305. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  306. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  307. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  308. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  309. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  310. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  311. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
  312. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
  313. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/file_based/types.py +0 -0
  314. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/http_config.py +0 -0
  315. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/http_logger.py +0 -0
  316. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/message/__init__.py +0 -0
  317. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/message/repository.py +0 -0
  318. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/source.py +0 -0
  319. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
  320. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/__init__.py +0 -0
  321. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  322. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  323. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  324. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  325. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  326. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  327. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  328. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  329. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  330. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  331. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  332. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  333. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  334. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  335. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  336. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  337. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  338. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  339. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  340. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  341. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  342. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  343. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  344. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  345. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  346. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  347. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  348. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  349. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  350. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  351. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
  352. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/core.py +0 -0
  353. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  354. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  355. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  356. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  357. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  358. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  359. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  360. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  361. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  362. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  363. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  364. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  365. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/http.py +0 -0
  366. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
  367. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  368. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  369. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  370. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  371. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  372. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
  373. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  374. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/types.py +0 -0
  375. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/utils/__init__.py +0 -0
  376. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/utils/casing.py +0 -0
  377. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/utils/files_directory.py +0 -0
  378. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  379. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  380. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  381. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/utils/transform.py +0 -0
  382. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sources/utils/types.py +0 -0
  383. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/__init__.py +0 -0
  384. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/_util/__init__.py +0 -0
  385. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/_util/hashing.py +0 -0
  386. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  387. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/constants.py +0 -0
  388. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/exceptions.py +0 -0
  389. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/secrets.py +0 -0
  390. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/shared/__init__.py +0 -0
  391. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/sql/types.py +0 -0
  392. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/__init__.py +0 -0
  393. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/catalog_builder.py +0 -0
  394. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  395. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  396. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  397. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/mock_http/request.py +0 -0
  398. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/mock_http/response.py +0 -0
  399. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  400. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/models/__init__.py +0 -0
  401. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/models/outcome.py +0 -0
  402. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/models/scenario.py +0 -0
  403. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/standard_tests/__init__.py +0 -0
  404. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/standard_tests/declarative_sources.py +0 -0
  405. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/standard_tests/destination_base.py +0 -0
  406. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/standard_tests/pytest_hooks.py +0 -0
  407. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/standard_tests/source_base.py +0 -0
  408. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/state_builder.py +0 -0
  409. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/utils/__init__.py +0 -0
  410. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/utils/data.py +0 -0
  411. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  412. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  413. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/test/utils/reading.py +0 -0
  414. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/__init__.py +0 -0
  415. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  416. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/analytics_message.py +0 -0
  417. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/connector_paths.py +0 -0
  418. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/constants.py +0 -0
  419. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  420. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/datetime_helpers.py +0 -0
  421. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/event_timing.py +0 -0
  422. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  423. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  424. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/message_utils.py +0 -0
  425. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  426. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/print_buffer.py +0 -0
  427. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  428. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/slice_hasher.py +0 -0
  429. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  430. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  431. {airbyte_cdk-6.57.2 → airbyte_cdk-6.57.3.post1.dev16088268564}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.57.2
3
+ Version: 6.57.3.post1.dev16088268564
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -67,7 +67,7 @@ except ImportError:
67
67
 
68
68
  TEST_FILE_TEMPLATE = '''
69
69
  # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
70
- """FAST Airbyte Standard Tests for the {connector_name} source."""
70
+ """FAST Airbyte Standard Tests for the {connector_name} connector."""
71
71
 
72
72
  #from airbyte_cdk.test.standard_tests import {base_class_name}
73
73
  from airbyte_cdk.test.standard_tests.util import create_connector_test_suite
@@ -81,11 +81,13 @@ TestSuite = create_connector_test_suite(
81
81
  connector_directory=Path(),
82
82
  )
83
83
 
84
+ # Uncomment the following lines to create a custom test suite class:
85
+ #
84
86
  # class TestSuite({base_class_name}):
85
- # """Test suite for the {connector_name} source.
86
-
87
- # This class inherits from SourceTestSuiteBase and implements all of the tests in the suite.
88
-
87
+ # """Test suite for the `{connector_name}` connector.
88
+ #
89
+ # This class inherits from `{base_class_name}` and implements all of the tests in the suite.
90
+ #
89
91
  # As long as the class name starts with "Test", pytest will automatically discover and run the
90
92
  # tests in this class.
91
93
  # """
@@ -111,7 +111,8 @@ def user_defined_backoff_handler(
111
111
  f"Status code: {exc.response.status_code!r}, Response Content: {exc.response.content!r}"
112
112
  )
113
113
  retry_after = exc.backoff
114
- logger.info(f"Retrying. Sleeping for {retry_after} seconds")
114
+ # include logging og the current time to help with debugging
115
+ logger.info(f"Retrying. Sleeping for {retry_after} seconds at {time.strftime('%Y-%m-%d %H:%M:%S')}")
115
116
  time.sleep(retry_after + 1) # extra second to cover any fractions of second
116
117
 
117
118
  def log_give_up(details: Mapping[str, Any]) -> None:
@@ -119,11 +119,21 @@ class CatalogProvider:
119
119
  def get_primary_keys(
120
120
  self,
121
121
  stream_name: str,
122
- ) -> list[str]:
123
- """Return the primary keys for the given stream."""
124
- pks = self.get_configured_stream_info(stream_name).primary_key
122
+ ) -> list[str] | None:
123
+ """Return the primary key column names for the given stream.
124
+
125
+ We return `source_defined_primary_key` if set, or `primary_key` otherwise. If both are set,
126
+ we assume they should not should differ, since Airbyte data integrity constraints do not
127
+ permit overruling a source's pre-defined primary keys. If neither is set, we return `None`.
128
+
129
+ Returns:
130
+ A list of column names that constitute the primary key, or None if no primary key is defined.
131
+ """
132
+ configured_stream = self.get_configured_stream_info(stream_name)
133
+ pks = configured_stream.stream.source_defined_primary_key or configured_stream.primary_key
134
+
125
135
  if not pks:
126
- return []
136
+ return None
127
137
 
128
138
  normalized_pks: list[list[str]] = [
129
139
  [LowerCaseNormalizer.normalize(c) for c in pk] for pk in pks
@@ -666,9 +666,13 @@ class SqlProcessorBase(abc.ABC):
666
666
  """
667
667
  nl = "\n"
668
668
  columns = {self._quote_identifier(c) for c in self._get_sql_column_definitions(stream_name)}
669
- pk_columns = {
670
- self._quote_identifier(c) for c in self.catalog_provider.get_primary_keys(stream_name)
671
- }
669
+ primary_keys = self.catalog_provider.get_primary_keys(stream_name)
670
+ if not primary_keys:
671
+ raise exc.AirbyteInternalError(
672
+ message="Cannot merge tables without primary keys. Primary keys are required for merge operations.",
673
+ context={"stream_name": stream_name},
674
+ )
675
+ pk_columns = {self._quote_identifier(c) for c in primary_keys}
672
676
  non_pk_columns = columns - pk_columns
673
677
  join_clause = f"{nl} AND ".join(f"tmp.{pk_col} = final.{pk_col}" for pk_col in pk_columns)
674
678
  set_clause = f"{nl} , ".join(f"{col} = tmp.{col}" for col in non_pk_columns)
@@ -725,6 +729,11 @@ class SqlProcessorBase(abc.ABC):
725
729
  final_table = self._get_table_by_name(final_table_name)
726
730
  temp_table = self._get_table_by_name(temp_table_name)
727
731
  pk_columns = self.catalog_provider.get_primary_keys(stream_name)
732
+ if not pk_columns:
733
+ raise exc.AirbyteInternalError(
734
+ message="Cannot merge tables without primary keys. Primary keys are required for merge operations.",
735
+ context={"stream_name": stream_name},
736
+ )
728
737
 
729
738
  columns_to_update: set[str] = self._get_sql_column_definitions(
730
739
  stream_name=stream_name
@@ -21,6 +21,7 @@ import tempfile
21
21
  import traceback
22
22
  from collections import deque
23
23
  from collections.abc import Generator, Mapping
24
+ from dataclasses import dataclass
24
25
  from io import StringIO
25
26
  from pathlib import Path
26
27
  from typing import Any, List, Literal, Optional, Union, final, overload
@@ -50,6 +51,21 @@ from airbyte_cdk.sources import Source
50
51
  from airbyte_cdk.test.models.scenario import ExpectedOutcome
51
52
 
52
53
 
54
+ @dataclass
55
+ class AirbyteEntrypointException(Exception):
56
+ """Exception raised for errors in the AirbyteEntrypoint execution.
57
+
58
+ Used to provide details of an Airbyte connector execution failure in the output
59
+ captured in an `EntrypointOutput` object. Use `EntrypointOutput.as_exception()` to
60
+ convert it to an exception.
61
+
62
+ Example Usage:
63
+ output = EntrypointOutput(...)
64
+ if output.errors:
65
+ raise output.as_exception()
66
+ """
67
+
68
+
53
69
  class EntrypointOutput:
54
70
  """A class to encapsulate the output of an Airbyte connector's execution.
55
71
 
@@ -67,6 +83,7 @@ class EntrypointOutput:
67
83
  messages: list[str] | None = None,
68
84
  uncaught_exception: Optional[BaseException] = None,
69
85
  *,
86
+ command: list[str] | None = None,
70
87
  message_file: Path | None = None,
71
88
  ) -> None:
72
89
  if messages is None and message_file is None:
@@ -74,6 +91,7 @@ class EntrypointOutput:
74
91
  if messages is not None and message_file is not None:
75
92
  raise ValueError("Only one of messages or message_file can be provided")
76
93
 
94
+ self._command = command
77
95
  self._messages: list[AirbyteMessage] | None = None
78
96
  self._message_file: Path | None = message_file
79
97
  if messages:
@@ -182,6 +200,39 @@ class EntrypointOutput:
182
200
  def errors(self) -> List[AirbyteMessage]:
183
201
  return self._get_trace_message_by_trace_type(TraceType.ERROR)
184
202
 
203
+ def get_formatted_error_message(self) -> str:
204
+ """Returns a human-readable error message with the contents.
205
+
206
+ If there are no errors, returns an empty string.
207
+ """
208
+ errors = self.errors
209
+ if not errors:
210
+ # If there are no errors, return an empty string.
211
+ return ""
212
+
213
+ result = "Failed to run airbyte command"
214
+ result += ": " + " ".join(self._command) if self._command else "."
215
+ result += "\n" + "\n".join(
216
+ [str(error.trace.error).replace("\\n", "\n") for error in errors if error.trace],
217
+ )
218
+ return result
219
+
220
+ def as_exception(self) -> AirbyteEntrypointException:
221
+ """Convert the output to an exception."""
222
+ return AirbyteEntrypointException(self.get_formatted_error_message())
223
+
224
+ def raise_if_errors(
225
+ self,
226
+ ) -> None:
227
+ """Raise an exception if there are errors in the output.
228
+
229
+ Otherwise, do nothing.
230
+ """
231
+ if not self.errors:
232
+ return None
233
+
234
+ raise self.as_exception()
235
+
185
236
  @property
186
237
  def catalog(self) -> AirbyteMessage:
187
238
  catalog = self.get_message_by_types([Type.CATALOG])
@@ -21,26 +21,6 @@ from airbyte_cdk.test.models import (
21
21
  )
22
22
 
23
23
 
24
- def _errors_to_str(
25
- entrypoint_output: entrypoint_wrapper.EntrypointOutput,
26
- ) -> str:
27
- """Convert errors from entrypoint output to a string."""
28
- if not entrypoint_output.errors:
29
- # If there are no errors, return an empty string.
30
- return ""
31
-
32
- return "\n" + "\n".join(
33
- [
34
- str(error.trace.error).replace(
35
- "\\n",
36
- "\n",
37
- )
38
- for error in entrypoint_output.errors
39
- if error.trace
40
- ],
41
- )
42
-
43
-
44
24
  @runtime_checkable
45
25
  class IConnector(Protocol):
46
26
  """A connector that can be run in a test scenario.
@@ -125,9 +105,7 @@ def run_test_job(
125
105
  expected_outcome=test_scenario.expected_outcome,
126
106
  )
127
107
  if result.errors and test_scenario.expected_outcome.expect_success():
128
- raise AssertionError(
129
- f"Expected no errors but got {len(result.errors)}: \n" + _errors_to_str(result)
130
- )
108
+ raise result.as_exception()
131
109
 
132
110
  if verb == "check":
133
111
  # Check is expected to fail gracefully without an exception.
@@ -137,7 +115,7 @@ def run_test_job(
137
115
  "Expected exactly one CONNECTION_STATUS message. Got "
138
116
  f"{len(result.connection_status_messages)}:\n"
139
117
  + "\n".join([str(msg) for msg in result.connection_status_messages])
140
- + _errors_to_str(result)
118
+ + result.get_formatted_error_message()
141
119
  )
142
120
  if test_scenario.expected_outcome.expect_exception():
143
121
  conn_status = result.connection_status_messages[0].connectionStatus
@@ -161,7 +139,8 @@ def run_test_job(
161
139
 
162
140
  if test_scenario.expected_outcome.expect_success():
163
141
  assert not result.errors, (
164
- f"Expected no errors but got {len(result.errors)}: \n" + _errors_to_str(result)
142
+ f"Test job failed with {len(result.errors)} error(s): \n"
143
+ + result.get_formatted_error_message()
165
144
  )
166
145
 
167
146
  return result
@@ -45,7 +45,7 @@ class ConnectorTestSuiteBase(DockerConnectorTestSuite):
45
45
  specific connector class to be tested.
46
46
  """
47
47
  connector_root = cls.get_connector_root_dir()
48
- connector_name = connector_root.absolute().name
48
+ connector_name = cls.connector_name
49
49
 
50
50
  expected_module_name = connector_name.replace("-", "_").lower()
51
51
  expected_class_name = connector_name.replace("-", "_").title().replace("_", "")
@@ -59,7 +59,16 @@ class ConnectorTestSuiteBase(DockerConnectorTestSuite):
59
59
  try:
60
60
  module = importlib.import_module(expected_module_name)
61
61
  except ModuleNotFoundError as e:
62
- raise ImportError(f"Could not import module '{expected_module_name}'.") from e
62
+ raise ImportError(
63
+ f"Could not import module '{expected_module_name}'. "
64
+ "Please ensure you are running from within the connector's virtual environment, "
65
+ "for instance by running `poetry run airbyte-cdk connector test` from the "
66
+ "connector directory. If the issue persists, check that the connector "
67
+ f"module matches the expected module name '{expected_module_name}' and that the "
68
+ f"connector class matches the expected class name '{expected_class_name}'. "
69
+ "Alternatively, you can run `airbyte-cdk image test` to run a subset of tests "
70
+ "against the connector's image."
71
+ ) from e
63
72
  finally:
64
73
  # Change back to the original working directory
65
74
  os.chdir(cwd_snapshot)
@@ -11,7 +11,7 @@ import warnings
11
11
  from dataclasses import asdict
12
12
  from pathlib import Path
13
13
  from subprocess import CompletedProcess, SubprocessError
14
- from typing import Literal
14
+ from typing import Literal, cast
15
15
 
16
16
  import orjson
17
17
  import pytest
@@ -25,19 +25,18 @@ from airbyte_cdk.models import (
25
25
  DestinationSyncMode,
26
26
  SyncMode,
27
27
  )
28
- from airbyte_cdk.models.airbyte_protocol_serializers import (
29
- AirbyteCatalogSerializer,
30
- AirbyteStreamSerializer,
31
- )
32
28
  from airbyte_cdk.models.connector_metadata import MetadataFile
33
29
  from airbyte_cdk.test.entrypoint_wrapper import EntrypointOutput
34
30
  from airbyte_cdk.test.models import ConnectorTestScenario
35
- from airbyte_cdk.test.utils.reading import catalog
36
31
  from airbyte_cdk.utils.connector_paths import (
37
32
  ACCEPTANCE_TEST_CONFIG,
38
33
  find_connector_root,
39
34
  )
40
- from airbyte_cdk.utils.docker import build_connector_image, run_docker_command
35
+ from airbyte_cdk.utils.docker import (
36
+ build_connector_image,
37
+ run_docker_airbyte_command,
38
+ run_docker_command,
39
+ )
41
40
 
42
41
 
43
42
  class DockerConnectorTestSuite:
@@ -55,6 +54,17 @@ class DockerConnectorTestSuite:
55
54
  """Get the root directory of the connector."""
56
55
  return find_connector_root([cls.get_test_class_dir(), Path.cwd()])
57
56
 
57
+ @classproperty
58
+ def connector_name(self) -> str:
59
+ """Get the name of the connector."""
60
+ connector_root = self.get_connector_root_dir()
61
+ return connector_root.absolute().name
62
+
63
+ @classmethod
64
+ def is_destination_connector(cls) -> bool:
65
+ """Check if the connector is a destination."""
66
+ return cast(str, cls.connector_name).startswith("destination-")
67
+
58
68
  @classproperty
59
69
  def acceptance_test_config_path(cls) -> Path:
60
70
  """Get the path to the acceptance test config file."""
@@ -145,23 +155,16 @@ class DockerConnectorTestSuite:
145
155
  no_verify=False,
146
156
  )
147
157
 
148
- try:
149
- result: CompletedProcess[str] = run_docker_command(
150
- [
151
- "docker",
152
- "run",
153
- "--rm",
154
- connector_image,
155
- "spec",
156
- ],
157
- check=True, # Raise an error if the command fails
158
- capture_stderr=True,
159
- capture_stdout=True,
160
- )
161
- except SubprocessError as ex:
162
- raise AssertionError(
163
- f"Failed to run `spec` command in docker image {connector_image!r}. Error: {ex!s}"
164
- ) from None
158
+ _ = run_docker_airbyte_command(
159
+ [
160
+ "docker",
161
+ "run",
162
+ "--rm",
163
+ connector_image,
164
+ "spec",
165
+ ],
166
+ raise_if_errors=True,
167
+ )
165
168
 
166
169
  @pytest.mark.skipif(
167
170
  shutil.which("docker") is None,
@@ -203,7 +206,7 @@ class DockerConnectorTestSuite:
203
206
  with scenario.with_temp_config_file(
204
207
  connector_root=connector_root,
205
208
  ) as temp_config_file:
206
- _ = run_docker_command(
209
+ _ = run_docker_airbyte_command(
207
210
  [
208
211
  "docker",
209
212
  "run",
@@ -215,9 +218,7 @@ class DockerConnectorTestSuite:
215
218
  "--config",
216
219
  container_config_path,
217
220
  ],
218
- check=True, # Raise an error if the command fails
219
- capture_stderr=True,
220
- capture_stdout=True,
221
+ raise_if_errors=True,
221
222
  )
222
223
 
223
224
  @pytest.mark.skipif(
@@ -242,6 +243,9 @@ class DockerConnectorTestSuite:
242
243
  the local docker image cache using `docker image prune -a` command.
243
244
  - If the --connector-image arg is provided, it will be used instead of building the image.
244
245
  """
246
+ if self.is_destination_connector():
247
+ pytest.skip("Skipping read test for destination connector.")
248
+
245
249
  if scenario.expected_outcome.expect_exception():
246
250
  pytest.skip("Skipping (expected to fail).")
247
251
 
@@ -295,7 +299,7 @@ class DockerConnectorTestSuite:
295
299
  ) as temp_dir_str,
296
300
  ):
297
301
  temp_dir = Path(temp_dir_str)
298
- discover_result = run_docker_command(
302
+ discover_result = run_docker_airbyte_command(
299
303
  [
300
304
  "docker",
301
305
  "run",
@@ -307,20 +311,12 @@ class DockerConnectorTestSuite:
307
311
  "--config",
308
312
  container_config_path,
309
313
  ],
310
- check=True, # Raise an error if the command fails
311
- capture_stderr=True,
312
- capture_stdout=True,
314
+ raise_if_errors=True,
313
315
  )
314
- parsed_output = EntrypointOutput(messages=discover_result.stdout.splitlines())
315
- try:
316
- catalog_message = parsed_output.catalog # Get catalog message
317
- assert catalog_message.catalog is not None, "Catalog message missing catalog."
318
- discovered_catalog: AirbyteCatalog = parsed_output.catalog.catalog
319
- except Exception as ex:
320
- raise AssertionError(
321
- f"Failed to load discovered catalog from {discover_result.stdout}. "
322
- f"Error: {ex!s}"
323
- ) from None
316
+
317
+ catalog_message = discover_result.catalog # Get catalog message
318
+ assert catalog_message.catalog is not None, "Catalog message missing catalog."
319
+ discovered_catalog: AirbyteCatalog = catalog_message.catalog
324
320
  if not discovered_catalog.streams:
325
321
  raise ValueError(
326
322
  f"Discovered catalog for connector '{connector_name}' is empty. "
@@ -355,7 +351,7 @@ class DockerConnectorTestSuite:
355
351
  configured_catalog_path.write_text(
356
352
  orjson.dumps(asdict(configured_catalog)).decode("utf-8")
357
353
  )
358
- read_result: CompletedProcess[str] = run_docker_command(
354
+ read_result: EntrypointOutput = run_docker_airbyte_command(
359
355
  [
360
356
  "docker",
361
357
  "run",
@@ -371,18 +367,5 @@ class DockerConnectorTestSuite:
371
367
  "--catalog",
372
368
  container_catalog_path,
373
369
  ],
374
- check=False,
375
- capture_stderr=True,
376
- capture_stdout=True,
370
+ raise_if_errors=True,
377
371
  )
378
- if read_result.returncode != 0:
379
- raise AssertionError(
380
- f"Failed to run `read` command in docker image {connector_image!r}. "
381
- "\n-----------------"
382
- f"EXIT CODE: {read_result.returncode}\n"
383
- "STDERR:\n"
384
- f"{read_result.stderr}\n"
385
- f"STDOUT:\n"
386
- f"{read_result.stdout}\n"
387
- "\n-----------------"
388
- ) from None
@@ -10,6 +10,7 @@ from airbyte_cdk.test.standard_tests.connector_base import ConnectorTestSuiteBas
10
10
  from airbyte_cdk.test.standard_tests.declarative_sources import (
11
11
  DeclarativeSourceTestSuite,
12
12
  )
13
+ from airbyte_cdk.test.standard_tests.destination_base import DestinationTestSuiteBase
13
14
  from airbyte_cdk.test.standard_tests.docker_base import DockerConnectorTestSuite
14
15
  from airbyte_cdk.test.standard_tests.source_base import SourceTestSuiteBase
15
16
  from airbyte_cdk.utils.connector_paths import (
@@ -17,15 +18,6 @@ from airbyte_cdk.utils.connector_paths import (
17
18
  find_connector_root_from_name,
18
19
  )
19
20
 
20
- TEST_CLASS_MAPPING: dict[
21
- Literal["python", "manifest-only", "java"],
22
- type[DockerConnectorTestSuite],
23
- ] = {
24
- "python": SourceTestSuiteBase,
25
- "manifest-only": DeclarativeSourceTestSuite,
26
- "java": DockerConnectorTestSuite,
27
- }
28
-
29
21
 
30
22
  def create_connector_test_suite(
31
23
  *,
@@ -46,7 +38,7 @@ def create_connector_test_suite(
46
38
  # By here, we know that connector_directory is not None
47
39
  # but connector_name is None. Set the connector_name.
48
40
  assert connector_directory is not None, "connector_directory should not be None here."
49
- connector_name = connector_directory.name
41
+ connector_name = connector_directory.absolute().name
50
42
 
51
43
  metadata_yaml_path = connector_directory / METADATA_YAML
52
44
  if not metadata_yaml_path.exists():
@@ -55,17 +47,25 @@ def create_connector_test_suite(
55
47
  )
56
48
  metadata_dict: dict[str, Any] = yaml.safe_load(metadata_yaml_path.read_text())
57
49
  metadata_tags = metadata_dict["data"].get("tags", [])
58
- for language_option in TEST_CLASS_MAPPING:
59
- if f"language:{language_option}" in metadata_tags:
60
- language = language_option
61
- test_suite_class = TEST_CLASS_MAPPING[language]
62
- break
63
- else:
50
+ language_tags: list[str] = [tag for tag in metadata_tags if tag.startswith("language:")]
51
+ if not language_tags:
64
52
  raise ValueError(
65
- f"Unsupported connector type. "
66
- f"Supported language values are: {', '.join(TEST_CLASS_MAPPING.keys())}. "
53
+ f"Metadata YAML file '{metadata_yaml_path}' does not contain a 'language' tag. "
54
+ "Please ensure the metadata file is correctly configured."
67
55
  f"Found tags: {', '.join(metadata_tags)}"
68
56
  )
57
+ language = language_tags[0].split(":")[1]
58
+
59
+ if language == "java":
60
+ test_suite_class = DockerConnectorTestSuite
61
+ elif language == "manifest-only":
62
+ test_suite_class = DeclarativeSourceTestSuite
63
+ elif language == "python" and connector_name.startswith("source-"):
64
+ test_suite_class = SourceTestSuiteBase
65
+ elif language == "python" and connector_name.startswith("destination-"):
66
+ test_suite_class = DestinationTestSuiteBase
67
+ else:
68
+ raise ValueError(f"Unsupported language for connector '{connector_name}': {language}")
69
69
 
70
70
  subclass_overrides: dict[str, Any] = {
71
71
  "get_connector_root_dir": classmethod(lambda cls: connector_directory),