airbyte-cdk 6.42.1__tar.gz → 6.43.0.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 (371) hide show
  1. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/PKG-INFO +1 -1
  2. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +128 -1
  3. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +80 -1
  4. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +189 -5
  5. airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +14 -0
  6. airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/group_by_key.py +24 -0
  7. airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +40 -0
  8. airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +65 -0
  9. airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +48 -0
  10. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +25 -2
  11. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +100 -31
  12. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/pyproject.toml +1 -1
  13. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/LICENSE.txt +0 -0
  14. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/LICENSE_SHORT +0 -0
  15. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/README.md +0 -0
  16. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/__init__.py +0 -0
  17. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/cli/__init__.py +0 -0
  18. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  19. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  20. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  21. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/config_observation.py +0 -0
  22. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector.py +0 -0
  23. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/README.md +0 -0
  24. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/__init__.py +0 -0
  25. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  26. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/main.py +0 -0
  27. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/models.py +0 -0
  28. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
  29. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
  30. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
  31. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
  32. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
  33. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/__init__.py +0 -0
  34. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/destination.py +0 -0
  35. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  36. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  37. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  38. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  39. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  40. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  41. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  42. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  43. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  44. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/entrypoint.py +0 -0
  45. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/exception_handler.py +0 -0
  46. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/logger.py +0 -0
  47. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/models/__init__.py +0 -0
  48. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  49. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  50. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
  51. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/models/well_known_types.py +0 -0
  52. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/py.typed +0 -0
  53. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/__init__.py +0 -0
  54. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/abstract_source.py +0 -0
  55. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  56. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  57. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  58. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  59. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  60. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  61. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  62. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/config.py +0 -0
  63. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  64. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  65. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  66. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  67. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  68. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  69. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  70. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  71. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  72. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  73. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  74. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  75. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  76. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  77. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  78. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  79. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  80. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
  81. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  82. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  83. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  84. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  85. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
  86. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  87. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  88. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  89. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  90. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  91. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  92. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  93. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  94. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
  95. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  96. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  97. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  98. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  99. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  100. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  101. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  102. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  103. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  104. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  105. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  106. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  107. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  108. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  109. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  110. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  111. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  112. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
  113. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
  114. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  115. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
  116. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  117. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  118. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  119. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  120. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  121. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  122. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  123. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  124. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  125. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  126. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
  127. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  128. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  129. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  130. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  131. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  132. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  133. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  134. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  135. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  136. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  137. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  138. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  139. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
  140. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  141. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  142. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  143. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  144. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  145. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  146. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  147. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  148. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  149. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  150. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  151. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  152. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  153. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  154. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  155. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  156. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  157. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  158. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  159. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  160. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  161. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  162. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  163. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  164. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  165. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  166. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  167. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  168. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  169. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  170. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  171. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  172. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  173. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  174. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  175. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  176. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  177. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  178. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  179. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  180. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  181. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  182. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
  183. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  184. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  185. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  186. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  187. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  188. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  189. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
  190. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  191. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  192. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  193. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  194. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  195. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  196. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  197. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  198. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  199. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  200. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  201. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  202. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  203. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  204. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  205. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  206. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  207. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/types.py +0 -0
  208. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  209. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/README.md +0 -0
  210. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  211. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  212. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  213. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  214. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  215. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  216. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  217. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  218. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  219. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  220. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  221. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  222. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  223. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
  224. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  225. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  226. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  227. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  228. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  229. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
  230. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  231. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  232. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  233. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  234. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  235. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  236. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  237. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  238. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  239. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  240. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  241. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  242. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  243. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  244. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  245. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  246. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  247. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  248. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  249. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  250. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  251. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  252. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  253. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  254. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  255. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  256. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  257. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
  258. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
  259. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/file_based/types.py +0 -0
  260. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/http_config.py +0 -0
  261. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/http_logger.py +0 -0
  262. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/message/__init__.py +0 -0
  263. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/message/repository.py +0 -0
  264. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/source.py +0 -0
  265. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
  266. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/__init__.py +0 -0
  267. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  268. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  269. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  270. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  271. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  272. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  273. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  274. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  275. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  276. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  277. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  278. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  279. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  280. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  281. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  282. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  283. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  284. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  285. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  286. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  287. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  288. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  289. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  290. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  291. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  292. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  293. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  294. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  295. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  296. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  297. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
  298. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/core.py +0 -0
  299. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  300. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  301. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  302. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  303. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  304. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  305. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  306. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  307. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  308. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  309. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  310. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  311. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/http.py +0 -0
  312. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
  313. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  314. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  315. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  316. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  317. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  318. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  319. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
  320. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  321. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/types.py +0 -0
  322. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/utils/__init__.py +0 -0
  323. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/utils/casing.py +0 -0
  324. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  325. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  326. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  327. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/utils/transform.py +0 -0
  328. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sources/utils/types.py +0 -0
  329. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/__init__.py +0 -0
  330. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/_util/__init__.py +0 -0
  331. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/_util/hashing.py +0 -0
  332. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  333. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/constants.py +0 -0
  334. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/exceptions.py +0 -0
  335. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/secrets.py +0 -0
  336. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/shared/__init__.py +0 -0
  337. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  338. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
  339. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/sql/types.py +0 -0
  340. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/__init__.py +0 -0
  341. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/catalog_builder.py +0 -0
  342. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  343. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  344. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  345. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  346. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/mock_http/request.py +0 -0
  347. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/mock_http/response.py +0 -0
  348. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  349. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/state_builder.py +0 -0
  350. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/utils/__init__.py +0 -0
  351. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/utils/data.py +0 -0
  352. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  353. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  354. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/test/utils/reading.py +0 -0
  355. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/__init__.py +0 -0
  356. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  357. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/analytics_message.py +0 -0
  358. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/constants.py +0 -0
  359. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  360. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/datetime_helpers.py +0 -0
  361. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/event_timing.py +0 -0
  362. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  363. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  364. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/message_utils.py +0 -0
  365. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  366. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/print_buffer.py +0 -0
  367. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  368. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/slice_hasher.py +0 -0
  369. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  370. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.dev0}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  371. {airbyte_cdk-6.42.1 → airbyte_cdk-6.43.0.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.42.1
3
+ Version: 6.43.0.dev0
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -1023,6 +1023,15 @@ definitions:
1023
1023
  $parameters:
1024
1024
  type: object
1025
1025
  additionalProperties: true
1026
+ EmitPartialRecordMergeStrategy:
1027
+ title: Emit Partial Record
1028
+ description: Record merge strategy where in the case where multiple requests are needed to retrieve all properties, properties are not consolidated back into a single record and are instead emitted as separate groups of properties. This strategy should only be used when records do not have a unique identifier like a primary key.
1029
+ required:
1030
+ - type
1031
+ properties:
1032
+ type:
1033
+ type: string
1034
+ enum: [EmitPartialRecordMergeStrategy]
1026
1035
  JwtAuthenticator:
1027
1036
  title: JWT Authenticator
1028
1037
  description: Authenticator for requests using JWT authentication flow.
@@ -1731,6 +1740,30 @@ definitions:
1731
1740
  $parameters:
1732
1741
  type: object
1733
1742
  additionalProperties: true
1743
+ GroupByKeyMergeStrategy:
1744
+ title: Group by Key
1745
+ description: Record merge strategy that combines records according to fields on the record.
1746
+ required:
1747
+ - type
1748
+ - key
1749
+ properties:
1750
+ type:
1751
+ type: string
1752
+ enum: [GroupByKeyMergeStrategy]
1753
+ key:
1754
+ title: Key
1755
+ description: The name of the field on the record whose value will be used to group properties that were retrieved through multiple API requests.
1756
+ anyOf:
1757
+ - type: string
1758
+ - type: array
1759
+ items:
1760
+ type: string
1761
+ examples:
1762
+ - "id"
1763
+ - ["parent_id", "end_date"]
1764
+ $parameters:
1765
+ type: object
1766
+ additionalProperties: true
1734
1767
  SessionTokenAuthenticator:
1735
1768
  type: object
1736
1769
  required:
@@ -1950,7 +1983,9 @@ definitions:
1950
1983
  - type: string
1951
1984
  - type: object
1952
1985
  additionalProperties:
1953
- type: string
1986
+ anyOf:
1987
+ - type: string
1988
+ - $ref": "#/definitions/QueryProperties"
1954
1989
  interpolation_context:
1955
1990
  - next_page_token
1956
1991
  - stream_interval
@@ -2968,6 +3003,98 @@ definitions:
2968
3003
  examples:
2969
3004
  - id
2970
3005
  - ["code", "type"]
3006
+ PropertiesFromEndpoint:
3007
+ title: Properties from Endpoint
3008
+ description: Defines the behavior for fetching the list of properties from an API that will be loaded into the requests to extract records.
3009
+ type: object
3010
+ required:
3011
+ - type
3012
+ - property_field_path
3013
+ - retriever
3014
+ properties:
3015
+ type:
3016
+ type: string
3017
+ enum: [PropertiesFromEndpoint]
3018
+ property_field_path:
3019
+ description: Describes the path to the field that should be extracted
3020
+ type: array
3021
+ items:
3022
+ type: string
3023
+ examples:
3024
+ - ["name"]
3025
+ interpolation_context:
3026
+ - config
3027
+ - parameters
3028
+ retriever:
3029
+ description: Requester component that describes how to fetch the properties to query from a remote API endpoint.
3030
+ anyOf:
3031
+ - "$ref": "#/definitions/CustomRetriever"
3032
+ - "$ref": "#/definitions/SimpleRetriever"
3033
+ $parameters:
3034
+ type: object
3035
+ additionalProperties: true
3036
+ PropertyChunking:
3037
+ title: Property Chunking
3038
+ description: For APIs with restrictions on the amount of properties that can be requester per request, property chunking can be applied to make multiple requests with a subset of the properties.
3039
+ type: object
3040
+ required:
3041
+ - type
3042
+ - property_limit_type
3043
+ properties:
3044
+ type:
3045
+ type: string
3046
+ enum: [PropertyChunking]
3047
+ property_limit_type:
3048
+ title: Property Limit Type
3049
+ description: The type used to determine the maximum number of properties per chunk
3050
+ enum:
3051
+ - characters
3052
+ - property_count
3053
+ property_limit:
3054
+ title: Property Limit
3055
+ description: The maximum amount of properties that can be retrieved per request according to the limit type.
3056
+ type: integer
3057
+ record_merge_strategy:
3058
+ title: Record Merge Strategy
3059
+ description: Dictates how to records that require multiple requests to get all properties should be emitted to the destination
3060
+ anyOf:
3061
+ - "$ref": "#/definitions/EmitPartialRecordMergeStrategy"
3062
+ - "$ref": "#/definitions/GroupByKeyMergeStrategy"
3063
+ $parameters:
3064
+ type: object
3065
+ additionalProperties: true
3066
+ QueryProperties:
3067
+ title: Query Properties
3068
+ description: For APIs that require explicit specification of the properties to query for, this component specifies which property fields and how they are supplied to outbound requests.
3069
+ type: object
3070
+ required:
3071
+ - type
3072
+ - property_list
3073
+ properties:
3074
+ type:
3075
+ type: string
3076
+ enum: [QueryProperties]
3077
+ property_list:
3078
+ title: Property List
3079
+ description: The set of properties that will be queried for in the outbound request. This can either be statically defined or dynamic based on an API endpoint
3080
+ anyOf:
3081
+ - type: array
3082
+ items:
3083
+ type: string
3084
+ - "$ref": "#/definitions/PropertiesFromEndpoint"
3085
+ always_include_properties:
3086
+ title: Always Include Properties
3087
+ description: The list of properties that should be included in every set of properties when multiple chunks of properties are being requested.
3088
+ type: array
3089
+ items:
3090
+ type: string
3091
+ property_chunking:
3092
+ title: Property Chunking
3093
+ description: Defines how query properties will be grouped into smaller sets for APIs with limitations on the number of properties fetched per API request.
3094
+ "$ref": "#/definitions/PropertyChunking"
3095
+ $parameters:
3096
+ type: object
3097
+ additionalProperties: true
2971
3098
  RecordFilter:
2972
3099
  title: Record Filter
2973
3100
  description: Filter applied on a list of records.
@@ -1,3 +1,5 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+
1
3
  # generated by datamodel-codegen:
2
4
  # filename: declarative_component_schema.yaml
3
5
 
@@ -343,6 +345,10 @@ class Clamping(BaseModel):
343
345
  target_details: Optional[Dict[str, Any]] = None
344
346
 
345
347
 
348
+ class EmitPartialRecordMergeStrategy(BaseModel):
349
+ type: Literal["EmitPartialRecordMergeStrategy"]
350
+
351
+
346
352
  class Algorithm(Enum):
347
353
  HS256 = "HS256"
348
354
  HS384 = "HS384"
@@ -716,6 +722,17 @@ class ExponentialBackoffStrategy(BaseModel):
716
722
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
717
723
 
718
724
 
725
+ class GroupByKeyMergeStrategy(BaseModel):
726
+ type: Literal["GroupByKeyMergeStrategy"]
727
+ key: Union[str, List[str]] = Field(
728
+ ...,
729
+ description="The name of the field on the record whose value will be used to group properties that were retrieved through multiple API requests.",
730
+ examples=["id", ["parent_id", "end_date"]],
731
+ title="Key",
732
+ )
733
+ parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
734
+
735
+
719
736
  class SessionTokenRequestBearerAuthenticator(BaseModel):
720
737
  type: Literal["Bearer"]
721
738
 
@@ -1187,6 +1204,33 @@ class PrimaryKey(BaseModel):
1187
1204
  )
1188
1205
 
1189
1206
 
1207
+ class PropertyLimitType(Enum):
1208
+ characters = "characters"
1209
+ property_count = "property_count"
1210
+
1211
+
1212
+ class PropertyChunking(BaseModel):
1213
+ type: Literal["PropertyChunking"]
1214
+ property_limit_type: PropertyLimitType = Field(
1215
+ ...,
1216
+ description="The type used to determine the maximum number of properties per chunk",
1217
+ title="Property Limit Type",
1218
+ )
1219
+ property_limit: Optional[int] = Field(
1220
+ None,
1221
+ description="The maximum amount of properties that can be retrieved per request according to the limit type.",
1222
+ title="Property Limit",
1223
+ )
1224
+ record_merge_strategy: Optional[
1225
+ Union[EmitPartialRecordMergeStrategy, GroupByKeyMergeStrategy]
1226
+ ] = Field(
1227
+ None,
1228
+ description="Dictates how to records that require multiple requests to get all properties should be emitted to the destination",
1229
+ title="Record Merge Strategy",
1230
+ )
1231
+ parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1232
+
1233
+
1190
1234
  class RecordFilter(BaseModel):
1191
1235
  type: Literal["RecordFilter"]
1192
1236
  condition: Optional[str] = Field(
@@ -2174,7 +2218,7 @@ class HttpRequester(BaseModel):
2174
2218
  examples=[{"Output-Format": "JSON"}, {"Version": "{{ config['version'] }}"}],
2175
2219
  title="Request Headers",
2176
2220
  )
2177
- request_parameters: Optional[Union[str, Dict[str, str]]] = Field(
2221
+ request_parameters: Optional[Union[str, Dict[str, Union[str, Any]]]] = Field(
2178
2222
  None,
2179
2223
  description="Specifies the query parameters that should be set on an outgoing HTTP request given the inputs.",
2180
2224
  examples=[
@@ -2264,6 +2308,40 @@ class ParentStreamConfig(BaseModel):
2264
2308
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
2265
2309
 
2266
2310
 
2311
+ class PropertiesFromEndpoint(BaseModel):
2312
+ type: Literal["PropertiesFromEndpoint"]
2313
+ property_field_path: List[str] = Field(
2314
+ ...,
2315
+ description="Describes the path to the field that should be extracted",
2316
+ examples=[["name"]],
2317
+ )
2318
+ retriever: Union[CustomRetriever, SimpleRetriever] = Field(
2319
+ ...,
2320
+ description="Requester component that describes how to fetch the properties to query from a remote API endpoint.",
2321
+ )
2322
+ parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
2323
+
2324
+
2325
+ class QueryProperties(BaseModel):
2326
+ type: Literal["QueryProperties"]
2327
+ property_list: Union[List[str], PropertiesFromEndpoint] = Field(
2328
+ ...,
2329
+ description="The set of properties that will be queried for in the outbound request. This can either be statically defined or dynamic based on an API endpoint",
2330
+ title="Property List",
2331
+ )
2332
+ always_include_properties: Optional[List[str]] = Field(
2333
+ None,
2334
+ description="The list of properties that should be included in every set of properties when multiple chunks of properties are being requested.",
2335
+ title="Always Include Properties",
2336
+ )
2337
+ property_chunking: Optional[PropertyChunking] = Field(
2338
+ None,
2339
+ description="Defines how query properties will be grouped into smaller sets for APIs with limitations on the number of properties fetched per API request.",
2340
+ title="Property Chunking",
2341
+ )
2342
+ parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
2343
+
2344
+
2267
2345
  class StateDelegatingStream(BaseModel):
2268
2346
  type: Literal["StateDelegatingStream"]
2269
2347
  name: str = Field(..., description="The stream name.", example=["Users"], title="Name")
@@ -2512,5 +2590,6 @@ DeclarativeStream.update_forward_refs()
2512
2590
  SessionTokenAuthenticator.update_forward_refs()
2513
2591
  DynamicSchemaLoader.update_forward_refs()
2514
2592
  ParentStreamConfig.update_forward_refs()
2593
+ PropertiesFromEndpoint.update_forward_refs()
2515
2594
  SimpleRetriever.update_forward_refs()
2516
2595
  AsyncRetriever.update_forward_refs()
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
2
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
3
3
  #
4
4
 
5
5
  from __future__ import annotations
@@ -227,6 +227,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
227
227
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
228
228
  FlattenFields as FlattenFieldsModel,
229
229
  )
230
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
231
+ GroupByKeyMergeStrategy as GroupByKeyMergeStrategyModel,
232
+ )
230
233
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
231
234
  GroupingPartitionRouter as GroupingPartitionRouterModel,
232
235
  )
@@ -317,6 +320,18 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
317
320
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
318
321
  ParentStreamConfig as ParentStreamConfigModel,
319
322
  )
323
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
324
+ PropertiesFromEndpoint as PropertiesFromEndpointModel,
325
+ )
326
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
327
+ PropertyChunking as PropertyChunkingModel,
328
+ )
329
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
330
+ PropertyLimitType as PropertyLimitTypeModel,
331
+ )
332
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
333
+ QueryProperties as QueryPropertiesModel,
334
+ )
320
335
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
321
336
  Rate as RateModel,
322
337
  )
@@ -425,6 +440,15 @@ from airbyte_cdk.sources.declarative.requesters.paginators.strategies import (
425
440
  PageIncrement,
426
441
  StopConditionPaginationStrategyDecorator,
427
442
  )
443
+ from airbyte_cdk.sources.declarative.requesters.query_properties import (
444
+ GroupByKey,
445
+ PropertiesFromEndpoint,
446
+ PropertyChunking,
447
+ QueryProperties,
448
+ )
449
+ from airbyte_cdk.sources.declarative.requesters.query_properties.property_chunking import (
450
+ PropertyLimitType,
451
+ )
428
452
  from airbyte_cdk.sources.declarative.requesters.request_option import RequestOptionType
429
453
  from airbyte_cdk.sources.declarative.requesters.request_options import (
430
454
  DatetimeBasedRequestOptionsProvider,
@@ -588,6 +612,7 @@ class ModelToComponentFactory:
588
612
  ResponseToFileExtractorModel: self.create_response_to_file_extractor,
589
613
  ExponentialBackoffStrategyModel: self.create_exponential_backoff_strategy,
590
614
  SessionTokenAuthenticatorModel: self.create_session_token_authenticator,
615
+ GroupByKeyMergeStrategyModel: self.create_group_by_key,
591
616
  HttpRequesterModel: self.create_http_requester,
592
617
  HttpResponseFilterModel: self.create_http_response_filter,
593
618
  InlineSchemaLoaderModel: self.create_inline_schema_loader,
@@ -617,6 +642,9 @@ class ModelToComponentFactory:
617
642
  OffsetIncrementModel: self.create_offset_increment,
618
643
  PageIncrementModel: self.create_page_increment,
619
644
  ParentStreamConfigModel: self.create_parent_stream_config,
645
+ PropertiesFromEndpointModel: self.create_properties_from_endpoint,
646
+ PropertyChunkingModel: self.create_property_chunking,
647
+ QueryPropertiesModel: self.create_query_properties,
620
648
  RecordFilterModel: self.create_record_filter,
621
649
  RecordSelectorModel: self.create_record_selector,
622
650
  RemoveFieldsModel: self.create_remove_fields,
@@ -2047,8 +2075,8 @@ class ModelToComponentFactory:
2047
2075
  parameters=model.parameters or {},
2048
2076
  )
2049
2077
 
2078
+ @staticmethod
2050
2079
  def create_response_to_file_extractor(
2051
- self,
2052
2080
  model: ResponseToFileExtractorModel,
2053
2081
  **kwargs: Any,
2054
2082
  ) -> ResponseToFileExtractor:
@@ -2062,11 +2090,16 @@ class ModelToComponentFactory:
2062
2090
  factor=model.factor or 5, parameters=model.parameters or {}, config=config
2063
2091
  )
2064
2092
 
2093
+ @staticmethod
2094
+ def create_group_by_key(model: GroupByKeyMergeStrategyModel, config: Config) -> GroupByKey:
2095
+ return GroupByKey(model.key, config=config, parameters=model.parameters or {})
2096
+
2065
2097
  def create_http_requester(
2066
2098
  self,
2067
2099
  model: HttpRequesterModel,
2068
2100
  config: Config,
2069
2101
  decoder: Decoder = JsonDecoder(parameters={}),
2102
+ query_properties_key: Optional[str] = None,
2070
2103
  *,
2071
2104
  name: str,
2072
2105
  ) -> HttpRequester:
@@ -2099,6 +2132,7 @@ class ModelToComponentFactory:
2099
2132
  request_body_json=model.request_body_json,
2100
2133
  request_headers=model.request_headers,
2101
2134
  request_parameters=model.request_parameters,
2135
+ query_properties_key=query_properties_key,
2102
2136
  config=config,
2103
2137
  parameters=model.parameters or {},
2104
2138
  )
@@ -2566,6 +2600,79 @@ class ModelToComponentFactory:
2566
2600
  lazy_read_pointer=model_lazy_read_pointer,
2567
2601
  )
2568
2602
 
2603
+ def create_properties_from_endpoint(
2604
+ self, model: PropertiesFromEndpointModel, config: Config, **kwargs: Any
2605
+ ) -> PropertiesFromEndpoint:
2606
+ name = "property_retriever"
2607
+ retriever = self._create_component_from_model(
2608
+ model=model.retriever,
2609
+ config=config,
2610
+ name=name,
2611
+ primary_key=None,
2612
+ stream_slicer=None,
2613
+ transformations=[],
2614
+ )
2615
+ return PropertiesFromEndpoint(
2616
+ property_field_path=model.property_field_path,
2617
+ retriever=retriever,
2618
+ config=config,
2619
+ parameters=model.parameters or {},
2620
+ )
2621
+
2622
+ def create_property_chunking(
2623
+ self, model: PropertyChunkingModel, config: Config, **kwargs: Any
2624
+ ) -> PropertyChunking:
2625
+ record_merge_strategy = (
2626
+ self._create_component_from_model(
2627
+ model=model.record_merge_strategy, config=config, **kwargs
2628
+ )
2629
+ if model.record_merge_strategy
2630
+ else None
2631
+ )
2632
+
2633
+ property_limit_type: PropertyLimitType
2634
+ match model.property_limit_type:
2635
+ case PropertyLimitTypeModel.property_count:
2636
+ property_limit_type = PropertyLimitType.property_count
2637
+ case PropertyLimitTypeModel.characters:
2638
+ property_limit_type = PropertyLimitType.characters
2639
+ case _:
2640
+ raise ValueError(f"Invalid PropertyLimitType {property_limit_type}")
2641
+
2642
+ return PropertyChunking(
2643
+ property_limit_type=property_limit_type,
2644
+ property_limit=model.property_limit,
2645
+ record_merge_strategy=record_merge_strategy,
2646
+ config=config,
2647
+ parameters=model.parameters or {},
2648
+ )
2649
+
2650
+ def create_query_properties(
2651
+ self, model: QueryPropertiesModel, config: Config, **kwargs: Any
2652
+ ) -> QueryProperties:
2653
+ if isinstance(model.property_list, list):
2654
+ property_list = model.property_list
2655
+ else:
2656
+ property_list = self._create_component_from_model(
2657
+ model=model.property_list, config=config, **kwargs
2658
+ )
2659
+
2660
+ property_chunking = (
2661
+ self._create_component_from_model(
2662
+ model=model.property_chunking, config=config, **kwargs
2663
+ )
2664
+ if model.property_chunking
2665
+ else None
2666
+ )
2667
+
2668
+ return QueryProperties(
2669
+ property_list=property_list,
2670
+ always_include_properties=model.always_include_properties,
2671
+ property_chunking=property_chunking,
2672
+ config=config,
2673
+ parameters=model.parameters or {},
2674
+ )
2675
+
2569
2676
  @staticmethod
2570
2677
  def create_record_filter(
2571
2678
  model: RecordFilterModel, config: Config, **kwargs: Any
@@ -2718,9 +2825,6 @@ class ModelToComponentFactory:
2718
2825
  if model.decoder
2719
2826
  else JsonDecoder(parameters={})
2720
2827
  )
2721
- requester = self._create_component_from_model(
2722
- model=model.requester, decoder=decoder, config=config, name=name
2723
- )
2724
2828
  record_selector = self._create_component_from_model(
2725
2829
  model=model.record_selector,
2726
2830
  name=name,
@@ -2729,6 +2833,53 @@ class ModelToComponentFactory:
2729
2833
  transformations=transformations,
2730
2834
  client_side_incremental_sync=client_side_incremental_sync,
2731
2835
  )
2836
+
2837
+ query_properties: Optional[QueryProperties] = None
2838
+ query_properties_key: Optional[str] = None
2839
+ if (
2840
+ hasattr(model.requester, "request_parameters")
2841
+ and model.requester.request_parameters
2842
+ and isinstance(model.requester.request_parameters, Mapping)
2843
+ ):
2844
+ query_properties_definitions = []
2845
+ for key, request_parameter in model.requester.request_parameters.items():
2846
+ if (
2847
+ isinstance(request_parameter, Mapping)
2848
+ and request_parameter.get("type") == "QueryProperties"
2849
+ ):
2850
+ query_properties_key = key
2851
+ query_properties_definitions.append(request_parameter)
2852
+ elif not isinstance(request_parameter, str):
2853
+ raise ValueError(
2854
+ f"Each element of request_parameters should be of type str or QueryProperties, but received {request_parameter.get('type')}"
2855
+ )
2856
+
2857
+ if len(query_properties_definitions) > 1:
2858
+ raise ValueError(
2859
+ f"request_parameters should only define one QueryProperties field, but found {len(query_properties_definitions)}"
2860
+ )
2861
+
2862
+ if len(query_properties_definitions) == 1:
2863
+ query_properties = self.create_component(
2864
+ model_type=QueryPropertiesModel,
2865
+ component_definition=query_properties_definitions[0],
2866
+ config=config,
2867
+ )
2868
+
2869
+ # Removes QueryProperties components from the interpolated mappings because it will be resolved in
2870
+ # the provider from the slice directly instead of through jinja interpolation
2871
+ if isinstance(model.requester.request_parameters, Mapping):
2872
+ model.requester.request_parameters = self._remove_query_properties(
2873
+ model.requester.request_parameters
2874
+ )
2875
+
2876
+ requester = self._create_component_from_model(
2877
+ model=model.requester,
2878
+ decoder=decoder,
2879
+ query_properties_key=query_properties_key,
2880
+ config=config,
2881
+ name=name,
2882
+ )
2732
2883
  url_base = (
2733
2884
  model.requester.url_base
2734
2885
  if hasattr(model.requester, "url_base")
@@ -2834,9 +2985,42 @@ class ModelToComponentFactory:
2834
2985
  cursor=cursor,
2835
2986
  config=config,
2836
2987
  ignore_stream_slicer_parameters_on_paginated_requests=ignore_stream_slicer_parameters_on_paginated_requests,
2988
+ additional_query_properties=query_properties,
2837
2989
  parameters=model.parameters or {},
2838
2990
  )
2839
2991
 
2992
+ @staticmethod
2993
+ def _remove_query_properties(
2994
+ request_parameters: Mapping[str, Union[Any, str]],
2995
+ ) -> Mapping[str, Union[Any, str]]:
2996
+ return {
2997
+ parameter_field: request_parameter
2998
+ for parameter_field, request_parameter in request_parameters.items()
2999
+ if not isinstance(request_parameter, Mapping)
3000
+ or not request_parameter.get("type") == "QueryProperties"
3001
+ }
3002
+
3003
+ @staticmethod
3004
+ def _translate_query_properties_to_interpolated_strings(
3005
+ request_parameters: Mapping[str, Union[Any, str]],
3006
+ ) -> Mapping[str, Union[Any, str]]:
3007
+ # todo blai: remove this since unused
3008
+ new_request_parameters = dict()
3009
+ for key, request_parameter in request_parameters.items():
3010
+ if (
3011
+ isinstance(request_parameter, Mapping)
3012
+ and request_parameter.get("type") == "QueryProperties"
3013
+ ):
3014
+ # This may seem like this could be combined into the above conditional, but this is separated
3015
+ # so that we do not add the properties into the new request_parameters mapping
3016
+ if request_parameter.get("inject_into"):
3017
+ new_request_parameters[key] = (
3018
+ "{{ stream_partition.extra_fields['query_properties'] }}"
3019
+ )
3020
+ else:
3021
+ new_request_parameters[key] = request_parameter
3022
+ return new_request_parameters
3023
+
2840
3024
  def create_state_delegating_stream(
2841
3025
  self,
2842
3026
  model: StateDelegatingStreamModel,
@@ -0,0 +1,14 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+
3
+ from airbyte_cdk.sources.declarative.requesters.query_properties.group_by_key import GroupByKey
4
+ from airbyte_cdk.sources.declarative.requesters.query_properties.properties_from_endpoint import (
5
+ PropertiesFromEndpoint,
6
+ )
7
+ from airbyte_cdk.sources.declarative.requesters.query_properties.property_chunking import (
8
+ PropertyChunking,
9
+ )
10
+ from airbyte_cdk.sources.declarative.requesters.query_properties.query_properties import (
11
+ QueryProperties,
12
+ )
13
+
14
+ __all__ = ["GroupByKey", "PropertiesFromEndpoint", "PropertyChunking", "QueryProperties"]
@@ -0,0 +1,24 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+
3
+ from dataclasses import InitVar, dataclass
4
+ from typing import Any, List, Mapping, Union
5
+
6
+ from airbyte_cdk.sources.types import Config, Record
7
+
8
+
9
+ @dataclass
10
+ class GroupByKey:
11
+ """
12
+ tbd
13
+ """
14
+
15
+ key: Union[str, List[str]]
16
+ parameters: InitVar[Mapping[str, Any]]
17
+ config: Config
18
+
19
+ def __post_init__(self, parameters: Mapping[str, Any]) -> None:
20
+ self._keys = [self.key] if isinstance(self.key, str) else self.key
21
+
22
+ def get_group_key(self, record: Record) -> str:
23
+ resolved_keys = [str(record.data.get(key)) for key in self._keys]
24
+ return ",".join(resolved_keys)
@@ -0,0 +1,40 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+
3
+ from dataclasses import InitVar, dataclass
4
+ from typing import Any, Iterable, List, Mapping, Optional, Union
5
+
6
+ import dpath
7
+
8
+ from airbyte_cdk.sources.declarative.interpolation import InterpolatedString
9
+ from airbyte_cdk.sources.declarative.retrievers import Retriever
10
+ from airbyte_cdk.sources.types import Config, StreamSlice
11
+
12
+
13
+ @dataclass
14
+ class PropertiesFromEndpoint:
15
+ """
16
+ tbd
17
+ """
18
+
19
+ property_field_path: List[str]
20
+ retriever: Retriever
21
+ config: Config
22
+ parameters: InitVar[Mapping[str, Any]]
23
+
24
+ def __post_init__(self, parameters: Mapping[str, Any]) -> None:
25
+ self._property_field_path = [
26
+ InterpolatedString(string=property_field, parameters=parameters)
27
+ for property_field in self.property_field_path
28
+ ]
29
+
30
+ def get_properties_from_endpoint(self, stream_slice: Optional[StreamSlice]) -> Iterable[str]:
31
+ response_properties = self.retriever.read_records(
32
+ records_schema={}, stream_slice=stream_slice
33
+ )
34
+ for property_obj in response_properties:
35
+ path = [
36
+ node.eval(self.config) if not isinstance(node, str) else node
37
+ for node in self._property_field_path
38
+ ]
39
+
40
+ yield dpath.get(property_obj, path) # type: ignore # extracted will be a MutableMapping, given input data structure