airbyte-cdk 6.33.0.dev0__tar.gz → 6.33.1.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 (360) hide show
  1. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/PKG-INFO +1 -1
  2. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/token.py +3 -8
  3. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +13 -2
  4. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +18 -8
  5. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +7 -6
  6. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +14 -8
  7. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +40 -36
  8. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +4 -2
  9. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +26 -18
  10. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/http_requester.py +5 -1
  11. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +6 -5
  12. airbyte_cdk-6.33.1.dev0/airbyte_cdk/sources/declarative/requesters/request_option.py +117 -0
  13. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +7 -6
  14. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +4 -1
  15. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/call_rate.py +63 -0
  16. airbyte_cdk-6.33.1.dev0/airbyte_cdk/utils/mapping_helpers.py +104 -0
  17. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/pyproject.toml +1 -1
  18. airbyte_cdk-6.33.0.dev0/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -38
  19. airbyte_cdk-6.33.0.dev0/airbyte_cdk/utils/mapping_helpers.py +0 -45
  20. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/LICENSE.txt +0 -0
  21. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/LICENSE_SHORT +0 -0
  22. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/README.md +0 -0
  23. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/__init__.py +0 -0
  24. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/cli/__init__.py +0 -0
  25. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  26. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  27. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  28. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/config_observation.py +0 -0
  29. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector.py +0 -0
  30. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/README.md +0 -0
  31. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/__init__.py +0 -0
  32. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  33. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/main.py +0 -0
  34. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
  35. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/models.py +0 -0
  36. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/__init__.py +0 -0
  37. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/destination.py +0 -0
  38. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  39. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  40. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  41. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  42. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  43. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  44. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  45. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  46. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  47. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/entrypoint.py +0 -0
  48. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/exception_handler.py +0 -0
  49. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/logger.py +0 -0
  50. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/__init__.py +0 -0
  51. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  52. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  53. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
  54. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/well_known_types.py +0 -0
  55. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/py.typed +0 -0
  56. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/__init__.py +0 -0
  57. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/abstract_source.py +0 -0
  58. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  59. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  60. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  61. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  62. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  63. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  64. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  65. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/config.py +0 -0
  66. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  67. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  68. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  69. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  70. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  71. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  72. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  73. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  74. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  75. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  76. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  77. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  78. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  79. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  80. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  81. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  82. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
  83. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  84. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  85. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  86. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  87. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  88. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  89. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  90. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  91. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  92. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  93. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  94. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  95. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  96. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  97. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  98. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  99. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  100. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  101. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  102. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  103. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  104. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  105. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  106. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  107. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  108. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  109. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  110. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  111. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
  112. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
  113. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  114. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
  115. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  116. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  117. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  118. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  119. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  120. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  121. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  122. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  123. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  124. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  125. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
  126. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  127. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  128. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  129. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  130. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  131. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  132. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  133. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  134. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  135. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  136. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  137. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  138. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  139. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  140. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  141. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  142. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  143. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  144. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  145. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  146. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  147. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  148. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  149. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  150. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  151. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  152. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  153. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  154. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  155. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  156. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  157. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  158. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  159. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  160. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  161. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  162. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  163. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  164. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  165. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  166. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  167. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  168. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  169. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  170. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  171. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  172. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  173. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  174. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  175. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
  176. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  177. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  178. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  179. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  180. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  181. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  182. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
  183. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  184. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  185. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  186. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  187. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  188. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  189. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  190. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  191. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  192. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  193. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  194. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  195. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  196. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  197. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  198. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  199. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  200. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/types.py +0 -0
  201. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  202. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/__init__.py +0 -0
  203. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
  204. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/catalog.py +0 -0
  205. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/runner.py +0 -0
  206. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/tools.py +0 -0
  207. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/README.md +0 -0
  208. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  209. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  210. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  211. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  212. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  213. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  214. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  215. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  216. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  217. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  218. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  219. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  220. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  221. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  222. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  223. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  224. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  225. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  226. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  227. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  228. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  229. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  230. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  231. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  232. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  233. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  234. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  235. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  236. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  237. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  238. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  239. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  240. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  241. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  242. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  243. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  244. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  245. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  246. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  247. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  248. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  249. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  250. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  251. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  252. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  253. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/types.py +0 -0
  254. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/http_config.py +0 -0
  255. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/http_logger.py +0 -0
  256. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/message/__init__.py +0 -0
  257. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/message/repository.py +0 -0
  258. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/source.py +0 -0
  259. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/__init__.py +0 -0
  260. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  261. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  262. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  263. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  264. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  265. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  266. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  267. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  268. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  269. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  270. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  271. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  272. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  273. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  274. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  275. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  276. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  277. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  278. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  279. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  280. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  281. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  282. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  283. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  284. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  285. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  286. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  287. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  288. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  289. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/core.py +0 -0
  290. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  291. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  292. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  293. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  294. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  295. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  296. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  297. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  298. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  299. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  300. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  301. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  302. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/http.py +0 -0
  303. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
  304. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  305. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  306. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  307. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  308. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  309. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  310. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  311. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/types.py +0 -0
  312. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/__init__.py +0 -0
  313. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/casing.py +0 -0
  314. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  315. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  316. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  317. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/transform.py +0 -0
  318. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/types.py +0 -0
  319. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/__init__.py +0 -0
  320. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/_util/__init__.py +0 -0
  321. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/_util/hashing.py +0 -0
  322. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  323. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/constants.py +0 -0
  324. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/exceptions.py +0 -0
  325. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/secrets.py +0 -0
  326. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/shared/__init__.py +0 -0
  327. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  328. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
  329. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/types.py +0 -0
  330. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/__init__.py +0 -0
  331. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/catalog_builder.py +0 -0
  332. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  333. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  334. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  335. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  336. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/request.py +0 -0
  337. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/response.py +0 -0
  338. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  339. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/state_builder.py +0 -0
  340. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/__init__.py +0 -0
  341. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/data.py +0 -0
  342. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  343. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  344. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/reading.py +0 -0
  345. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/__init__.py +0 -0
  346. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  347. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/analytics_message.py +0 -0
  348. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/constants.py +0 -0
  349. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  350. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/datetime_helpers.py +0 -0
  351. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/event_timing.py +0 -0
  352. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  353. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/message_utils.py +0 -0
  354. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  355. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/print_buffer.py +0 -0
  356. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  357. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/slice_hasher.py +0 -0
  358. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  359. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  360. {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.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.33.0.dev0
3
+ Version: 6.33.1.dev0
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -5,7 +5,7 @@
5
5
  import base64
6
6
  import logging
7
7
  from dataclasses import InitVar, dataclass
8
- from typing import Any, Mapping, Union
8
+ from typing import Any, Mapping, MutableMapping, Union
9
9
 
10
10
  import requests
11
11
  from cachetools import TTLCache, cached
@@ -45,11 +45,6 @@ class ApiKeyAuthenticator(DeclarativeAuthenticator):
45
45
  config: Config
46
46
  parameters: InitVar[Mapping[str, Any]]
47
47
 
48
- def __post_init__(self, parameters: Mapping[str, Any]) -> None:
49
- self._field_name = InterpolatedString.create(
50
- self.request_option.field_name, parameters=parameters
51
- )
52
-
53
48
  @property
54
49
  def auth_header(self) -> str:
55
50
  options = self._get_request_options(RequestOptionType.header)
@@ -60,9 +55,9 @@ class ApiKeyAuthenticator(DeclarativeAuthenticator):
60
55
  return self.token_provider.get_token()
61
56
 
62
57
  def _get_request_options(self, option_type: RequestOptionType) -> Mapping[str, Any]:
63
- options = {}
58
+ options: MutableMapping[str, Any] = {}
64
59
  if self.request_option.inject_into == option_type:
65
- options[self._field_name.eval(self.config)] = self.token
60
+ self.request_option.inject_into_request(options, self.token, self.config)
66
61
  return options
67
62
 
68
63
  def get_request_params(self) -> Mapping[str, Any]:
@@ -475,10 +475,21 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
475
475
  # Also a temporary hack. In the legacy Stream implementation, as part of the read,
476
476
  # set_initial_state() is called to instantiate incoming state on the cursor. Although we no
477
477
  # longer rely on the legacy low-code cursor for concurrent checkpointing, low-code components
478
- # like StopConditionPaginationStrategyDecorator and ClientSideIncrementalRecordFilterDecorator
479
- # still rely on a DatetimeBasedCursor that is properly initialized with state.
478
+ # like StopConditionPaginationStrategyDecorator still rely on a DatetimeBasedCursor that is
479
+ # properly initialized with state.
480
480
  if retriever.cursor:
481
481
  retriever.cursor.set_initial_state(stream_state=stream_state)
482
+
483
+ # Similar to above, the ClientSideIncrementalRecordFilterDecorator cursor is a separate instance
484
+ # from the one initialized on the SimpleRetriever, so it also must also have state initialized
485
+ # for semi-incremental streams using is_client_side_incremental to filter properly
486
+ if isinstance(retriever.record_selector, RecordSelector) and isinstance(
487
+ retriever.record_selector.record_filter, ClientSideIncrementalRecordFilterDecorator
488
+ ):
489
+ retriever.record_selector.record_filter._cursor.set_initial_state(
490
+ stream_state=stream_state
491
+ ) # type: ignore # After non-concurrent cursors are deprecated we can remove these cursor workarounds
492
+
482
493
  # We zero it out here, but since this is a cursor reference, the state is still properly
483
494
  # instantiated for the other components that reference it
484
495
  retriever.cursor = None
@@ -1478,7 +1478,7 @@ definitions:
1478
1478
  description: List of matchers that define which requests this policy applies to.
1479
1479
  type: array
1480
1480
  items:
1481
- "$ref": "#/definitions/HttpRequestMatcher"
1481
+ "$ref": "#/definitions/HttpRequestRegexMatcher"
1482
1482
  additionalProperties: true
1483
1483
  MovingWindowCallRatePolicy:
1484
1484
  title: Moving Window Call Rate Policy
@@ -1503,7 +1503,7 @@ definitions:
1503
1503
  description: List of matchers that define which requests this policy applies to.
1504
1504
  type: array
1505
1505
  items:
1506
- "$ref": "#/definitions/HttpRequestMatcher"
1506
+ "$ref": "#/definitions/HttpRequestRegexMatcher"
1507
1507
  additionalProperties: true
1508
1508
  UnlimitedCallRatePolicy:
1509
1509
  title: Unlimited Call Rate Policy
@@ -1521,7 +1521,7 @@ definitions:
1521
1521
  description: List of matchers that define which requests this policy applies to.
1522
1522
  type: array
1523
1523
  items:
1524
- "$ref": "#/definitions/HttpRequestMatcher"
1524
+ "$ref": "#/definitions/HttpRequestRegexMatcher"
1525
1525
  additionalProperties: true
1526
1526
  Rate:
1527
1527
  title: Rate
@@ -1541,7 +1541,7 @@ definitions:
1541
1541
  type: string
1542
1542
  format: duration
1543
1543
  additionalProperties: true
1544
- HttpRequestMatcher:
1544
+ HttpRequestRegexMatcher:
1545
1545
  title: HTTP Request Matcher
1546
1546
  description: >
1547
1547
  Matches HTTP requests based on method, base URL, URL path pattern, query parameters, and headers.
@@ -3054,25 +3054,35 @@ definitions:
3054
3054
  enum: [RequestPath]
3055
3055
  RequestOption:
3056
3056
  title: Request Option
3057
- description: Specifies the key field and where in the request a component's value should be injected.
3057
+ description: Specifies the key field or path and where in the request a component's value should be injected.
3058
3058
  type: object
3059
3059
  required:
3060
3060
  - type
3061
- - field_name
3062
3061
  - inject_into
3063
3062
  properties:
3064
3063
  type:
3065
3064
  type: string
3066
3065
  enum: [RequestOption]
3067
3066
  field_name:
3068
- title: Request Option
3069
- description: Configures which key should be used in the location that the descriptor is being injected into
3067
+ title: Field Name
3068
+ description: Configures which key should be used in the location that the descriptor is being injected into. We hope to eventually deprecate this field in favor of `field_path` for all request_options, but must currently maintain it for backwards compatibility in the Builder.
3070
3069
  type: string
3071
3070
  examples:
3072
3071
  - segment_id
3073
3072
  interpolation_context:
3074
3073
  - config
3075
3074
  - parameters
3075
+ field_path:
3076
+ title: Field Path
3077
+ description: Configures a path to be used for nested structures in JSON body requests (e.g. GraphQL queries)
3078
+ type: array
3079
+ items:
3080
+ type: string
3081
+ examples:
3082
+ - ["data", "viewer", "id"]
3083
+ interpolation_context:
3084
+ - config
3085
+ - parameters
3076
3086
  inject_into:
3077
3087
  title: Inject Into
3078
3088
  description: Configures where the descriptor should be set on the HTTP requests. Note that request parameters that are already encoded in the URL path will not be duplicated.
@@ -365,14 +365,15 @@ class DatetimeBasedCursor(DeclarativeCursor):
365
365
  options: MutableMapping[str, Any] = {}
366
366
  if not stream_slice:
367
367
  return options
368
+
368
369
  if self.start_time_option and self.start_time_option.inject_into == option_type:
369
- options[self.start_time_option.field_name.eval(config=self.config)] = stream_slice.get( # type: ignore # field_name is always casted to an interpolated string
370
- self._partition_field_start.eval(self.config)
371
- )
370
+ start_time_value = stream_slice.get(self._partition_field_start.eval(self.config))
371
+ self.start_time_option.inject_into_request(options, start_time_value, self.config)
372
+
372
373
  if self.end_time_option and self.end_time_option.inject_into == option_type:
373
- options[self.end_time_option.field_name.eval(config=self.config)] = stream_slice.get( # type: ignore [union-attr]
374
- self._partition_field_end.eval(self.config)
375
- )
374
+ end_time_value = stream_slice.get(self._partition_field_end.eval(self.config))
375
+ self.end_time_option.inject_into_request(options, end_time_value, self.config)
376
+
376
377
  return options
377
378
 
378
379
  def should_be_synced(self, record: Record) -> bool:
@@ -657,7 +657,7 @@ class Rate(BaseModel):
657
657
  )
658
658
 
659
659
 
660
- class HttpRequestMatcher(BaseModel):
660
+ class HttpRequestRegexMatcher(BaseModel):
661
661
  class Config:
662
662
  extra = Extra.allow
663
663
 
@@ -1240,11 +1240,17 @@ class InjectInto(Enum):
1240
1240
 
1241
1241
  class RequestOption(BaseModel):
1242
1242
  type: Literal["RequestOption"]
1243
- field_name: str = Field(
1244
- ...,
1245
- description="Configures which key should be used in the location that the descriptor is being injected into",
1243
+ field_name: Optional[str] = Field(
1244
+ None,
1245
+ description="Configures which key should be used in the location that the descriptor is being injected into. We hope to eventually deprecate this field in favor of `field_path` for all request_options, but must currently maintain it for backwards compatibility in the Builder.",
1246
1246
  examples=["segment_id"],
1247
- title="Request Option",
1247
+ title="Field Name",
1248
+ )
1249
+ field_path: Optional[List[str]] = Field(
1250
+ None,
1251
+ description="Configures a path to be used for nested structures in JSON body requests (e.g. GraphQL queries)",
1252
+ examples=[["data", "viewer", "id"]],
1253
+ title="Field Path",
1248
1254
  )
1249
1255
  inject_into: InjectInto = Field(
1250
1256
  ...,
@@ -1636,7 +1642,7 @@ class FixedWindowCallRatePolicy(BaseModel):
1636
1642
  description="The maximum number of calls allowed within the period.",
1637
1643
  title="Call Limit",
1638
1644
  )
1639
- matchers: List[HttpRequestMatcher] = Field(
1645
+ matchers: List[HttpRequestRegexMatcher] = Field(
1640
1646
  ...,
1641
1647
  description="List of matchers that define which requests this policy applies to.",
1642
1648
  title="Matchers",
@@ -1653,7 +1659,7 @@ class MovingWindowCallRatePolicy(BaseModel):
1653
1659
  description="List of rates that define the call limits for different time intervals.",
1654
1660
  title="Rates",
1655
1661
  )
1656
- matchers: List[HttpRequestMatcher] = Field(
1662
+ matchers: List[HttpRequestRegexMatcher] = Field(
1657
1663
  ...,
1658
1664
  description="List of matchers that define which requests this policy applies to.",
1659
1665
  title="Matchers",
@@ -1665,7 +1671,7 @@ class UnlimitedCallRatePolicy(BaseModel):
1665
1671
  extra = Extra.allow
1666
1672
 
1667
1673
  type: Literal["UnlimitedCallRatePolicy"]
1668
- matchers: List[HttpRequestMatcher] = Field(
1674
+ matchers: List[HttpRequestRegexMatcher] = Field(
1669
1675
  ...,
1670
1676
  description="List of matchers that define which requests this policy applies to.",
1671
1677
  title="Matchers",
@@ -251,7 +251,7 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
251
251
  HttpRequester as HttpRequesterModel,
252
252
  )
253
253
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
254
- HttpRequestMatcher as HttpRequestMatcherModel,
254
+ HttpRequestRegexMatcher as HttpRequestRegexMatcherModel,
255
255
  )
256
256
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
257
257
  HttpResponseFilter as HttpResponseFilterModel,
@@ -494,7 +494,7 @@ from airbyte_cdk.sources.streams.call_rate import (
494
494
  APIBudget,
495
495
  FixedWindowCallRatePolicy,
496
496
  HttpAPIBudget,
497
- HttpRequestMatcher,
497
+ HttpRequestRegexMatcher,
498
498
  MovingWindowCallRatePolicy,
499
499
  Rate,
500
500
  UnlimitedCallRatePolicy,
@@ -644,7 +644,7 @@ class ModelToComponentFactory:
644
644
  MovingWindowCallRatePolicyModel: self.create_moving_window_call_rate_policy,
645
645
  UnlimitedCallRatePolicyModel: self.create_unlimited_call_rate_policy,
646
646
  RateModel: self.create_rate,
647
- HttpRequestMatcherModel: self.create_http_request_matcher,
647
+ HttpRequestRegexMatcherModel: self.create_http_request_matcher,
648
648
  }
649
649
 
650
650
  # Needed for the case where we need to perform a second parse on the fields of a custom component
@@ -771,8 +771,8 @@ class ModelToComponentFactory:
771
771
  }
772
772
  return names_to_types[value_type]
773
773
 
774
- @staticmethod
775
774
  def create_api_key_authenticator(
775
+ self,
776
776
  model: ApiKeyAuthenticatorModel,
777
777
  config: Config,
778
778
  token_provider: Optional[TokenProvider] = None,
@@ -794,10 +794,8 @@ class ModelToComponentFactory:
794
794
  )
795
795
 
796
796
  request_option = (
797
- RequestOption(
798
- inject_into=RequestOptionType(model.inject_into.inject_into.value),
799
- field_name=model.inject_into.field_name,
800
- parameters=model.parameters or {},
797
+ self._create_component_from_model(
798
+ model.inject_into, config, parameters=model.parameters or {}
801
799
  )
802
800
  if model.inject_into
803
801
  else RequestOption(
@@ -806,6 +804,7 @@ class ModelToComponentFactory:
806
804
  parameters=model.parameters or {},
807
805
  )
808
806
  )
807
+
809
808
  return ApiKeyAuthenticator(
810
809
  token_provider=(
811
810
  token_provider
@@ -887,7 +886,7 @@ class ModelToComponentFactory:
887
886
  token_provider=token_provider,
888
887
  )
889
888
  else:
890
- return ModelToComponentFactory.create_api_key_authenticator(
889
+ return self.create_api_key_authenticator(
891
890
  ApiKeyAuthenticatorModel(
892
891
  type="ApiKeyAuthenticator",
893
892
  api_token="",
@@ -1527,19 +1526,15 @@ class ModelToComponentFactory:
1527
1526
  )
1528
1527
 
1529
1528
  end_time_option = (
1530
- RequestOption(
1531
- inject_into=RequestOptionType(model.end_time_option.inject_into.value),
1532
- field_name=model.end_time_option.field_name,
1533
- parameters=model.parameters or {},
1529
+ self._create_component_from_model(
1530
+ model.end_time_option, config, parameters=model.parameters or {}
1534
1531
  )
1535
1532
  if model.end_time_option
1536
1533
  else None
1537
1534
  )
1538
1535
  start_time_option = (
1539
- RequestOption(
1540
- inject_into=RequestOptionType(model.start_time_option.inject_into.value),
1541
- field_name=model.start_time_option.field_name,
1542
- parameters=model.parameters or {},
1536
+ self._create_component_from_model(
1537
+ model.start_time_option, config, parameters=model.parameters or {}
1543
1538
  )
1544
1539
  if model.start_time_option
1545
1540
  else None
@@ -1610,19 +1605,15 @@ class ModelToComponentFactory:
1610
1605
  cursor_model = model.incremental_sync
1611
1606
 
1612
1607
  end_time_option = (
1613
- RequestOption(
1614
- inject_into=RequestOptionType(cursor_model.end_time_option.inject_into.value),
1615
- field_name=cursor_model.end_time_option.field_name,
1616
- parameters=cursor_model.parameters or {},
1608
+ self._create_component_from_model(
1609
+ cursor_model.end_time_option, config, parameters=cursor_model.parameters or {}
1617
1610
  )
1618
1611
  if cursor_model.end_time_option
1619
1612
  else None
1620
1613
  )
1621
1614
  start_time_option = (
1622
- RequestOption(
1623
- inject_into=RequestOptionType(cursor_model.start_time_option.inject_into.value),
1624
- field_name=cursor_model.start_time_option.field_name,
1625
- parameters=cursor_model.parameters or {},
1615
+ self._create_component_from_model(
1616
+ cursor_model.start_time_option, config, parameters=cursor_model.parameters or {}
1626
1617
  )
1627
1618
  if cursor_model.start_time_option
1628
1619
  else None
@@ -2191,16 +2182,11 @@ class ModelToComponentFactory:
2191
2182
  additional_jwt_payload=model.additional_jwt_payload,
2192
2183
  )
2193
2184
 
2194
- @staticmethod
2195
2185
  def create_list_partition_router(
2196
- model: ListPartitionRouterModel, config: Config, **kwargs: Any
2186
+ self, model: ListPartitionRouterModel, config: Config, **kwargs: Any
2197
2187
  ) -> ListPartitionRouter:
2198
2188
  request_option = (
2199
- RequestOption(
2200
- inject_into=RequestOptionType(model.request_option.inject_into.value),
2201
- field_name=model.request_option.field_name,
2202
- parameters=model.parameters or {},
2203
- )
2189
+ self._create_component_from_model(model.request_option, config)
2204
2190
  if model.request_option
2205
2191
  else None
2206
2192
  )
@@ -2396,7 +2382,25 @@ class ModelToComponentFactory:
2396
2382
  model: RequestOptionModel, config: Config, **kwargs: Any
2397
2383
  ) -> RequestOption:
2398
2384
  inject_into = RequestOptionType(model.inject_into.value)
2399
- return RequestOption(field_name=model.field_name, inject_into=inject_into, parameters={})
2385
+ field_path: Optional[List[Union[InterpolatedString, str]]] = (
2386
+ [
2387
+ InterpolatedString.create(segment, parameters=kwargs.get("parameters", {}))
2388
+ for segment in model.field_path
2389
+ ]
2390
+ if model.field_path
2391
+ else None
2392
+ )
2393
+ field_name = (
2394
+ InterpolatedString.create(model.field_name, parameters=kwargs.get("parameters", {}))
2395
+ if model.field_name
2396
+ else None
2397
+ )
2398
+ return RequestOption(
2399
+ field_name=field_name,
2400
+ field_path=field_path,
2401
+ inject_into=inject_into,
2402
+ parameters=kwargs.get("parameters", {}),
2403
+ )
2400
2404
 
2401
2405
  def create_record_selector(
2402
2406
  self,
@@ -3036,9 +3040,9 @@ class ModelToComponentFactory:
3036
3040
  )
3037
3041
 
3038
3042
  def create_http_request_matcher(
3039
- self, model: HttpRequestMatcherModel, config: Config, **kwargs: Any
3040
- ) -> HttpRequestMatcher:
3041
- return HttpRequestMatcher(
3043
+ self, model: HttpRequestRegexMatcherModel, config: Config, **kwargs: Any
3044
+ ) -> HttpRequestRegexMatcher:
3045
+ return HttpRequestRegexMatcher(
3042
3046
  method=model.method,
3043
3047
  url_base=model.url_base,
3044
3048
  url_path_pattern=model.url_path_pattern,
@@ -3,7 +3,7 @@
3
3
  #
4
4
 
5
5
  from dataclasses import InitVar, dataclass
6
- from typing import Any, Iterable, List, Mapping, Optional, Union
6
+ from typing import Any, Iterable, List, Mapping, MutableMapping, Optional, Union
7
7
 
8
8
  from airbyte_cdk.sources.declarative.interpolation.interpolated_string import InterpolatedString
9
9
  from airbyte_cdk.sources.declarative.partition_routers.partition_router import PartitionRouter
@@ -100,7 +100,9 @@ class ListPartitionRouter(PartitionRouter):
100
100
  ):
101
101
  slice_value = stream_slice.get(self._cursor_field.eval(self.config))
102
102
  if slice_value:
103
- return {self.request_option.field_name.eval(self.config): slice_value} # type: ignore # field_name is always casted to InterpolatedString
103
+ options: MutableMapping[str, Any] = {}
104
+ self.request_option.inject_into_request(options, slice_value, self.config)
105
+ return options
104
106
  else:
105
107
  return {}
106
108
  else:
@@ -4,7 +4,7 @@
4
4
  import copy
5
5
  import logging
6
6
  from dataclasses import InitVar, dataclass
7
- from typing import TYPE_CHECKING, Any, Iterable, List, Mapping, Optional, Union
7
+ from typing import TYPE_CHECKING, Any, Iterable, List, Mapping, MutableMapping, Optional, Union
8
8
 
9
9
  import dpath
10
10
 
@@ -118,7 +118,7 @@ class SubstreamPartitionRouter(PartitionRouter):
118
118
  def _get_request_option(
119
119
  self, option_type: RequestOptionType, stream_slice: Optional[StreamSlice]
120
120
  ) -> Mapping[str, Any]:
121
- params = {}
121
+ params: MutableMapping[str, Any] = {}
122
122
  if stream_slice:
123
123
  for parent_config in self.parent_stream_configs:
124
124
  if (
@@ -128,13 +128,7 @@ class SubstreamPartitionRouter(PartitionRouter):
128
128
  key = parent_config.partition_field.eval(self.config) # type: ignore # partition_field is always casted to an interpolated string
129
129
  value = stream_slice.get(key)
130
130
  if value:
131
- params.update(
132
- {
133
- parent_config.request_option.field_name.eval( # type: ignore [union-attr]
134
- config=self.config
135
- ): value
136
- }
137
- )
131
+ parent_config.request_option.inject_into_request(params, value, self.config)
138
132
  return params
139
133
 
140
134
  def stream_slices(self) -> Iterable[StreamSlice]:
@@ -305,23 +299,33 @@ class SubstreamPartitionRouter(PartitionRouter):
305
299
 
306
300
  def _migrate_child_state_to_parent_state(self, stream_state: StreamState) -> StreamState:
307
301
  """
308
- Migrate the child stream state to the parent stream's state format.
302
+ Migrate the child or global stream state into the parent stream's state format.
303
+
304
+ This method converts the child stream state—or, if present, the global state—into a format that is
305
+ compatible with parent streams that use incremental synchronization. The migration occurs only for
306
+ parent streams with incremental dependencies. It filters out per-partition states and retains only the
307
+ global state in the form {cursor_field: cursor_value}.
309
308
 
310
- This method converts the global or child state into a format compatible with parent
311
- streams. The migration occurs only for parent streams with incremental dependencies.
312
- The method filters out per-partition states and retains only the global state in the
313
- format `{cursor_field: cursor_value}`.
309
+ The method supports multiple input formats:
310
+ - A simple global state, e.g.:
311
+ {"updated_at": "2023-05-27T00:00:00Z"}
312
+ - A state object that contains a "state" key (which is assumed to hold the global state), e.g.:
313
+ {"state": {"updated_at": "2023-05-27T00:00:00Z"}, ...}
314
+ In this case, the migration uses the first value from the "state" dictionary.
315
+ - Any per-partition state formats or other non-simple structures are ignored during migration.
314
316
 
315
317
  Args:
316
318
  stream_state (StreamState): The state to migrate. Expected formats include:
317
319
  - {"updated_at": "2023-05-27T00:00:00Z"}
318
- - {"states": [...] } (ignored during migration)
320
+ - {"state": {"updated_at": "2023-05-27T00:00:00Z"}, ...}
321
+ (In this format, only the first global state value is used, and per-partition states are ignored.)
319
322
 
320
323
  Returns:
321
324
  StreamState: A migrated state for parent streams in the format:
322
325
  {
323
326
  "parent_stream_name": {"parent_stream_cursor": "2023-05-27T00:00:00Z"}
324
327
  }
328
+ where each parent stream with an incremental dependency is assigned its corresponding cursor value.
325
329
 
326
330
  Example:
327
331
  Input: {"updated_at": "2023-05-27T00:00:00Z"}
@@ -332,11 +336,15 @@ class SubstreamPartitionRouter(PartitionRouter):
332
336
  substream_state_values = list(stream_state.values())
333
337
  substream_state = substream_state_values[0] if substream_state_values else {}
334
338
 
335
- # Ignore per-partition states or invalid formats
339
+ # Ignore per-partition states or invalid formats.
336
340
  if isinstance(substream_state, (list, dict)) or len(substream_state_values) != 1:
337
- return {}
341
+ # If a global state is present under the key "state", use its first value.
342
+ if "state" in stream_state and isinstance(stream_state["state"], dict):
343
+ substream_state = list(stream_state["state"].values())[0]
344
+ else:
345
+ return {}
338
346
 
339
- # Copy child state to parent streams with incremental dependencies
347
+ # Build the parent state for all parent streams with incremental dependencies.
340
348
  parent_state = {}
341
349
  if substream_state:
342
350
  for parent_config in self.parent_stream_configs:
@@ -202,6 +202,9 @@ class HttpRequester(Requester):
202
202
  Raise a ValueError if there's a key collision
203
203
  Returned merged mapping otherwise
204
204
  """
205
+
206
+ is_body_json = requester_method.__name__ == "get_request_body_json"
207
+
205
208
  return combine_mappings(
206
209
  [
207
210
  requester_method(
@@ -211,7 +214,8 @@ class HttpRequester(Requester):
211
214
  ),
212
215
  auth_options_method(),
213
216
  extra_options,
214
- ]
217
+ ],
218
+ allow_same_value_merge=is_body_json,
215
219
  )
216
220
 
217
221
  def _request_headers(
@@ -187,7 +187,7 @@ class DefaultPaginator(Paginator):
187
187
  def _get_request_options(
188
188
  self, option_type: RequestOptionType, next_page_token: Optional[Mapping[str, Any]]
189
189
  ) -> MutableMapping[str, Any]:
190
- options = {}
190
+ options: MutableMapping[str, Any] = {}
191
191
 
192
192
  token = next_page_token.get("next_page_token") if next_page_token else None
193
193
  if (
@@ -196,15 +196,16 @@ class DefaultPaginator(Paginator):
196
196
  and isinstance(self.page_token_option, RequestOption)
197
197
  and self.page_token_option.inject_into == option_type
198
198
  ):
199
- options[self.page_token_option.field_name.eval(config=self.config)] = token # type: ignore # field_name is always cast to an interpolated string
199
+ self.page_token_option.inject_into_request(options, token, self.config)
200
+
200
201
  if (
201
202
  self.page_size_option
202
203
  and self.pagination_strategy.get_page_size()
203
204
  and self.page_size_option.inject_into == option_type
204
205
  ):
205
- options[self.page_size_option.field_name.eval(config=self.config)] = ( # type: ignore [union-attr]
206
- self.pagination_strategy.get_page_size()
207
- ) # type: ignore # field_name is always cast to an interpolated string
206
+ page_size = self.pagination_strategy.get_page_size()
207
+ self.page_size_option.inject_into_request(options, page_size, self.config)
208
+
208
209
  return options
209
210
 
210
211