airbyte-cdk 6.43.0.dev0__tar.gz → 6.43.1__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.43.0.dev0 → airbyte_cdk-6.43.1}/PKG-INFO +1 -1
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/connector_builder_handler.py +22 -8
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/main.py +3 -3
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +1 -128
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +6 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +1 -80
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +16 -4
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +5 -189
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +2 -25
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +31 -100
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/transformations/add_fields.py +3 -1
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/pyproject.toml +1 -1
- airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -14
- airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/group_by_key.py +0 -24
- airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -40
- airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +0 -65
- airbyte_cdk-6.43.0.dev0/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +0 -48
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/LICENSE.txt +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/README.md +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/models.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/entrypoint.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/models/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/models/airbyte_protocol.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/http_logger.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/call_rate.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/types.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/utils/record_helper.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/datetime_helpers.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/mapping_helpers.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.43.0.dev0 → airbyte_cdk-6.43.1}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
from dataclasses import asdict, dataclass, field
|
7
|
-
from typing import Any, List, Mapping
|
7
|
+
from typing import Any, Dict, List, Mapping
|
8
8
|
|
9
9
|
from airbyte_cdk.connector_builder.test_reader import TestReader
|
10
10
|
from airbyte_cdk.models import (
|
@@ -27,30 +27,34 @@ from airbyte_cdk.utils.traced_exception import AirbyteTracedException
|
|
27
27
|
DEFAULT_MAXIMUM_NUMBER_OF_PAGES_PER_SLICE = 5
|
28
28
|
DEFAULT_MAXIMUM_NUMBER_OF_SLICES = 5
|
29
29
|
DEFAULT_MAXIMUM_RECORDS = 100
|
30
|
+
DEFAULT_MAXIMUM_STREAMS = 100
|
30
31
|
|
31
32
|
MAX_PAGES_PER_SLICE_KEY = "max_pages_per_slice"
|
32
33
|
MAX_SLICES_KEY = "max_slices"
|
33
34
|
MAX_RECORDS_KEY = "max_records"
|
35
|
+
MAX_STREAMS_KEY = "max_streams"
|
34
36
|
|
35
37
|
|
36
38
|
@dataclass
|
37
|
-
class
|
39
|
+
class TestLimits:
|
38
40
|
max_records: int = field(default=DEFAULT_MAXIMUM_RECORDS)
|
39
41
|
max_pages_per_slice: int = field(default=DEFAULT_MAXIMUM_NUMBER_OF_PAGES_PER_SLICE)
|
40
42
|
max_slices: int = field(default=DEFAULT_MAXIMUM_NUMBER_OF_SLICES)
|
43
|
+
max_streams: int = field(default=DEFAULT_MAXIMUM_STREAMS)
|
41
44
|
|
42
45
|
|
43
|
-
def get_limits(config: Mapping[str, Any]) ->
|
46
|
+
def get_limits(config: Mapping[str, Any]) -> TestLimits:
|
44
47
|
command_config = config.get("__test_read_config", {})
|
45
48
|
max_pages_per_slice = (
|
46
49
|
command_config.get(MAX_PAGES_PER_SLICE_KEY) or DEFAULT_MAXIMUM_NUMBER_OF_PAGES_PER_SLICE
|
47
50
|
)
|
48
51
|
max_slices = command_config.get(MAX_SLICES_KEY) or DEFAULT_MAXIMUM_NUMBER_OF_SLICES
|
49
52
|
max_records = command_config.get(MAX_RECORDS_KEY) or DEFAULT_MAXIMUM_RECORDS
|
50
|
-
|
53
|
+
max_streams = command_config.get(MAX_STREAMS_KEY) or DEFAULT_MAXIMUM_STREAMS
|
54
|
+
return TestLimits(max_records, max_pages_per_slice, max_slices, max_streams)
|
51
55
|
|
52
56
|
|
53
|
-
def create_source(config: Mapping[str, Any], limits:
|
57
|
+
def create_source(config: Mapping[str, Any], limits: TestLimits) -> ManifestDeclarativeSource:
|
54
58
|
manifest = config["__injected_declarative_manifest"]
|
55
59
|
return ManifestDeclarativeSource(
|
56
60
|
config=config,
|
@@ -71,7 +75,7 @@ def read_stream(
|
|
71
75
|
config: Mapping[str, Any],
|
72
76
|
configured_catalog: ConfiguredAirbyteCatalog,
|
73
77
|
state: List[AirbyteStateMessage],
|
74
|
-
limits:
|
78
|
+
limits: TestLimits,
|
75
79
|
) -> AirbyteMessage:
|
76
80
|
try:
|
77
81
|
test_read_handler = TestReader(
|
@@ -117,13 +121,23 @@ def resolve_manifest(source: ManifestDeclarativeSource) -> AirbyteMessage:
|
|
117
121
|
return error.as_airbyte_message()
|
118
122
|
|
119
123
|
|
120
|
-
def full_resolve_manifest(source: ManifestDeclarativeSource) -> AirbyteMessage:
|
124
|
+
def full_resolve_manifest(source: ManifestDeclarativeSource, limits: TestLimits) -> AirbyteMessage:
|
121
125
|
try:
|
122
126
|
manifest = {**source.resolved_manifest}
|
123
127
|
streams = manifest.get("streams", [])
|
124
128
|
for stream in streams:
|
125
129
|
stream["dynamic_stream_name"] = None
|
126
|
-
|
130
|
+
|
131
|
+
mapped_streams: Dict[str, List[Dict[str, Any]]] = {}
|
132
|
+
for stream in source.dynamic_streams:
|
133
|
+
generated_streams = mapped_streams.setdefault(stream["dynamic_stream_name"], [])
|
134
|
+
|
135
|
+
if len(generated_streams) < limits.max_streams:
|
136
|
+
generated_streams += [stream]
|
137
|
+
|
138
|
+
for generated_streams_list in mapped_streams.values():
|
139
|
+
streams.extend(generated_streams_list)
|
140
|
+
|
127
141
|
manifest["streams"] = streams
|
128
142
|
return AirbyteMessage(
|
129
143
|
type=Type.RECORD,
|
@@ -10,7 +10,7 @@ import orjson
|
|
10
10
|
|
11
11
|
from airbyte_cdk.connector import BaseConnector
|
12
12
|
from airbyte_cdk.connector_builder.connector_builder_handler import (
|
13
|
-
|
13
|
+
TestLimits,
|
14
14
|
create_source,
|
15
15
|
full_resolve_manifest,
|
16
16
|
get_limits,
|
@@ -73,7 +73,7 @@ def handle_connector_builder_request(
|
|
73
73
|
config: Mapping[str, Any],
|
74
74
|
catalog: Optional[ConfiguredAirbyteCatalog],
|
75
75
|
state: List[AirbyteStateMessage],
|
76
|
-
limits:
|
76
|
+
limits: TestLimits,
|
77
77
|
) -> AirbyteMessage:
|
78
78
|
if command == "resolve_manifest":
|
79
79
|
return resolve_manifest(source)
|
@@ -83,7 +83,7 @@ def handle_connector_builder_request(
|
|
83
83
|
), "`test_read` requires a valid `ConfiguredAirbyteCatalog`, got None."
|
84
84
|
return read_stream(source, config, catalog, state, limits)
|
85
85
|
elif command == "full_resolve_manifest":
|
86
|
-
return full_resolve_manifest(source)
|
86
|
+
return full_resolve_manifest(source, limits)
|
87
87
|
else:
|
88
88
|
raise ValueError(f"Unrecognized command {command}.")
|
89
89
|
|
@@ -1023,15 +1023,6 @@ definitions:
|
|
1023
1023
|
$parameters:
|
1024
1024
|
type: object
|
1025
1025
|
additionalProperties: true
|
1026
|
-
EmitPartialRecordMergeStrategy:
|
1027
|
-
title: Emit Partial Record
|
1028
|
-
description: Record merge strategy where in the case where multiple requests are needed to retrieve all properties, properties are not consolidated back into a single record and are instead emitted as separate groups of properties. This strategy should only be used when records do not have a unique identifier like a primary key.
|
1029
|
-
required:
|
1030
|
-
- type
|
1031
|
-
properties:
|
1032
|
-
type:
|
1033
|
-
type: string
|
1034
|
-
enum: [EmitPartialRecordMergeStrategy]
|
1035
1026
|
JwtAuthenticator:
|
1036
1027
|
title: JWT Authenticator
|
1037
1028
|
description: Authenticator for requests using JWT authentication flow.
|
@@ -1740,30 +1731,6 @@ definitions:
|
|
1740
1731
|
$parameters:
|
1741
1732
|
type: object
|
1742
1733
|
additionalProperties: true
|
1743
|
-
GroupByKeyMergeStrategy:
|
1744
|
-
title: Group by Key
|
1745
|
-
description: Record merge strategy that combines records according to fields on the record.
|
1746
|
-
required:
|
1747
|
-
- type
|
1748
|
-
- key
|
1749
|
-
properties:
|
1750
|
-
type:
|
1751
|
-
type: string
|
1752
|
-
enum: [GroupByKeyMergeStrategy]
|
1753
|
-
key:
|
1754
|
-
title: Key
|
1755
|
-
description: The name of the field on the record whose value will be used to group properties that were retrieved through multiple API requests.
|
1756
|
-
anyOf:
|
1757
|
-
- type: string
|
1758
|
-
- type: array
|
1759
|
-
items:
|
1760
|
-
type: string
|
1761
|
-
examples:
|
1762
|
-
- "id"
|
1763
|
-
- ["parent_id", "end_date"]
|
1764
|
-
$parameters:
|
1765
|
-
type: object
|
1766
|
-
additionalProperties: true
|
1767
1734
|
SessionTokenAuthenticator:
|
1768
1735
|
type: object
|
1769
1736
|
required:
|
@@ -1983,9 +1950,7 @@ definitions:
|
|
1983
1950
|
- type: string
|
1984
1951
|
- type: object
|
1985
1952
|
additionalProperties:
|
1986
|
-
|
1987
|
-
- type: string
|
1988
|
-
- $ref": "#/definitions/QueryProperties"
|
1953
|
+
type: string
|
1989
1954
|
interpolation_context:
|
1990
1955
|
- next_page_token
|
1991
1956
|
- stream_interval
|
@@ -3003,98 +2968,6 @@ definitions:
|
|
3003
2968
|
examples:
|
3004
2969
|
- id
|
3005
2970
|
- ["code", "type"]
|
3006
|
-
PropertiesFromEndpoint:
|
3007
|
-
title: Properties from Endpoint
|
3008
|
-
description: Defines the behavior for fetching the list of properties from an API that will be loaded into the requests to extract records.
|
3009
|
-
type: object
|
3010
|
-
required:
|
3011
|
-
- type
|
3012
|
-
- property_field_path
|
3013
|
-
- retriever
|
3014
|
-
properties:
|
3015
|
-
type:
|
3016
|
-
type: string
|
3017
|
-
enum: [PropertiesFromEndpoint]
|
3018
|
-
property_field_path:
|
3019
|
-
description: Describes the path to the field that should be extracted
|
3020
|
-
type: array
|
3021
|
-
items:
|
3022
|
-
type: string
|
3023
|
-
examples:
|
3024
|
-
- ["name"]
|
3025
|
-
interpolation_context:
|
3026
|
-
- config
|
3027
|
-
- parameters
|
3028
|
-
retriever:
|
3029
|
-
description: Requester component that describes how to fetch the properties to query from a remote API endpoint.
|
3030
|
-
anyOf:
|
3031
|
-
- "$ref": "#/definitions/CustomRetriever"
|
3032
|
-
- "$ref": "#/definitions/SimpleRetriever"
|
3033
|
-
$parameters:
|
3034
|
-
type: object
|
3035
|
-
additionalProperties: true
|
3036
|
-
PropertyChunking:
|
3037
|
-
title: Property Chunking
|
3038
|
-
description: For APIs with restrictions on the amount of properties that can be requester per request, property chunking can be applied to make multiple requests with a subset of the properties.
|
3039
|
-
type: object
|
3040
|
-
required:
|
3041
|
-
- type
|
3042
|
-
- property_limit_type
|
3043
|
-
properties:
|
3044
|
-
type:
|
3045
|
-
type: string
|
3046
|
-
enum: [PropertyChunking]
|
3047
|
-
property_limit_type:
|
3048
|
-
title: Property Limit Type
|
3049
|
-
description: The type used to determine the maximum number of properties per chunk
|
3050
|
-
enum:
|
3051
|
-
- characters
|
3052
|
-
- property_count
|
3053
|
-
property_limit:
|
3054
|
-
title: Property Limit
|
3055
|
-
description: The maximum amount of properties that can be retrieved per request according to the limit type.
|
3056
|
-
type: integer
|
3057
|
-
record_merge_strategy:
|
3058
|
-
title: Record Merge Strategy
|
3059
|
-
description: Dictates how to records that require multiple requests to get all properties should be emitted to the destination
|
3060
|
-
anyOf:
|
3061
|
-
- "$ref": "#/definitions/EmitPartialRecordMergeStrategy"
|
3062
|
-
- "$ref": "#/definitions/GroupByKeyMergeStrategy"
|
3063
|
-
$parameters:
|
3064
|
-
type: object
|
3065
|
-
additionalProperties: true
|
3066
|
-
QueryProperties:
|
3067
|
-
title: Query Properties
|
3068
|
-
description: For APIs that require explicit specification of the properties to query for, this component specifies which property fields and how they are supplied to outbound requests.
|
3069
|
-
type: object
|
3070
|
-
required:
|
3071
|
-
- type
|
3072
|
-
- property_list
|
3073
|
-
properties:
|
3074
|
-
type:
|
3075
|
-
type: string
|
3076
|
-
enum: [QueryProperties]
|
3077
|
-
property_list:
|
3078
|
-
title: Property List
|
3079
|
-
description: The set of properties that will be queried for in the outbound request. This can either be statically defined or dynamic based on an API endpoint
|
3080
|
-
anyOf:
|
3081
|
-
- type: array
|
3082
|
-
items:
|
3083
|
-
type: string
|
3084
|
-
- "$ref": "#/definitions/PropertiesFromEndpoint"
|
3085
|
-
always_include_properties:
|
3086
|
-
title: Always Include Properties
|
3087
|
-
description: The list of properties that should be included in every set of properties when multiple chunks of properties are being requested.
|
3088
|
-
type: array
|
3089
|
-
items:
|
3090
|
-
type: string
|
3091
|
-
property_chunking:
|
3092
|
-
title: Property Chunking
|
3093
|
-
description: Defines how query properties will be grouped into smaller sets for APIs with limitations on the number of properties fetched per API request.
|
3094
|
-
"$ref": "#/definitions/PropertyChunking"
|
3095
|
-
$parameters:
|
3096
|
-
type: object
|
3097
|
-
additionalProperties: true
|
3098
2971
|
RecordFilter:
|
3099
2972
|
title: Record Filter
|
3100
2973
|
description: Filter applied on a list of records.
|
@@ -397,6 +397,12 @@ class ManifestDeclarativeSource(DeclarativeSource):
|
|
397
397
|
for dynamic_stream in components_resolver.resolve_components(
|
398
398
|
stream_template_config=stream_template_config
|
399
399
|
):
|
400
|
+
dynamic_stream = {
|
401
|
+
**ManifestComponentTransformer().propagate_types_and_parameters(
|
402
|
+
"", dynamic_stream, {}, use_parent_parameters=True
|
403
|
+
)
|
404
|
+
}
|
405
|
+
|
400
406
|
if "type" not in dynamic_stream:
|
401
407
|
dynamic_stream["type"] = "DeclarativeStream"
|
402
408
|
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
|
2
|
-
|
3
1
|
# generated by datamodel-codegen:
|
4
2
|
# filename: declarative_component_schema.yaml
|
5
3
|
|
@@ -345,10 +343,6 @@ class Clamping(BaseModel):
|
|
345
343
|
target_details: Optional[Dict[str, Any]] = None
|
346
344
|
|
347
345
|
|
348
|
-
class EmitPartialRecordMergeStrategy(BaseModel):
|
349
|
-
type: Literal["EmitPartialRecordMergeStrategy"]
|
350
|
-
|
351
|
-
|
352
346
|
class Algorithm(Enum):
|
353
347
|
HS256 = "HS256"
|
354
348
|
HS384 = "HS384"
|
@@ -722,17 +716,6 @@ class ExponentialBackoffStrategy(BaseModel):
|
|
722
716
|
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
723
717
|
|
724
718
|
|
725
|
-
class GroupByKeyMergeStrategy(BaseModel):
|
726
|
-
type: Literal["GroupByKeyMergeStrategy"]
|
727
|
-
key: Union[str, List[str]] = Field(
|
728
|
-
...,
|
729
|
-
description="The name of the field on the record whose value will be used to group properties that were retrieved through multiple API requests.",
|
730
|
-
examples=["id", ["parent_id", "end_date"]],
|
731
|
-
title="Key",
|
732
|
-
)
|
733
|
-
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
734
|
-
|
735
|
-
|
736
719
|
class SessionTokenRequestBearerAuthenticator(BaseModel):
|
737
720
|
type: Literal["Bearer"]
|
738
721
|
|
@@ -1204,33 +1187,6 @@ class PrimaryKey(BaseModel):
|
|
1204
1187
|
)
|
1205
1188
|
|
1206
1189
|
|
1207
|
-
class PropertyLimitType(Enum):
|
1208
|
-
characters = "characters"
|
1209
|
-
property_count = "property_count"
|
1210
|
-
|
1211
|
-
|
1212
|
-
class PropertyChunking(BaseModel):
|
1213
|
-
type: Literal["PropertyChunking"]
|
1214
|
-
property_limit_type: PropertyLimitType = Field(
|
1215
|
-
...,
|
1216
|
-
description="The type used to determine the maximum number of properties per chunk",
|
1217
|
-
title="Property Limit Type",
|
1218
|
-
)
|
1219
|
-
property_limit: Optional[int] = Field(
|
1220
|
-
None,
|
1221
|
-
description="The maximum amount of properties that can be retrieved per request according to the limit type.",
|
1222
|
-
title="Property Limit",
|
1223
|
-
)
|
1224
|
-
record_merge_strategy: Optional[
|
1225
|
-
Union[EmitPartialRecordMergeStrategy, GroupByKeyMergeStrategy]
|
1226
|
-
] = Field(
|
1227
|
-
None,
|
1228
|
-
description="Dictates how to records that require multiple requests to get all properties should be emitted to the destination",
|
1229
|
-
title="Record Merge Strategy",
|
1230
|
-
)
|
1231
|
-
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
1232
|
-
|
1233
|
-
|
1234
1190
|
class RecordFilter(BaseModel):
|
1235
1191
|
type: Literal["RecordFilter"]
|
1236
1192
|
condition: Optional[str] = Field(
|
@@ -2218,7 +2174,7 @@ class HttpRequester(BaseModel):
|
|
2218
2174
|
examples=[{"Output-Format": "JSON"}, {"Version": "{{ config['version'] }}"}],
|
2219
2175
|
title="Request Headers",
|
2220
2176
|
)
|
2221
|
-
request_parameters: Optional[Union[str, Dict[str,
|
2177
|
+
request_parameters: Optional[Union[str, Dict[str, str]]] = Field(
|
2222
2178
|
None,
|
2223
2179
|
description="Specifies the query parameters that should be set on an outgoing HTTP request given the inputs.",
|
2224
2180
|
examples=[
|
@@ -2308,40 +2264,6 @@ class ParentStreamConfig(BaseModel):
|
|
2308
2264
|
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
2309
2265
|
|
2310
2266
|
|
2311
|
-
class PropertiesFromEndpoint(BaseModel):
|
2312
|
-
type: Literal["PropertiesFromEndpoint"]
|
2313
|
-
property_field_path: List[str] = Field(
|
2314
|
-
...,
|
2315
|
-
description="Describes the path to the field that should be extracted",
|
2316
|
-
examples=[["name"]],
|
2317
|
-
)
|
2318
|
-
retriever: Union[CustomRetriever, SimpleRetriever] = Field(
|
2319
|
-
...,
|
2320
|
-
description="Requester component that describes how to fetch the properties to query from a remote API endpoint.",
|
2321
|
-
)
|
2322
|
-
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
2323
|
-
|
2324
|
-
|
2325
|
-
class QueryProperties(BaseModel):
|
2326
|
-
type: Literal["QueryProperties"]
|
2327
|
-
property_list: Union[List[str], PropertiesFromEndpoint] = Field(
|
2328
|
-
...,
|
2329
|
-
description="The set of properties that will be queried for in the outbound request. This can either be statically defined or dynamic based on an API endpoint",
|
2330
|
-
title="Property List",
|
2331
|
-
)
|
2332
|
-
always_include_properties: Optional[List[str]] = Field(
|
2333
|
-
None,
|
2334
|
-
description="The list of properties that should be included in every set of properties when multiple chunks of properties are being requested.",
|
2335
|
-
title="Always Include Properties",
|
2336
|
-
)
|
2337
|
-
property_chunking: Optional[PropertyChunking] = Field(
|
2338
|
-
None,
|
2339
|
-
description="Defines how query properties will be grouped into smaller sets for APIs with limitations on the number of properties fetched per API request.",
|
2340
|
-
title="Property Chunking",
|
2341
|
-
)
|
2342
|
-
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
2343
|
-
|
2344
|
-
|
2345
2267
|
class StateDelegatingStream(BaseModel):
|
2346
2268
|
type: Literal["StateDelegatingStream"]
|
2347
2269
|
name: str = Field(..., description="The stream name.", example=["Users"], title="Name")
|
@@ -2590,6 +2512,5 @@ DeclarativeStream.update_forward_refs()
|
|
2590
2512
|
SessionTokenAuthenticator.update_forward_refs()
|
2591
2513
|
DynamicSchemaLoader.update_forward_refs()
|
2592
2514
|
ParentStreamConfig.update_forward_refs()
|
2593
|
-
PropertiesFromEndpoint.update_forward_refs()
|
2594
2515
|
SimpleRetriever.update_forward_refs()
|
2595
2516
|
AsyncRetriever.update_forward_refs()
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
import copy
|
6
6
|
import typing
|
7
|
-
from typing import Any, Mapping
|
7
|
+
from typing import Any, Mapping, Optional
|
8
8
|
|
9
9
|
PARAMETERS_STR = "$parameters"
|
10
10
|
|
@@ -94,6 +94,7 @@ class ManifestComponentTransformer:
|
|
94
94
|
parent_field_identifier: str,
|
95
95
|
declarative_component: Mapping[str, Any],
|
96
96
|
parent_parameters: Mapping[str, Any],
|
97
|
+
use_parent_parameters: Optional[bool] = None,
|
97
98
|
) -> Mapping[str, Any]:
|
98
99
|
"""
|
99
100
|
Recursively transforms the specified declarative component and subcomponents to propagate parameters and insert the
|
@@ -103,6 +104,7 @@ class ManifestComponentTransformer:
|
|
103
104
|
:param declarative_component: The current component that is having type and parameters added
|
104
105
|
:param parent_field_identifier: The name of the field of the current component coming from the parent component
|
105
106
|
:param parent_parameters: The parameters set on parent components defined before the current component
|
107
|
+
:param use_parent_parameters: If set, parent parameters will be used as the source of truth when key names are the same
|
106
108
|
:return: A deep copy of the transformed component with types and parameters persisted to it
|
107
109
|
"""
|
108
110
|
propagated_component = dict(copy.deepcopy(declarative_component))
|
@@ -130,7 +132,11 @@ class ManifestComponentTransformer:
|
|
130
132
|
# level take precedence
|
131
133
|
current_parameters = dict(copy.deepcopy(parent_parameters))
|
132
134
|
component_parameters = propagated_component.pop(PARAMETERS_STR, {})
|
133
|
-
current_parameters =
|
135
|
+
current_parameters = (
|
136
|
+
{**component_parameters, **current_parameters}
|
137
|
+
if use_parent_parameters
|
138
|
+
else {**current_parameters, **component_parameters}
|
139
|
+
)
|
134
140
|
|
135
141
|
# Parameters should be applied to the current component fields with the existing field taking precedence over parameters if
|
136
142
|
# both exist
|
@@ -145,7 +151,10 @@ class ManifestComponentTransformer:
|
|
145
151
|
excluded_parameter = current_parameters.pop(field_name, None)
|
146
152
|
parent_type_field_identifier = f"{propagated_component.get('type')}.{field_name}"
|
147
153
|
propagated_component[field_name] = self.propagate_types_and_parameters(
|
148
|
-
parent_type_field_identifier,
|
154
|
+
parent_type_field_identifier,
|
155
|
+
field_value,
|
156
|
+
current_parameters,
|
157
|
+
use_parent_parameters=use_parent_parameters,
|
149
158
|
)
|
150
159
|
if excluded_parameter:
|
151
160
|
current_parameters[field_name] = excluded_parameter
|
@@ -158,7 +167,10 @@ class ManifestComponentTransformer:
|
|
158
167
|
f"{propagated_component.get('type')}.{field_name}"
|
159
168
|
)
|
160
169
|
field_value[i] = self.propagate_types_and_parameters(
|
161
|
-
parent_type_field_identifier,
|
170
|
+
parent_type_field_identifier,
|
171
|
+
element,
|
172
|
+
current_parameters,
|
173
|
+
use_parent_parameters=use_parent_parameters,
|
162
174
|
)
|
163
175
|
if excluded_parameter:
|
164
176
|
current_parameters[field_name] = excluded_parameter
|