airbyte-cdk 6.61.2__tar.gz → 6.61.3.post2.dev17299502224__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.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/PKG-INFO +4 -1
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/Dockerfile +45 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/README.md +142 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/__init__.py +3 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/api_models/__init__.py +49 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/api_models/capabilities.py +7 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/api_models/dicts.py +17 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/api_models/manifest.py +73 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/api_models/stream.py +76 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/app.py +17 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/auth.py +43 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/cli/__init__.py +5 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/cli/_common.py +28 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/cli/_info.py +30 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/cli/_openapi.py +43 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/cli/_start.py +38 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/cli/run.py +59 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/command_processor/processor.py +122 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/command_processor/utils.py +99 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/main.py +24 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/openapi.yaml +641 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/routers/capabilities.py +25 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/routers/health.py +13 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/routers/manifest.py +155 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +3 -3
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/sql/__init__.py +0 -0
- airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/sql/_util/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/pyproject.toml +11 -3
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/LICENSE.txt +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/README.md +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/airbyte_cdk/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/airbyte_cdk/_connector.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/airbyte_cdk/_image.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/airbyte_cdk/_manifest.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/airbyte_cdk/_secrets.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/airbyte_cdk/_version.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/airbyte_cdk/exceptions.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/source_declarative_manifest/README.md +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/config_observation.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/README.md +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/main.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/models.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/destination.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/entrypoint.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/exception_handler.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/legacy/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/legacy/sources/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/legacy/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/legacy/sources/declarative/declarative_source.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/legacy/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/legacy/sources/declarative/incremental/per_partition_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/legacy/sources/declarative/manifest_declarative_source.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/logger.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/README.md +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/exceptions.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/manifest_migration.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/migration_handler.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/migrations/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/migrations/http_requester_path_to_url.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/migrations/http_requester_url_base_to_url.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/migrations/registry.yaml +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/manifest_migrations/migrations_registry.py +0 -0
- {airbyte_cdk-6.61.2/airbyte_cdk/sources/declarative/async_job → airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/command_processor}/__init__.py +0 -0
- {airbyte_cdk-6.61.2/airbyte_cdk/sources/declarative/migrations → airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/manifest_server/routers}/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/models/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/models/airbyte_protocol.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/models/connector_metadata.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/models/well_known_types.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/py.typed +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/abstract_source.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/config.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/connector_state_manager.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/__init__.py +0 -0
- {airbyte_cdk-6.61.2/airbyte_cdk/sources/file_based/config → airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/sources/declarative/async_job}/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
- {airbyte_cdk-6.61.2/airbyte_cdk/sources/file_based/stream/concurrent → airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/sources/declarative/migrations}/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/group_by_key.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/merge_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/file_uploader/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/file_uploader/connector_builder_file_uploader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/file_uploader/default_file_uploader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_uploader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_writer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/file_uploader/local_file_system_file_writer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/file_uploader/noop_file_writer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/schema/composite_schema_loader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer_test_read_decorator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/config_transformations/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/config_transformations/add_fields.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/config_transformations/config_transformation.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/config_transformations/remap_field.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/config_transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/types.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/validators/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/validators/dpath_validator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/validators/predicate_validator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/validators/validate_adheres_to_schema.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/validators/validation_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/validators/validator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/README.md +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
- {airbyte_cdk-6.61.2/airbyte_cdk/sources/streams/concurrent/state_converters → airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/sources/file_based/config}/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_record_data.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
- {airbyte_cdk-6.61.2/airbyte_cdk/sql → airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/sources/file_based/stream/concurrent}/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/file_based/types.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/http_config.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/http_logger.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/message/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/message/concurrent_repository.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/message/repository.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/source.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/call_rate.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
- {airbyte_cdk-6.61.2/airbyte_cdk/sql/_util → airbyte_cdk-6.61.3.post2.dev17299502224/airbyte_cdk/sources/streams/concurrent/state_converters}/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/core.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/http.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/types.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/utils/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/utils/casing.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/utils/files_directory.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/utils/record_helper.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/utils/transform.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sources/utils/types.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sql/_util/hashing.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sql/constants.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sql/exceptions.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sql/secrets.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sql/shared/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/sql/types.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/catalog_builder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/mock_http/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/mock_http/matcher.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/mock_http/mocker.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/mock_http/request.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/mock_http/response.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/models/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/models/outcome.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/models/scenario.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/standard_tests/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/standard_tests/_job_runner.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/standard_tests/connector_base.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/standard_tests/declarative_sources.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/standard_tests/destination_base.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/standard_tests/docker_base.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/standard_tests/pytest_hooks.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/standard_tests/source_base.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/standard_tests/util.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/state_builder.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/utils/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/utils/data.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/utils/http_mocking.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/test/utils/reading.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/__init__.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/analytics_message.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/connector_paths.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/constants.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/datetime_helpers.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/docker.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/event_timing.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/mapping_helpers.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/message_utils.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/oneof_option_config.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/print_buffer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/schema_inferrer.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/slice_hasher.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/stream_status_utils.py +0 -0
- {airbyte_cdk-6.61.2 → airbyte_cdk-6.61.3.post2.dev17299502224}/airbyte_cdk/utils/traced_exception.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: airbyte-cdk
|
3
|
-
Version: 6.61.
|
3
|
+
Version: 6.61.3.post2.dev17299502224
|
4
4
|
Summary: A framework for writing Airbyte Connectors.
|
5
5
|
Home-page: https://airbyte.com
|
6
6
|
License: MIT
|
@@ -19,6 +19,7 @@ Classifier: Topic :: Scientific/Engineering
|
|
19
19
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
20
20
|
Provides-Extra: dev
|
21
21
|
Provides-Extra: file-based
|
22
|
+
Provides-Extra: manifest-server
|
22
23
|
Provides-Extra: sql
|
23
24
|
Provides-Extra: vector-db-based
|
24
25
|
Requires-Dist: Jinja2 (>=3.1.2,<3.2.0)
|
@@ -35,6 +36,7 @@ Requires-Dist: cryptography (>=44.0.0,<45.0.0)
|
|
35
36
|
Requires-Dist: dateparser (>=1.2.2,<2.0.0)
|
36
37
|
Requires-Dist: dpath (>=2.1.6,<3.0.0)
|
37
38
|
Requires-Dist: dunamai (>=1.22.0,<2.0.0)
|
39
|
+
Requires-Dist: fastapi (>=0.116.1) ; extra == "manifest-server"
|
38
40
|
Requires-Dist: fastavro (>=1.8.0,<1.9.0) ; extra == "file-based"
|
39
41
|
Requires-Dist: genson (==1.3.0)
|
40
42
|
Requires-Dist: google-cloud-secret-manager (>=2.17.0,<3.0.0)
|
@@ -77,6 +79,7 @@ Requires-Dist: typing-extensions
|
|
77
79
|
Requires-Dist: unidecode (>=1.3.8,<2.0.0)
|
78
80
|
Requires-Dist: unstructured.pytesseract (>=0.3.12) ; extra == "file-based"
|
79
81
|
Requires-Dist: unstructured[docx,pptx] (==0.10.27) ; extra == "file-based"
|
82
|
+
Requires-Dist: uvicorn (>=0.35.0) ; extra == "manifest-server"
|
80
83
|
Requires-Dist: wcmatch (==10.0)
|
81
84
|
Requires-Dist: whenever (>=0.6.16,<0.7.0)
|
82
85
|
Requires-Dist: xmltodict (>=0.13,<0.15)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Dockerfile for the Airbyte Manifest Server.
|
2
|
+
#
|
3
|
+
# This Dockerfile should be built from the root of the repository.
|
4
|
+
#
|
5
|
+
# Example:
|
6
|
+
# docker build -f airbyte_cdk/manifest_server/Dockerfile -t airbyte/manifest-server .
|
7
|
+
|
8
|
+
FROM python:3.12-slim-bookworm
|
9
|
+
|
10
|
+
# Install git (needed for dynamic versioning) and poetry
|
11
|
+
RUN apt-get update && \
|
12
|
+
apt-get install -y git && \
|
13
|
+
rm -rf /var/lib/apt/lists/* && \
|
14
|
+
pip install poetry==1.8.3
|
15
|
+
|
16
|
+
# Configure poetry to not create virtual environments and disable interactive mode
|
17
|
+
ENV POETRY_NO_INTERACTION=1 \
|
18
|
+
POETRY_CACHE_DIR=/tmp/poetry_cache
|
19
|
+
|
20
|
+
WORKDIR /app
|
21
|
+
|
22
|
+
# Copy poetry files (build from project root)
|
23
|
+
COPY pyproject.toml poetry.lock ./
|
24
|
+
|
25
|
+
# Copy the project source code (needed for dynamic versioning)
|
26
|
+
COPY . /app
|
27
|
+
|
28
|
+
# Install dependencies and package directly to system Python
|
29
|
+
RUN --mount=type=cache,target=$POETRY_CACHE_DIR \
|
30
|
+
poetry config virtualenvs.create false && \
|
31
|
+
poetry install --extras manifest-server
|
32
|
+
|
33
|
+
# Create a non-root user and group
|
34
|
+
RUN groupadd --gid 1000 airbyte && \
|
35
|
+
useradd --uid 1000 --gid airbyte --shell /bin/bash --create-home airbyte
|
36
|
+
|
37
|
+
# Change ownership
|
38
|
+
RUN chown -R airbyte:airbyte /app
|
39
|
+
|
40
|
+
# Run app as non-root user
|
41
|
+
USER airbyte:airbyte
|
42
|
+
|
43
|
+
EXPOSE 8080
|
44
|
+
|
45
|
+
CMD ["uvicorn", "airbyte_cdk.manifest_server.app:app", "--host", "0.0.0.0", "--port", "8080"]
|
@@ -0,0 +1,142 @@
|
|
1
|
+
# Manifest Server
|
2
|
+
|
3
|
+
An HTTP server for running Airbyte declarative connectors via their manifest files.
|
4
|
+
|
5
|
+
## Quick Start
|
6
|
+
|
7
|
+
### Installation
|
8
|
+
|
9
|
+
The manifest server is available as an extra dependency:
|
10
|
+
|
11
|
+
```bash
|
12
|
+
# Using Poetry (preferred)
|
13
|
+
poetry install --extras manifest-server
|
14
|
+
|
15
|
+
# Using pip
|
16
|
+
pip install airbyte-cdk[manifest-server]
|
17
|
+
|
18
|
+
# Using uv
|
19
|
+
uv pip install 'airbyte-cdk[manifest-server]'
|
20
|
+
```
|
21
|
+
|
22
|
+
### Running the Server
|
23
|
+
|
24
|
+
```bash
|
25
|
+
# Start the server (default port 8000)
|
26
|
+
manifest-server start
|
27
|
+
|
28
|
+
# Start on a specific port
|
29
|
+
manifest-server start --port 8080
|
30
|
+
|
31
|
+
# Or using Python module
|
32
|
+
python -m airbyte_cdk.manifest_server.cli.run start
|
33
|
+
```
|
34
|
+
|
35
|
+
The server will start on `http://localhost:8000` by default.
|
36
|
+
|
37
|
+
## API Endpoints
|
38
|
+
|
39
|
+
### `/v1/manifest/test_read`
|
40
|
+
Test reading from a specific stream in the manifest.
|
41
|
+
|
42
|
+
**POST** - Test stream reading with configurable limits for records, pages, and slices.
|
43
|
+
|
44
|
+
### `/v1/manifest/check`
|
45
|
+
Check configuration against a manifest.
|
46
|
+
|
47
|
+
**POST** - Validates connector configuration and returns success/failure status with message.
|
48
|
+
|
49
|
+
### `/v1/manifest/discover`
|
50
|
+
Discover streams from a manifest.
|
51
|
+
|
52
|
+
**POST** - Returns the catalog of available streams from the manifest.
|
53
|
+
|
54
|
+
### `/v1/manifest/resolve`
|
55
|
+
Resolve a manifest to its final configuration.
|
56
|
+
|
57
|
+
**POST** - Returns the resolved manifest without dynamic stream generation.
|
58
|
+
|
59
|
+
### `/v1/manifest/full_resolve`
|
60
|
+
Fully resolve a manifest including dynamic streams.
|
61
|
+
|
62
|
+
**POST** - Generates dynamic streams up to specified limits and includes them in the resolved manifest.
|
63
|
+
|
64
|
+
## Custom Components
|
65
|
+
|
66
|
+
The manifest server supports custom Python components, but this feature is **disabled by default** for security reasons.
|
67
|
+
|
68
|
+
### Enabling Custom Components
|
69
|
+
|
70
|
+
To allow custom Python components in your manifest files, set the environment variable:
|
71
|
+
```bash
|
72
|
+
export AIRBYTE_ENABLE_UNSAFE_CODE=true
|
73
|
+
```
|
74
|
+
|
75
|
+
## Authentication
|
76
|
+
|
77
|
+
The manifest server supports optional JWT bearer token authentication:
|
78
|
+
|
79
|
+
### Configuration
|
80
|
+
Set the environment variable to enable authentication:
|
81
|
+
```bash
|
82
|
+
export AB_JWT_SIGNATURE_SECRET="your-jwt-secret-key"
|
83
|
+
```
|
84
|
+
|
85
|
+
### Usage
|
86
|
+
When authentication is enabled, include a valid JWT token in the Authorization header:
|
87
|
+
```bash
|
88
|
+
curl -H "Authorization: Bearer <your-jwt-token>" \
|
89
|
+
http://localhost:8000/v1/manifest/test_read
|
90
|
+
```
|
91
|
+
|
92
|
+
### Behavior
|
93
|
+
- **Without `AB_JWT_SIGNATURE_SECRET`**: All requests pass through
|
94
|
+
- **With `AB_JWT_SIGNATURE_SECRET`**: Requires valid JWT bearer token using HS256 algorithm
|
95
|
+
|
96
|
+
## OpenAPI Specification
|
97
|
+
|
98
|
+
The manifest server provides an OpenAPI specification for API client generation:
|
99
|
+
|
100
|
+
### Generating the OpenAPI Spec
|
101
|
+
```bash
|
102
|
+
# Generate OpenAPI YAML (default location)
|
103
|
+
manifest-server generate-openapi
|
104
|
+
|
105
|
+
# Generate to custom location
|
106
|
+
manifest-server generate-openapi --output /path/to/openapi.yaml
|
107
|
+
```
|
108
|
+
|
109
|
+
The generated OpenAPI specification is consumed by other applications and tools to:
|
110
|
+
- Generate API clients in various programming languages
|
111
|
+
- Create SDK bindings for the manifest server
|
112
|
+
- Provide API documentation and validation
|
113
|
+
- Enable integration with API development tools
|
114
|
+
|
115
|
+
### Interactive API Documentation
|
116
|
+
|
117
|
+
When running, interactive API documentation is available at:
|
118
|
+
- Swagger UI: `http://localhost:8000/docs`
|
119
|
+
- ReDoc: `http://localhost:8000/redoc`
|
120
|
+
|
121
|
+
## Testing
|
122
|
+
|
123
|
+
Run the manifest server tests from the repository root:
|
124
|
+
|
125
|
+
```bash
|
126
|
+
# Run all manifest server tests
|
127
|
+
poetry run pytest unit_tests/manifest_server/ -v
|
128
|
+
```
|
129
|
+
|
130
|
+
## Docker
|
131
|
+
|
132
|
+
The manifest server can be containerized using the included Dockerfile. Build from the repository root:
|
133
|
+
|
134
|
+
```bash
|
135
|
+
# Build from repository root (not from manifest_server subdirectory)
|
136
|
+
docker build -f airbyte_cdk/manifest_server/Dockerfile -t manifest-server .
|
137
|
+
|
138
|
+
# Run the container
|
139
|
+
docker run -p 8080:8080 manifest-server
|
140
|
+
```
|
141
|
+
|
142
|
+
Note: The container runs on port 8080 by default.
|
@@ -0,0 +1,49 @@
|
|
1
|
+
"""
|
2
|
+
API Models for the Manifest Server Service.
|
3
|
+
|
4
|
+
This package contains all Pydantic models used for API requests and responses.
|
5
|
+
"""
|
6
|
+
|
7
|
+
from .dicts import ConnectorConfig, Manifest
|
8
|
+
from .manifest import (
|
9
|
+
CheckRequest,
|
10
|
+
CheckResponse,
|
11
|
+
DiscoverRequest,
|
12
|
+
DiscoverResponse,
|
13
|
+
FullResolveRequest,
|
14
|
+
ManifestResponse,
|
15
|
+
ResolveRequest,
|
16
|
+
StreamTestReadRequest,
|
17
|
+
)
|
18
|
+
from .stream import (
|
19
|
+
AuxiliaryRequest,
|
20
|
+
HttpRequest,
|
21
|
+
HttpResponse,
|
22
|
+
LogMessage,
|
23
|
+
StreamReadPages,
|
24
|
+
StreamReadResponse,
|
25
|
+
StreamReadSlices,
|
26
|
+
)
|
27
|
+
|
28
|
+
__all__ = [
|
29
|
+
# Typed Dicts
|
30
|
+
"ConnectorConfig",
|
31
|
+
"Manifest",
|
32
|
+
# Manifest request/response models
|
33
|
+
"FullResolveRequest",
|
34
|
+
"ManifestResponse",
|
35
|
+
"StreamTestReadRequest",
|
36
|
+
"ResolveRequest",
|
37
|
+
"CheckRequest",
|
38
|
+
"CheckResponse",
|
39
|
+
"DiscoverRequest",
|
40
|
+
"DiscoverResponse",
|
41
|
+
# Stream models
|
42
|
+
"AuxiliaryRequest",
|
43
|
+
"HttpRequest",
|
44
|
+
"HttpResponse",
|
45
|
+
"LogMessage",
|
46
|
+
"StreamReadResponse",
|
47
|
+
"StreamReadPages",
|
48
|
+
"StreamReadSlices",
|
49
|
+
]
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"""
|
2
|
+
Common API models shared across different endpoints.
|
3
|
+
"""
|
4
|
+
|
5
|
+
from pydantic import BaseModel, ConfigDict
|
6
|
+
|
7
|
+
|
8
|
+
class Manifest(BaseModel):
|
9
|
+
"""Base manifest model. Allows client generation to replace with proper JsonNode types."""
|
10
|
+
|
11
|
+
model_config = ConfigDict(extra="allow")
|
12
|
+
|
13
|
+
|
14
|
+
class ConnectorConfig(BaseModel):
|
15
|
+
"""Base connector configuration model. Allows client generation to replace with proper JsonNode types."""
|
16
|
+
|
17
|
+
model_config = ConfigDict(extra="allow")
|
@@ -0,0 +1,73 @@
|
|
1
|
+
"""
|
2
|
+
Manifest-related API models.
|
3
|
+
|
4
|
+
These models define the request and response structures for manifest operations
|
5
|
+
like reading, resolving, and full resolution.
|
6
|
+
"""
|
7
|
+
|
8
|
+
from typing import Any, List, Optional
|
9
|
+
|
10
|
+
from airbyte_protocol_dataclasses.models import AirbyteCatalog
|
11
|
+
from pydantic import BaseModel, Field
|
12
|
+
|
13
|
+
from .dicts import ConnectorConfig, Manifest
|
14
|
+
|
15
|
+
|
16
|
+
class StreamTestReadRequest(BaseModel):
|
17
|
+
"""Request to test read from a specific stream."""
|
18
|
+
|
19
|
+
manifest: Manifest
|
20
|
+
config: ConnectorConfig
|
21
|
+
stream_name: str
|
22
|
+
state: List[Any] = Field(default_factory=list)
|
23
|
+
custom_components_code: Optional[str] = None
|
24
|
+
record_limit: int = Field(default=100, ge=1, le=5000)
|
25
|
+
page_limit: int = Field(default=5, ge=1, le=20)
|
26
|
+
slice_limit: int = Field(default=5, ge=1, le=20)
|
27
|
+
|
28
|
+
|
29
|
+
class CheckRequest(BaseModel):
|
30
|
+
"""Request to check a manifest."""
|
31
|
+
|
32
|
+
manifest: Manifest
|
33
|
+
config: ConnectorConfig
|
34
|
+
|
35
|
+
|
36
|
+
class CheckResponse(BaseModel):
|
37
|
+
"""Response to check a manifest."""
|
38
|
+
|
39
|
+
success: bool
|
40
|
+
message: Optional[str] = None
|
41
|
+
|
42
|
+
|
43
|
+
class DiscoverRequest(BaseModel):
|
44
|
+
"""Request to discover a manifest."""
|
45
|
+
|
46
|
+
manifest: Manifest
|
47
|
+
config: ConnectorConfig
|
48
|
+
|
49
|
+
|
50
|
+
class DiscoverResponse(BaseModel):
|
51
|
+
"""Response to discover a manifest."""
|
52
|
+
|
53
|
+
catalog: AirbyteCatalog
|
54
|
+
|
55
|
+
|
56
|
+
class ResolveRequest(BaseModel):
|
57
|
+
"""Request to resolve a manifest."""
|
58
|
+
|
59
|
+
manifest: Manifest
|
60
|
+
|
61
|
+
|
62
|
+
class ManifestResponse(BaseModel):
|
63
|
+
"""Response containing a manifest."""
|
64
|
+
|
65
|
+
manifest: Manifest
|
66
|
+
|
67
|
+
|
68
|
+
class FullResolveRequest(BaseModel):
|
69
|
+
"""Request to fully resolve a manifest."""
|
70
|
+
|
71
|
+
manifest: Manifest
|
72
|
+
config: ConnectorConfig
|
73
|
+
stream_limit: int = Field(default=100, ge=1, le=100)
|
@@ -0,0 +1,76 @@
|
|
1
|
+
"""
|
2
|
+
Stream-related API models.
|
3
|
+
|
4
|
+
These models define the structure for stream reading operations and responses.
|
5
|
+
They accurately reflect the runtime types returned by the CDK, particularly
|
6
|
+
fixing type mismatches like slice_descriptor being a string rather than an object.
|
7
|
+
"""
|
8
|
+
|
9
|
+
from typing import Any, Dict, List, Optional
|
10
|
+
|
11
|
+
from pydantic import BaseModel
|
12
|
+
|
13
|
+
|
14
|
+
class HttpRequest(BaseModel):
|
15
|
+
"""HTTP request details."""
|
16
|
+
|
17
|
+
url: str
|
18
|
+
headers: Optional[Dict[str, Any]]
|
19
|
+
http_method: str
|
20
|
+
body: Optional[str] = None
|
21
|
+
|
22
|
+
|
23
|
+
class HttpResponse(BaseModel):
|
24
|
+
"""HTTP response details."""
|
25
|
+
|
26
|
+
status: int
|
27
|
+
body: Optional[str] = None
|
28
|
+
headers: Optional[Dict[str, Any]] = None
|
29
|
+
|
30
|
+
|
31
|
+
class LogMessage(BaseModel):
|
32
|
+
"""Log message from stream processing."""
|
33
|
+
|
34
|
+
message: str
|
35
|
+
level: str
|
36
|
+
internal_message: Optional[str] = None
|
37
|
+
stacktrace: Optional[str] = None
|
38
|
+
|
39
|
+
|
40
|
+
class AuxiliaryRequest(BaseModel):
|
41
|
+
"""Auxiliary HTTP request made during stream processing."""
|
42
|
+
|
43
|
+
title: str
|
44
|
+
type: str
|
45
|
+
description: str
|
46
|
+
request: HttpRequest
|
47
|
+
response: HttpResponse
|
48
|
+
|
49
|
+
|
50
|
+
class StreamReadPages(BaseModel):
|
51
|
+
"""Pages of data read from a stream slice."""
|
52
|
+
|
53
|
+
records: List[object]
|
54
|
+
request: Optional[HttpRequest] = None
|
55
|
+
response: Optional[HttpResponse] = None
|
56
|
+
|
57
|
+
|
58
|
+
class StreamReadSlices(BaseModel):
|
59
|
+
"""Slices of data read from a stream."""
|
60
|
+
|
61
|
+
pages: List[StreamReadPages]
|
62
|
+
slice_descriptor: Optional[str] # This is actually a string at runtime, not Dict[str, Any]
|
63
|
+
state: Optional[List[Dict[str, Any]]] = None
|
64
|
+
auxiliary_requests: Optional[List[AuxiliaryRequest]] = None
|
65
|
+
|
66
|
+
|
67
|
+
class StreamReadResponse(BaseModel):
|
68
|
+
"""Complete stream read response with properly typed fields."""
|
69
|
+
|
70
|
+
logs: List[LogMessage]
|
71
|
+
slices: List[StreamReadSlices]
|
72
|
+
test_read_limit_reached: bool
|
73
|
+
auxiliary_requests: List[AuxiliaryRequest]
|
74
|
+
inferred_schema: Optional[Dict[str, Any]]
|
75
|
+
inferred_datetime_formats: Optional[Dict[str, str]]
|
76
|
+
latest_config_update: Optional[Dict[str, Any]]
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from fastapi import FastAPI
|
2
|
+
|
3
|
+
from .routers import capabilities, health, manifest
|
4
|
+
|
5
|
+
app = FastAPI(
|
6
|
+
title="Manifest Server",
|
7
|
+
description="A service for running low-code Airbyte connectors",
|
8
|
+
version="0.1.0",
|
9
|
+
contact={
|
10
|
+
"name": "Airbyte",
|
11
|
+
"url": "https://airbyte.com",
|
12
|
+
},
|
13
|
+
)
|
14
|
+
|
15
|
+
app.include_router(health.router)
|
16
|
+
app.include_router(capabilities.router)
|
17
|
+
app.include_router(manifest.router, prefix="/v1")
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import os
|
2
|
+
from typing import Optional
|
3
|
+
|
4
|
+
import jwt
|
5
|
+
from fastapi import HTTPException, Security, status
|
6
|
+
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
7
|
+
|
8
|
+
security = HTTPBearer(auto_error=False)
|
9
|
+
|
10
|
+
|
11
|
+
def verify_jwt_token(
|
12
|
+
credentials: Optional[HTTPAuthorizationCredentials] = Security(security),
|
13
|
+
) -> None:
|
14
|
+
"""
|
15
|
+
Verify JWT token if AB_JWT_SIGNATURE_SECRET is set, otherwise allow through.
|
16
|
+
|
17
|
+
Args:
|
18
|
+
credentials: Bearer token credentials from request header
|
19
|
+
|
20
|
+
Raises:
|
21
|
+
HTTPException: If token is invalid or missing when secret is configured
|
22
|
+
"""
|
23
|
+
jwt_secret = os.getenv("AB_JWT_SIGNATURE_SECRET")
|
24
|
+
|
25
|
+
# If no secret is configured, allow all requests through
|
26
|
+
if not jwt_secret:
|
27
|
+
return
|
28
|
+
|
29
|
+
if not credentials:
|
30
|
+
raise HTTPException(
|
31
|
+
status_code=status.HTTP_401_UNAUTHORIZED,
|
32
|
+
detail="Bearer token required",
|
33
|
+
headers={"WWW-Authenticate": "Bearer"},
|
34
|
+
)
|
35
|
+
|
36
|
+
try:
|
37
|
+
jwt.decode(credentials.credentials, jwt_secret, algorithms=["HS256"])
|
38
|
+
except jwt.InvalidTokenError:
|
39
|
+
raise HTTPException(
|
40
|
+
status_code=status.HTTP_401_UNAUTHORIZED,
|
41
|
+
detail="Invalid token",
|
42
|
+
headers={"WWW-Authenticate": "Bearer"},
|
43
|
+
)
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
|
2
|
+
"""The `airbyte_cdk.manifest_server.cli` module provides a standalone CLI for the Airbyte CDK Manifest Server.
|
3
|
+
|
4
|
+
This CLI enables running a FastAPI server for managing and executing Airbyte declarative manifests.
|
5
|
+
"""
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
|
2
|
+
"""Common utilities for manifest server CLI commands."""
|
3
|
+
|
4
|
+
import sys
|
5
|
+
|
6
|
+
import rich_click as click
|
7
|
+
|
8
|
+
# Import server dependencies with graceful fallback
|
9
|
+
try:
|
10
|
+
import fastapi # noqa: F401
|
11
|
+
import uvicorn # noqa: F401
|
12
|
+
|
13
|
+
FASTAPI_AVAILABLE = True
|
14
|
+
except ImportError:
|
15
|
+
FASTAPI_AVAILABLE = False
|
16
|
+
|
17
|
+
|
18
|
+
def check_manifest_server_dependencies() -> None:
|
19
|
+
"""Check if manifest-server dependencies are installed."""
|
20
|
+
if not FASTAPI_AVAILABLE:
|
21
|
+
click.echo(
|
22
|
+
"❌ Manifest runner dependencies not found. Please install with:\n\n"
|
23
|
+
" pip install airbyte-cdk[manifest-server]\n"
|
24
|
+
" # or\n"
|
25
|
+
" poetry install --extras manifest-server\n",
|
26
|
+
err=True,
|
27
|
+
)
|
28
|
+
sys.exit(1)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
|
2
|
+
"""Info command for the manifest server CLI."""
|
3
|
+
|
4
|
+
from typing import Any, Optional
|
5
|
+
|
6
|
+
import rich_click as click
|
7
|
+
|
8
|
+
# Import server dependencies with graceful fallback
|
9
|
+
fastapi: Optional[Any] = None
|
10
|
+
uvicorn: Optional[Any] = None
|
11
|
+
|
12
|
+
try:
|
13
|
+
import fastapi # type: ignore[no-redef]
|
14
|
+
import uvicorn # type: ignore[no-redef]
|
15
|
+
|
16
|
+
FASTAPI_AVAILABLE = True
|
17
|
+
except ImportError:
|
18
|
+
FASTAPI_AVAILABLE = False
|
19
|
+
|
20
|
+
|
21
|
+
@click.command()
|
22
|
+
def info() -> None:
|
23
|
+
"""Show manifest server information and status."""
|
24
|
+
if FASTAPI_AVAILABLE and fastapi is not None and uvicorn is not None:
|
25
|
+
click.echo("✅ Manifest runner dependencies are installed")
|
26
|
+
click.echo(f" FastAPI version: {fastapi.__version__}")
|
27
|
+
click.echo(f" Uvicorn version: {uvicorn.__version__}")
|
28
|
+
else:
|
29
|
+
click.echo("❌ Manifest runner dependencies not installed")
|
30
|
+
click.echo(" Install with: pip install airbyte-cdk[manifest-server]")
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
|
2
|
+
"""Generate OpenAPI command for the manifest server CLI."""
|
3
|
+
|
4
|
+
from pathlib import Path
|
5
|
+
|
6
|
+
import rich_click as click
|
7
|
+
from yaml import dump
|
8
|
+
|
9
|
+
from ._common import check_manifest_server_dependencies
|
10
|
+
|
11
|
+
|
12
|
+
@click.command("generate-openapi")
|
13
|
+
@click.option(
|
14
|
+
"--output",
|
15
|
+
"-o",
|
16
|
+
default="airbyte_cdk/manifest_server/openapi.yaml",
|
17
|
+
help="Output path for the OpenAPI YAML file",
|
18
|
+
show_default=True,
|
19
|
+
)
|
20
|
+
def generate_openapi(output: str) -> None:
|
21
|
+
"""Generate OpenAPI YAML specification for the manifest server."""
|
22
|
+
check_manifest_server_dependencies()
|
23
|
+
|
24
|
+
# Import the FastAPI app
|
25
|
+
from airbyte_cdk.manifest_server.app import app
|
26
|
+
|
27
|
+
# Get OpenAPI schema
|
28
|
+
openapi_schema = app.openapi()
|
29
|
+
|
30
|
+
# Ensure output directory exists
|
31
|
+
output_path = Path(output)
|
32
|
+
output_path.parent.mkdir(parents=True, exist_ok=True)
|
33
|
+
|
34
|
+
# Write YAML file with header comment
|
35
|
+
with open(output_path, "w") as f:
|
36
|
+
f.write("# This file is auto-generated. Do not edit manually.\n")
|
37
|
+
f.write("# To regenerate, run: manifest-server generate-openapi\n")
|
38
|
+
f.write("\n")
|
39
|
+
dump(openapi_schema, f, default_flow_style=False, sort_keys=False)
|
40
|
+
|
41
|
+
click.echo(f"✅ OpenAPI YAML generated at: {output_path}")
|
42
|
+
click.echo(f" Title: {openapi_schema.get('info', {}).get('title', 'N/A')}")
|
43
|
+
click.echo(f" Version: {openapi_schema.get('info', {}).get('version', 'N/A')}")
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Copyright (c) 2025 Airbyte, Inc., all rights reserved.
|
2
|
+
"""Start command for the manifest server CLI."""
|
3
|
+
|
4
|
+
import rich_click as click
|
5
|
+
|
6
|
+
from ._common import check_manifest_server_dependencies
|
7
|
+
|
8
|
+
|
9
|
+
@click.command()
|
10
|
+
@click.option(
|
11
|
+
"--host",
|
12
|
+
default="127.0.0.1",
|
13
|
+
help="Host to bind the server to",
|
14
|
+
show_default=True,
|
15
|
+
)
|
16
|
+
@click.option(
|
17
|
+
"--port",
|
18
|
+
default=8000,
|
19
|
+
help="Port to bind the server to",
|
20
|
+
show_default=True,
|
21
|
+
)
|
22
|
+
@click.option(
|
23
|
+
"--reload",
|
24
|
+
is_flag=True,
|
25
|
+
help="Enable auto-reload for development",
|
26
|
+
)
|
27
|
+
def start(host: str, port: int, reload: bool) -> None:
|
28
|
+
"""Start the FastAPI manifest server server."""
|
29
|
+
check_manifest_server_dependencies()
|
30
|
+
|
31
|
+
# Import and use the main server function
|
32
|
+
from airbyte_cdk.manifest_server.main import run_server
|
33
|
+
|
34
|
+
run_server(
|
35
|
+
host=host,
|
36
|
+
port=port,
|
37
|
+
reload=reload,
|
38
|
+
)
|