airbyte-cdk 6.48.15__tar.gz → 6.48.17.dev0__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 (428) hide show
  1. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/PKG-INFO +1 -1
  2. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/airbyte_cdk/_connector.py +3 -1
  3. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/airbyte_cdk/_secrets.py +29 -21
  4. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +68 -1
  5. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/extractors/__init__.py +4 -0
  6. airbyte_cdk-6.48.17.dev0/airbyte_cdk/sources/declarative/extractors/combined_extractor.py +44 -0
  7. airbyte_cdk-6.48.17.dev0/airbyte_cdk/sources/declarative/extractors/key_value_extractor.py +46 -0
  8. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +1 -3
  9. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +28 -5
  10. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +56 -3
  11. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +2 -0
  12. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +49 -14
  13. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +19 -4
  14. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/pyproject.toml +18 -21
  15. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/LICENSE.txt +0 -0
  16. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/LICENSE_SHORT +0 -0
  17. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/README.md +0 -0
  18. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/__init__.py +0 -0
  19. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/__init__.py +0 -0
  20. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/airbyte_cdk/__init__.py +0 -0
  21. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/airbyte_cdk/_image.py +0 -0
  22. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/airbyte_cdk/_manifest.py +0 -0
  23. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/airbyte_cdk/_version.py +0 -0
  24. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/airbyte_cdk/exceptions.py +0 -0
  25. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  26. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  27. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  28. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/config_observation.py +0 -0
  29. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector.py +0 -0
  30. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/README.md +0 -0
  31. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/__init__.py +0 -0
  32. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  33. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/main.py +0 -0
  34. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/models.py +0 -0
  35. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
  36. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
  37. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
  38. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
  39. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
  40. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/__init__.py +0 -0
  41. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/destination.py +0 -0
  42. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  43. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  44. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  45. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  46. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  47. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  48. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  49. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  50. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  51. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/entrypoint.py +0 -0
  52. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/exception_handler.py +0 -0
  53. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/logger.py +0 -0
  54. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/README.md +0 -0
  55. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/__init__.py +0 -0
  56. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/exceptions.py +0 -0
  57. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/manifest_migration.py +0 -0
  58. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/migration_handler.py +0 -0
  59. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/migrations/__init__.py +0 -0
  60. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/migrations/http_requester_path_to_url.py +0 -0
  61. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py +0 -0
  62. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/migrations/http_requester_url_base_to_url.py +0 -0
  63. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/migrations/registry.yaml +0 -0
  64. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/manifest_migrations/migrations_registry.py +0 -0
  65. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/models/__init__.py +0 -0
  66. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  67. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  68. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/models/connector_metadata.py +0 -0
  69. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/models/well_known_types.py +0 -0
  70. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/py.typed +0 -0
  71. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/__init__.py +0 -0
  72. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/abstract_source.py +0 -0
  73. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  74. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  75. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  76. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  77. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  78. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  79. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  80. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/config.py +0 -0
  81. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  82. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  83. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  84. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  85. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  86. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  87. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  88. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  89. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  90. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  91. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  92. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  93. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  94. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  95. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  96. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  97. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  98. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
  99. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  100. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  101. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  102. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  103. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
  104. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  105. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  106. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  107. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  108. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  109. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  110. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  111. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  112. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
  113. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  114. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  115. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  116. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  117. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  118. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  119. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  120. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  121. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  122. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  123. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  124. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  125. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  126. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  127. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  128. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  129. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
  130. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
  131. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  132. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
  133. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  134. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  135. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  136. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  137. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  138. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  139. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  140. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  141. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  142. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  143. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  144. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  145. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  146. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  147. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py +0 -0
  148. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  149. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  150. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  151. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  152. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py +0 -0
  153. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  154. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  155. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  156. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  157. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
  158. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  159. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  160. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  161. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  162. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  163. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  164. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  165. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  166. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  167. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  168. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  169. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  170. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  171. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  172. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  173. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  174. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  175. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  176. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  177. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  178. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  179. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  180. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  181. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  182. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  183. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  184. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  185. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  186. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  187. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  188. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  189. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -0
  190. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -0
  191. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +0 -0
  192. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +0 -0
  193. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/__init__.py +0 -0
  194. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/group_by_key.py +0 -0
  195. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/merge_strategy.py +0 -0
  196. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  197. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  198. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  199. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  200. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  201. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  202. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  203. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  204. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  205. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  206. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  207. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  208. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  209. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  210. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/__init__.py +0 -0
  211. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/connector_builder_file_uploader.py +0 -0
  212. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/default_file_uploader.py +0 -0
  213. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_uploader.py +0 -0
  214. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_writer.py +0 -0
  215. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/local_file_system_file_writer.py +0 -0
  216. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/file_uploader/noop_file_writer.py +0 -0
  217. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  218. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
  219. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  220. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/schema/composite_schema_loader.py +0 -0
  221. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  222. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  223. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  224. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  225. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  226. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  227. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  228. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  229. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  230. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  231. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  232. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/config_transformations/__init__.py +0 -0
  233. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/config_transformations/add_fields.py +0 -0
  234. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/config_transformations/config_transformation.py +0 -0
  235. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/config_transformations/remap_field.py +0 -0
  236. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/config_transformations/remove_fields.py +0 -0
  237. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  238. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  239. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  240. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  241. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  242. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  243. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  244. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/types.py +0 -0
  245. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/validators/__init__.py +0 -0
  246. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/validators/dpath_validator.py +0 -0
  247. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/validators/predicate_validator.py +0 -0
  248. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/validators/validate_adheres_to_schema.py +0 -0
  249. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/validators/validation_strategy.py +0 -0
  250. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/validators/validator.py +0 -0
  251. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  252. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/README.md +0 -0
  253. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  254. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  255. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  256. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  257. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  258. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  259. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  260. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  261. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  262. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  263. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  264. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  265. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  266. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
  267. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  268. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  269. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  270. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  271. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  272. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
  273. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  274. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_record_data.py +0 -0
  275. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  276. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  277. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  278. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  279. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  280. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  281. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  282. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  283. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  284. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  285. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  286. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  287. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  288. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  289. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  290. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  291. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  292. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  293. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  294. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  295. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  296. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  297. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  298. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  299. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  300. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  301. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
  302. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
  303. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/file_based/types.py +0 -0
  304. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/http_config.py +0 -0
  305. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/http_logger.py +0 -0
  306. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/message/__init__.py +0 -0
  307. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/message/repository.py +0 -0
  308. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/source.py +0 -0
  309. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
  310. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/__init__.py +0 -0
  311. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  312. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  313. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  314. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  315. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  316. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  317. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  318. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  319. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  320. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  321. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  322. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  323. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  324. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  325. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  326. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  327. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  328. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  329. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  330. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  331. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  332. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  333. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  334. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  335. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  336. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  337. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  338. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  339. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  340. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  341. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
  342. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/core.py +0 -0
  343. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  344. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  345. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  346. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  347. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  348. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  349. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  350. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  351. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  352. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  353. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  354. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  355. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/http.py +0 -0
  356. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
  357. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  358. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  359. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  360. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  361. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  362. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  363. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
  364. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  365. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/types.py +0 -0
  366. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/utils/__init__.py +0 -0
  367. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/utils/casing.py +0 -0
  368. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/utils/files_directory.py +0 -0
  369. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  370. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  371. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  372. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/utils/transform.py +0 -0
  373. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sources/utils/types.py +0 -0
  374. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/__init__.py +0 -0
  375. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/_util/__init__.py +0 -0
  376. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/_util/hashing.py +0 -0
  377. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  378. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/constants.py +0 -0
  379. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/exceptions.py +0 -0
  380. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/secrets.py +0 -0
  381. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/shared/__init__.py +0 -0
  382. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  383. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
  384. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/sql/types.py +0 -0
  385. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/__init__.py +0 -0
  386. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/catalog_builder.py +0 -0
  387. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  388. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  389. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  390. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  391. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/mock_http/request.py +0 -0
  392. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/mock_http/response.py +0 -0
  393. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  394. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/__init__.py +0 -0
  395. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/_job_runner.py +0 -0
  396. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/connector_base.py +0 -0
  397. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/declarative_sources.py +0 -0
  398. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/destination_base.py +0 -0
  399. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/models/__init__.py +0 -0
  400. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/models/scenario.py +0 -0
  401. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/pytest_hooks.py +0 -0
  402. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/source_base.py +0 -0
  403. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/standard_tests/util.py +0 -0
  404. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/state_builder.py +0 -0
  405. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/utils/__init__.py +0 -0
  406. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/utils/data.py +0 -0
  407. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  408. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  409. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/test/utils/reading.py +0 -0
  410. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/__init__.py +0 -0
  411. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  412. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/analytics_message.py +0 -0
  413. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/connector_paths.py +0 -0
  414. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/constants.py +0 -0
  415. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  416. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/datetime_helpers.py +0 -0
  417. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/docker.py +0 -0
  418. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/event_timing.py +0 -0
  419. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  420. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  421. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/message_utils.py +0 -0
  422. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  423. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/print_buffer.py +0 -0
  424. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  425. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/slice_hasher.py +0 -0
  426. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  427. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  428. {airbyte_cdk-6.48.15 → airbyte_cdk-6.48.17.dev0}/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.48.15
3
+ Version: 6.48.17.dev0
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -39,6 +39,7 @@ poetry run airbyte-cdk connector --help
39
39
  """
40
40
 
41
41
  import os
42
+ import sys
42
43
  from pathlib import Path
43
44
  from types import ModuleType
44
45
 
@@ -166,10 +167,11 @@ def test(
166
167
  click.echo(f"Collect only: {collect_only}")
167
168
  click.echo(f"Pytest args: {pytest_args}")
168
169
  click.echo("Invoking Pytest...")
169
- pytest.main(
170
+ exit_code = pytest.main(
170
171
  pytest_args,
171
172
  plugins=[],
172
173
  )
174
+ sys.exit(exit_code)
173
175
 
174
176
 
175
177
  __all__ = [
@@ -49,7 +49,12 @@ from airbyte_cdk.utils.connector_paths import (
49
49
  resolve_connector_name_and_directory,
50
50
  )
51
51
 
52
- AIRBYTE_INTERNAL_GCP_PROJECT = "dataline-integration-testing"
52
+ GCP_PROJECT_ID: str = os.environ.get("GCP_PROJECT_ID", "") or "dataline-integration-testing"
53
+ # We put the `or` outside the `get()` because we want the `GCP_PROJECT_ID`
54
+ # env var to be ignored if it contains an empty string, such as in CI where the
55
+ # workflow might set it to a value that is itself actually missing or unset.
56
+ """The GCP project ID to use for fetching integration test secrets."""
57
+
53
58
  CONNECTOR_LABEL = "connector"
54
59
  GLOBAL_MASK_KEYS_URL = "https://connectors.airbyte.com/files/registries/v0/specs_secrets_mask.yaml"
55
60
 
@@ -83,8 +88,11 @@ def secrets_cli_group() -> None:
83
88
  @click.option(
84
89
  "--gcp-project-id",
85
90
  type=str,
86
- default=AIRBYTE_INTERNAL_GCP_PROJECT,
87
- help=f"GCP project ID. Defaults to '{AIRBYTE_INTERNAL_GCP_PROJECT}'.",
91
+ default=GCP_PROJECT_ID,
92
+ help=(
93
+ "GCP project ID for retrieving integration tests credentials. "
94
+ "Defaults to the value of the `GCP_PROJECT_ID` environment variable, if set."
95
+ ),
88
96
  )
89
97
  @click.option(
90
98
  "--print-ci-secrets-masks",
@@ -95,7 +103,7 @@ def secrets_cli_group() -> None:
95
103
  )
96
104
  def fetch(
97
105
  connector: str | Path | None = None,
98
- gcp_project_id: str = AIRBYTE_INTERNAL_GCP_PROJECT,
106
+ gcp_project_id: str = GCP_PROJECT_ID,
99
107
  print_ci_secrets_masks: bool = False,
100
108
  ) -> None:
101
109
  """Fetch secrets for a connector from Google Secret Manager.
@@ -192,41 +200,41 @@ def fetch(
192
200
 
193
201
 
194
202
  @secrets_cli_group.command("list")
195
- @click.option(
196
- "--connector-name",
203
+ @click.argument(
204
+ "connector",
205
+ required=False,
197
206
  type=str,
198
- help="Name of the connector to fetch secrets for. Ignored if --connector-directory is provided.",
199
- )
200
- @click.option(
201
- "--connector-directory",
202
- type=click.Path(exists=True, file_okay=False, path_type=Path),
203
- help="Path to the connector directory.",
207
+ metavar="[CONNECTOR]",
204
208
  )
205
209
  @click.option(
206
210
  "--gcp-project-id",
207
211
  type=str,
208
- default=AIRBYTE_INTERNAL_GCP_PROJECT,
209
- help=f"GCP project ID. Defaults to '{AIRBYTE_INTERNAL_GCP_PROJECT}'.",
212
+ default=GCP_PROJECT_ID,
213
+ help=(
214
+ "GCP project ID for retrieving integration tests credentials. "
215
+ "Defaults to the value of the `GCP_PROJECT_ID` environment variable, if set."
216
+ ),
210
217
  )
211
218
  def list_(
212
- connector_name: str | None = None,
213
- connector_directory: Path | None = None,
214
- gcp_project_id: str = AIRBYTE_INTERNAL_GCP_PROJECT,
219
+ connector: str | Path | None = None,
220
+ *,
221
+ gcp_project_id: str = GCP_PROJECT_ID,
215
222
  ) -> None:
216
223
  """List secrets for a connector from Google Secret Manager.
217
224
 
218
225
  This command fetches secrets for a connector from Google Secret Manager and prints
219
226
  them as a table.
220
227
 
228
+ [CONNECTOR] can be a connector name (e.g. 'source-pokeapi'), a path to a connector directory, or omitted to use the current working directory.
229
+ If a string containing '/' is provided, it is treated as a path. Otherwise, it is treated as a connector name.
230
+
221
231
  If no connector name or directory is provided, we will look within the current working
222
232
  directory. If the current working directory is not a connector directory (e.g. starting
223
233
  with 'source-') and no connector name or path is provided, the process will fail.
224
234
  """
225
235
  click.echo("Scanning secrets...", err=True)
226
236
 
227
- connector_name = connector_name or resolve_connector_name(
228
- connector_directory=connector_directory or Path().resolve().absolute(),
229
- )
237
+ connector_name, _ = resolve_connector_name_and_directory(connector)
230
238
  secrets: list[Secret] = _fetch_secret_handles( # type: ignore
231
239
  connector_name=connector_name,
232
240
  gcp_project_id=gcp_project_id,
@@ -303,7 +311,7 @@ def _get_secret_url(secret_name: str, gcp_project_id: str) -> str:
303
311
 
304
312
  def _fetch_secret_handles(
305
313
  connector_name: str,
306
- gcp_project_id: str = AIRBYTE_INTERNAL_GCP_PROJECT,
314
+ gcp_project_id: str = GCP_PROJECT_ID,
307
315
  ) -> list["Secret"]: # type: ignore
308
316
  """Fetch secrets from Google Secret Manager."""
309
317
  if not secretmanager:
@@ -1741,6 +1741,54 @@ definitions:
1741
1741
  $parameters:
1742
1742
  type: object
1743
1743
  additionalProperties: true
1744
+ KeyValueExtractor:
1745
+ title: Key Value Extractor
1746
+ description: Record extractor that extract with .
1747
+ type: object
1748
+ required:
1749
+ - type
1750
+ - keys_extractor
1751
+ - values_extractor
1752
+ properties:
1753
+ type:
1754
+ type: string
1755
+ enum: [ KeyValueExtractor ]
1756
+ keys_extractor:
1757
+ description: placeholder
1758
+ anyOf:
1759
+ - "$ref": "#/definitions/DpathExtractor"
1760
+ - "$ref": "#/definitions/CustomRecordExtractor"
1761
+ values_extractor:
1762
+ description: placeholder
1763
+ anyOf:
1764
+ - "$ref": "#/definitions/DpathExtractor"
1765
+ - "$ref": "#/definitions/CustomRecordExtractor"
1766
+ $parameters:
1767
+ type: object
1768
+ additionalProperties: true
1769
+ CombinedExtractor:
1770
+ title: Combined Extractor
1771
+ description: Record extractor that extract with .
1772
+ type: object
1773
+ required:
1774
+ - type
1775
+ - extractors
1776
+ properties:
1777
+ type:
1778
+ type: string
1779
+ enum: [ CombinedExtractor ]
1780
+ extractors:
1781
+ description: placeholder
1782
+ type: array
1783
+ items:
1784
+ anyOf:
1785
+ - "$ref": "#/definitions/DpathExtractor"
1786
+ - "$ref": "#/definitions/CombinedExtractor"
1787
+ - "$ref": "#/definitions/KeyValueExtractor"
1788
+ - "$ref": "#/definitions/CustomRecordExtractor"
1789
+ $parameters:
1790
+ type: object
1791
+ additionalProperties: true
1744
1792
  DpathExtractor:
1745
1793
  title: Dpath Extractor
1746
1794
  description: Record extractor that searches a decoded response over a path defined as an array of fields.
@@ -2318,6 +2366,12 @@ definitions:
2318
2366
  - "$ref": "#/definitions/AsyncRetriever"
2319
2367
  - "$ref": "#/definitions/CustomRetriever"
2320
2368
  - "$ref": "#/definitions/SimpleRetriever"
2369
+ schema_filter:
2370
+ title: Schema Filter
2371
+ description: placeholder
2372
+ anyOf:
2373
+ - "$ref": "#/definitions/RecordFilter"
2374
+ - "$ref": "#/definitions/CustomRecordFilter"
2321
2375
  schema_transformations:
2322
2376
  title: Schema Transformations
2323
2377
  description: A list of transformations to be applied to the schema.
@@ -3315,6 +3369,8 @@ definitions:
3315
3369
  extractor:
3316
3370
  anyOf:
3317
3371
  - "$ref": "#/definitions/DpathExtractor"
3372
+ - "$ref": "#/definitions/CombinedExtractor"
3373
+ - "$ref": "#/definitions/KeyValueExtractor"
3318
3374
  - "$ref": "#/definitions/CustomRecordExtractor"
3319
3375
  record_filter:
3320
3376
  title: Record Filter
@@ -3994,6 +4050,9 @@ definitions:
3994
4050
  title: Value Type
3995
4051
  description: The expected data type of the value. If omitted, the type will be inferred from the value provided.
3996
4052
  "$ref": "#/definitions/ValueType"
4053
+ create_or_update:
4054
+ type: boolean
4055
+ default: false
3997
4056
  $parameters:
3998
4057
  type: object
3999
4058
  additionalProperties: true
@@ -4045,6 +4104,10 @@ definitions:
4045
4104
  - ["data"]
4046
4105
  - ["data", "streams"]
4047
4106
  - ["data", "{{ parameters.name }}"]
4107
+ default_values:
4108
+ title: Default Values
4109
+ description: placeholder
4110
+ type: array
4048
4111
  $parameters:
4049
4112
  type: object
4050
4113
  additionalProperties: true
@@ -4056,7 +4119,11 @@ definitions:
4056
4119
  type: string
4057
4120
  enum: [ConfigComponentsResolver]
4058
4121
  stream_config:
4059
- "$ref": "#/definitions/StreamConfig"
4122
+ anyOf:
4123
+ - type: array
4124
+ items:
4125
+ "$ref": "#/definitions/StreamConfig"
4126
+ - "$ref": "#/definitions/StreamConfig"
4060
4127
  components_mapping:
4061
4128
  type: array
4062
4129
  items:
@@ -2,8 +2,10 @@
2
2
  # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
3
3
  #
4
4
 
5
+ from airbyte_cdk.sources.declarative.extractors.combined_extractor import CombinedExtractor
5
6
  from airbyte_cdk.sources.declarative.extractors.dpath_extractor import DpathExtractor
6
7
  from airbyte_cdk.sources.declarative.extractors.http_selector import HttpSelector
8
+ from airbyte_cdk.sources.declarative.extractors.key_value_extractor import KeyValueExtractor
7
9
  from airbyte_cdk.sources.declarative.extractors.record_filter import RecordFilter
8
10
  from airbyte_cdk.sources.declarative.extractors.record_selector import RecordSelector
9
11
  from airbyte_cdk.sources.declarative.extractors.response_to_file_extractor import (
@@ -18,4 +20,6 @@ __all__ = [
18
20
  "RecordFilter",
19
21
  "RecordSelector",
20
22
  "ResponseToFileExtractor",
23
+ "KeyValueExtractor",
24
+ "CombinedExtractor",
21
25
  ]
@@ -0,0 +1,44 @@
1
+ #
2
+ # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
3
+ #
4
+
5
+ from dataclasses import InitVar, dataclass, field
6
+ from itertools import islice
7
+ from typing import Any, Iterable, List, Mapping, MutableMapping, Union
8
+
9
+ import dpath
10
+ import requests
11
+
12
+ from airbyte_cdk.sources.declarative.decoders import Decoder, JsonDecoder
13
+ from airbyte_cdk.sources.declarative.extractors.record_extractor import RecordExtractor
14
+ from airbyte_cdk.sources.declarative.interpolation.interpolated_string import InterpolatedString
15
+ from airbyte_cdk.sources.types import Config
16
+
17
+
18
+ @dataclass
19
+ class CombinedExtractor(RecordExtractor):
20
+ """
21
+ Extractor that combines keys and values from two separate extractors.
22
+
23
+ The `keys_extractor` and `values_extractor` extract records independently
24
+ from the response. Their outputs are zipped together to form key-value mappings.
25
+
26
+ Each key from `keys_extractor` should correspond to a key in the resulting dictionary,
27
+ and each value from `values_extractor` is the value for that key.
28
+
29
+ Example:
30
+ keys_extractor -> yields: ["name", "age"]
31
+ values_extractor -> yields: ["Alice", 30]
32
+ result: { "name": "Alice", "age": 30 }
33
+ """
34
+
35
+ extractors: List[RecordExtractor]
36
+
37
+ def extract_records(self, response: requests.Response) -> Iterable[MutableMapping[Any, Any]]:
38
+ extractors_records = [extractor.extract_records(response) for extractor in self.extractors]
39
+
40
+ for records in zip(*extractors_records):
41
+ merged = {}
42
+ for record in records:
43
+ merged.update(record) # merge all fields
44
+ yield merged
@@ -0,0 +1,46 @@
1
+ #
2
+ # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
3
+ #
4
+
5
+ from dataclasses import InitVar, dataclass, field
6
+ from itertools import islice
7
+ from typing import Any, Iterable, List, Mapping, MutableMapping, Union
8
+
9
+ import dpath
10
+ import requests
11
+
12
+ from airbyte_cdk.sources.declarative.decoders import Decoder, JsonDecoder
13
+ from airbyte_cdk.sources.declarative.extractors.record_extractor import RecordExtractor
14
+ from airbyte_cdk.sources.declarative.interpolation.interpolated_string import InterpolatedString
15
+ from airbyte_cdk.sources.types import Config
16
+
17
+
18
+ @dataclass
19
+ class KeyValueExtractor(RecordExtractor):
20
+ """
21
+ Extractor that combines keys and values from two separate extractors.
22
+
23
+ The `keys_extractor` and `values_extractor` extract records independently
24
+ from the response. Their outputs are zipped together to form key-value mappings.
25
+
26
+ Each key from `keys_extractor` should correspond to a key in the resulting dictionary,
27
+ and each value from `values_extractor` is the value for that key.
28
+
29
+ Example:
30
+ keys_extractor -> yields: ["name", "age"]
31
+ values_extractor -> yields: ["Alice", 30]
32
+ result: { "name": "Alice", "age": 30 }
33
+ """
34
+
35
+ keys_extractor: RecordExtractor
36
+ values_extractor: RecordExtractor
37
+
38
+ def extract_records(self, response: requests.Response) -> Iterable[MutableMapping[Any, Any]]:
39
+ keys = list(self.keys_extractor.extract_records(response))
40
+ values = self.values_extractor.extract_records(response)
41
+
42
+ while True:
43
+ chunk = list(islice(values, len(keys)))
44
+ if not chunk:
45
+ break
46
+ yield dict(zip(keys, chunk))
@@ -262,9 +262,7 @@ class ManifestDeclarativeSource(DeclarativeSource):
262
262
  }
263
263
  )
264
264
 
265
- stream_configs = self._stream_configs(self._source_config) + self._dynamic_stream_configs(
266
- self._source_config, config
267
- )
265
+ stream_configs = self._stream_configs(self._source_config) + self.dynamic_streams
268
266
 
269
267
  api_budget_model = self._source_config.get("api_budget")
270
268
  if api_budget_model:
@@ -1,5 +1,3 @@
1
- # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
-
3
1
  # generated by datamodel-codegen:
4
2
  # filename: declarative_component_schema.yaml
5
3
 
@@ -1480,6 +1478,7 @@ class ComponentMappingDefinition(BaseModel):
1480
1478
  description="The expected data type of the value. If omitted, the type will be inferred from the value provided.",
1481
1479
  title="Value Type",
1482
1480
  )
1481
+ create_or_update: Optional[bool] = False
1483
1482
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1484
1483
 
1485
1484
 
@@ -1491,12 +1490,13 @@ class StreamConfig(BaseModel):
1491
1490
  examples=[["data"], ["data", "streams"], ["data", "{{ parameters.name }}"]],
1492
1491
  title="Configs Pointer",
1493
1492
  )
1493
+ default_values: Optional[List] = Field(None, description="placeholder", title="Default Values")
1494
1494
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1495
1495
 
1496
1496
 
1497
1497
  class ConfigComponentsResolver(BaseModel):
1498
1498
  type: Literal["ConfigComponentsResolver"]
1499
- stream_config: StreamConfig
1499
+ stream_config: Union[List[StreamConfig], StreamConfig]
1500
1500
  components_mapping: List[ComponentMappingDefinition]
1501
1501
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1502
1502
 
@@ -1844,6 +1844,25 @@ class DefaultPaginator(BaseModel):
1844
1844
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1845
1845
 
1846
1846
 
1847
+ class KeyValueExtractor(BaseModel):
1848
+ type: Literal["KeyValueExtractor"]
1849
+ keys_extractor: Union[DpathExtractor, CustomRecordExtractor] = Field(
1850
+ ..., description="placeholder"
1851
+ )
1852
+ values_extractor: Union[DpathExtractor, CustomRecordExtractor] = Field(
1853
+ ..., description="placeholder"
1854
+ )
1855
+ parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1856
+
1857
+
1858
+ class CombinedExtractor(BaseModel):
1859
+ type: Literal["CombinedExtractor"]
1860
+ extractors: List[
1861
+ Union[DpathExtractor, CombinedExtractor, KeyValueExtractor, CustomRecordExtractor]
1862
+ ] = Field(..., description="placeholder")
1863
+ parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1864
+
1865
+
1847
1866
  class SessionTokenRequestApiKeyAuthenticator(BaseModel):
1848
1867
  type: Literal["ApiKey"]
1849
1868
  inject_into: RequestOption = Field(
@@ -1881,7 +1900,7 @@ class ListPartitionRouter(BaseModel):
1881
1900
 
1882
1901
  class RecordSelector(BaseModel):
1883
1902
  type: Literal["RecordSelector"]
1884
- extractor: Union[DpathExtractor, CustomRecordExtractor]
1903
+ extractor: Union[DpathExtractor, CombinedExtractor, KeyValueExtractor, CustomRecordExtractor]
1885
1904
  record_filter: Optional[Union[RecordFilter, CustomRecordFilter]] = Field(
1886
1905
  None,
1887
1906
  description="Responsible for filtering records to be emitted by the Source.",
@@ -2164,7 +2183,7 @@ class DeclarativeStream(BaseModel):
2164
2183
  ]
2165
2184
  ] = Field(
2166
2185
  None,
2167
- description="Component used to retrieve the schema for the current stream.",
2186
+ description="One or many schema loaders can be used to retrieve the schema for the current stream. When multiple schema loaders are defined, schema properties will be merged together. Schema loaders defined first taking precedence in the event of a conflict.",
2168
2187
  title="Schema Loader",
2169
2188
  )
2170
2189
  transformations: Optional[
@@ -2414,6 +2433,9 @@ class DynamicSchemaLoader(BaseModel):
2414
2433
  description="Component used to coordinate how records are extracted across stream slices and request pages.",
2415
2434
  title="Retriever",
2416
2435
  )
2436
+ schema_filter: Optional[Union[RecordFilter, CustomRecordFilter]] = Field(
2437
+ None, description="placeholder", title="Schema Filter"
2438
+ )
2417
2439
  schema_transformations: Optional[
2418
2440
  List[
2419
2441
  Union[
@@ -2749,6 +2771,7 @@ class DynamicDeclarativeStream(BaseModel):
2749
2771
 
2750
2772
 
2751
2773
  ComplexFieldType.update_forward_refs()
2774
+ CombinedExtractor.update_forward_refs()
2752
2775
  GzipDecoder.update_forward_refs()
2753
2776
  CompositeErrorHandler.update_forward_refs()
2754
2777
  DeclarativeSource1.update_forward_refs()
@@ -83,7 +83,9 @@ from airbyte_cdk.sources.declarative.decoders.composite_raw_decoder import (
83
83
  Parser,
84
84
  )
85
85
  from airbyte_cdk.sources.declarative.extractors import (
86
+ CombinedExtractor,
86
87
  DpathExtractor,
88
+ KeyValueExtractor,
87
89
  RecordFilter,
88
90
  RecordSelector,
89
91
  ResponseToFileExtractor,
@@ -142,6 +144,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
142
144
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
143
145
  CheckStream as CheckStreamModel,
144
146
  )
147
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
148
+ CombinedExtractor as CombinedExtractorModel,
149
+ )
145
150
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
146
151
  ComplexFieldType as ComplexFieldTypeModel,
147
152
  )
@@ -304,6 +309,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
304
309
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
305
310
  KeysToSnakeCase as KeysToSnakeCaseModel,
306
311
  )
312
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
313
+ KeyValueExtractor as KeyValueExtractorModel,
314
+ )
307
315
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
308
316
  LegacySessionTokenAuthenticator as LegacySessionTokenAuthenticatorModel,
309
317
  )
@@ -641,6 +649,8 @@ class ModelToComponentFactory:
641
649
  DefaultErrorHandlerModel: self.create_default_error_handler,
642
650
  DefaultPaginatorModel: self.create_default_paginator,
643
651
  DpathExtractorModel: self.create_dpath_extractor,
652
+ KeyValueExtractorModel: self.create_key_value_extractor,
653
+ CombinedExtractorModel: self.create_combined_extractor,
644
654
  ResponseToFileExtractorModel: self.create_response_to_file_extractor,
645
655
  ExponentialBackoffStrategyModel: self.create_exponential_backoff_strategy,
646
656
  SessionTokenAuthenticatorModel: self.create_session_token_authenticator,
@@ -2218,6 +2228,36 @@ class ModelToComponentFactory:
2218
2228
  parameters=model.parameters or {},
2219
2229
  )
2220
2230
 
2231
+ def create_key_value_extractor(
2232
+ self,
2233
+ model: KeyValueExtractorModel,
2234
+ config: Config,
2235
+ decoder: Optional[Decoder] = JsonDecoder(parameters={}),
2236
+ **kwargs: Any,
2237
+ ) -> KeyValueExtractor:
2238
+ keys_extractor = self._create_component_from_model(
2239
+ model=model.keys_extractor, decoder=decoder, config=config
2240
+ )
2241
+ values_extractor = self._create_component_from_model(
2242
+ model=model.values_extractor, decoder=decoder, config=config
2243
+ )
2244
+
2245
+ return KeyValueExtractor(keys_extractor=keys_extractor, values_extractor=values_extractor)
2246
+
2247
+ def create_combined_extractor(
2248
+ self,
2249
+ model: CombinedExtractorModel,
2250
+ config: Config,
2251
+ decoder: Optional[Decoder] = JsonDecoder(parameters={}),
2252
+ **kwargs: Any,
2253
+ ) -> CombinedExtractor:
2254
+ extractors = [
2255
+ self._create_component_from_model(model=extractor, decoder=decoder, config=config)
2256
+ for extractor in model.extractors
2257
+ ]
2258
+
2259
+ return CombinedExtractor(extractors=extractors)
2260
+
2221
2261
  @staticmethod
2222
2262
  def create_response_to_file_extractor(
2223
2263
  model: ResponseToFileExtractorModel,
@@ -2432,10 +2472,14 @@ class ModelToComponentFactory:
2432
2472
  schema_type_identifier = self._create_component_from_model(
2433
2473
  model.schema_type_identifier, config=config, parameters=model.parameters or {}
2434
2474
  )
2475
+ schema_filter = self._create_component_from_model(
2476
+ model.schema_filter, config=config, parameters=model.parameters or {}
2477
+ )
2435
2478
  return DynamicSchemaLoader(
2436
2479
  retriever=retriever,
2437
2480
  config=config,
2438
2481
  schema_transformations=schema_transformations,
2482
+ schema_filter=schema_filter,
2439
2483
  schema_type_identifier=schema_type_identifier,
2440
2484
  parameters=model.parameters or {},
2441
2485
  )
@@ -3597,6 +3641,7 @@ class ModelToComponentFactory:
3597
3641
  field_path=field_path, # type: ignore[arg-type] # field_path can be str and InterpolatedString
3598
3642
  value=interpolated_value,
3599
3643
  value_type=ModelToComponentFactory._json_schema_type_name_to_type(model.value_type),
3644
+ create_or_update=model.create_or_update,
3600
3645
  parameters=model.parameters or {},
3601
3646
  )
3602
3647
 
@@ -3643,16 +3688,24 @@ class ModelToComponentFactory:
3643
3688
 
3644
3689
  return StreamConfig(
3645
3690
  configs_pointer=model_configs_pointer,
3691
+ default_values=model.default_values,
3646
3692
  parameters=model.parameters or {},
3647
3693
  )
3648
3694
 
3649
3695
  def create_config_components_resolver(
3650
3696
  self, model: ConfigComponentsResolverModel, config: Config
3651
3697
  ) -> Any:
3652
- stream_config = self._create_component_from_model(
3653
- model.stream_config, config=config, parameters=model.parameters or {}
3698
+ model_stream_configs = (
3699
+ model.stream_config if isinstance(model.stream_config, list) else [model.stream_config]
3654
3700
  )
3655
3701
 
3702
+ stream_configs = [
3703
+ self._create_component_from_model(
3704
+ stream_config, config=config, parameters=model.parameters or {}
3705
+ )
3706
+ for stream_config in model_stream_configs
3707
+ ]
3708
+
3656
3709
  components_mapping = [
3657
3710
  self._create_component_from_model(
3658
3711
  model=components_mapping_definition_model,
@@ -3665,7 +3718,7 @@ class ModelToComponentFactory:
3665
3718
  ]
3666
3719
 
3667
3720
  return ConfigComponentsResolver(
3668
- stream_config=stream_config,
3721
+ stream_configs=stream_configs,
3669
3722
  config=config,
3670
3723
  components_mapping=components_mapping,
3671
3724
  parameters=model.parameters or {},
@@ -22,6 +22,7 @@ class ComponentMappingDefinition:
22
22
  value: Union["InterpolatedString", str]
23
23
  value_type: Optional[Type[Any]]
24
24
  parameters: InitVar[Mapping[str, Any]]
25
+ create_or_update: Optional[bool] = False
25
26
 
26
27
 
27
28
  @dataclass(frozen=True)
@@ -34,6 +35,7 @@ class ResolvedComponentMappingDefinition:
34
35
  value: "InterpolatedString"
35
36
  value_type: Optional[Type[Any]]
36
37
  parameters: InitVar[Mapping[str, Any]]
38
+ create_or_update: Optional[bool] = False
37
39
 
38
40
 
39
41
  @deprecated("This class is experimental. Use at your own risk.", category=ExperimentalClassWarning)