airbyte-cdk 7.3.5__tar.gz → 7.3.7__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.
Files changed (467) hide show
  1. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/PKG-INFO +1 -1
  2. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/api_models/__init__.py +2 -0
  3. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/api_models/manifest.py +6 -0
  4. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/app.py +1 -1
  5. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/command_processor/utils.py +0 -9
  6. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/openapi.yaml +41 -1
  7. airbyte_cdk-7.3.7/airbyte_cdk/manifest_server/routers/manifest.py +264 -0
  8. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +11 -10
  9. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/pyproject.toml +1 -1
  10. airbyte_cdk-7.3.5/airbyte_cdk/manifest_server/routers/manifest.py +0 -191
  11. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/LICENSE.txt +0 -0
  12. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/LICENSE_SHORT +0 -0
  13. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/README.md +0 -0
  14. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/__init__.py +0 -0
  15. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/__init__.py +0 -0
  16. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/airbyte_cdk/__init__.py +0 -0
  17. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/airbyte_cdk/_connector.py +0 -0
  18. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/airbyte_cdk/_image.py +0 -0
  19. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/airbyte_cdk/_manifest.py +0 -0
  20. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/airbyte_cdk/_secrets.py +0 -0
  21. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/airbyte_cdk/_version.py +0 -0
  22. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/airbyte_cdk/exceptions.py +0 -0
  23. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/source_declarative_manifest/README.md +0 -0
  24. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  25. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  26. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  27. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/config_observation.py +0 -0
  28. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector.py +0 -0
  29. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/README.md +0 -0
  30. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/__init__.py +0 -0
  31. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  32. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/main.py +0 -0
  33. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/models.py +0 -0
  34. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/test_reader/__init__.py +0 -0
  35. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/test_reader/helpers.py +0 -0
  36. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/test_reader/message_grouper.py +0 -0
  37. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/test_reader/reader.py +0 -0
  38. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/connector_builder/test_reader/types.py +0 -0
  39. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/__init__.py +0 -0
  40. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/destination.py +0 -0
  41. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  42. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  43. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  44. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  45. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  46. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  47. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  48. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  49. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  50. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/entrypoint.py +0 -0
  51. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/exception_handler.py +0 -0
  52. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/__init__.py +0 -0
  53. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/__init__.py +0 -0
  54. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/__init__.py +0 -0
  55. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/declarative_source.py +0 -0
  56. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/declarative_stream.py +0 -0
  57. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/incremental/__init__.py +0 -0
  58. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  59. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/incremental/declarative_cursor.py +0 -0
  60. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/incremental/global_substream_cursor.py +0 -0
  61. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/incremental/per_partition_cursor.py +0 -0
  62. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/incremental/per_partition_with_global.py +0 -0
  63. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  64. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/legacy/sources/declarative/manifest_declarative_source.py +0 -0
  65. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/logger.py +0 -0
  66. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/README.md +0 -0
  67. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/__init__.py +0 -0
  68. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/exceptions.py +0 -0
  69. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/manifest_migration.py +0 -0
  70. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/migration_handler.py +0 -0
  71. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/migrations/__init__.py +0 -0
  72. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/migrations/http_requester_path_to_url.py +0 -0
  73. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py +0 -0
  74. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/migrations/http_requester_url_base_to_url.py +0 -0
  75. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/migrations/registry.yaml +0 -0
  76. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_migrations/migrations_registry.py +0 -0
  77. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/Dockerfile +0 -0
  78. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/README.md +0 -0
  79. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/__init__.py +0 -0
  80. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/api_models/capabilities.py +0 -0
  81. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/api_models/dicts.py +0 -0
  82. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/api_models/stream.py +0 -0
  83. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/cli/__init__.py +0 -0
  84. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/cli/_common.py +0 -0
  85. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/cli/_info.py +0 -0
  86. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/cli/_openapi.py +0 -0
  87. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/cli/_start.py +0 -0
  88. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/cli/run.py +0 -0
  89. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/command_processor/__init__.py +0 -0
  90. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/command_processor/processor.py +0 -0
  91. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/helpers/__init__.py +0 -0
  92. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/helpers/auth.py +0 -0
  93. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/helpers/tracing.py +0 -0
  94. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/main.py +0 -0
  95. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/routers/__init__.py +0 -0
  96. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/routers/capabilities.py +0 -0
  97. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/manifest_server/routers/health.py +0 -0
  98. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/models/__init__.py +0 -0
  99. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  100. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  101. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/models/connector_metadata.py +0 -0
  102. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/models/well_known_types.py +0 -0
  103. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/py.typed +0 -0
  104. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/__init__.py +0 -0
  105. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/abstract_source.py +0 -0
  106. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  107. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  108. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  109. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  110. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  111. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  112. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  113. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/config.py +0 -0
  114. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  115. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  116. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  117. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  118. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  119. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  120. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  121. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  122. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  123. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  124. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  125. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  126. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  127. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  128. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  129. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  130. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  131. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
  132. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  133. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  134. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  135. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  136. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
  137. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  138. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  139. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  140. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -0
  141. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  142. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  143. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  144. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/decoders/decoder_parser.py +0 -0
  145. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  146. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  147. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  148. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  149. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  150. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  151. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  152. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  153. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  154. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  155. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  156. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  157. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  158. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  159. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  160. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  161. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  162. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  163. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  164. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  165. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  166. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  167. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  168. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  169. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  170. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  171. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  172. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  173. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  174. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py +0 -0
  175. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -0
  176. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  177. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  178. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  179. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  180. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/parsers/manifest_normalizer.py +0 -0
  181. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  182. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +0 -0
  183. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  184. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  185. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  186. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/partition_routers/grouping_partition_router.py +0 -0
  187. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  188. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  189. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  190. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  191. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  192. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  193. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  194. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  195. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  196. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  197. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  198. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  199. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  200. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  201. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  202. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  203. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  204. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  205. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  206. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  207. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  208. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  209. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  210. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  211. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  212. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  213. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  214. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  215. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  216. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  217. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  218. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/query_properties/__init__.py +0 -0
  219. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/query_properties/properties_from_endpoint.py +0 -0
  220. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/query_properties/property_chunking.py +0 -0
  221. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/query_properties/query_properties.py +0 -0
  222. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/__init__.py +0 -0
  223. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/group_by_key.py +0 -0
  224. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/query_properties/strategies/merge_strategy.py +0 -0
  225. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  226. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  227. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  228. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  229. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  230. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  231. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  232. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_options/per_partition_request_option_provider.py +0 -0
  233. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  234. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  235. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  236. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  237. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  238. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
  239. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  240. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/resolvers/parametrized_components_resolver.py +0 -0
  241. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  242. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  243. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/file_uploader/__init__.py +0 -0
  244. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/file_uploader/connector_builder_file_uploader.py +0 -0
  245. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/file_uploader/default_file_uploader.py +0 -0
  246. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_uploader.py +0 -0
  247. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/file_uploader/file_writer.py +0 -0
  248. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/file_uploader/local_file_system_file_writer.py +0 -0
  249. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/file_uploader/noop_file_writer.py +0 -0
  250. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/pagination_tracker.py +0 -0
  251. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  252. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  253. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/schema/composite_schema_loader.py +0 -0
  254. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  255. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
  256. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  257. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  258. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  259. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  260. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  261. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  262. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  263. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  264. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer_test_read_decorator.py +0 -0
  265. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  266. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  267. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/config_transformations/__init__.py +0 -0
  268. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/config_transformations/add_fields.py +0 -0
  269. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/config_transformations/config_transformation.py +0 -0
  270. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/config_transformations/remap_field.py +0 -0
  271. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/config_transformations/remove_fields.py +0 -0
  272. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  273. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  274. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  275. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  276. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  277. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  278. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  279. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/types.py +0 -0
  280. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/validators/__init__.py +0 -0
  281. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/validators/dpath_validator.py +0 -0
  282. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/validators/predicate_validator.py +0 -0
  283. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/validators/validate_adheres_to_schema.py +0 -0
  284. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/validators/validation_strategy.py +0 -0
  285. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/validators/validator.py +0 -0
  286. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  287. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/README.md +0 -0
  288. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  289. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  290. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  291. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  292. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  293. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +0 -0
  294. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  295. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  296. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  297. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  298. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  299. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  300. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  301. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +0 -0
  302. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  303. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  304. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  305. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  306. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_based_source.py +0 -0
  307. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_based_stream_permissions_reader.py +0 -0
  308. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +0 -0
  309. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_record_data.py +0 -0
  310. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  311. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  312. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  313. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  314. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  315. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  316. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  317. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  318. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  319. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  320. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -0
  321. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  322. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  323. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  324. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/__init__.py +0 -0
  325. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  326. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  327. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  328. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  329. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  330. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  331. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  332. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  333. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  334. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  335. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +0 -0
  336. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/identities_stream.py +0 -0
  337. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/stream/permissions_file_based_stream.py +0 -0
  338. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/file_based/types.py +0 -0
  339. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/http_config.py +0 -0
  340. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/http_logger.py +0 -0
  341. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/message/__init__.py +0 -0
  342. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/message/concurrent_repository.py +0 -0
  343. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/message/repository.py +0 -0
  344. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/source.py +0 -0
  345. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/specs/transfer_modes.py +0 -0
  346. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/__init__.py +0 -0
  347. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  348. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  349. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  350. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  351. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  352. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  353. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  354. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  355. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  356. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  357. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  358. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  359. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  360. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  361. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  362. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  363. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  364. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  365. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  366. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  367. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  368. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  369. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  370. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  371. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  372. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  373. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  374. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  375. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  376. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  377. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/concurrent/state_converters/incrementing_count_stream_state_converter.py +0 -0
  378. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/core.py +0 -0
  379. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  380. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  381. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  382. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  383. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  384. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  385. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  386. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  387. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  388. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  389. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  390. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  391. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/http.py +0 -0
  392. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
  393. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/pagination_reset_exception.py +0 -0
  394. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  395. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  396. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  397. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  398. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  399. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  400. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/permissions/identities_stream.py +0 -0
  401. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  402. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/types.py +0 -0
  403. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/utils/__init__.py +0 -0
  404. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/utils/casing.py +0 -0
  405. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/utils/files_directory.py +0 -0
  406. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  407. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  408. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  409. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/utils/transform.py +0 -0
  410. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sources/utils/types.py +0 -0
  411. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/__init__.py +0 -0
  412. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/_util/__init__.py +0 -0
  413. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/_util/hashing.py +0 -0
  414. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  415. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/constants.py +0 -0
  416. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/exceptions.py +0 -0
  417. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/secrets.py +0 -0
  418. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/shared/__init__.py +0 -0
  419. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  420. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
  421. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/sql/types.py +0 -0
  422. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/__init__.py +0 -0
  423. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/catalog_builder.py +0 -0
  424. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  425. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  426. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  427. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  428. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/mock_http/request.py +0 -0
  429. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/mock_http/response.py +0 -0
  430. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  431. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/models/__init__.py +0 -0
  432. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/models/outcome.py +0 -0
  433. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/models/scenario.py +0 -0
  434. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/standard_tests/__init__.py +0 -0
  435. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/standard_tests/_job_runner.py +0 -0
  436. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/standard_tests/connector_base.py +0 -0
  437. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/standard_tests/declarative_sources.py +0 -0
  438. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/standard_tests/destination_base.py +0 -0
  439. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/standard_tests/docker_base.py +0 -0
  440. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/standard_tests/pytest_hooks.py +0 -0
  441. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/standard_tests/source_base.py +0 -0
  442. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/standard_tests/util.py +0 -0
  443. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/state_builder.py +0 -0
  444. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/utils/__init__.py +0 -0
  445. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/utils/data.py +0 -0
  446. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  447. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  448. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/test/utils/reading.py +0 -0
  449. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/__init__.py +0 -0
  450. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  451. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/analytics_message.py +0 -0
  452. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/connector_paths.py +0 -0
  453. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/constants.py +0 -0
  454. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  455. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/datetime_helpers.py +0 -0
  456. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/docker.py +0 -0
  457. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/event_timing.py +0 -0
  458. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  459. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  460. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/message_utils.py +0 -0
  461. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  462. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/print_buffer.py +0 -0
  463. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  464. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/slice_hasher.py +0 -0
  465. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  466. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  467. {airbyte_cdk-7.3.5 → airbyte_cdk-7.3.7}/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: 7.3.5
3
+ Version: 7.3.7
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -10,6 +10,7 @@ from .manifest import (
10
10
  CheckResponse,
11
11
  DiscoverRequest,
12
12
  DiscoverResponse,
13
+ ErrorResponse,
13
14
  FullResolveRequest,
14
15
  ManifestResponse,
15
16
  RequestContext,
@@ -40,6 +41,7 @@ __all__ = [
40
41
  "CheckResponse",
41
42
  "DiscoverRequest",
42
43
  "DiscoverResponse",
44
+ "ErrorResponse",
43
45
  # Stream models
44
46
  "AuxiliaryRequest",
45
47
  "HttpRequest",
@@ -83,3 +83,9 @@ class FullResolveRequest(BaseModel):
83
83
  config: ConnectorConfig
84
84
  stream_limit: int = Field(default=100, ge=1, le=100)
85
85
  context: Optional[RequestContext] = None
86
+
87
+
88
+ class ErrorResponse(BaseModel):
89
+ """Error response for API requests."""
90
+
91
+ detail: str
@@ -11,7 +11,7 @@ from .routers import capabilities, health, manifest
11
11
  app = FastAPI(
12
12
  title="Manifest Server",
13
13
  description="A service for running low-code Airbyte connectors",
14
- version="0.1.0",
14
+ version="0.2.0",
15
15
  contact={
16
16
  "name": "Airbyte",
17
17
  "url": "https://airbyte.com",
@@ -64,16 +64,7 @@ def build_source(
64
64
  page_limit: Optional[int] = None,
65
65
  slice_limit: Optional[int] = None,
66
66
  ) -> ConcurrentDeclarativeSource:
67
- # We enforce a concurrency level of 1 so that the stream is processed on a single thread
68
- # to retain ordering for the grouping of the builder message responses.
69
67
  definition = copy.deepcopy(manifest)
70
- if "concurrency_level" in definition:
71
- definition["concurrency_level"]["default_concurrency"] = 1
72
- else:
73
- definition["concurrency_level"] = {
74
- "type": "ConcurrencyLevel",
75
- "default_concurrency": 1,
76
- }
77
68
 
78
69
  should_normalize = should_normalize_manifest(manifest)
79
70
  if should_normalize:
@@ -8,7 +8,7 @@ info:
8
8
  contact:
9
9
  name: Airbyte
10
10
  url: https://airbyte.com/
11
- version: 0.1.0
11
+ version: 0.2.0
12
12
  paths:
13
13
  /health/:
14
14
  get:
@@ -62,6 +62,12 @@ paths:
62
62
  application/json:
63
63
  schema:
64
64
  $ref: '#/components/schemas/StreamReadResponse'
65
+ '400':
66
+ description: Bad Request - Error processing request
67
+ content:
68
+ application/json:
69
+ schema:
70
+ $ref: '#/components/schemas/ErrorResponse'
65
71
  '422':
66
72
  description: Validation Error
67
73
  content:
@@ -90,6 +96,12 @@ paths:
90
96
  application/json:
91
97
  schema:
92
98
  $ref: '#/components/schemas/CheckResponse'
99
+ '400':
100
+ description: Bad Request - Error processing request
101
+ content:
102
+ application/json:
103
+ schema:
104
+ $ref: '#/components/schemas/ErrorResponse'
93
105
  '422':
94
106
  description: Validation Error
95
107
  content:
@@ -118,6 +130,12 @@ paths:
118
130
  application/json:
119
131
  schema:
120
132
  $ref: '#/components/schemas/DiscoverResponse'
133
+ '400':
134
+ description: Bad Request - Error processing request
135
+ content:
136
+ application/json:
137
+ schema:
138
+ $ref: '#/components/schemas/ErrorResponse'
121
139
  '422':
122
140
  description: Validation Error
123
141
  content:
@@ -146,6 +164,12 @@ paths:
146
164
  application/json:
147
165
  schema:
148
166
  $ref: '#/components/schemas/ManifestResponse'
167
+ '400':
168
+ description: Bad Request - Error processing request
169
+ content:
170
+ application/json:
171
+ schema:
172
+ $ref: '#/components/schemas/ErrorResponse'
149
173
  '422':
150
174
  description: Validation Error
151
175
  content:
@@ -180,6 +204,12 @@ paths:
180
204
  application/json:
181
205
  schema:
182
206
  $ref: '#/components/schemas/ManifestResponse'
207
+ '400':
208
+ description: Bad Request - Error processing request
209
+ content:
210
+ application/json:
211
+ schema:
212
+ $ref: '#/components/schemas/ErrorResponse'
183
213
  '422':
184
214
  description: Validation Error
185
215
  content:
@@ -353,6 +383,16 @@ components:
353
383
  - catalog
354
384
  title: DiscoverResponse
355
385
  description: Response to discover a manifest.
386
+ ErrorResponse:
387
+ properties:
388
+ detail:
389
+ type: string
390
+ title: Detail
391
+ type: object
392
+ required:
393
+ - detail
394
+ title: ErrorResponse
395
+ description: Error response for API requests.
356
396
  FullResolveRequest:
357
397
  properties:
358
398
  manifest:
@@ -0,0 +1,264 @@
1
+ import hashlib
2
+ from dataclasses import asdict
3
+ from typing import Any, Dict, List, Mapping, Optional
4
+
5
+ import jsonschema
6
+ from airbyte_protocol_dataclasses.models import AirbyteStateMessage, ConfiguredAirbyteCatalog
7
+ from fastapi import APIRouter, Depends, HTTPException
8
+
9
+ from airbyte_cdk.models import AirbyteStateMessageSerializer
10
+ from airbyte_cdk.sources.declarative.concurrent_declarative_source import (
11
+ ConcurrentDeclarativeSource,
12
+ )
13
+ from airbyte_cdk.sources.declarative.parsers.custom_code_compiler import (
14
+ INJECTED_COMPONENTS_PY,
15
+ INJECTED_COMPONENTS_PY_CHECKSUMS,
16
+ )
17
+ from airbyte_cdk.utils.airbyte_secrets_utils import filter_secrets
18
+
19
+ from ..api_models import (
20
+ CheckRequest,
21
+ CheckResponse,
22
+ DiscoverRequest,
23
+ DiscoverResponse,
24
+ ErrorResponse,
25
+ FullResolveRequest,
26
+ Manifest,
27
+ ManifestResponse,
28
+ ResolveRequest,
29
+ StreamReadResponse,
30
+ StreamTestReadRequest,
31
+ )
32
+ from ..command_processor.processor import ManifestCommandProcessor
33
+ from ..command_processor.utils import build_catalog, build_source
34
+ from ..helpers.auth import verify_jwt_token
35
+ from ..helpers.tracing import apply_trace_tags_from_context
36
+
37
+
38
+ def safe_build_source(
39
+ manifest_dict: Dict[str, Any],
40
+ config_dict: Mapping[str, Any],
41
+ catalog: Optional[ConfiguredAirbyteCatalog] = None,
42
+ state: Optional[List[AirbyteStateMessage]] = None,
43
+ page_limit: Optional[int] = None,
44
+ slice_limit: Optional[int] = None,
45
+ record_limit: Optional[int] = None,
46
+ ) -> ConcurrentDeclarativeSource:
47
+ """Wrapper around build_source that converts ValidationError to HTTPException."""
48
+ try:
49
+ return build_source(
50
+ manifest_dict,
51
+ catalog,
52
+ config_dict,
53
+ state,
54
+ record_limit,
55
+ page_limit,
56
+ slice_limit,
57
+ )
58
+ except jsonschema.exceptions.ValidationError as e:
59
+ raise HTTPException(status_code=400, detail=f"Invalid manifest: {e.message}")
60
+
61
+
62
+ router = APIRouter(
63
+ prefix="/manifest",
64
+ tags=["manifest"],
65
+ dependencies=[Depends(verify_jwt_token)],
66
+ )
67
+
68
+
69
+ @router.post(
70
+ "/test_read",
71
+ operation_id="testRead",
72
+ responses={
73
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
74
+ },
75
+ )
76
+ def test_read(request: StreamTestReadRequest) -> StreamReadResponse:
77
+ """
78
+ Test reading from a specific stream in the manifest.
79
+ """
80
+ # Apply trace tags from context if provided
81
+ if request.context:
82
+ apply_trace_tags_from_context(
83
+ workspace_id=request.context.workspace_id,
84
+ project_id=request.context.project_id,
85
+ )
86
+
87
+ config_dict = request.config.model_dump()
88
+
89
+ catalog = build_catalog(request.stream_name)
90
+ converted_state = [AirbyteStateMessageSerializer.load(state) for state in request.state]
91
+
92
+ if request.custom_components_code:
93
+ config_dict[INJECTED_COMPONENTS_PY] = request.custom_components_code
94
+ config_dict[INJECTED_COMPONENTS_PY_CHECKSUMS] = {
95
+ "md5": hashlib.md5(request.custom_components_code.encode()).hexdigest()
96
+ }
97
+
98
+ # We enforce a concurrency level of 1 so that the stream is processed on a single thread
99
+ # to retain ordering for the grouping of the builder message responses.
100
+ manifest = request.manifest.model_dump()
101
+ if "concurrency_level" in manifest:
102
+ manifest["concurrency_level"]["default_concurrency"] = 1
103
+ else:
104
+ manifest["concurrency_level"] = {
105
+ "type": "ConcurrencyLevel",
106
+ "default_concurrency": 1,
107
+ }
108
+
109
+ source = safe_build_source(
110
+ manifest,
111
+ config_dict,
112
+ catalog,
113
+ converted_state,
114
+ request.page_limit,
115
+ request.slice_limit,
116
+ request.record_limit,
117
+ )
118
+
119
+ runner = ManifestCommandProcessor(source)
120
+ try:
121
+ cdk_result = runner.test_read(
122
+ config_dict,
123
+ catalog,
124
+ converted_state,
125
+ request.record_limit,
126
+ request.page_limit,
127
+ request.slice_limit,
128
+ )
129
+ return StreamReadResponse.model_validate(asdict(cdk_result))
130
+ except Exception as exc:
131
+ # Filter secrets from error message before returning to client
132
+ sanitized_message = filter_secrets(f"Error reading stream: {str(exc)}")
133
+ raise HTTPException(status_code=400, detail=sanitized_message)
134
+
135
+
136
+ @router.post(
137
+ "/check",
138
+ operation_id="check",
139
+ responses={
140
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
141
+ },
142
+ )
143
+ def check(request: CheckRequest) -> CheckResponse:
144
+ """Check configuration against a manifest"""
145
+ # Apply trace tags from context if provided
146
+ if request.context:
147
+ apply_trace_tags_from_context(
148
+ workspace_id=request.context.workspace_id,
149
+ project_id=request.context.project_id,
150
+ )
151
+
152
+ try:
153
+ source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
154
+ runner = ManifestCommandProcessor(source)
155
+ success, message = runner.check_connection(request.config.model_dump())
156
+ return CheckResponse(success=success, message=message)
157
+ except Exception as exc:
158
+ # Filter secrets from error message before returning to client
159
+ sanitized_message = filter_secrets(f"Error checking connection: {str(exc)}")
160
+ raise HTTPException(status_code=400, detail=sanitized_message)
161
+
162
+
163
+ @router.post(
164
+ "/discover",
165
+ operation_id="discover",
166
+ responses={
167
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
168
+ },
169
+ )
170
+ def discover(request: DiscoverRequest) -> DiscoverResponse:
171
+ """Discover streams from a manifest"""
172
+ # Apply trace tags from context if provided
173
+ if request.context:
174
+ apply_trace_tags_from_context(
175
+ workspace_id=request.context.workspace_id,
176
+ project_id=request.context.project_id,
177
+ )
178
+
179
+ try:
180
+ source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
181
+ runner = ManifestCommandProcessor(source)
182
+ catalog = runner.discover(request.config.model_dump())
183
+ if catalog is None:
184
+ raise HTTPException(
185
+ status_code=422, detail="Connector did not return a discovered catalog"
186
+ )
187
+ return DiscoverResponse(catalog=catalog)
188
+ except HTTPException:
189
+ # Re-raise HTTPExceptions as-is (like the catalog None check above)
190
+ raise
191
+ except Exception as exc:
192
+ # Filter secrets from error message before returning to client
193
+ sanitized_message = filter_secrets(f"Error discovering streams: {str(exc)}")
194
+ raise HTTPException(status_code=400, detail=sanitized_message)
195
+
196
+
197
+ @router.post(
198
+ "/resolve",
199
+ operation_id="resolve",
200
+ responses={
201
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
202
+ },
203
+ )
204
+ def resolve(request: ResolveRequest) -> ManifestResponse:
205
+ """Resolve a manifest to its final configuration."""
206
+ # Apply trace tags from context if provided
207
+ if request.context:
208
+ apply_trace_tags_from_context(
209
+ workspace_id=request.context.workspace_id,
210
+ project_id=request.context.project_id,
211
+ )
212
+
213
+ try:
214
+ source = safe_build_source(request.manifest.model_dump(), {})
215
+ return ManifestResponse(manifest=Manifest(**source.resolved_manifest))
216
+ except Exception as exc:
217
+ # Filter secrets from error message before returning to client
218
+ sanitized_message = filter_secrets(f"Error resolving manifest: {str(exc)}")
219
+ raise HTTPException(status_code=400, detail=sanitized_message)
220
+
221
+
222
+ @router.post(
223
+ "/full_resolve",
224
+ operation_id="fullResolve",
225
+ responses={
226
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
227
+ },
228
+ )
229
+ def full_resolve(request: FullResolveRequest) -> ManifestResponse:
230
+ """
231
+ Fully resolve a manifest, including dynamic streams.
232
+
233
+ This is a similar operation to resolve, but has an extra step which generates streams from dynamic stream templates if the manifest contains any. This is used when a user clicks the generate streams button on a stream template in the Builder UI
234
+ """
235
+ # Apply trace tags from context if provided
236
+ if request.context:
237
+ apply_trace_tags_from_context(
238
+ workspace_id=request.context.workspace_id,
239
+ project_id=request.context.project_id,
240
+ )
241
+
242
+ try:
243
+ source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
244
+ manifest = {**source.resolved_manifest}
245
+ streams = manifest.get("streams", [])
246
+ for stream in streams:
247
+ stream["dynamic_stream_name"] = None
248
+
249
+ mapped_streams: Dict[str, List[Dict[str, Any]]] = {}
250
+ for stream in source.dynamic_streams:
251
+ generated_streams = mapped_streams.setdefault(stream["dynamic_stream_name"], [])
252
+
253
+ if len(generated_streams) < request.stream_limit:
254
+ generated_streams += [stream]
255
+
256
+ for generated_streams_list in mapped_streams.values():
257
+ streams.extend(generated_streams_list)
258
+
259
+ manifest["streams"] = streams
260
+ return ManifestResponse(manifest=Manifest(**manifest))
261
+ except Exception as exc:
262
+ # Filter secrets from error message before returning to client
263
+ sanitized_message = filter_secrets(f"Error full resolving manifest: {str(exc)}")
264
+ raise HTTPException(status_code=400, detail=sanitized_message)
@@ -384,10 +384,7 @@ class SimpleRetriever(Retriever):
384
384
 
385
385
  response = None
386
386
  try:
387
- if (
388
- self.additional_query_properties
389
- and self.additional_query_properties.property_chunking
390
- ):
387
+ if self.additional_query_properties:
391
388
  for properties in self.additional_query_properties.get_request_property_chunks(
392
389
  stream_slice=stream_slice
393
390
  ):
@@ -401,15 +398,19 @@ class SimpleRetriever(Retriever):
401
398
  )
402
399
 
403
400
  for current_record in records_generator_fn(response):
404
- merge_key = (
405
- self.additional_query_properties.property_chunking.get_merge_key(
401
+ if self.additional_query_properties.property_chunking:
402
+ merge_key = self.additional_query_properties.property_chunking.get_merge_key(
406
403
  current_record
407
404
  )
408
- )
409
- if merge_key:
410
- _deep_merge(merged_records[merge_key], current_record)
405
+ if merge_key:
406
+ _deep_merge(merged_records[merge_key], current_record)
407
+ else:
408
+ # We should still emit records even if the record did not have a merge key
409
+ pagination_tracker.observe(current_record)
410
+ last_page_size += 1
411
+ last_record = current_record
412
+ yield current_record
411
413
  else:
412
- # We should still emit records even if the record did not have a merge key
413
414
  pagination_tracker.observe(current_record)
414
415
  last_page_size += 1
415
416
  last_record = current_record
@@ -23,7 +23,7 @@ classifiers = [
23
23
  keywords = ["airbyte", "connector-development-kit", "cdk"]
24
24
 
25
25
  # Python CDK uses dynamic versioning: https://github.com/mtkennerly/poetry-dynamic-versioning
26
- version = "7.3.5" # Version will be calculated dynamically.
26
+ version = "7.3.7" # Version will be calculated dynamically.
27
27
 
28
28
  [tool.poetry-dynamic-versioning]
29
29
  enable = false
@@ -1,191 +0,0 @@
1
- import hashlib
2
- from dataclasses import asdict
3
- from typing import Any, Dict, List, Mapping, Optional
4
-
5
- import jsonschema
6
- from airbyte_protocol_dataclasses.models import AirbyteStateMessage, ConfiguredAirbyteCatalog
7
- from fastapi import APIRouter, Depends, HTTPException
8
-
9
- from airbyte_cdk.models import AirbyteStateMessageSerializer
10
- from airbyte_cdk.sources.declarative.concurrent_declarative_source import (
11
- ConcurrentDeclarativeSource,
12
- )
13
- from airbyte_cdk.sources.declarative.parsers.custom_code_compiler import (
14
- INJECTED_COMPONENTS_PY,
15
- INJECTED_COMPONENTS_PY_CHECKSUMS,
16
- )
17
-
18
- from ..api_models import (
19
- CheckRequest,
20
- CheckResponse,
21
- DiscoverRequest,
22
- DiscoverResponse,
23
- FullResolveRequest,
24
- Manifest,
25
- ManifestResponse,
26
- ResolveRequest,
27
- StreamReadResponse,
28
- StreamTestReadRequest,
29
- )
30
- from ..command_processor.processor import ManifestCommandProcessor
31
- from ..command_processor.utils import build_catalog, build_source
32
- from ..helpers.auth import verify_jwt_token
33
- from ..helpers.tracing import apply_trace_tags_from_context
34
-
35
-
36
- def safe_build_source(
37
- manifest_dict: Dict[str, Any],
38
- config_dict: Mapping[str, Any],
39
- catalog: Optional[ConfiguredAirbyteCatalog] = None,
40
- state: Optional[List[AirbyteStateMessage]] = None,
41
- page_limit: Optional[int] = None,
42
- slice_limit: Optional[int] = None,
43
- record_limit: Optional[int] = None,
44
- ) -> ConcurrentDeclarativeSource:
45
- """Wrapper around build_source that converts ValidationError to HTTPException."""
46
- try:
47
- return build_source(
48
- manifest_dict,
49
- catalog,
50
- config_dict,
51
- state,
52
- record_limit,
53
- page_limit,
54
- slice_limit,
55
- )
56
- except jsonschema.exceptions.ValidationError as e:
57
- raise HTTPException(status_code=400, detail=f"Invalid manifest: {e.message}")
58
-
59
-
60
- router = APIRouter(
61
- prefix="/manifest",
62
- tags=["manifest"],
63
- dependencies=[Depends(verify_jwt_token)],
64
- )
65
-
66
-
67
- @router.post("/test_read", operation_id="testRead")
68
- def test_read(request: StreamTestReadRequest) -> StreamReadResponse:
69
- """
70
- Test reading from a specific stream in the manifest.
71
- """
72
- # Apply trace tags from context if provided
73
- if request.context:
74
- apply_trace_tags_from_context(
75
- workspace_id=request.context.workspace_id,
76
- project_id=request.context.project_id,
77
- )
78
-
79
- config_dict = request.config.model_dump()
80
-
81
- catalog = build_catalog(request.stream_name)
82
- converted_state = [AirbyteStateMessageSerializer.load(state) for state in request.state]
83
-
84
- if request.custom_components_code:
85
- config_dict[INJECTED_COMPONENTS_PY] = request.custom_components_code
86
- config_dict[INJECTED_COMPONENTS_PY_CHECKSUMS] = {
87
- "md5": hashlib.md5(request.custom_components_code.encode()).hexdigest()
88
- }
89
-
90
- source = safe_build_source(
91
- request.manifest.model_dump(),
92
- config_dict,
93
- catalog,
94
- converted_state,
95
- request.page_limit,
96
- request.slice_limit,
97
- request.record_limit,
98
- )
99
-
100
- runner = ManifestCommandProcessor(source)
101
- cdk_result = runner.test_read(
102
- config_dict,
103
- catalog,
104
- converted_state,
105
- request.record_limit,
106
- request.page_limit,
107
- request.slice_limit,
108
- )
109
- return StreamReadResponse.model_validate(asdict(cdk_result))
110
-
111
-
112
- @router.post("/check", operation_id="check")
113
- def check(request: CheckRequest) -> CheckResponse:
114
- """Check configuration against a manifest"""
115
- # Apply trace tags from context if provided
116
- if request.context:
117
- apply_trace_tags_from_context(
118
- workspace_id=request.context.workspace_id,
119
- project_id=request.context.project_id,
120
- )
121
-
122
- source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
123
- runner = ManifestCommandProcessor(source)
124
- success, message = runner.check_connection(request.config.model_dump())
125
- return CheckResponse(success=success, message=message)
126
-
127
-
128
- @router.post("/discover", operation_id="discover")
129
- def discover(request: DiscoverRequest) -> DiscoverResponse:
130
- """Discover streams from a manifest"""
131
- # Apply trace tags from context if provided
132
- if request.context:
133
- apply_trace_tags_from_context(
134
- workspace_id=request.context.workspace_id,
135
- project_id=request.context.project_id,
136
- )
137
-
138
- source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
139
- runner = ManifestCommandProcessor(source)
140
- catalog = runner.discover(request.config.model_dump())
141
- if catalog is None:
142
- raise HTTPException(status_code=422, detail="Connector did not return a discovered catalog")
143
- return DiscoverResponse(catalog=catalog)
144
-
145
-
146
- @router.post("/resolve", operation_id="resolve")
147
- def resolve(request: ResolveRequest) -> ManifestResponse:
148
- """Resolve a manifest to its final configuration."""
149
- # Apply trace tags from context if provided
150
- if request.context:
151
- apply_trace_tags_from_context(
152
- workspace_id=request.context.workspace_id,
153
- project_id=request.context.project_id,
154
- )
155
-
156
- source = safe_build_source(request.manifest.model_dump(), {})
157
- return ManifestResponse(manifest=Manifest(**source.resolved_manifest))
158
-
159
-
160
- @router.post("/full_resolve", operation_id="fullResolve")
161
- def full_resolve(request: FullResolveRequest) -> ManifestResponse:
162
- """
163
- Fully resolve a manifest, including dynamic streams.
164
-
165
- This is a similar operation to resolve, but has an extra step which generates streams from dynamic stream templates if the manifest contains any. This is used when a user clicks the generate streams button on a stream template in the Builder UI
166
- """
167
- # Apply trace tags from context if provided
168
- if request.context:
169
- apply_trace_tags_from_context(
170
- workspace_id=request.context.workspace_id,
171
- project_id=request.context.project_id,
172
- )
173
-
174
- source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
175
- manifest = {**source.resolved_manifest}
176
- streams = manifest.get("streams", [])
177
- for stream in streams:
178
- stream["dynamic_stream_name"] = None
179
-
180
- mapped_streams: Dict[str, List[Dict[str, Any]]] = {}
181
- for stream in source.dynamic_streams:
182
- generated_streams = mapped_streams.setdefault(stream["dynamic_stream_name"], [])
183
-
184
- if len(generated_streams) < request.stream_limit:
185
- generated_streams += [stream]
186
-
187
- for generated_streams_list in mapped_streams.values():
188
- streams.extend(generated_streams_list)
189
-
190
- manifest["streams"] = streams
191
- return ManifestResponse(manifest=Manifest(**manifest))
File without changes
File without changes
File without changes