airbyte-cdk 6.59.1__tar.gz → 6.59.2__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.59.1 → airbyte_cdk-6.59.2}/PKG-INFO +1 -1
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/README.md +4 -3
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/migrations/registry.yaml +1 -1
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +103 -20
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +37 -17
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/entrypoint_wrapper.py +0 -1
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/models/scenario.py +9 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/standard_tests/connector_base.py +0 -8
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/standard_tests/docker_base.py +62 -26
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/standard_tests/source_base.py +7 -1
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/connector_paths.py +1 -2
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/pyproject.toml +1 -1
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/LICENSE.txt +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/README.md +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/airbyte_cdk/_connector.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/airbyte_cdk/_image.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/airbyte_cdk/_manifest.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/airbyte_cdk/_secrets.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/airbyte_cdk/_version.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/airbyte_cdk/exceptions.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/source_declarative_manifest/README.md +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/main.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/models.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/entrypoint.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/exceptions.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/manifest_migration.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/migration_handler.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/migrations/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/migrations/http_requester_path_to_url.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/migrations/http_requester_url_base_to_url.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/manifest_migrations/migrations_registry.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/models/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/models/airbyte_protocol.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/models/connector_metadata.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/group_by_key.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/merge_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/connector_builder_file_uploader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/default_file_uploader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_uploader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_writer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/local_file_system_file_writer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/file_uploader/noop_file_writer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/schema/composite_schema_loader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer_test_read_decorator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/add_fields.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/config_transformation.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/remap_field.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/config_transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/validators/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/validators/dpath_validator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/validators/predicate_validator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/validators/validate_adheres_to_schema.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/validators/validation_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/validators/validator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_record_data.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/http_logger.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/call_rate.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/types.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/utils/files_directory.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/utils/record_helper.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/models/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/models/outcome.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/standard_tests/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/standard_tests/_job_runner.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/standard_tests/declarative_sources.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/standard_tests/destination_base.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/standard_tests/pytest_hooks.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/standard_tests/util.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/datetime_helpers.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/docker.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/mapping_helpers.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.59.1 → airbyte_cdk-6.59.2}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -20,14 +20,15 @@ This directory contains the logic and registry for manifest migrations in the Ai
|
|
20
20
|
|
21
21
|
3. **Register the Migration:**
|
22
22
|
- Open `migrations/registry.yaml`.
|
23
|
-
- Add an entry under the appropriate version, or create a new version section if needed.
|
24
|
-
- Version can be: "*", "==6.48.3", "~=1.2", ">=1.0.0,<2.0.0", "6.48.3"
|
23
|
+
- Add an entry under the appropriate version, or create a new version section if needed.
|
24
|
+
- Version can be: "*", "==6.48.3", "~=1.2", ">=1.0.0,<2.0.0", "6.48.3"
|
25
25
|
- Each migration entry should include:
|
26
26
|
- `name`: The filename (without `.py`)
|
27
27
|
- `order`: The order in which this migration should be applied for the version
|
28
28
|
- `description`: A short description of the migration
|
29
29
|
|
30
30
|
Example:
|
31
|
+
|
31
32
|
```yaml
|
32
33
|
manifest_migrations:
|
33
34
|
- version: 6.45.2
|
@@ -71,4 +72,4 @@ class ExampleMigration(ManifestMigration):
|
|
71
72
|
|
72
73
|
---
|
73
74
|
|
74
|
-
For more details, see the docstrings in `manifest_migration.py` and the examples in the `migrations/` folder.
|
75
|
+
For more details, see the docstrings in `manifest_migration.py` and the examples in the `migrations/` folder.
|
@@ -940,14 +940,53 @@ definitions:
|
|
940
940
|
- "{{ config['record_cursor'] }}"
|
941
941
|
cursor_datetime_formats:
|
942
942
|
title: Cursor Datetime Formats
|
943
|
-
description: The possible formats for the cursor field, in order of preference. The first format that matches the cursor field value will be used to parse it. If not provided, the `datetime_format` will be used.
|
944
943
|
type: array
|
945
944
|
items:
|
946
945
|
type: string
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
-
|
946
|
+
description: |
|
947
|
+
The possible formats for the cursor field, in order of preference. The first format that matches the cursor field value will be used to parse it. If not provided, the Outgoing Datetime Format will be used.
|
948
|
+
Use placeholders starting with "%" to describe the format the API is using. The following placeholders are available:
|
949
|
+
* **%s**: Epoch unix timestamp - `1686218963`
|
950
|
+
* **%s_as_float**: Epoch unix timestamp in seconds as float with microsecond precision - `1686218963.123456`
|
951
|
+
* **%ms**: Epoch unix timestamp - `1686218963123`
|
952
|
+
* **%a**: Weekday (abbreviated) - `Sun`
|
953
|
+
* **%A**: Weekday (full) - `Sunday`
|
954
|
+
* **%w**: Weekday (decimal) - `0` (Sunday), `6` (Saturday)
|
955
|
+
* **%d**: Day of the month (zero-padded) - `01`, `02`, ..., `31`
|
956
|
+
* **%b**: Month (abbreviated) - `Jan`
|
957
|
+
* **%B**: Month (full) - `January`
|
958
|
+
* **%m**: Month (zero-padded) - `01`, `02`, ..., `12`
|
959
|
+
* **%y**: Year (without century, zero-padded) - `00`, `01`, ..., `99`
|
960
|
+
* **%Y**: Year (with century) - `0001`, `0002`, ..., `9999`
|
961
|
+
* **%H**: Hour (24-hour, zero-padded) - `00`, `01`, ..., `23`
|
962
|
+
* **%I**: Hour (12-hour, zero-padded) - `01`, `02`, ..., `12`
|
963
|
+
* **%p**: AM/PM indicator
|
964
|
+
* **%M**: Minute (zero-padded) - `00`, `01`, ..., `59`
|
965
|
+
* **%S**: Second (zero-padded) - `00`, `01`, ..., `59`
|
966
|
+
* **%f**: Microsecond (zero-padded to 6 digits) - `000000`, `000001`, ..., `999999`
|
967
|
+
* **%_ms**: Millisecond (zero-padded to 3 digits) - `000`, `001`, ..., `999`
|
968
|
+
* **%z**: UTC offset - `(empty)`, `+0000`, `-04:00`
|
969
|
+
* **%Z**: Time zone name - `(empty)`, `UTC`, `GMT`
|
970
|
+
* **%j**: Day of the year (zero-padded) - `001`, `002`, ..., `366`
|
971
|
+
* **%U**: Week number of the year (Sunday as first day) - `00`, `01`, ..., `53`
|
972
|
+
* **%W**: Week number of the year (Monday as first day) - `00`, `01`, ..., `53`
|
973
|
+
* **%c**: Date and time representation - `Tue Aug 16 21:30:00 1988`
|
974
|
+
* **%x**: Date representation - `08/16/1988`
|
975
|
+
* **%X**: Time representation - `21:30:00`
|
976
|
+
* **%%**: Literal '%' character
|
977
|
+
|
978
|
+
Some placeholders depend on the locale of the underlying system - in most cases this locale is configured as en/US. For more information see the [Python documentation](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes).
|
979
|
+
examples:
|
980
|
+
- "%Y-%m-%d"
|
981
|
+
- "%Y-%m-%d %H:%M:%S"
|
982
|
+
- "%Y-%m-%dT%H:%M:%S"
|
983
|
+
- "%Y-%m-%dT%H:%M:%SZ"
|
984
|
+
- "%Y-%m-%dT%H:%M:%S%z"
|
985
|
+
- "%Y-%m-%dT%H:%M:%S.%fZ"
|
986
|
+
- "%Y-%m-%dT%H:%M:%S.%f%z"
|
987
|
+
- "%Y-%m-%d %H:%M:%S.%f+00:00"
|
988
|
+
- "%s"
|
989
|
+
- "%ms"
|
951
990
|
start_datetime:
|
952
991
|
title: Start Datetime
|
953
992
|
description: The datetime that determines the earliest record that should be synced.
|
@@ -1024,33 +1063,45 @@ definitions:
|
|
1024
1063
|
- "%s_as_float"
|
1025
1064
|
cursor_granularity:
|
1026
1065
|
title: Cursor Granularity
|
1027
|
-
description:
|
1066
|
+
description: |
|
1028
1067
|
Smallest increment the datetime_format has (ISO 8601 duration) that is used to ensure the start of a slice does not overlap with the end of the previous one, e.g. for %Y-%m-%d the granularity should
|
1029
1068
|
be P1D, for %Y-%m-%dT%H:%M:%SZ the granularity should be PT1S. Given this field is provided, `step` needs to be provided as well.
|
1069
|
+
* **PT0.000001S**: 1 microsecond
|
1070
|
+
* **PT0.001S**: 1 millisecond
|
1071
|
+
* **PT1S**: 1 second
|
1072
|
+
* **PT1M**: 1 minute
|
1073
|
+
* **PT1H**: 1 hour
|
1074
|
+
* **P1D**: 1 day
|
1030
1075
|
type: string
|
1031
1076
|
examples:
|
1032
1077
|
- "PT1S"
|
1033
1078
|
is_data_feed:
|
1034
|
-
title:
|
1079
|
+
title: Data Feed API
|
1035
1080
|
description: A data feed API is an API that does not allow filtering and paginates the content from the most recent to the least recent. Given this, the CDK needs to know when to stop paginating and this field will generate a stop condition for pagination.
|
1036
1081
|
type: boolean
|
1037
1082
|
is_client_side_incremental:
|
1038
|
-
title:
|
1039
|
-
description:
|
1083
|
+
title: Client-side Incremental Filtering
|
1084
|
+
description: Set to True if the target API endpoint does not take cursor values to filter records and returns all records anyway. This will cause the connector to filter out records locally, and only emit new records from the last sync, hence incremental. This means that all records would be read from the API, but only new records will be emitted to the destination.
|
1040
1085
|
type: boolean
|
1041
1086
|
is_compare_strictly:
|
1042
|
-
title:
|
1043
|
-
description: Set to True if the target API does not accept queries where the start time equal the end time.
|
1087
|
+
title: Strict Start-End Time Comparison
|
1088
|
+
description: Set to True if the target API does not accept queries where the start time equal the end time. This will cause those requests to be skipped.
|
1044
1089
|
type: boolean
|
1045
1090
|
default: False
|
1046
1091
|
global_substream_cursor:
|
1047
|
-
title:
|
1048
|
-
description:
|
1092
|
+
title: Global Substream Cursor
|
1093
|
+
description: Setting to True causes the connector to store the cursor as one value, instead of per-partition. This setting optimizes performance when the parent stream has thousands of partitions. Notably, the substream state is updated only at the end of the sync, which helps prevent data loss in case of a sync failure. See more info in the [docs](https://docs.airbyte.com/connector-development/config-based/understanding-the-yaml-file/incremental-syncs).
|
1049
1094
|
type: boolean
|
1050
1095
|
default: false
|
1051
1096
|
lookback_window:
|
1052
1097
|
title: Lookback Window
|
1053
|
-
description:
|
1098
|
+
description: |
|
1099
|
+
Time interval (ISO8601 duration) before the start_datetime to read data for, e.g. P1M for looking back one month.
|
1100
|
+
* **PT1H**: 1 hour
|
1101
|
+
* **P1D**: 1 day
|
1102
|
+
* **P1W**: 1 week
|
1103
|
+
* **P1M**: 1 month
|
1104
|
+
* **P1Y**: 1 year
|
1054
1105
|
type: string
|
1055
1106
|
interpolation_context:
|
1056
1107
|
- config
|
@@ -1071,7 +1122,13 @@ definitions:
|
|
1071
1122
|
- "starting_time"
|
1072
1123
|
step:
|
1073
1124
|
title: Step
|
1074
|
-
description:
|
1125
|
+
description: |
|
1126
|
+
The size of the time window (ISO8601 duration). Given this field is provided, `cursor_granularity` needs to be provided as well.
|
1127
|
+
* **PT1H**: 1 hour
|
1128
|
+
* **P1D**: 1 day
|
1129
|
+
* **P1W**: 1 week
|
1130
|
+
* **P1M**: 1 month
|
1131
|
+
* **P1Y**: 1 year
|
1075
1132
|
type: string
|
1076
1133
|
examples:
|
1077
1134
|
- "P1W"
|
@@ -1095,6 +1152,8 @@ definitions:
|
|
1095
1152
|
title: Secret Key
|
1096
1153
|
type: string
|
1097
1154
|
description: Secret used to sign the JSON web token.
|
1155
|
+
interpolation_context:
|
1156
|
+
- config
|
1098
1157
|
examples:
|
1099
1158
|
- "{{ config['secret_key'] }}"
|
1100
1159
|
base64_encode_secret_key:
|
@@ -1224,8 +1283,10 @@ definitions:
|
|
1224
1283
|
title: Client ID
|
1225
1284
|
description: The OAuth client ID. Fill it in the user inputs.
|
1226
1285
|
type: string
|
1286
|
+
interpolation_context:
|
1287
|
+
- config
|
1227
1288
|
examples:
|
1228
|
-
- "{{ config['client_id }}"
|
1289
|
+
- "{{ config['client_id'] }}"
|
1229
1290
|
- "{{ config['credentials']['client_id }}"
|
1230
1291
|
client_secret_name:
|
1231
1292
|
title: Client Secret Property Name
|
@@ -1238,8 +1299,10 @@ definitions:
|
|
1238
1299
|
title: Client Secret
|
1239
1300
|
description: The OAuth client secret. Fill it in the user inputs.
|
1240
1301
|
type: string
|
1302
|
+
interpolation_context:
|
1303
|
+
- config
|
1241
1304
|
examples:
|
1242
|
-
- "{{ config['client_secret }}"
|
1305
|
+
- "{{ config['client_secret'] }}"
|
1243
1306
|
- "{{ config['credentials']['client_secret }}"
|
1244
1307
|
refresh_token_name:
|
1245
1308
|
title: Refresh Token Property Name
|
@@ -1252,6 +1315,8 @@ definitions:
|
|
1252
1315
|
title: Refresh Token
|
1253
1316
|
description: Credential artifact used to get a new access token.
|
1254
1317
|
type: string
|
1318
|
+
interpolation_context:
|
1319
|
+
- config
|
1255
1320
|
examples:
|
1256
1321
|
- "{{ config['refresh_token'] }}"
|
1257
1322
|
- "{{ config['credentials]['refresh_token'] }}"
|
@@ -1272,6 +1337,8 @@ definitions:
|
|
1272
1337
|
title: Access Token Value
|
1273
1338
|
description: The value of the access_token to bypass the token refreshing using `refresh_token`.
|
1274
1339
|
type: string
|
1340
|
+
interpolation_context:
|
1341
|
+
- config
|
1275
1342
|
examples:
|
1276
1343
|
- secret_access_token_value
|
1277
1344
|
expires_in_name:
|
@@ -1444,6 +1511,7 @@ definitions:
|
|
1444
1511
|
incremental_sync:
|
1445
1512
|
title: Incremental Sync
|
1446
1513
|
description: Component used to fetch data incrementally based on a time field in the data.
|
1514
|
+
linkable: true
|
1447
1515
|
anyOf:
|
1448
1516
|
- "$ref": "#/definitions/DatetimeBasedCursor"
|
1449
1517
|
- "$ref": "#/definitions/IncrementingCountCursor"
|
@@ -1476,6 +1544,7 @@ definitions:
|
|
1476
1544
|
transformations:
|
1477
1545
|
title: Transformations
|
1478
1546
|
description: A list of transformations to be applied to each output record.
|
1547
|
+
linkable: true
|
1479
1548
|
type: array
|
1480
1549
|
items:
|
1481
1550
|
anyOf:
|
@@ -1499,6 +1568,7 @@ definitions:
|
|
1499
1568
|
file_uploader:
|
1500
1569
|
title: File Uploader
|
1501
1570
|
description: (experimental) Describes how to fetch a file
|
1571
|
+
linkable: true
|
1502
1572
|
type: object
|
1503
1573
|
required:
|
1504
1574
|
- type
|
@@ -1901,7 +1971,13 @@ definitions:
|
|
1901
1971
|
type: string
|
1902
1972
|
expiration_duration:
|
1903
1973
|
title: Expiration Duration
|
1904
|
-
description:
|
1974
|
+
description: |
|
1975
|
+
The duration in ISO 8601 duration notation after which the session token expires, starting from the time it was obtained. Omitting it will result in the session token being refreshed for every request.
|
1976
|
+
* **PT1H**: 1 hour
|
1977
|
+
* **P1D**: 1 day
|
1978
|
+
* **P1W**: 1 week
|
1979
|
+
* **P1M**: 1 month
|
1980
|
+
* **P1Y**: 1 year
|
1905
1981
|
type: string
|
1906
1982
|
examples:
|
1907
1983
|
- "PT1H"
|
@@ -2055,6 +2131,7 @@ definitions:
|
|
2055
2131
|
request_parameters:
|
2056
2132
|
title: Query Parameters
|
2057
2133
|
description: Specifies the query parameters that should be set on an outgoing HTTP request given the inputs.
|
2134
|
+
linkable: true
|
2058
2135
|
anyOf:
|
2059
2136
|
- type: object
|
2060
2137
|
title: Key/Value Pairs
|
@@ -2077,6 +2154,7 @@ definitions:
|
|
2077
2154
|
request_headers:
|
2078
2155
|
title: Request Headers
|
2079
2156
|
description: Return any non-auth headers. Authentication headers will overwrite any overlapping headers returned from this method.
|
2157
|
+
linkable: true
|
2080
2158
|
anyOf:
|
2081
2159
|
- type: object
|
2082
2160
|
title: Key/Value Pairs
|
@@ -2136,6 +2214,7 @@ definitions:
|
|
2136
2214
|
request_body:
|
2137
2215
|
title: Request Body
|
2138
2216
|
description: Specifies how to populate the body of the request with a payload. Can contain nested objects.
|
2217
|
+
linkable: true
|
2139
2218
|
anyOf:
|
2140
2219
|
- "$ref": "#/definitions/RequestBodyPlainText"
|
2141
2220
|
- "$ref": "#/definitions/RequestBodyUrlEncodedForm"
|
@@ -2149,6 +2228,7 @@ definitions:
|
|
2149
2228
|
error_handler:
|
2150
2229
|
title: Error Handler
|
2151
2230
|
description: Error handler component that defines how to handle errors.
|
2231
|
+
linkable: true
|
2152
2232
|
anyOf:
|
2153
2233
|
- "$ref": "#/definitions/DefaultErrorHandler"
|
2154
2234
|
- "$ref": "#/definitions/CompositeErrorHandler"
|
@@ -2683,6 +2763,7 @@ definitions:
|
|
2683
2763
|
- 2021-01-01
|
2684
2764
|
- 2021-01-01T00:00:00Z
|
2685
2765
|
- "{{ config['start_time'] }}"
|
2766
|
+
- "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}"
|
2686
2767
|
datetime_format:
|
2687
2768
|
title: Datetime Format
|
2688
2769
|
description: |
|
@@ -3067,7 +3148,7 @@ definitions:
|
|
3067
3148
|
- 100
|
3068
3149
|
- "{{ config['page_size'] }}"
|
3069
3150
|
inject_on_first_request:
|
3070
|
-
title: Inject Offset
|
3151
|
+
title: Inject Offset on First Request
|
3071
3152
|
description: Using the `offset` with value `0` during the first request
|
3072
3153
|
type: boolean
|
3073
3154
|
default: false
|
@@ -3107,7 +3188,7 @@ definitions:
|
|
3107
3188
|
- 0
|
3108
3189
|
- 1
|
3109
3190
|
inject_on_first_request:
|
3110
|
-
title: Inject Page Number
|
3191
|
+
title: Inject Page Number on First Request
|
3111
3192
|
description: Using the `page number` with value defined by `start_from_page` during the first request
|
3112
3193
|
type: boolean
|
3113
3194
|
default: false
|
@@ -3590,6 +3671,7 @@ definitions:
|
|
3590
3671
|
"$ref": "#/definitions/RecordSelector"
|
3591
3672
|
paginator:
|
3592
3673
|
description: Paginator component that describes how to navigate through the API's pages.
|
3674
|
+
linkable: true
|
3593
3675
|
anyOf:
|
3594
3676
|
- "$ref": "#/definitions/DefaultPaginator"
|
3595
3677
|
- "$ref": "#/definitions/NoPagination"
|
@@ -3600,6 +3682,7 @@ definitions:
|
|
3600
3682
|
partition_router:
|
3601
3683
|
title: Partition Router
|
3602
3684
|
description: Used to iteratively execute requests over a set of values, such as a parent stream's records or a list of constant values.
|
3685
|
+
linkable: true
|
3603
3686
|
anyOf:
|
3604
3687
|
- "$ref": "#/definitions/SubstreamPartitionRouter"
|
3605
3688
|
- "$ref": "#/definitions/ListPartitionRouter"
|
@@ -523,7 +523,10 @@ class OAuthAuthenticator(BaseModel):
|
|
523
523
|
client_id: Optional[str] = Field(
|
524
524
|
None,
|
525
525
|
description="The OAuth client ID. Fill it in the user inputs.",
|
526
|
-
examples=[
|
526
|
+
examples=[
|
527
|
+
"{{ config['client_id'] }}",
|
528
|
+
"{{ config['credentials']['client_id }}",
|
529
|
+
],
|
527
530
|
title="Client ID",
|
528
531
|
)
|
529
532
|
client_secret_name: Optional[str] = Field(
|
@@ -536,7 +539,7 @@ class OAuthAuthenticator(BaseModel):
|
|
536
539
|
None,
|
537
540
|
description="The OAuth client secret. Fill it in the user inputs.",
|
538
541
|
examples=[
|
539
|
-
"{{ config['client_secret }}",
|
542
|
+
"{{ config['client_secret'] }}",
|
540
543
|
"{{ config['credentials']['client_secret }}",
|
541
544
|
],
|
542
545
|
title="Client Secret",
|
@@ -980,7 +983,12 @@ class MinMaxDatetime(BaseModel):
|
|
980
983
|
datetime: str = Field(
|
981
984
|
...,
|
982
985
|
description="Datetime value.",
|
983
|
-
examples=[
|
986
|
+
examples=[
|
987
|
+
"2021-01-01",
|
988
|
+
"2021-01-01T00:00:00Z",
|
989
|
+
"{{ config['start_time'] }}",
|
990
|
+
"{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}",
|
991
|
+
],
|
984
992
|
title="Datetime",
|
985
993
|
)
|
986
994
|
datetime_format: Optional[str] = Field(
|
@@ -1192,7 +1200,7 @@ class OffsetIncrement(BaseModel):
|
|
1192
1200
|
inject_on_first_request: Optional[bool] = Field(
|
1193
1201
|
False,
|
1194
1202
|
description="Using the `offset` with value `0` during the first request",
|
1195
|
-
title="Inject Offset",
|
1203
|
+
title="Inject Offset on First Request",
|
1196
1204
|
)
|
1197
1205
|
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
1198
1206
|
|
@@ -1214,7 +1222,7 @@ class PageIncrement(BaseModel):
|
|
1214
1222
|
inject_on_first_request: Optional[bool] = Field(
|
1215
1223
|
False,
|
1216
1224
|
description="Using the `page number` with value defined by `start_from_page` during the first request",
|
1217
|
-
title="Inject Page Number",
|
1225
|
+
title="Inject Page Number on First Request",
|
1218
1226
|
)
|
1219
1227
|
parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
|
1220
1228
|
|
@@ -1794,7 +1802,19 @@ class DatetimeBasedCursor(BaseModel):
|
|
1794
1802
|
)
|
1795
1803
|
cursor_datetime_formats: Optional[List[str]] = Field(
|
1796
1804
|
None,
|
1797
|
-
description="The possible formats for the cursor field, in order of preference. The first format that matches the cursor field value will be used to parse it. If not provided, the
|
1805
|
+
description="The possible formats for the cursor field, in order of preference. The first format that matches the cursor field value will be used to parse it. If not provided, the Outgoing Datetime Format will be used.\nUse placeholders starting with \"%\" to describe the format the API is using. The following placeholders are available:\n * **%s**: Epoch unix timestamp - `1686218963`\n * **%s_as_float**: Epoch unix timestamp in seconds as float with microsecond precision - `1686218963.123456`\n * **%ms**: Epoch unix timestamp - `1686218963123`\n * **%a**: Weekday (abbreviated) - `Sun`\n * **%A**: Weekday (full) - `Sunday`\n * **%w**: Weekday (decimal) - `0` (Sunday), `6` (Saturday)\n * **%d**: Day of the month (zero-padded) - `01`, `02`, ..., `31`\n * **%b**: Month (abbreviated) - `Jan`\n * **%B**: Month (full) - `January`\n * **%m**: Month (zero-padded) - `01`, `02`, ..., `12`\n * **%y**: Year (without century, zero-padded) - `00`, `01`, ..., `99`\n * **%Y**: Year (with century) - `0001`, `0002`, ..., `9999`\n * **%H**: Hour (24-hour, zero-padded) - `00`, `01`, ..., `23`\n * **%I**: Hour (12-hour, zero-padded) - `01`, `02`, ..., `12`\n * **%p**: AM/PM indicator\n * **%M**: Minute (zero-padded) - `00`, `01`, ..., `59`\n * **%S**: Second (zero-padded) - `00`, `01`, ..., `59`\n * **%f**: Microsecond (zero-padded to 6 digits) - `000000`, `000001`, ..., `999999`\n * **%_ms**: Millisecond (zero-padded to 3 digits) - `000`, `001`, ..., `999`\n * **%z**: UTC offset - `(empty)`, `+0000`, `-04:00`\n * **%Z**: Time zone name - `(empty)`, `UTC`, `GMT`\n * **%j**: Day of the year (zero-padded) - `001`, `002`, ..., `366`\n * **%U**: Week number of the year (Sunday as first day) - `00`, `01`, ..., `53`\n * **%W**: Week number of the year (Monday as first day) - `00`, `01`, ..., `53`\n * **%c**: Date and time representation - `Tue Aug 16 21:30:00 1988`\n * **%x**: Date representation - `08/16/1988`\n * **%X**: Time representation - `21:30:00`\n * **%%**: Literal '%' character\n\n Some placeholders depend on the locale of the underlying system - in most cases this locale is configured as en/US. For more information see the [Python documentation](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes).\n",
|
1806
|
+
examples=[
|
1807
|
+
"%Y-%m-%d",
|
1808
|
+
"%Y-%m-%d %H:%M:%S",
|
1809
|
+
"%Y-%m-%dT%H:%M:%S",
|
1810
|
+
"%Y-%m-%dT%H:%M:%SZ",
|
1811
|
+
"%Y-%m-%dT%H:%M:%S%z",
|
1812
|
+
"%Y-%m-%dT%H:%M:%S.%fZ",
|
1813
|
+
"%Y-%m-%dT%H:%M:%S.%f%z",
|
1814
|
+
"%Y-%m-%d %H:%M:%S.%f+00:00",
|
1815
|
+
"%s",
|
1816
|
+
"%ms",
|
1817
|
+
],
|
1798
1818
|
title="Cursor Datetime Formats",
|
1799
1819
|
)
|
1800
1820
|
start_datetime: Union[MinMaxDatetime, str] = Field(
|
@@ -1827,33 +1847,33 @@ class DatetimeBasedCursor(BaseModel):
|
|
1827
1847
|
)
|
1828
1848
|
cursor_granularity: Optional[str] = Field(
|
1829
1849
|
None,
|
1830
|
-
description="Smallest increment the datetime_format has (ISO 8601 duration) that is used to ensure the start of a slice does not overlap with the end of the previous one, e.g. for %Y-%m-%d the granularity should
|
1850
|
+
description="Smallest increment the datetime_format has (ISO 8601 duration) that is used to ensure the start of a slice does not overlap with the end of the previous one, e.g. for %Y-%m-%d the granularity should\nbe P1D, for %Y-%m-%dT%H:%M:%SZ the granularity should be PT1S. Given this field is provided, `step` needs to be provided as well.\n * **PT0.000001S**: 1 microsecond\n * **PT0.001S**: 1 millisecond\n * **PT1S**: 1 second\n * **PT1M**: 1 minute\n * **PT1H**: 1 hour\n * **P1D**: 1 day\n",
|
1831
1851
|
examples=["PT1S"],
|
1832
1852
|
title="Cursor Granularity",
|
1833
1853
|
)
|
1834
1854
|
is_data_feed: Optional[bool] = Field(
|
1835
1855
|
None,
|
1836
1856
|
description="A data feed API is an API that does not allow filtering and paginates the content from the most recent to the least recent. Given this, the CDK needs to know when to stop paginating and this field will generate a stop condition for pagination.",
|
1837
|
-
title="
|
1857
|
+
title="Data Feed API",
|
1838
1858
|
)
|
1839
1859
|
is_client_side_incremental: Optional[bool] = Field(
|
1840
1860
|
None,
|
1841
|
-
description="
|
1842
|
-
title="
|
1861
|
+
description="Set to True if the target API endpoint does not take cursor values to filter records and returns all records anyway. This will cause the connector to filter out records locally, and only emit new records from the last sync, hence incremental. This means that all records would be read from the API, but only new records will be emitted to the destination.",
|
1862
|
+
title="Client-side Incremental Filtering",
|
1843
1863
|
)
|
1844
1864
|
is_compare_strictly: Optional[bool] = Field(
|
1845
1865
|
False,
|
1846
|
-
description="Set to True if the target API does not accept queries where the start time equal the end time.",
|
1847
|
-
title="
|
1866
|
+
description="Set to True if the target API does not accept queries where the start time equal the end time. This will cause those requests to be skipped.",
|
1867
|
+
title="Strict Start-End Time Comparison",
|
1848
1868
|
)
|
1849
1869
|
global_substream_cursor: Optional[bool] = Field(
|
1850
1870
|
False,
|
1851
|
-
description="
|
1852
|
-
title="
|
1871
|
+
description="Setting to True causes the connector to store the cursor as one value, instead of per-partition. This setting optimizes performance when the parent stream has thousands of partitions. Notably, the substream state is updated only at the end of the sync, which helps prevent data loss in case of a sync failure. See more info in the [docs](https://docs.airbyte.com/connector-development/config-based/understanding-the-yaml-file/incremental-syncs).",
|
1872
|
+
title="Global Substream Cursor",
|
1853
1873
|
)
|
1854
1874
|
lookback_window: Optional[str] = Field(
|
1855
1875
|
None,
|
1856
|
-
description="Time interval before the start_datetime to read data for, e.g. P1M for looking back one month
|
1876
|
+
description="Time interval (ISO8601 duration) before the start_datetime to read data for, e.g. P1M for looking back one month.\n * **PT1H**: 1 hour\n * **P1D**: 1 day\n * **P1W**: 1 week\n * **P1M**: 1 month\n * **P1Y**: 1 year\n",
|
1857
1877
|
examples=["P1D", "P{{ config['lookback_days'] }}D"],
|
1858
1878
|
title="Lookback Window",
|
1859
1879
|
)
|
@@ -1871,7 +1891,7 @@ class DatetimeBasedCursor(BaseModel):
|
|
1871
1891
|
)
|
1872
1892
|
step: Optional[str] = Field(
|
1873
1893
|
None,
|
1874
|
-
description="The size of the time window (ISO8601 duration). Given this field is provided, `cursor_granularity` needs to be provided as well
|
1894
|
+
description="The size of the time window (ISO8601 duration). Given this field is provided, `cursor_granularity` needs to be provided as well.\n * **PT1H**: 1 hour\n * **P1D**: 1 day\n * **P1W**: 1 week\n * **P1M**: 1 month\n * **P1Y**: 1 year\n",
|
1875
1895
|
examples=["P1W", "{{ config['step_increment'] }}"],
|
1876
1896
|
title="Step",
|
1877
1897
|
)
|
@@ -2489,7 +2509,7 @@ class SessionTokenAuthenticator(BaseModel):
|
|
2489
2509
|
)
|
2490
2510
|
expiration_duration: Optional[str] = Field(
|
2491
2511
|
None,
|
2492
|
-
description="The duration in ISO 8601 duration notation after which the session token expires, starting from the time it was obtained. Omitting it will result in the session token being refreshed for every request
|
2512
|
+
description="The duration in ISO 8601 duration notation after which the session token expires, starting from the time it was obtained. Omitting it will result in the session token being refreshed for every request.\n * **PT1H**: 1 hour\n * **P1D**: 1 day\n * **P1W**: 1 week\n * **P1M**: 1 month\n * **P1Y**: 1 year\n",
|
2493
2513
|
examples=["PT1H", "P1D"],
|
2494
2514
|
title="Expiration Duration",
|
2495
2515
|
)
|
@@ -44,12 +44,21 @@ class ConnectorTestScenario(BaseModel):
|
|
44
44
|
skip_test: bool
|
45
45
|
bypass_reason: str
|
46
46
|
|
47
|
+
class AcceptanceTestEmptyStream(BaseModel):
|
48
|
+
name: str
|
49
|
+
bypass_reason: str | None = None
|
50
|
+
|
51
|
+
# bypass reason does not affect equality
|
52
|
+
def __hash__(self) -> int:
|
53
|
+
return hash(self.name)
|
54
|
+
|
47
55
|
config_path: Path | None = None
|
48
56
|
config_dict: dict[str, Any] | None = None
|
49
57
|
|
50
58
|
_id: str | None = None # Used to override the default ID generation
|
51
59
|
|
52
60
|
configured_catalog_path: Path | None = None
|
61
|
+
empty_streams: list[AcceptanceTestEmptyStream] | None = None
|
53
62
|
timeout_seconds: int | None = None
|
54
63
|
expect_records: AcceptanceTestExpectRecords | None = None
|
55
64
|
file_types: AcceptanceTestFileTypes | None = None
|
@@ -10,20 +10,12 @@ from typing import TYPE_CHECKING, cast
|
|
10
10
|
|
11
11
|
from boltons.typeutils import classproperty
|
12
12
|
|
13
|
-
from airbyte_cdk.models import (
|
14
|
-
AirbyteMessage,
|
15
|
-
Type,
|
16
|
-
)
|
17
13
|
from airbyte_cdk.test import entrypoint_wrapper
|
18
14
|
from airbyte_cdk.test.models import (
|
19
15
|
ConnectorTestScenario,
|
20
16
|
)
|
21
17
|
from airbyte_cdk.test.standard_tests._job_runner import IConnector, run_test_job
|
22
18
|
from airbyte_cdk.test.standard_tests.docker_base import DockerConnectorTestSuite
|
23
|
-
from airbyte_cdk.utils.connector_paths import (
|
24
|
-
ACCEPTANCE_TEST_CONFIG,
|
25
|
-
find_connector_root,
|
26
|
-
)
|
27
19
|
|
28
20
|
if TYPE_CHECKING:
|
29
21
|
from collections.abc import Callable
|