airbyte-cdk 6.9.2__tar.gz → 6.9.2.dev4100__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 (340) hide show
  1. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/PKG-INFO +1 -1
  2. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +4 -5
  3. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +88 -1
  4. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/jinja.py +35 -36
  5. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +43 -5
  6. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +4 -0
  7. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +72 -0
  8. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/__init__.py +2 -1
  9. airbyte_cdk-6.9.2.dev4100/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +219 -0
  10. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/http_client.py +5 -15
  11. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/pyproject.toml +1 -4
  12. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/LICENSE.txt +0 -0
  13. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/README.md +0 -0
  14. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/__init__.py +0 -0
  15. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/cli/__init__.py +0 -0
  16. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  17. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  18. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  19. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/config_observation.py +0 -0
  20. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector.py +0 -0
  21. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/README.md +0 -0
  22. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/__init__.py +0 -0
  23. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  24. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/main.py +0 -0
  25. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
  26. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/connector_builder/models.py +0 -0
  27. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/__init__.py +0 -0
  28. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/destination.py +0 -0
  29. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  30. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  31. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  32. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  33. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  34. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  35. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  36. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  37. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  38. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/entrypoint.py +0 -0
  39. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/exception_handler.py +0 -0
  40. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/logger.py +0 -0
  41. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/__init__.py +0 -0
  42. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  43. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  44. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
  45. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/models/well_known_types.py +0 -0
  46. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/py.typed +0 -0
  47. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/__init__.py +0 -0
  48. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/abstract_source.py +0 -0
  49. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  50. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  51. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  52. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  53. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  54. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  55. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  56. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/config.py +0 -0
  57. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  58. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  59. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  60. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  61. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  62. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  63. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  64. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  65. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  66. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  67. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  68. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  69. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  70. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  71. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  72. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  73. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  74. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  75. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  76. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  77. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  78. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  79. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  80. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  81. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  82. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  83. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  84. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  85. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  86. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  87. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  88. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  89. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  90. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  91. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  92. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  93. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  94. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  95. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  96. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  97. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  98. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  99. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
  100. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
  101. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  102. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
  103. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  104. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  105. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  106. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  107. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  108. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  109. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  110. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  111. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  112. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
  113. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  114. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  115. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  116. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  117. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  118. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  119. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  120. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  121. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  122. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  123. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  124. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  125. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  126. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  127. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  128. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  129. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  130. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  131. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  132. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  133. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  134. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  135. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  136. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  137. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  138. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  139. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  140. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  141. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  142. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  143. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  144. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  145. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  146. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  147. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  148. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  149. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  150. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  151. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  152. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  153. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  154. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  155. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  156. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  157. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  158. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  159. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  160. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  161. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  162. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  163. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  164. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  165. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  166. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  167. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  168. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
  169. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  170. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  171. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  172. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  173. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  174. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  175. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  176. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  177. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  178. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  179. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  180. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  181. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  182. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  183. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/types.py +0 -0
  184. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  185. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/__init__.py +0 -0
  186. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
  187. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/catalog.py +0 -0
  188. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/runner.py +0 -0
  189. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/embedded/tools.py +0 -0
  190. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/README.md +0 -0
  191. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  192. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  193. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  194. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  195. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  196. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  197. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  198. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  199. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  200. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  201. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  202. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  203. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  204. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  205. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  206. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  207. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  208. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  209. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  210. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  211. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  212. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  213. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  214. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  215. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  216. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  217. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  218. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  219. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  220. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  221. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  222. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  223. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  224. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  225. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  226. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  227. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  228. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  229. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  230. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  231. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  232. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  233. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  234. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  235. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  236. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/file_based/types.py +0 -0
  237. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/http_config.py +0 -0
  238. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/http_logger.py +0 -0
  239. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/message/__init__.py +0 -0
  240. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/message/repository.py +0 -0
  241. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/source.py +0 -0
  242. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/__init__.py +0 -0
  243. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  244. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  245. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  246. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  247. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  248. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  249. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  250. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  251. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  252. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  253. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  254. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  255. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  256. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  257. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  258. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  259. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  260. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  261. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  262. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  263. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  264. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  265. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  266. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  267. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  268. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  269. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  270. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  271. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/core.py +0 -0
  272. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  273. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  274. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  275. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  276. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  277. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  278. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  279. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  280. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  281. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  282. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  283. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  284. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/http.py +0 -0
  285. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  286. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  287. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  288. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  289. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  290. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  291. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  292. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/types.py +0 -0
  293. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/__init__.py +0 -0
  294. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/casing.py +0 -0
  295. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  296. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  297. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  298. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/transform.py +0 -0
  299. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sources/utils/types.py +0 -0
  300. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/__init__.py +0 -0
  301. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/_util/__init__.py +0 -0
  302. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/_util/hashing.py +0 -0
  303. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  304. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/constants.py +0 -0
  305. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/exceptions.py +0 -0
  306. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/secrets.py +0 -0
  307. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/shared/__init__.py +0 -0
  308. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  309. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
  310. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/sql/types.py +0 -0
  311. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/__init__.py +0 -0
  312. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/catalog_builder.py +0 -0
  313. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  314. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  315. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  316. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  317. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/request.py +0 -0
  318. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/response.py +0 -0
  319. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  320. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/state_builder.py +0 -0
  321. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/utils/__init__.py +0 -0
  322. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/utils/data.py +0 -0
  323. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  324. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/test/utils/reading.py +0 -0
  325. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/__init__.py +0 -0
  326. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  327. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/analytics_message.py +0 -0
  328. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/constants.py +0 -0
  329. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  330. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/event_timing.py +0 -0
  331. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  332. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  333. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/message_utils.py +0 -0
  334. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  335. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/print_buffer.py +0 -0
  336. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  337. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/slice_hasher.py +0 -0
  338. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  339. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  340. {airbyte_cdk-6.9.2 → airbyte_cdk-6.9.2.dev4100}/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.9.2
3
+ Version: 6.9.2.dev4100
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -56,9 +56,8 @@ from airbyte_cdk.sources.types import Config, StreamState
56
56
 
57
57
 
58
58
  class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
59
- # By default, we defer to a value of 2. A value lower than than could cause a PartitionEnqueuer to be stuck in a state of deadlock
60
- # because it has hit the limit of futures but not partition reader is consuming them.
61
- _LOWEST_SAFE_CONCURRENCY_LEVEL = 2
59
+ # By default, we defer to a value of 1 which represents running a connector using the Concurrent CDK engine on only one thread.
60
+ SINGLE_THREADED_CONCURRENCY_LEVEL = 1
62
61
 
63
62
  def __init__(
64
63
  self,
@@ -108,8 +107,8 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
108
107
  concurrency_level // 2, 1
109
108
  ) # Partition_generation iterates using range based on this value. If this is floored to zero we end up in a dead lock during start up
110
109
  else:
111
- concurrency_level = self._LOWEST_SAFE_CONCURRENCY_LEVEL
112
- initial_number_of_partitions_to_generate = self._LOWEST_SAFE_CONCURRENCY_LEVEL // 2
110
+ concurrency_level = self.SINGLE_THREADED_CONCURRENCY_LEVEL
111
+ initial_number_of_partitions_to_generate = self.SINGLE_THREADED_CONCURRENCY_LEVEL
113
112
 
114
113
  self._concurrent_source = ConcurrentSource.create(
115
114
  num_workers=concurrency_level,
@@ -327,7 +327,7 @@ definitions:
327
327
  additionalProperties: true
328
328
  ConcurrencyLevel:
329
329
  title: Concurrency Level
330
- description: Defines the amount of parallelization for the streams that are being synced. The factor of parallelization is how many partitions or streams are synced at the same time. For example, with a concurrency_level of 10, ten streams or partitions of data will processed at the same time. Note that a value of 1 could create deadlock if a stream has a very high number of partitions.
330
+ description: Defines the amount of parallelization for the streams that are being synced. The factor of parallelization is how many partitions or streams are synced at the same time. For example, with a concurrency_level of 10, ten streams or partitions of data will processed at the same time.
331
331
  type: object
332
332
  required:
333
333
  - default_concurrency
@@ -1221,6 +1221,7 @@ definitions:
1221
1221
  - "$ref": "#/definitions/InlineSchemaLoader"
1222
1222
  - "$ref": "#/definitions/JsonFileSchemaLoader"
1223
1223
  - "$ref": "#/definitions/CustomSchemaLoader"
1224
+ - "$ref": "#/definitions/DynamicSchemaLoader"
1224
1225
  # TODO we have move the transformation to the RecordSelector level in the code but kept this here for
1225
1226
  # compatibility reason. We should eventually move this to align with the code.
1226
1227
  transformations:
@@ -1684,6 +1685,92 @@ definitions:
1684
1685
  $parameters:
1685
1686
  type: object
1686
1687
  additionalProperties: true
1688
+ TypesMap:
1689
+ title: Types Map
1690
+ description: (This component is experimental. Use at your own risk.) Represents a mapping between a current type and its corresponding target type.
1691
+ type: object
1692
+ required:
1693
+ - target_type
1694
+ - current_type
1695
+ properties:
1696
+ target_type:
1697
+ anyOf:
1698
+ - type: string
1699
+ - type: array
1700
+ items:
1701
+ type: string
1702
+ current_type:
1703
+ anyOf:
1704
+ - type: string
1705
+ - type: array
1706
+ items:
1707
+ type: string
1708
+ SchemaTypeIdentifier:
1709
+ title: Schema Type Identifier
1710
+ description: (This component is experimental. Use at your own risk.) Identifies schema details for dynamic schema extraction and processing.
1711
+ type: object
1712
+ required:
1713
+ - key_pointer
1714
+ properties:
1715
+ type:
1716
+ type: string
1717
+ enum: [SchemaTypeIdentifier]
1718
+ schema_pointer:
1719
+ title: Schema Path
1720
+ description: List of nested fields defining the schema field path to extract. Defaults to [].
1721
+ type: array
1722
+ default: []
1723
+ items:
1724
+ - type: string
1725
+ interpolation_context:
1726
+ - config
1727
+ key_pointer:
1728
+ title: Key Path
1729
+ description: List of potentially nested fields describing the full path of the field key to extract.
1730
+ type: array
1731
+ items:
1732
+ - type: string
1733
+ interpolation_context:
1734
+ - config
1735
+ type_pointer:
1736
+ title: Type Path
1737
+ description: List of potentially nested fields describing the full path of the field type to extract.
1738
+ type: array
1739
+ items:
1740
+ - type: string
1741
+ interpolation_context:
1742
+ - config
1743
+ types_mapping:
1744
+ type: array
1745
+ items:
1746
+ - "$ref": "#/definitions/TypesMap"
1747
+ $parameters:
1748
+ type: object
1749
+ additionalProperties: true
1750
+ DynamicSchemaLoader:
1751
+ title: Dynamic Schema Loader
1752
+ description: (This component is experimental. Use at your own risk.) Loads a schema by extracting data from retrieved records.
1753
+ type: object
1754
+ required:
1755
+ - type
1756
+ - retriever
1757
+ - schema_type_identifier
1758
+ properties:
1759
+ type:
1760
+ type: string
1761
+ enum: [DynamicSchemaLoader]
1762
+ retriever:
1763
+ title: Retriever
1764
+ description: Component used to coordinate how records are extracted across stream slices and request pages.
1765
+ anyOf:
1766
+ - "$ref": "#/definitions/AsyncRetriever"
1767
+ - "$ref": "#/definitions/CustomRetriever"
1768
+ - "$ref": "#/definitions/SimpleRetriever"
1769
+ schema_type_identifier:
1770
+ "$ref": "#/definitions/SchemaTypeIdentifier"
1771
+ $parameters:
1772
+ type: object
1773
+ additionalProperties: true
1687
1774
  InlineSchemaLoader:
1688
1775
  title: Inline Schema Loader
1689
1776
  description: Loads a schema that is defined directly in the manifest file.
@@ -4,7 +4,7 @@
4
4
 
5
5
  import ast
6
6
  from functools import cache
7
- from typing import Any, Mapping, Optional, Set, Tuple, Type
7
+ from typing import Any, Mapping, Optional, Tuple, Type
8
8
 
9
9
  from jinja2 import meta
10
10
  from jinja2.environment import Template
@@ -27,35 +27,7 @@ class StreamPartitionAccessEnvironment(SandboxedEnvironment):
27
27
  def is_safe_attribute(self, obj: Any, attr: str, value: Any) -> bool:
28
28
  if attr in ["_partition"]:
29
29
  return True
30
- return super().is_safe_attribute(obj, attr, value) # type: ignore # for some reason, mypy says 'Returning Any from function declared to return "bool"'
31
-
32
-
33
- # These aliases are used to deprecate existing keywords without breaking all existing connectors.
34
- _ALIASES = {
35
- "stream_interval": "stream_slice", # Use stream_interval to access incremental_sync values
36
- "stream_partition": "stream_slice", # Use stream_partition to access partition router's values
37
- }
38
-
39
- # These extensions are not installed so they're not currently a problem,
40
- # but we're still explicitly removing them from the jinja context.
41
- # At worst, this is documentation that we do NOT want to include these extensions because of the potential security risks
42
- _RESTRICTED_EXTENSIONS = ["jinja2.ext.loopcontrols"] # Adds support for break continue in loops
43
-
44
- # By default, these Python builtin functions are available in the Jinja context.
45
- # We explicitly remove them because of the potential security risk.
46
- # Please add a unit test to test_jinja.py when adding a restriction.
47
- _RESTRICTED_BUILTIN_FUNCTIONS = [
48
- "range"
49
- ] # The range function can cause very expensive computations
50
-
51
- _ENVIRONMENT = StreamPartitionAccessEnvironment()
52
- _ENVIRONMENT.filters.update(**filters)
53
- _ENVIRONMENT.globals.update(**macros)
54
-
55
- for extension in _RESTRICTED_EXTENSIONS:
56
- _ENVIRONMENT.extensions.pop(extension, None)
57
- for builtin in _RESTRICTED_BUILTIN_FUNCTIONS:
58
- _ENVIRONMENT.globals.pop(builtin, None)
30
+ return super().is_safe_attribute(obj, attr, value)
59
31
 
60
32
 
61
33
  class JinjaInterpolation(Interpolation):
@@ -76,6 +48,34 @@ class JinjaInterpolation(Interpolation):
76
48
  Additional information on jinja templating can be found at https://jinja.palletsprojects.com/en/3.1.x/templates/#
77
49
  """
78
50
 
51
+ # These aliases are used to deprecate existing keywords without breaking all existing connectors.
52
+ ALIASES = {
53
+ "stream_interval": "stream_slice", # Use stream_interval to access incremental_sync values
54
+ "stream_partition": "stream_slice", # Use stream_partition to access partition router's values
55
+ }
56
+
57
+ # These extensions are not installed so they're not currently a problem,
58
+ # but we're still explicitely removing them from the jinja context.
59
+ # At worst, this is documentation that we do NOT want to include these extensions because of the potential security risks
60
+ RESTRICTED_EXTENSIONS = ["jinja2.ext.loopcontrols"] # Adds support for break continue in loops
61
+
62
+ # By default, these Python builtin functions are available in the Jinja context.
63
+ # We explicitely remove them because of the potential security risk.
64
+ # Please add a unit test to test_jinja.py when adding a restriction.
65
+ RESTRICTED_BUILTIN_FUNCTIONS = [
66
+ "range"
67
+ ] # The range function can cause very expensive computations
68
+
69
+ def __init__(self) -> None:
70
+ self._environment = StreamPartitionAccessEnvironment()
71
+ self._environment.filters.update(**filters)
72
+ self._environment.globals.update(**macros)
73
+
74
+ for extension in self.RESTRICTED_EXTENSIONS:
75
+ self._environment.extensions.pop(extension, None)
76
+ for builtin in self.RESTRICTED_BUILTIN_FUNCTIONS:
77
+ self._environment.globals.pop(builtin, None)
78
+
79
79
  def eval(
80
80
  self,
81
81
  input_str: str,
@@ -86,7 +86,7 @@ class JinjaInterpolation(Interpolation):
86
86
  ) -> Any:
87
87
  context = {"config": config, **additional_parameters}
88
88
 
89
- for alias, equivalent in _ALIASES.items():
89
+ for alias, equivalent in self.ALIASES.items():
90
90
  if alias in context:
91
91
  # This is unexpected. We could ignore or log a warning, but failing loudly should result in fewer surprises
92
92
  raise ValueError(
@@ -105,7 +105,6 @@ class JinjaInterpolation(Interpolation):
105
105
  raise Exception(f"Expected a string, got {input_str}")
106
106
  except UndefinedError:
107
107
  pass
108
-
109
108
  # If result is empty or resulted in an undefined error, evaluate and return the default string
110
109
  return self._literal_eval(self._eval(default, context), valid_types)
111
110
 
@@ -133,16 +132,16 @@ class JinjaInterpolation(Interpolation):
133
132
  return s
134
133
 
135
134
  @cache
136
- def _find_undeclared_variables(self, s: Optional[str]) -> Set[str]:
135
+ def _find_undeclared_variables(self, s: Optional[str]) -> set[str]:
137
136
  """
138
137
  Find undeclared variables and cache them
139
138
  """
140
- ast = _ENVIRONMENT.parse(s) # type: ignore # parse is able to handle None
139
+ ast = self._environment.parse(s) # type: ignore # parse is able to handle None
141
140
  return meta.find_undeclared_variables(ast)
142
141
 
143
142
  @cache
144
- def _compile(self, s: str) -> Template:
143
+ def _compile(self, s: Optional[str]) -> Template:
145
144
  """
146
145
  We must cache the Jinja Template ourselves because we're using `from_string` instead of a template loader
147
146
  """
148
- return _ENVIRONMENT.from_string(s)
147
+ return self._environment.from_string(s) # type: ignore [arg-type] # Expected `str | Template` but passed `str | None`
@@ -650,6 +650,32 @@ class HttpResponseFilter(BaseModel):
650
650
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
651
651
 
652
652
 
653
+ class TypesMap(BaseModel):
654
+ target_type: Union[str, List[str]]
655
+ current_type: Union[str, List[str]]
656
+
657
+
658
+ class SchemaTypeIdentifier(BaseModel):
659
+ type: Optional[Literal["SchemaTypeIdentifier"]] = None
660
+ schema_pointer: Optional[List[str]] = Field(
661
+ [],
662
+ description="List of nested fields defining the schema field path to extract. Defaults to [].",
663
+ title="Schema Path",
664
+ )
665
+ key_pointer: List[str] = Field(
666
+ ...,
667
+ description="List of potentially nested fields describing the full path of the field key to extract.",
668
+ title="Key Path",
669
+ )
670
+ type_pointer: Optional[List[str]] = Field(
671
+ None,
672
+ description="List of potentially nested fields describing the full path of the field type to extract.",
673
+ title="Type Path",
674
+ )
675
+ types_mapping: Optional[List[TypesMap]] = None
676
+ parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
677
+
678
+
653
679
  class InlineSchemaLoader(BaseModel):
654
680
  type: Literal["InlineSchemaLoader"]
655
681
  schema_: Optional[Dict[str, Any]] = Field(
@@ -822,13 +848,13 @@ class OauthConnectorInputSpecification(BaseModel):
822
848
  )
823
849
  extract_output: List[str] = Field(
824
850
  ...,
825
- description="The DeclarativeOAuth Specific list of strings to indicate which keys should be extracted and returned back to the input config. ",
851
+ description="The DeclarativeOAuth Specific list of strings to indicate which keys should be extracted and returned back to the input config.",
826
852
  examples=[{"extract_output": ["access_token", "refresh_token", "other_field"]}],
827
853
  title="DeclarativeOAuth Extract Output",
828
854
  )
829
855
  state: Optional[State] = Field(
830
856
  None,
831
- description="The DeclarativeOAuth Specific object to provide the criteria of how the `state` query param should be constructed,\nincluding length and complexity. ",
857
+ description="The DeclarativeOAuth Specific object to provide the criteria of how the `state` query param should be constructed,\nincluding length and complexity.",
832
858
  examples=[{"state": {"min": 7, "max": 128}}],
833
859
  title="(Optional) DeclarativeOAuth Configurable State Query Param",
834
860
  )
@@ -852,13 +878,13 @@ class OauthConnectorInputSpecification(BaseModel):
852
878
  )
853
879
  state_key: Optional[str] = Field(
854
880
  None,
855
- description="The DeclarativeOAuth Specific optional override to provide the custom `state` key name, if required by data-provider. ",
881
+ description="The DeclarativeOAuth Specific optional override to provide the custom `state` key name, if required by data-provider.",
856
882
  examples=[{"state_key": "my_custom_state_key_key_name"}],
857
883
  title="(Optional) DeclarativeOAuth State Key Override",
858
884
  )
859
885
  auth_code_key: Optional[str] = Field(
860
886
  None,
861
- description="The DeclarativeOAuth Specific optional override to provide the custom `code` key name to something like `auth_code` or `custom_auth_code`, if required by data-provider. ",
887
+ description="The DeclarativeOAuth Specific optional override to provide the custom `code` key name to something like `auth_code` or `custom_auth_code`, if required by data-provider.",
862
888
  examples=[{"auth_code_key": "my_custom_auth_code_key_name"}],
863
889
  title="(Optional) DeclarativeOAuth Auth Code Key Override",
864
890
  )
@@ -1609,7 +1635,7 @@ class DeclarativeStream(BaseModel):
1609
1635
  primary_key: Optional[PrimaryKey] = Field(
1610
1636
  "", description="The primary key of the stream.", title="Primary Key"
1611
1637
  )
1612
- schema_loader: Optional[Union[InlineSchemaLoader, JsonFileSchemaLoader, CustomSchemaLoader]] = (
1638
+ schema_loader: Optional[Union[InlineSchemaLoader, JsonFileSchemaLoader, CustomSchemaLoader, DynamicSchemaLoader]] = (
1613
1639
  Field(
1614
1640
  None,
1615
1641
  description="Component used to retrieve the schema for the current stream.",
@@ -1774,6 +1800,17 @@ class HttpRequester(BaseModel):
1774
1800
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1775
1801
 
1776
1802
 
1803
+ class DynamicSchemaLoader(BaseModel):
1804
+ type: Literal["DynamicSchemaLoader"]
1805
+ retriever: Union[AsyncRetriever, CustomRetriever, SimpleRetriever] = Field(
1806
+ ...,
1807
+ description="Component used to coordinate how records are extracted across stream slices and request pages.",
1808
+ title="Retriever",
1809
+ )
1810
+ schema_type_identifier: SchemaTypeIdentifier
1811
+ parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1812
+
1813
+
1777
1814
  class ParentStreamConfig(BaseModel):
1778
1815
  type: Literal["ParentStreamConfig"]
1779
1816
  parent_key: str = Field(
@@ -1981,5 +2018,6 @@ DeclarativeSource2.update_forward_refs()
1981
2018
  SelectiveAuthenticator.update_forward_refs()
1982
2019
  DeclarativeStream.update_forward_refs()
1983
2020
  SessionTokenAuthenticator.update_forward_refs()
2021
+ DynamicSchemaLoader.update_forward_refs()
1984
2022
  SimpleRetriever.update_forward_refs()
1985
2023
  AsyncRetriever.update_forward_refs()
@@ -64,6 +64,10 @@ DEFAULT_MODEL_TYPES: Mapping[str, str] = {
64
64
  "AddFields.fields": "AddedFieldDefinition",
65
65
  # CustomPartitionRouter
66
66
  "CustomPartitionRouter.parent_stream_configs": "ParentStreamConfig",
67
+ # DynamicSchemaLoader
68
+ "DynamicSchemaLoader.retriever": "SimpleRetriever",
69
+ # SchemaTypeIdentifier
70
+ "SchemaTypeIdentifier.types_map": "TypesMap",
67
71
  }
68
72
 
69
73
  # We retain a separate registry for custom components to automatically insert the type if it is missing. This is intended to
@@ -188,6 +188,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
188
188
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
189
189
  DpathExtractor as DpathExtractorModel,
190
190
  )
191
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
192
+ DynamicSchemaLoader as DynamicSchemaLoaderModel,
193
+ )
191
194
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
192
195
  ExponentialBackoffStrategy as ExponentialBackoffStrategyModel,
193
196
  )
@@ -278,6 +281,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
278
281
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
279
282
  ResponseToFileExtractor as ResponseToFileExtractorModel,
280
283
  )
284
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
285
+ SchemaTypeIdentifier as SchemaTypeIdentifierModel,
286
+ )
281
287
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
282
288
  SelectiveAuthenticator as SelectiveAuthenticatorModel,
283
289
  )
@@ -291,6 +297,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
291
297
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
292
298
  SubstreamPartitionRouter as SubstreamPartitionRouterModel,
293
299
  )
300
+ from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
301
+ TypesMap as TypesMapModel,
302
+ )
294
303
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import ValueType
295
304
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
296
305
  WaitTimeFromHeader as WaitTimeFromHeaderModel,
@@ -356,8 +365,11 @@ from airbyte_cdk.sources.declarative.retrievers import (
356
365
  )
357
366
  from airbyte_cdk.sources.declarative.schema import (
358
367
  DefaultSchemaLoader,
368
+ DynamicSchemaLoader,
359
369
  InlineSchemaLoader,
360
370
  JsonFileSchemaLoader,
371
+ SchemaTypeIdentifier,
372
+ TypesMap,
361
373
  )
362
374
  from airbyte_cdk.sources.declarative.spec import Spec
363
375
  from airbyte_cdk.sources.declarative.stream_slicers import StreamSlicer
@@ -455,6 +467,9 @@ class ModelToComponentFactory:
455
467
  IterableDecoderModel: self.create_iterable_decoder,
456
468
  XmlDecoderModel: self.create_xml_decoder,
457
469
  JsonFileSchemaLoaderModel: self.create_json_file_schema_loader,
470
+ DynamicSchemaLoaderModel: self.create_dynamic_schema_loader,
471
+ SchemaTypeIdentifierModel: self.create_schema_type_identifier,
472
+ TypesMapModel: self.create_types_map,
458
473
  JwtAuthenticatorModel: self.create_jwt_authenticator,
459
474
  LegacyToPerPartitionStateMigrationModel: self.create_legacy_to_per_partition_state_migration,
460
475
  ListPartitionRouterModel: self.create_list_partition_router,
@@ -1574,6 +1589,63 @@ class ModelToComponentFactory:
1574
1589
  ) -> InlineSchemaLoader:
1575
1590
  return InlineSchemaLoader(schema=model.schema_ or {}, parameters={})
1576
1591
 
1592
+ @staticmethod
1593
+ def create_types_map(model: TypesMapModel, **kwargs: Any) -> TypesMap:
1594
+ return TypesMap(target_type=model.target_type, current_type=model.current_type)
1595
+
1596
+ def create_schema_type_identifier(
1597
+ self, model: SchemaTypeIdentifierModel, config: Config, **kwargs: Any
1598
+ ) -> SchemaTypeIdentifier:
1599
+ types_mapping = []
1600
+ if model.types_mapping:
1601
+ types_mapping.extend(
1602
+ [
1603
+ self._create_component_from_model(types_map, config=config)
1604
+ for types_map in model.types_mapping
1605
+ ]
1606
+ )
1607
+ model_schema_pointer: List[Union[InterpolatedString, str]] = (
1608
+ [x for x in model.schema_pointer] if model.schema_pointer else []
1609
+ )
1610
+ model_key_pointer: List[Union[InterpolatedString, str]] = [x for x in model.key_pointer]
1611
+ model_type_pointer: Optional[List[Union[InterpolatedString, str]]] = (
1612
+ [x for x in model.type_pointer] if model.type_pointer else None
1613
+ )
1614
+
1615
+ return SchemaTypeIdentifier(
1616
+ schema_pointer=model_schema_pointer,
1617
+ key_pointer=model_key_pointer,
1618
+ type_pointer=model_type_pointer,
1619
+ types_mapping=types_mapping,
1620
+ parameters=model.parameters or {},
1621
+ )
1622
+
1623
+ def create_dynamic_schema_loader(
1624
+ self, model: DynamicSchemaLoaderModel, config: Config, **kwargs: Any
1625
+ ) -> DynamicSchemaLoader:
1626
+ stream_slicer = self._build_stream_slicer_from_partition_router(model.retriever, config)
1627
+ combined_slicers = self._build_resumable_cursor_from_paginator(
1628
+ model.retriever, stream_slicer
1629
+ )
1630
+
1631
+ retriever = self._create_component_from_model(
1632
+ model=model.retriever,
1633
+ config=config,
1634
+ name="",
1635
+ primary_key=None,
1636
+ stream_slicer=combined_slicers,
1637
+ transformations=[],
1638
+ )
1639
+ schema_type_identifier = self._create_component_from_model(
1640
+ model.schema_type_identifier, config=config, parameters=model.parameters or {}
1641
+ )
1642
+ return DynamicSchemaLoader(
1643
+ retriever=retriever,
1644
+ config=config,
1645
+ schema_type_identifier=schema_type_identifier,
1646
+ parameters=model.parameters or {},
1647
+ )
1648
+
1577
1649
  @staticmethod
1578
1650
  def create_json_decoder(model: JsonDecoderModel, config: Config, **kwargs: Any) -> JsonDecoder:
1579
1651
  return JsonDecoder(parameters={})
@@ -6,5 +6,6 @@ from airbyte_cdk.sources.declarative.schema.default_schema_loader import Default
6
6
  from airbyte_cdk.sources.declarative.schema.inline_schema_loader import InlineSchemaLoader
7
7
  from airbyte_cdk.sources.declarative.schema.json_file_schema_loader import JsonFileSchemaLoader
8
8
  from airbyte_cdk.sources.declarative.schema.schema_loader import SchemaLoader
9
+ from airbyte_cdk.sources.declarative.schema.dynamic_schema_loader import DynamicSchemaLoader, TypesMap, SchemaTypeIdentifier
9
10
 
10
- __all__ = ["JsonFileSchemaLoader", "DefaultSchemaLoader", "SchemaLoader", "InlineSchemaLoader"]
11
+ __all__ = ["JsonFileSchemaLoader", "DefaultSchemaLoader", "SchemaLoader", "InlineSchemaLoader", "DynamicSchemaLoader", "TypesMap", "SchemaTypeIdentifier"]