airbyte-cdk 6.19.0__tar.gz → 6.20.0__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.19.0 → airbyte_cdk-6.20.0}/PKG-INFO +1 -1
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/auth/oauth.py +8 -0
- airbyte_cdk-6.20.0/airbyte_cdk/sources/declarative/checks/__init__.py +24 -0
- airbyte_cdk-6.20.0/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +51 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +26 -1
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +2 -1
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +22 -2
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +15 -1
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/README.md +2 -3
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +13 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +8 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/pyproject.toml +1 -1
- airbyte_cdk-6.19.0/airbyte_cdk/sources/declarative/checks/__init__.py +0 -8
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/LICENSE.txt +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/README.md +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/connector_builder/main.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/connector_builder/models.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/entrypoint.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/models/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/models/airbyte_protocol.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/embedded/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/embedded/catalog.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/embedded/runner.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/embedded/tools.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/http_logger.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/call_rate.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/types.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/utils/record_helper.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/mapping_helpers.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -39,6 +39,7 @@ class DeclarativeOauth2Authenticator(AbstractOauth2Authenticator, DeclarativeAut
|
|
39
39
|
token_expiry_date_format str: format of the datetime; provide it if expires_in is returned in datetime instead of seconds
|
40
40
|
token_expiry_is_time_of_expiration bool: set True it if expires_in is returned as time of expiration instead of the number seconds until expiration
|
41
41
|
refresh_request_body (Optional[Mapping[str, Any]]): The request body to send in the refresh request
|
42
|
+
refresh_request_headers (Optional[Mapping[str, Any]]): The request headers to send in the refresh request
|
42
43
|
grant_type: The grant_type to request for access_token. If set to refresh_token, the refresh_token parameter has to be provided
|
43
44
|
message_repository (MessageRepository): the message repository used to emit logs on HTTP requests
|
44
45
|
"""
|
@@ -61,6 +62,7 @@ class DeclarativeOauth2Authenticator(AbstractOauth2Authenticator, DeclarativeAut
|
|
61
62
|
expires_in_name: Union[InterpolatedString, str] = "expires_in"
|
62
63
|
refresh_token_name: Union[InterpolatedString, str] = "refresh_token"
|
63
64
|
refresh_request_body: Optional[Mapping[str, Any]] = None
|
65
|
+
refresh_request_headers: Optional[Mapping[str, Any]] = None
|
64
66
|
grant_type_name: Union[InterpolatedString, str] = "grant_type"
|
65
67
|
grant_type: Union[InterpolatedString, str] = "refresh_token"
|
66
68
|
message_repository: MessageRepository = NoopMessageRepository()
|
@@ -101,6 +103,9 @@ class DeclarativeOauth2Authenticator(AbstractOauth2Authenticator, DeclarativeAut
|
|
101
103
|
self._refresh_request_body = InterpolatedMapping(
|
102
104
|
self.refresh_request_body or {}, parameters=parameters
|
103
105
|
)
|
106
|
+
self._refresh_request_headers = InterpolatedMapping(
|
107
|
+
self.refresh_request_headers or {}, parameters=parameters
|
108
|
+
)
|
104
109
|
self._token_expiry_date: pendulum.DateTime = (
|
105
110
|
pendulum.parse(
|
106
111
|
InterpolatedString.create(self.token_expiry_date, parameters=parameters).eval(
|
@@ -178,6 +183,9 @@ class DeclarativeOauth2Authenticator(AbstractOauth2Authenticator, DeclarativeAut
|
|
178
183
|
def get_refresh_request_body(self) -> Mapping[str, Any]:
|
179
184
|
return self._refresh_request_body.eval(self.config)
|
180
185
|
|
186
|
+
def get_refresh_request_headers(self) -> Mapping[str, Any]:
|
187
|
+
return self._refresh_request_headers.eval(self.config)
|
188
|
+
|
181
189
|
def get_token_expiry_date(self) -> pendulum.DateTime:
|
182
190
|
return self._token_expiry_date # type: ignore # _token_expiry_date is a pendulum.DateTime. It is never None despite what mypy thinks
|
183
191
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
|
3
|
+
#
|
4
|
+
|
5
|
+
from typing import Mapping
|
6
|
+
|
7
|
+
from pydantic.v1 import BaseModel
|
8
|
+
|
9
|
+
from airbyte_cdk.sources.declarative.checks.check_dynamic_stream import CheckDynamicStream
|
10
|
+
from airbyte_cdk.sources.declarative.checks.check_stream import CheckStream
|
11
|
+
from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
|
12
|
+
from airbyte_cdk.sources.declarative.models import (
|
13
|
+
CheckDynamicStream as CheckDynamicStreamModel,
|
14
|
+
)
|
15
|
+
from airbyte_cdk.sources.declarative.models import (
|
16
|
+
CheckStream as CheckStreamModel,
|
17
|
+
)
|
18
|
+
|
19
|
+
COMPONENTS_CHECKER_TYPE_MAPPING: Mapping[str, type[BaseModel]] = {
|
20
|
+
"CheckStream": CheckStreamModel,
|
21
|
+
"CheckDynamicStream": CheckDynamicStreamModel,
|
22
|
+
}
|
23
|
+
|
24
|
+
__all__ = ["CheckStream", "CheckDynamicStream", "ConnectionChecker"]
|
@@ -0,0 +1,51 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
|
3
|
+
#
|
4
|
+
|
5
|
+
import logging
|
6
|
+
import traceback
|
7
|
+
from dataclasses import InitVar, dataclass
|
8
|
+
from typing import Any, List, Mapping, Tuple
|
9
|
+
|
10
|
+
from airbyte_cdk import AbstractSource
|
11
|
+
from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
|
12
|
+
from airbyte_cdk.sources.streams.http.availability_strategy import HttpAvailabilityStrategy
|
13
|
+
|
14
|
+
|
15
|
+
@dataclass
|
16
|
+
class CheckDynamicStream(ConnectionChecker):
|
17
|
+
"""
|
18
|
+
Checks the connections by checking availability of one or many dynamic streams
|
19
|
+
|
20
|
+
Attributes:
|
21
|
+
stream_count (int): numbers of streams to check
|
22
|
+
"""
|
23
|
+
|
24
|
+
stream_count: int
|
25
|
+
parameters: InitVar[Mapping[str, Any]]
|
26
|
+
|
27
|
+
def __post_init__(self, parameters: Mapping[str, Any]) -> None:
|
28
|
+
self._parameters = parameters
|
29
|
+
|
30
|
+
def check_connection(
|
31
|
+
self, source: AbstractSource, logger: logging.Logger, config: Mapping[str, Any]
|
32
|
+
) -> Tuple[bool, Any]:
|
33
|
+
streams = source.streams(config=config)
|
34
|
+
if len(streams) == 0:
|
35
|
+
return False, f"No streams to connect to from source {source}"
|
36
|
+
|
37
|
+
for stream_index in range(min(self.stream_count, len(streams))):
|
38
|
+
stream = streams[stream_index]
|
39
|
+
availability_strategy = HttpAvailabilityStrategy()
|
40
|
+
try:
|
41
|
+
stream_is_available, reason = availability_strategy.check_availability(
|
42
|
+
stream, logger
|
43
|
+
)
|
44
|
+
if not stream_is_available:
|
45
|
+
return False, reason
|
46
|
+
except Exception as error:
|
47
|
+
logger.error(
|
48
|
+
f"Encountered an error trying to connect to stream {stream.name}. Error: \n {traceback.format_exc()}"
|
49
|
+
)
|
50
|
+
return False, f"Unable to connect to stream {stream.name} - {error}"
|
51
|
+
return True, None
|
@@ -18,7 +18,9 @@ properties:
|
|
18
18
|
type: string
|
19
19
|
enum: [DeclarativeSource]
|
20
20
|
check:
|
21
|
-
|
21
|
+
anyOf:
|
22
|
+
- "$ref": "#/definitions/CheckStream"
|
23
|
+
- "$ref": "#/definitions/CheckDynamicStream"
|
22
24
|
streams:
|
23
25
|
type: array
|
24
26
|
items:
|
@@ -303,6 +305,21 @@ definitions:
|
|
303
305
|
examples:
|
304
306
|
- ["users"]
|
305
307
|
- ["users", "contacts"]
|
308
|
+
CheckDynamicStream:
|
309
|
+
title: Dynamic Streams to Check
|
310
|
+
description: (This component is experimental. Use at your own risk.) Defines the dynamic streams to try reading when running a check operation.
|
311
|
+
type: object
|
312
|
+
required:
|
313
|
+
- type
|
314
|
+
- stream_count
|
315
|
+
properties:
|
316
|
+
type:
|
317
|
+
type: string
|
318
|
+
enum: [CheckDynamicStream]
|
319
|
+
stream_count:
|
320
|
+
title: Stream Count
|
321
|
+
description: Numbers of the streams to try reading from when running a check operation.
|
322
|
+
type: integer
|
306
323
|
CompositeErrorHandler:
|
307
324
|
title: Composite Error Handler
|
308
325
|
description: Error handler that sequentially iterates over a list of error handlers.
|
@@ -1139,6 +1156,14 @@ definitions:
|
|
1139
1156
|
- applicationId: "{{ config['application_id'] }}"
|
1140
1157
|
applicationSecret: "{{ config['application_secret'] }}"
|
1141
1158
|
token: "{{ config['token'] }}"
|
1159
|
+
refresh_request_headers:
|
1160
|
+
title: Refresh Request Headers
|
1161
|
+
description: Headers of the request sent to get a new access token.
|
1162
|
+
type: object
|
1163
|
+
additionalProperties: true
|
1164
|
+
examples:
|
1165
|
+
- Authorization: "<AUTH_TOKEN>"
|
1166
|
+
Content-Type: "application/x-www-form-urlencoded"
|
1142
1167
|
scopes:
|
1143
1168
|
title: Scopes
|
1144
1169
|
description: List of scopes that should be granted to the access token.
|
@@ -22,6 +22,7 @@ from airbyte_cdk.models import (
|
|
22
22
|
ConnectorSpecification,
|
23
23
|
FailureType,
|
24
24
|
)
|
25
|
+
from airbyte_cdk.sources.declarative.checks import COMPONENTS_CHECKER_TYPE_MAPPING
|
25
26
|
from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
|
26
27
|
from airbyte_cdk.sources.declarative.declarative_source import DeclarativeSource
|
27
28
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
@@ -107,7 +108,7 @@ class ManifestDeclarativeSource(DeclarativeSource):
|
|
107
108
|
if "type" not in check:
|
108
109
|
check["type"] = "CheckStream"
|
109
110
|
check_stream = self._constructor.create_component(
|
110
|
-
|
111
|
+
COMPONENTS_CHECKER_TYPE_MAPPING[check["type"]],
|
111
112
|
check,
|
112
113
|
dict(),
|
113
114
|
emit_connector_builder_messages=self._emit_connector_builder_messages,
|
@@ -52,6 +52,15 @@ class CheckStream(BaseModel):
|
|
52
52
|
)
|
53
53
|
|
54
54
|
|
55
|
+
class CheckDynamicStream(BaseModel):
|
56
|
+
type: Literal["CheckDynamicStream"]
|
57
|
+
stream_count: int = Field(
|
58
|
+
...,
|
59
|
+
description="Numbers of the streams to try reading from when running a check operation.",
|
60
|
+
title="Stream Count",
|
61
|
+
)
|
62
|
+
|
63
|
+
|
55
64
|
class ConcurrencyLevel(BaseModel):
|
56
65
|
type: Optional[Literal["ConcurrencyLevel"]] = None
|
57
66
|
default_concurrency: Union[int, str] = Field(
|
@@ -571,6 +580,17 @@ class OAuthAuthenticator(BaseModel):
|
|
571
580
|
],
|
572
581
|
title="Refresh Request Body",
|
573
582
|
)
|
583
|
+
refresh_request_headers: Optional[Dict[str, Any]] = Field(
|
584
|
+
None,
|
585
|
+
description="Headers of the request sent to get a new access token.",
|
586
|
+
examples=[
|
587
|
+
{
|
588
|
+
"Authorization": "<AUTH_TOKEN>",
|
589
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
590
|
+
}
|
591
|
+
],
|
592
|
+
title="Refresh Request Headers",
|
593
|
+
)
|
574
594
|
scopes: Optional[List[str]] = Field(
|
575
595
|
None,
|
576
596
|
description="List of scopes that should be granted to the access token.",
|
@@ -1650,7 +1670,7 @@ class DeclarativeSource1(BaseModel):
|
|
1650
1670
|
extra = Extra.forbid
|
1651
1671
|
|
1652
1672
|
type: Literal["DeclarativeSource"]
|
1653
|
-
check: CheckStream
|
1673
|
+
check: Union[CheckStream, CheckDynamicStream]
|
1654
1674
|
streams: List[DeclarativeStream]
|
1655
1675
|
dynamic_streams: Optional[List[DynamicDeclarativeStream]] = None
|
1656
1676
|
version: str = Field(
|
@@ -1676,7 +1696,7 @@ class DeclarativeSource2(BaseModel):
|
|
1676
1696
|
extra = Extra.forbid
|
1677
1697
|
|
1678
1698
|
type: Literal["DeclarativeSource"]
|
1679
|
-
check: CheckStream
|
1699
|
+
check: Union[CheckStream, CheckDynamicStream]
|
1680
1700
|
streams: Optional[List[DeclarativeStream]] = None
|
1681
1701
|
dynamic_streams: List[DynamicDeclarativeStream]
|
1682
1702
|
version: str = Field(
|
@@ -54,7 +54,7 @@ from airbyte_cdk.sources.declarative.auth.token_provider import (
|
|
54
54
|
SessionTokenProvider,
|
55
55
|
TokenProvider,
|
56
56
|
)
|
57
|
-
from airbyte_cdk.sources.declarative.checks import CheckStream
|
57
|
+
from airbyte_cdk.sources.declarative.checks import CheckDynamicStream, CheckStream
|
58
58
|
from airbyte_cdk.sources.declarative.concurrency_level import ConcurrencyLevel
|
59
59
|
from airbyte_cdk.sources.declarative.datetime import MinMaxDatetime
|
60
60
|
from airbyte_cdk.sources.declarative.declarative_stream import DeclarativeStream
|
@@ -123,6 +123,9 @@ from airbyte_cdk.sources.declarative.models.declarative_component_schema import
|
|
123
123
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
124
124
|
BearerAuthenticator as BearerAuthenticatorModel,
|
125
125
|
)
|
126
|
+
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
127
|
+
CheckDynamicStream as CheckDynamicStreamModel,
|
128
|
+
)
|
126
129
|
from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
|
127
130
|
CheckStream as CheckStreamModel,
|
128
131
|
)
|
@@ -493,6 +496,7 @@ class ModelToComponentFactory:
|
|
493
496
|
BasicHttpAuthenticatorModel: self.create_basic_http_authenticator,
|
494
497
|
BearerAuthenticatorModel: self.create_bearer_authenticator,
|
495
498
|
CheckStreamModel: self.create_check_stream,
|
499
|
+
CheckDynamicStreamModel: self.create_check_dynamic_stream,
|
496
500
|
CompositeErrorHandlerModel: self.create_composite_error_handler,
|
497
501
|
CompositeRawDecoderModel: self.create_composite_raw_decoder,
|
498
502
|
ConcurrencyLevelModel: self.create_concurrency_level,
|
@@ -846,6 +850,12 @@ class ModelToComponentFactory:
|
|
846
850
|
def create_check_stream(model: CheckStreamModel, config: Config, **kwargs: Any) -> CheckStream:
|
847
851
|
return CheckStream(stream_names=model.stream_names, parameters={})
|
848
852
|
|
853
|
+
@staticmethod
|
854
|
+
def create_check_dynamic_stream(
|
855
|
+
model: CheckDynamicStreamModel, config: Config, **kwargs: Any
|
856
|
+
) -> CheckDynamicStream:
|
857
|
+
return CheckDynamicStream(stream_count=model.stream_count, parameters={})
|
858
|
+
|
849
859
|
def create_composite_error_handler(
|
850
860
|
self, model: CompositeErrorHandlerModel, config: Config, **kwargs: Any
|
851
861
|
) -> CompositeErrorHandler:
|
@@ -1919,6 +1929,9 @@ class ModelToComponentFactory:
|
|
1919
1929
|
refresh_request_body=InterpolatedMapping(
|
1920
1930
|
model.refresh_request_body or {}, parameters=model.parameters or {}
|
1921
1931
|
).eval(config),
|
1932
|
+
refresh_request_headers=InterpolatedMapping(
|
1933
|
+
model.refresh_request_headers or {}, parameters=model.parameters or {}
|
1934
|
+
).eval(config),
|
1922
1935
|
scopes=model.scopes,
|
1923
1936
|
token_expiry_date_format=model.token_expiry_date_format,
|
1924
1937
|
message_repository=self._message_repository,
|
@@ -1938,6 +1951,7 @@ class ModelToComponentFactory:
|
|
1938
1951
|
grant_type_name=model.grant_type_name or "grant_type",
|
1939
1952
|
grant_type=model.grant_type or "refresh_token",
|
1940
1953
|
refresh_request_body=model.refresh_request_body,
|
1954
|
+
refresh_request_headers=model.refresh_request_headers,
|
1941
1955
|
refresh_token_name=model.refresh_token_name or "refresh_token",
|
1942
1956
|
refresh_token=model.refresh_token,
|
1943
1957
|
scopes=model.scopes,
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/requesters/README.md
RENAMED
@@ -3,13 +3,12 @@
|
|
3
3
|
- Components marked as optional are not required and can be ignored.
|
4
4
|
- if `url_requester` is not provided, `urls_extractor` will get urls from the `polling_job_response`
|
5
5
|
- interpolation_context, e.g. `create_job_response` or `polling_job_response` can be obtained from stream_slice
|
6
|
-
|
7
6
|
|
8
7
|
```mermaid
|
9
8
|
---
|
10
9
|
title: AsyncHttpJobRepository Sequence Diagram
|
11
10
|
---
|
12
|
-
sequenceDiagram
|
11
|
+
sequenceDiagram
|
13
12
|
participant AsyncHttpJobRepository as AsyncOrchestrator
|
14
13
|
participant CreationRequester as creation_requester
|
15
14
|
participant PollingRequester as polling_requester
|
@@ -54,4 +53,4 @@ sequenceDiagram
|
|
54
53
|
DeleteRequester -->> AsyncHttpJobRepository: Confirmation
|
55
54
|
|
56
55
|
|
57
|
-
```
|
56
|
+
```
|
@@ -98,6 +98,14 @@ class AbstractOauth2Authenticator(AuthBase):
|
|
98
98
|
|
99
99
|
return payload
|
100
100
|
|
101
|
+
def build_refresh_request_headers(self) -> Mapping[str, Any] | None:
|
102
|
+
"""
|
103
|
+
Returns the request headers to set on the refresh request
|
104
|
+
|
105
|
+
"""
|
106
|
+
headers = self.get_refresh_request_headers()
|
107
|
+
return headers if headers else None
|
108
|
+
|
101
109
|
def _wrap_refresh_token_exception(
|
102
110
|
self, exception: requests.exceptions.RequestException
|
103
111
|
) -> bool:
|
@@ -128,6 +136,7 @@ class AbstractOauth2Authenticator(AuthBase):
|
|
128
136
|
method="POST",
|
129
137
|
url=self.get_token_refresh_endpoint(), # type: ignore # returns None, if not provided, but str | bytes is expected.
|
130
138
|
data=self.build_refresh_request_body(),
|
139
|
+
headers=self.build_refresh_request_headers(),
|
131
140
|
)
|
132
141
|
if response.ok:
|
133
142
|
response_json = response.json()
|
@@ -254,6 +263,10 @@ class AbstractOauth2Authenticator(AuthBase):
|
|
254
263
|
def get_refresh_request_body(self) -> Mapping[str, Any]:
|
255
264
|
"""Returns the request body to set on the refresh request"""
|
256
265
|
|
266
|
+
@abstractmethod
|
267
|
+
def get_refresh_request_headers(self) -> Mapping[str, Any]:
|
268
|
+
"""Returns the request headers to set on the refresh request"""
|
269
|
+
|
257
270
|
@abstractmethod
|
258
271
|
def get_grant_type(self) -> str:
|
259
272
|
"""Returns grant_type specified for requesting access_token"""
|
@@ -39,6 +39,7 @@ class Oauth2Authenticator(AbstractOauth2Authenticator):
|
|
39
39
|
access_token_name: str = "access_token",
|
40
40
|
expires_in_name: str = "expires_in",
|
41
41
|
refresh_request_body: Mapping[str, Any] | None = None,
|
42
|
+
refresh_request_headers: Mapping[str, Any] | None = None,
|
42
43
|
grant_type_name: str = "grant_type",
|
43
44
|
grant_type: str = "refresh_token",
|
44
45
|
token_expiry_is_time_of_expiration: bool = False,
|
@@ -57,6 +58,7 @@ class Oauth2Authenticator(AbstractOauth2Authenticator):
|
|
57
58
|
self._access_token_name = access_token_name
|
58
59
|
self._expires_in_name = expires_in_name
|
59
60
|
self._refresh_request_body = refresh_request_body
|
61
|
+
self._refresh_request_headers = refresh_request_headers
|
60
62
|
self._grant_type_name = grant_type_name
|
61
63
|
self._grant_type = grant_type
|
62
64
|
|
@@ -101,6 +103,9 @@ class Oauth2Authenticator(AbstractOauth2Authenticator):
|
|
101
103
|
def get_refresh_request_body(self) -> Mapping[str, Any]:
|
102
104
|
return self._refresh_request_body # type: ignore [return-value]
|
103
105
|
|
106
|
+
def get_refresh_request_headers(self) -> Mapping[str, Any]:
|
107
|
+
return self._refresh_request_headers # type: ignore [return-value]
|
108
|
+
|
104
109
|
def get_grant_type_name(self) -> str:
|
105
110
|
return self._grant_type_name
|
106
111
|
|
@@ -149,6 +154,7 @@ class SingleUseRefreshTokenOauth2Authenticator(Oauth2Authenticator):
|
|
149
154
|
expires_in_name: str = "expires_in",
|
150
155
|
refresh_token_name: str = "refresh_token",
|
151
156
|
refresh_request_body: Mapping[str, Any] | None = None,
|
157
|
+
refresh_request_headers: Mapping[str, Any] | None = None,
|
152
158
|
grant_type_name: str = "grant_type",
|
153
159
|
grant_type: str = "refresh_token",
|
154
160
|
client_id_name: str = "client_id",
|
@@ -174,6 +180,7 @@ class SingleUseRefreshTokenOauth2Authenticator(Oauth2Authenticator):
|
|
174
180
|
expires_in_name (str, optional): Name of the name of the field that characterizes when the current access token will expire, used to parse the refresh token response. Defaults to "expires_in".
|
175
181
|
refresh_token_name (str, optional): Name of the name of the refresh token field, used to parse the refresh token response. Defaults to "refresh_token".
|
176
182
|
refresh_request_body (Mapping[str, Any], optional): Custom key value pair that will be added to the refresh token request body. Defaults to None.
|
183
|
+
refresh_request_headers (Mapping[str, Any], optional): Custom key value pair that will be added to the refresh token request headers. Defaults to None.
|
177
184
|
grant_type (str, optional): OAuth grant type. Defaults to "refresh_token".
|
178
185
|
client_id (Optional[str]): The client id to authenticate. If not specified, defaults to credentials.client_id in the config object.
|
179
186
|
client_secret (Optional[str]): The client secret to authenticate. If not specified, defaults to credentials.client_secret in the config object.
|
@@ -220,6 +227,7 @@ class SingleUseRefreshTokenOauth2Authenticator(Oauth2Authenticator):
|
|
220
227
|
access_token_name=access_token_name,
|
221
228
|
expires_in_name=expires_in_name,
|
222
229
|
refresh_request_body=refresh_request_body,
|
230
|
+
refresh_request_headers=refresh_request_headers,
|
223
231
|
grant_type_name=self._grant_type_name,
|
224
232
|
grant_type=grant_type,
|
225
233
|
token_expiry_date_format=token_expiry_date_format,
|
@@ -23,7 +23,7 @@ classifiers = [
|
|
23
23
|
keywords = ["airbyte", "connector-development-kit", "cdk"]
|
24
24
|
|
25
25
|
# Python CDK uses dynamic versioning: https://github.com/mtkennerly/poetry-dynamic-versioning
|
26
|
-
version = "6.
|
26
|
+
version = "6.20.0" # Version will be calculated dynamically.
|
27
27
|
|
28
28
|
[tool.poetry-dynamic-versioning]
|
29
29
|
enable = false
|
@@ -1,8 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
|
3
|
-
#
|
4
|
-
|
5
|
-
from airbyte_cdk.sources.declarative.checks.check_stream import CheckStream
|
6
|
-
from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
|
7
|
-
|
8
|
-
__all__ = ["CheckStream", "ConnectionChecker"]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/cli/source_declarative_manifest/__init__.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/cli/source_declarative_manifest/_run.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/cli/source_declarative_manifest/spec.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/connector_builder/connector_builder_handler.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/README.md
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/__init__.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/config.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/embedder.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/indexer.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/test_utils.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/destinations/vector_db_based/writer.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/models/airbyte_protocol_serializers.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/models/file_transfer_record_message.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/concurrent_source/concurrent_source.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/job_tracker.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/repository.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/status.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/async_job/timer.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/auth/token_provider.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/checks/check_stream.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/datetime/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/declarative_source.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/declarative_stream.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/__init__.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/decoder.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/json_decoder.py
RENAMED
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py
RENAMED
File without changes
|
File without changes
|
{airbyte_cdk-6.19.0 → airbyte_cdk-6.20.0}/airbyte_cdk/sources/declarative/extractors/__init__.py
RENAMED
File without changes
|
File without changes
|