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.
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/PKG-INFO +1 -1
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/token.py +3 -8
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +13 -2
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +18 -8
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +7 -6
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +14 -8
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +40 -36
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +4 -2
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +26 -18
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/http_requester.py +5 -1
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +6 -5
- airbyte_cdk-6.33.1.dev0/airbyte_cdk/sources/declarative/requesters/request_option.py +117 -0
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +4 -1
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/call_rate.py +63 -0
- airbyte_cdk-6.33.1.dev0/airbyte_cdk/utils/mapping_helpers.py +104 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/pyproject.toml +1 -1
- airbyte_cdk-6.33.0.dev0/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -38
- airbyte_cdk-6.33.0.dev0/airbyte_cdk/utils/mapping_helpers.py +0 -45
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/LICENSE.txt +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/README.md +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/main.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/connector_builder/models.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/entrypoint.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/airbyte_protocol.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {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
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/catalog.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/runner.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/embedded/tools.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {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
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {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
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/http_logger.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {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
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {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
- {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
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/types.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/record_helper.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/datetime_helpers.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/utils/traced_exception.py +0 -0
{airbyte_cdk-6.33.0.dev0 → airbyte_cdk-6.33.1.dev0}/airbyte_cdk/sources/declarative/auth/token.py
RENAMED
@@ -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
|
-
|
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
|
479
|
-
#
|
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/
|
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/
|
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/
|
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
|
-
|
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:
|
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
|
-
|
370
|
-
|
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
|
-
|
374
|
-
|
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
|
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="
|
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[
|
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[
|
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[
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
798
|
-
inject_into=
|
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
|
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
|
-
|
1531
|
-
|
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
|
-
|
1540
|
-
|
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
|
-
|
1614
|
-
|
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
|
-
|
1623
|
-
|
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
|
-
|
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
|
-
|
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:
|
3040
|
-
) ->
|
3041
|
-
return
|
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
|
-
|
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.
|
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
|
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
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
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
|
-
- {"
|
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
|
-
|
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
|
-
#
|
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
|
-
|
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
|
-
|
206
|
-
|
207
|
-
|
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
|
|