airbyte-cdk 6.26.0.dev4108__tar.gz → 6.26.0.dev4109__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 (362) hide show
  1. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/PKG-INFO +1 -1
  2. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/abstract_file_based_spec.py +1 -17
  3. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/validate_config_transfer_modes.py +20 -9
  4. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_based_source.py +4 -5
  5. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_based_stream_reader.py +24 -2
  6. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/schema_helpers.py +0 -25
  7. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/__init__.py +2 -2
  8. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +2 -3
  9. airbyte_cdk-6.26.0.dev4109/airbyte_cdk/sources/file_based/stream/identities_stream.py +47 -0
  10. airbyte_cdk-6.26.0.dev4109/airbyte_cdk/sources/specs/transfer_modes.py +26 -0
  11. airbyte_cdk-6.26.0.dev4108/airbyte_cdk/sources/file_based/stream/identities_stream.py → airbyte_cdk-6.26.0.dev4109/airbyte_cdk/sources/streams/permissions/identities.py +13 -35
  12. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/pyproject.toml +1 -1
  13. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/LICENSE.txt +0 -0
  14. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/LICENSE_SHORT +0 -0
  15. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/README.md +0 -0
  16. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/__init__.py +0 -0
  17. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/cli/__init__.py +0 -0
  18. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/cli/source_declarative_manifest/__init__.py +0 -0
  19. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/cli/source_declarative_manifest/_run.py +0 -0
  20. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/cli/source_declarative_manifest/spec.json +0 -0
  21. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/config_observation.py +0 -0
  22. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/connector.py +0 -0
  23. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/connector_builder/README.md +0 -0
  24. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/connector_builder/__init__.py +0 -0
  25. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/connector_builder/connector_builder_handler.py +0 -0
  26. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/connector_builder/main.py +0 -0
  27. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/connector_builder/message_grouper.py +0 -0
  28. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/connector_builder/models.py +0 -0
  29. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/__init__.py +0 -0
  30. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/destination.py +0 -0
  31. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/vector_db_based/README.md +0 -0
  32. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/vector_db_based/__init__.py +0 -0
  33. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/vector_db_based/config.py +0 -0
  34. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/vector_db_based/document_processor.py +0 -0
  35. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/vector_db_based/embedder.py +0 -0
  36. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/vector_db_based/indexer.py +0 -0
  37. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/vector_db_based/test_utils.py +0 -0
  38. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/vector_db_based/utils.py +0 -0
  39. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/destinations/vector_db_based/writer.py +0 -0
  40. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/entrypoint.py +0 -0
  41. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/exception_handler.py +0 -0
  42. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/logger.py +0 -0
  43. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/models/__init__.py +0 -0
  44. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/models/airbyte_protocol.py +0 -0
  45. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/models/airbyte_protocol_serializers.py +0 -0
  46. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/models/file_transfer_record_message.py +0 -0
  47. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/models/well_known_types.py +0 -0
  48. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/py.typed +0 -0
  49. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/__init__.py +0 -0
  50. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/abstract_source.py +0 -0
  51. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/concurrent_source/__init__.py +0 -0
  52. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/concurrent_source/concurrent_read_processor.py +0 -0
  53. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/concurrent_source/concurrent_source.py +0 -0
  54. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/concurrent_source/concurrent_source_adapter.py +0 -0
  55. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/concurrent_source/partition_generation_completed_sentinel.py +0 -0
  56. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/concurrent_source/stream_thread_exception.py +0 -0
  57. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/concurrent_source/thread_pool_manager.py +0 -0
  58. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/config.py +0 -0
  59. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/connector_state_manager.py +0 -0
  60. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/__init__.py +0 -0
  61. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/async_job/__init__.py +0 -0
  62. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/async_job/job.py +0 -0
  63. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/async_job/job_orchestrator.py +0 -0
  64. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/async_job/job_tracker.py +0 -0
  65. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/async_job/repository.py +0 -0
  66. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/async_job/status.py +0 -0
  67. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/async_job/timer.py +0 -0
  68. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/auth/__init__.py +0 -0
  69. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/auth/declarative_authenticator.py +0 -0
  70. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/auth/jwt.py +0 -0
  71. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/auth/oauth.py +0 -0
  72. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/auth/selective_authenticator.py +0 -0
  73. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/auth/token.py +0 -0
  74. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/auth/token_provider.py +0 -0
  75. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/checks/__init__.py +0 -0
  76. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/checks/check_dynamic_stream.py +0 -0
  77. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/checks/check_stream.py +0 -0
  78. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/checks/connection_checker.py +0 -0
  79. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/concurrency_level/__init__.py +0 -0
  80. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py +0 -0
  81. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/concurrent_declarative_source.py +0 -0
  82. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/datetime/__init__.py +0 -0
  83. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/datetime/datetime_parser.py +0 -0
  84. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/datetime/min_max_datetime.py +0 -0
  85. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/declarative_component_schema.yaml +0 -0
  86. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/declarative_source.py +0 -0
  87. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/declarative_stream.py +0 -0
  88. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/decoders/__init__.py +0 -0
  89. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py +0 -0
  90. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/decoders/decoder.py +0 -0
  91. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/decoders/json_decoder.py +0 -0
  92. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/decoders/noop_decoder.py +0 -0
  93. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/decoders/pagination_decoder_decorator.py +0 -0
  94. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/decoders/xml_decoder.py +0 -0
  95. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/decoders/zipfile_decoder.py +0 -0
  96. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/exceptions.py +0 -0
  97. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/extractors/__init__.py +0 -0
  98. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/extractors/dpath_extractor.py +0 -0
  99. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/extractors/http_selector.py +0 -0
  100. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/extractors/record_extractor.py +0 -0
  101. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/extractors/record_filter.py +0 -0
  102. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/extractors/record_selector.py +0 -0
  103. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py +0 -0
  104. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/extractors/type_transformer.py +0 -0
  105. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/incremental/__init__.py +0 -0
  106. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +0 -0
  107. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py +0 -0
  108. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/incremental/declarative_cursor.py +0 -0
  109. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py +0 -0
  110. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py +0 -0
  111. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py +0 -0
  112. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py +0 -0
  113. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/interpolation/__init__.py +0 -0
  114. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/interpolation/filters.py +0 -0
  115. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py +0 -0
  116. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py +0 -0
  117. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py +0 -0
  118. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/interpolation/interpolated_string.py +0 -0
  119. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/interpolation/interpolation.py +0 -0
  120. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/interpolation/jinja.py +0 -0
  121. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/interpolation/macros.py +0 -0
  122. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/manifest_declarative_source.py +0 -0
  123. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/migrations/__init__.py +0 -0
  124. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migration.py +0 -0
  125. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/migrations/state_migration.py +0 -0
  126. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/models/__init__.py +0 -0
  127. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/models/declarative_component_schema.py +0 -0
  128. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/parsers/__init__.py +0 -0
  129. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py +0 -0
  130. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/parsers/custom_exceptions.py +0 -0
  131. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/parsers/manifest_component_transformer.py +0 -0
  132. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/parsers/manifest_reference_resolver.py +0 -0
  133. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py +0 -0
  134. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/partition_routers/__init__.py +0 -0
  135. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/partition_routers/async_job_partition_router.py +0 -0
  136. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/partition_routers/cartesian_product_stream_slicer.py +0 -0
  137. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/partition_routers/list_partition_router.py +0 -0
  138. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/partition_routers/partition_router.py +0 -0
  139. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/partition_routers/single_partition_router.py +0 -0
  140. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/partition_routers/substream_partition_router.py +0 -0
  141. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/README.md +0 -0
  142. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/__init__.py +0 -0
  143. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/__init__.py +0 -0
  144. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/__init__.py +0 -0
  145. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/constant_backoff_strategy.py +0 -0
  146. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/exponential_backoff_strategy.py +0 -0
  147. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/header_helper.py +0 -0
  148. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_time_from_header_backoff_strategy.py +0 -0
  149. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategies/wait_until_time_from_header_backoff_strategy.py +0 -0
  150. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/backoff_strategy.py +0 -0
  151. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/composite_error_handler.py +0 -0
  152. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_error_handler.py +0 -0
  153. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/default_http_response_filter.py +0 -0
  154. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/error_handler.py +0 -0
  155. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/error_handlers/http_response_filter.py +0 -0
  156. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/http_job_repository.py +0 -0
  157. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/http_requester.py +0 -0
  158. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/__init__.py +0 -0
  159. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/default_paginator.py +0 -0
  160. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/no_pagination.py +0 -0
  161. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/paginator.py +0 -0
  162. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/__init__.py +0 -0
  163. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/cursor_pagination_strategy.py +0 -0
  164. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/offset_increment.py +0 -0
  165. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/page_increment.py +0 -0
  166. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py +0 -0
  167. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py +0 -0
  168. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/request_option.py +0 -0
  169. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/request_options/__init__.py +0 -0
  170. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_request_options_provider.py +0 -0
  171. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py +0 -0
  172. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py +0 -0
  173. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py +0 -0
  174. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py +0 -0
  175. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py +0 -0
  176. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/request_path.py +0 -0
  177. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/requesters/requester.py +0 -0
  178. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/resolvers/__init__.py +0 -0
  179. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/resolvers/components_resolver.py +0 -0
  180. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/resolvers/config_components_resolver.py +0 -0
  181. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/resolvers/http_components_resolver.py +0 -0
  182. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/retrievers/__init__.py +0 -0
  183. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/retrievers/async_retriever.py +0 -0
  184. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/retrievers/retriever.py +0 -0
  185. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py +0 -0
  186. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/schema/__init__.py +0 -0
  187. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/schema/default_schema_loader.py +0 -0
  188. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/schema/dynamic_schema_loader.py +0 -0
  189. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/schema/inline_schema_loader.py +0 -0
  190. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/schema/json_file_schema_loader.py +0 -0
  191. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/schema/schema_loader.py +0 -0
  192. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/spec/__init__.py +0 -0
  193. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/spec/spec.py +0 -0
  194. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/stream_slicers/__init__.py +0 -0
  195. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py +0 -0
  196. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/stream_slicers/stream_slicer.py +0 -0
  197. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/transformations/__init__.py +0 -0
  198. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/transformations/add_fields.py +0 -0
  199. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py +0 -0
  200. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/transformations/flatten_fields.py +0 -0
  201. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/transformations/keys_replace_transformation.py +0 -0
  202. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/transformations/keys_to_lower_transformation.py +0 -0
  203. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +0 -0
  204. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/transformations/remove_fields.py +0 -0
  205. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/transformations/transformation.py +0 -0
  206. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/types.py +0 -0
  207. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/declarative/yaml_declarative_source.py +0 -0
  208. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/embedded/__init__.py +0 -0
  209. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/embedded/base_integration.py +0 -0
  210. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/embedded/catalog.py +0 -0
  211. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/embedded/runner.py +0 -0
  212. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/embedded/tools.py +0 -0
  213. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/README.md +0 -0
  214. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/__init__.py +0 -0
  215. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/availability_strategy/__init__.py +0 -0
  216. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/availability_strategy/abstract_file_based_availability_strategy.py +0 -0
  217. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/availability_strategy/default_file_based_availability_strategy.py +0 -0
  218. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/__init__.py +0 -0
  219. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/avro_format.py +0 -0
  220. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/csv_format.py +0 -0
  221. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/excel_format.py +0 -0
  222. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/file_based_stream_config.py +0 -0
  223. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/jsonl_format.py +0 -0
  224. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/parquet_format.py +0 -0
  225. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/config/unstructured_format.py +0 -0
  226. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/discovery_policy/__init__.py +0 -0
  227. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/discovery_policy/abstract_discovery_policy.py +0 -0
  228. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/discovery_policy/default_discovery_policy.py +0 -0
  229. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/exceptions.py +0 -0
  230. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_types/__init__.py +0 -0
  231. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_types/avro_parser.py +0 -0
  232. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_types/csv_parser.py +0 -0
  233. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_types/excel_parser.py +0 -0
  234. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_types/file_transfer.py +0 -0
  235. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_types/file_type_parser.py +0 -0
  236. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_types/jsonl_parser.py +0 -0
  237. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_types/parquet_parser.py +0 -0
  238. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/file_types/unstructured_parser.py +0 -0
  239. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/remote_file.py +0 -0
  240. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/schema_validation_policies/__init__.py +0 -0
  241. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/schema_validation_policies/abstract_schema_validation_policy.py +0 -0
  242. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/schema_validation_policies/default_schema_validation_policies.py +0 -0
  243. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/abstract_file_based_stream.py +0 -0
  244. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/concurrent/__init__.py +0 -0
  245. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/concurrent/adapters.py +0 -0
  246. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/__init__.py +0 -0
  247. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/abstract_concurrent_file_based_cursor.py +0 -0
  248. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_concurrent_cursor.py +0 -0
  249. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/concurrent/cursor/file_based_final_state_cursor.py +0 -0
  250. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/cursor/__init__.py +0 -0
  251. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/cursor/abstract_file_based_cursor.py +0 -0
  252. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/stream/cursor/default_file_based_cursor.py +0 -0
  253. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/file_based/types.py +0 -0
  254. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/http_config.py +0 -0
  255. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/http_logger.py +0 -0
  256. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/message/__init__.py +0 -0
  257. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/message/repository.py +0 -0
  258. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/source.py +0 -0
  259. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/__init__.py +0 -0
  260. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/availability_strategy.py +0 -0
  261. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/call_rate.py +0 -0
  262. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/checkpoint/__init__.py +0 -0
  263. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/checkpoint/checkpoint_reader.py +0 -0
  264. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/checkpoint/cursor.py +0 -0
  265. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/checkpoint/per_partition_key_serializer.py +0 -0
  266. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/checkpoint/resumable_full_refresh_cursor.py +0 -0
  267. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/checkpoint/substream_resumable_full_refresh_cursor.py +0 -0
  268. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/README.md +0 -0
  269. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/__init__.py +0 -0
  270. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/abstract_stream.py +0 -0
  271. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/abstract_stream_facade.py +0 -0
  272. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/adapters.py +0 -0
  273. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/availability_strategy.py +0 -0
  274. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/clamping.py +0 -0
  275. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/cursor.py +0 -0
  276. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/cursor_types.py +0 -0
  277. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/default_stream.py +0 -0
  278. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/exceptions.py +0 -0
  279. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/helpers.py +0 -0
  280. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/partition_enqueuer.py +0 -0
  281. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/partition_reader.py +0 -0
  282. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/partitions/__init__.py +0 -0
  283. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/partitions/partition.py +0 -0
  284. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/partitions/partition_generator.py +0 -0
  285. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/partitions/stream_slicer.py +0 -0
  286. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/partitions/types.py +0 -0
  287. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/state_converters/__init__.py +0 -0
  288. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/state_converters/abstract_stream_state_converter.py +0 -0
  289. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/concurrent/state_converters/datetime_stream_state_converter.py +0 -0
  290. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/core.py +0 -0
  291. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/__init__.py +0 -0
  292. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/availability_strategy.py +0 -0
  293. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/error_handlers/__init__.py +0 -0
  294. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/error_handlers/backoff_strategy.py +0 -0
  295. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/error_handlers/default_backoff_strategy.py +0 -0
  296. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/error_handlers/default_error_mapping.py +0 -0
  297. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/error_handlers/error_handler.py +0 -0
  298. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/error_handlers/error_message_parser.py +0 -0
  299. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/error_handlers/http_status_error_handler.py +0 -0
  300. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/error_handlers/json_error_message_parser.py +0 -0
  301. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/error_handlers/response_models.py +0 -0
  302. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/exceptions.py +0 -0
  303. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/http.py +0 -0
  304. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/http_client.py +0 -0
  305. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/rate_limiting.py +0 -0
  306. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py +0 -0
  307. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +0 -0
  308. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py +0 -0
  309. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py +0 -0
  310. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/http/requests_native_auth/token.py +0 -0
  311. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/streams/utils/__init__.py +0 -0
  312. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/types.py +0 -0
  313. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/utils/__init__.py +0 -0
  314. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/utils/casing.py +0 -0
  315. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/utils/record_helper.py +0 -0
  316. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/utils/schema_helpers.py +0 -0
  317. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/utils/slice_logger.py +0 -0
  318. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/utils/transform.py +0 -0
  319. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sources/utils/types.py +0 -0
  320. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/__init__.py +0 -0
  321. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/_util/__init__.py +0 -0
  322. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/_util/hashing.py +0 -0
  323. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/_util/name_normalizers.py +0 -0
  324. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/constants.py +0 -0
  325. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/exceptions.py +0 -0
  326. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/secrets.py +0 -0
  327. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/shared/__init__.py +0 -0
  328. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/shared/catalog_providers.py +0 -0
  329. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/shared/sql_processor.py +0 -0
  330. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/sql/types.py +0 -0
  331. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/__init__.py +0 -0
  332. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/catalog_builder.py +0 -0
  333. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/entrypoint_wrapper.py +0 -0
  334. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/mock_http/__init__.py +0 -0
  335. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/mock_http/matcher.py +0 -0
  336. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/mock_http/mocker.py +0 -0
  337. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/mock_http/request.py +0 -0
  338. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/mock_http/response.py +0 -0
  339. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/mock_http/response_builder.py +0 -0
  340. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/state_builder.py +0 -0
  341. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/utils/__init__.py +0 -0
  342. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/utils/data.py +0 -0
  343. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/utils/http_mocking.py +0 -0
  344. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/utils/manifest_only_fixtures.py +0 -0
  345. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/test/utils/reading.py +0 -0
  346. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/__init__.py +0 -0
  347. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/airbyte_secrets_utils.py +0 -0
  348. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/analytics_message.py +0 -0
  349. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/constants.py +0 -0
  350. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/datetime_format_inferrer.py +0 -0
  351. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/datetime_helpers.py +0 -0
  352. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/event_timing.py +0 -0
  353. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/is_cloud_environment.py +0 -0
  354. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/mapping_helpers.py +0 -0
  355. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/message_utils.py +0 -0
  356. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/oneof_option_config.py +0 -0
  357. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/print_buffer.py +0 -0
  358. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/schema_inferrer.py +0 -0
  359. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/slice_hasher.py +0 -0
  360. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/spec_schema_transformations.py +0 -0
  361. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/airbyte_cdk/utils/stream_status_utils.py +0 -0
  362. {airbyte_cdk-6.26.0.dev4108 → airbyte_cdk-6.26.0.dev4109}/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.26.0.dev4108
3
+ Version: 6.26.0.dev4109
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -11,26 +11,10 @@ from pydantic.v1 import AnyUrl, BaseModel, Field
11
11
 
12
12
  from airbyte_cdk import OneOfOptionConfig
13
13
  from airbyte_cdk.sources.file_based.config.file_based_stream_config import FileBasedStreamConfig
14
+ from airbyte_cdk.sources.specs.transfer_modes import DeliverPermissions
14
15
  from airbyte_cdk.sources.utils import schema_helpers
15
16
 
16
17
 
17
- class DeliverPermissions(BaseModel):
18
- class Config(OneOfOptionConfig):
19
- title = "Replicate Permissions ACL"
20
- description = "Sends one identity stream and one for more permissions (ACL) streams to the destination. This data can be used in downstream systems to recreate permission restrictions mirroring the original source."
21
- discriminator = "delivery_type"
22
-
23
- delivery_type: Literal["use_permissions_transfer"] = Field(
24
- "use_permissions_transfer", const=True
25
- )
26
-
27
- include_identities_stream: bool = Field(
28
- title="Include Identity Stream",
29
- description="This data can be used in downstream systems to recreate permission restrictions mirroring the original source",
30
- default=True,
31
- )
32
-
33
-
34
18
  class DeliverRecords(BaseModel):
35
19
  class Config(OneOfOptionConfig):
36
20
  title = "Replicate Records"
@@ -2,13 +2,23 @@
2
2
  # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
3
3
  #
4
4
 
5
- from airbyte_cdk.sources.file_based.config.abstract_file_based_spec import AbstractFileBasedSpec
5
+ from airbyte_cdk.sources.file_based.config.abstract_file_based_spec import (
6
+ AbstractFileBasedSpec,
7
+ DeliverRawFiles,
8
+ )
9
+ from airbyte_cdk.sources.specs.transfer_modes import DeliverPermissions
10
+
11
+ DELIVERY_TYPE_KEY = "delivery_type"
12
+ DELIVERY_TYPE_PERMISSION_TRANSFER_MODE_VALUE = "use_permissions_transfer"
13
+ DELIVERY_TYPE_FILES_TRANSFER_MODE_VALUE = "use_file_transfer"
14
+ PRESERVE_DIRECTORY_STRUCTURE_KEY = "preserve_directory_structure"
15
+ INCLUDE_IDENTITIES_STREAM_KEY = "include_identities_stream"
6
16
 
7
17
 
8
18
  def use_file_transfer(parsed_config: AbstractFileBasedSpec) -> bool:
9
19
  return (
10
- hasattr(parsed_config.delivery_method, "delivery_type")
11
- and parsed_config.delivery_method.delivery_type == "use_file_transfer"
20
+ hasattr(parsed_config.delivery_method, DELIVERY_TYPE_KEY)
21
+ and parsed_config.delivery_method.delivery_type == DELIVERY_TYPE_FILES_TRANSFER_MODE_VALUE
12
22
  )
13
23
 
14
24
 
@@ -27,8 +37,8 @@ def preserve_directory_structure(parsed_config: AbstractFileBasedSpec) -> bool:
27
37
  """
28
38
  if (
29
39
  use_file_transfer(parsed_config)
30
- and hasattr(parsed_config.delivery_method, "preserve_directory_structure")
31
- and parsed_config.delivery_method.preserve_directory_structure is not None
40
+ and hasattr(parsed_config.delivery_method, PRESERVE_DIRECTORY_STRUCTURE_KEY)
41
+ and isinstance(parsed_config.delivery_method, DeliverRawFiles)
32
42
  ):
33
43
  return parsed_config.delivery_method.preserve_directory_structure
34
44
  return True
@@ -36,16 +46,17 @@ def preserve_directory_structure(parsed_config: AbstractFileBasedSpec) -> bool:
36
46
 
37
47
  def use_permissions_transfer(parsed_config: AbstractFileBasedSpec) -> bool:
38
48
  return (
39
- hasattr(parsed_config.delivery_method, "delivery_type")
40
- and parsed_config.delivery_method.delivery_type == "use_permissions_transfer"
49
+ hasattr(parsed_config.delivery_method, DELIVERY_TYPE_KEY)
50
+ and parsed_config.delivery_method.delivery_type
51
+ == DELIVERY_TYPE_PERMISSION_TRANSFER_MODE_VALUE
41
52
  )
42
53
 
43
54
 
44
55
  def include_identities_stream(parsed_config: AbstractFileBasedSpec) -> bool:
45
56
  if (
46
57
  use_permissions_transfer(parsed_config)
47
- and hasattr(parsed_config.delivery_method, "include_identities_stream")
48
- and parsed_config.delivery_method.include_identities_stream is not None
58
+ and hasattr(parsed_config.delivery_method, INCLUDE_IDENTITIES_STREAM_KEY)
59
+ and isinstance(parsed_config.delivery_method, DeliverPermissions)
49
60
  ):
50
61
  return parsed_config.delivery_method.include_identities_stream
51
62
  return False
@@ -58,7 +58,7 @@ from airbyte_cdk.sources.file_based.schema_validation_policies import (
58
58
  from airbyte_cdk.sources.file_based.stream import (
59
59
  AbstractFileBasedStream,
60
60
  DefaultFileBasedStream,
61
- IdentitiesStream,
61
+ FileIdentities,
62
62
  )
63
63
  from airbyte_cdk.sources.file_based.stream.concurrent.adapters import FileBasedStreamFacade
64
64
  from airbyte_cdk.sources.file_based.stream.concurrent.cursor import (
@@ -67,7 +67,6 @@ from airbyte_cdk.sources.file_based.stream.concurrent.cursor import (
67
67
  FileBasedFinalStateCursor,
68
68
  )
69
69
  from airbyte_cdk.sources.file_based.stream.cursor import AbstractFileBasedCursor
70
- from airbyte_cdk.sources.file_based.stream.identities_stream import IDENTITIES_STREAM_NAME
71
70
  from airbyte_cdk.sources.message.repository import InMemoryMessageRepository, MessageRepository
72
71
  from airbyte_cdk.sources.streams import Stream
73
72
  from airbyte_cdk.sources.streams.concurrent.cursor import CursorField
@@ -169,7 +168,7 @@ class FileBasedSource(ConcurrentSourceAdapter, ABC):
169
168
  errors = []
170
169
  tracebacks = []
171
170
  for stream in streams:
172
- if isinstance(stream, IdentitiesStream):
171
+ if isinstance(stream, FileIdentities):
173
172
  identity = next(iter(stream.load_identity_groups()))
174
173
  if not identity:
175
174
  errors.append(
@@ -341,8 +340,8 @@ class FileBasedSource(ConcurrentSourceAdapter, ABC):
341
340
  def _make_identities_stream(
342
341
  self,
343
342
  ) -> Stream:
344
- return IdentitiesStream(
345
- catalog_schema=self.stream_schemas.get(IDENTITIES_STREAM_NAME),
343
+ return FileIdentities(
344
+ catalog_schema=self.stream_schemas.get(FileIdentities.IDENTITIES_STREAM_NAME),
346
345
  stream_reader=self.stream_reader,
347
346
  discovery_policy=self.discovery_policy,
348
347
  errors_collector=self.errors_collector,
@@ -192,7 +192,7 @@ class AbstractFileBasedStreamReader(ABC):
192
192
  ACL Permissions from files.
193
193
  """
194
194
  raise NotImplementedError(
195
- f"{self.__class__.__name__} must implement get_file_acl_permissions()"
195
+ f"{self.__class__.__name__} does not implement get_file_acl_permissions(). To support ACL permissions, implement this method and update file_permissions_schema."
196
196
  )
197
197
 
198
198
  @abstractmethod
@@ -202,5 +202,27 @@ class AbstractFileBasedStreamReader(ABC):
202
202
  identities.
203
203
  """
204
204
  raise NotImplementedError(
205
- f"{self.__class__.__name__} must implement load_identity_groups()"
205
+ f"{self.__class__.__name__} does not implement load_identity_groups(). To support identities, implement this method and update identities_schema."
206
+ )
207
+
208
+ @property
209
+ @abstractmethod
210
+ def file_permissions_schema(self) -> Dict[str, Any]:
211
+ """
212
+ This is required for connectors that will support syncing
213
+ ACL Permissions from files.
214
+ """
215
+ raise NotImplementedError(
216
+ f"{self.__class__.__name__} does not implement file_permissions_schema, please return json schema for your permissions streams."
217
+ )
218
+
219
+ @property
220
+ @abstractmethod
221
+ def identities_schema(self) -> Dict[str, Any]:
222
+ """
223
+ This is required for connectors that will support syncing
224
+ identities.
225
+ """
226
+ raise NotImplementedError(
227
+ f"{self.__class__.__name__} does not implement identities_schema, please return json schema for your identities stream."
206
228
  )
@@ -23,31 +23,6 @@ file_transfer_schema = {
23
23
  "properties": {"data": {"type": "object"}, "file": {"type": "object"}},
24
24
  }
25
25
 
26
- remote_file_permissions_schema = {
27
- "type": "object",
28
- "properties": {
29
- "id": {"type": "string"},
30
- "file_path": {"type": "string"},
31
- "allowed_identity_remote_ids": {"type": "array", "items": {"type": "string"}},
32
- "publicly_accessible": {"type": "boolean"},
33
- },
34
- }
35
-
36
- remote_file_identity_schema = {
37
- "type": "object",
38
- "properties": {
39
- "id": {"type": "string"},
40
- "remote_id": {"type": "string"},
41
- "parent_id": {"type": ["null", "string"]},
42
- "name": {"type": ["null", "string"]},
43
- "description": {"type": ["null", "string"]},
44
- "email_address": {"type": ["null", "string"]},
45
- "member_email_addresses": {"type": ["null", "array"]},
46
- "type": {"type": "string"},
47
- "modified_at": {"type": "string"},
48
- },
49
- }
50
-
51
26
 
52
27
  @total_ordering
53
28
  class ComparableType(Enum):
@@ -1,5 +1,5 @@
1
1
  from airbyte_cdk.sources.file_based.stream.abstract_file_based_stream import AbstractFileBasedStream
2
2
  from airbyte_cdk.sources.file_based.stream.default_file_based_stream import DefaultFileBasedStream
3
- from airbyte_cdk.sources.file_based.stream.identities_stream import IdentitiesStream
3
+ from airbyte_cdk.sources.file_based.stream.identities_stream import FileIdentities
4
4
 
5
- __all__ = ["AbstractFileBasedStream", "DefaultFileBasedStream", "IdentitiesStream"]
5
+ __all__ = ["AbstractFileBasedStream", "DefaultFileBasedStream", "FileIdentities"]
@@ -29,7 +29,6 @@ from airbyte_cdk.sources.file_based.schema_helpers import (
29
29
  SchemaType,
30
30
  file_transfer_schema,
31
31
  merge_schemas,
32
- remote_file_permissions_schema,
33
32
  schemaless_schema,
34
33
  )
35
34
  from airbyte_cdk.sources.file_based.stream import AbstractFileBasedStream
@@ -111,7 +110,7 @@ class DefaultFileBasedStream(AbstractFileBasedStream, IncrementalMixin):
111
110
  },
112
111
  }
113
112
  elif self.use_permissions_transfer:
114
- return remote_file_permissions_schema
113
+ return self.stream_reader.file_permissions_schema
115
114
  else:
116
115
  return super()._filter_schema_invalid_properties(configured_catalog_json_schema)
117
116
 
@@ -315,7 +314,7 @@ class DefaultFileBasedStream(AbstractFileBasedStream, IncrementalMixin):
315
314
  if self.use_file_transfer:
316
315
  return file_transfer_schema
317
316
  elif self.use_permissions_transfer:
318
- return remote_file_permissions_schema
317
+ return self.stream_reader.file_permissions_schema
319
318
  elif self.config.input_schema:
320
319
  return self.config.get_input_schema() # type: ignore
321
320
  elif self.config.schemaless:
@@ -0,0 +1,47 @@
1
+ #
2
+ # Copyright (c) 2024 Airbyte, Inc., all rights reserved.
3
+ #
4
+
5
+ from functools import cache
6
+ from typing import Any, Dict, Iterable, Mapping, MutableMapping, Optional
7
+
8
+ from airbyte_cdk.sources.file_based.config.file_based_stream_config import PrimaryKeyType
9
+ from airbyte_cdk.sources.file_based.discovery_policy import AbstractDiscoveryPolicy
10
+ from airbyte_cdk.sources.file_based.exceptions import FileBasedErrorsCollector
11
+ from airbyte_cdk.sources.file_based.file_based_stream_reader import AbstractFileBasedStreamReader
12
+ from airbyte_cdk.sources.streams.core import JsonSchema
13
+ from airbyte_cdk.sources.streams.permissions.identities import Identities
14
+
15
+
16
+ class FileIdentities(Identities):
17
+ """
18
+ The identities stream. A full refresh stream to sync identities from a certain domain.
19
+ The stream reader manage the logic to get such data, which is implemented on connector side.
20
+ """
21
+
22
+ is_resumable = False
23
+
24
+ def __init__(
25
+ self,
26
+ catalog_schema: Optional[Mapping[str, Any]],
27
+ stream_reader: AbstractFileBasedStreamReader,
28
+ discovery_policy: AbstractDiscoveryPolicy,
29
+ errors_collector: FileBasedErrorsCollector,
30
+ ) -> None:
31
+ super().__init__()
32
+ self.catalog_schema = catalog_schema
33
+ self.stream_reader = stream_reader
34
+ self._discovery_policy = discovery_policy
35
+ self.errors_collector = errors_collector
36
+ self._cursor: MutableMapping[str, Any] = {}
37
+
38
+ @property
39
+ def primary_key(self) -> PrimaryKeyType:
40
+ return None
41
+
42
+ def load_identity_groups(self) -> Iterable[Dict[str, Any]]:
43
+ return self.stream_reader.load_identity_groups(logger=self.logger)
44
+
45
+ @cache
46
+ def get_json_schema(self) -> JsonSchema:
47
+ return self.stream_reader.identities_schema
@@ -0,0 +1,26 @@
1
+ #
2
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
3
+ #
4
+
5
+ from typing import Literal
6
+
7
+ from pydantic.v1 import AnyUrl, BaseModel, Field
8
+
9
+ from airbyte_cdk import OneOfOptionConfig
10
+
11
+
12
+ class DeliverPermissions(BaseModel):
13
+ class Config(OneOfOptionConfig):
14
+ title = "Replicate Permissions ACL"
15
+ description = "Sends one identity stream and one for more permissions (ACL) streams to the destination. This data can be used in downstream systems to recreate permission restrictions mirroring the original source."
16
+ discriminator = "delivery_type"
17
+
18
+ delivery_type: Literal["use_permissions_transfer"] = Field(
19
+ "use_permissions_transfer", const=True
20
+ )
21
+
22
+ include_identities_stream: bool = Field(
23
+ title="Include Identity Stream",
24
+ description="This data can be used in downstream systems to recreate permission restrictions mirroring the original source",
25
+ default=True,
26
+ )
@@ -3,48 +3,33 @@
3
3
  #
4
4
 
5
5
  import traceback
6
- from functools import cache
6
+ from abc import ABC, abstractmethod
7
7
  from typing import Any, Dict, Iterable, List, Mapping, MutableMapping, Optional
8
8
 
9
9
  from airbyte_protocol_dataclasses.models import SyncMode
10
10
 
11
11
  from airbyte_cdk.models import AirbyteLogMessage, AirbyteMessage, Level
12
12
  from airbyte_cdk.models import Type as MessageType
13
- from airbyte_cdk.sources.file_based.config.file_based_stream_config import PrimaryKeyType
14
- from airbyte_cdk.sources.file_based.discovery_policy import AbstractDiscoveryPolicy
15
- from airbyte_cdk.sources.file_based.exceptions import FileBasedErrorsCollector, FileBasedSourceError
16
- from airbyte_cdk.sources.file_based.file_based_stream_reader import AbstractFileBasedStreamReader
17
- from airbyte_cdk.sources.file_based.schema_helpers import remote_file_identity_schema
18
- from airbyte_cdk.sources.file_based.types import StreamSlice
19
13
  from airbyte_cdk.sources.streams import Stream
20
14
  from airbyte_cdk.sources.streams.checkpoint import Cursor
21
- from airbyte_cdk.sources.streams.core import JsonSchema
22
15
  from airbyte_cdk.sources.utils.record_helper import stream_data_to_airbyte_message
23
16
  from airbyte_cdk.utils.traced_exception import AirbyteTracedException
24
17
 
25
- IDENTITIES_STREAM_NAME = "identities"
18
+ DEFAULT_IDENTITIES_STREAM_NAME = "identities"
26
19
 
27
20
 
28
- class IdentitiesStream(Stream):
21
+ class Identities(Stream, ABC):
29
22
  """
30
23
  The identities stream. A full refresh stream to sync identities from a certain domain.
31
- The stream reader manage the logic to get such data, which is implemented on connector side.
24
+ The load_identity_groups method manage the logic to get such data.
32
25
  """
33
26
 
27
+ IDENTITIES_STREAM_NAME = DEFAULT_IDENTITIES_STREAM_NAME
28
+
34
29
  is_resumable = False
35
30
 
36
- def __init__(
37
- self,
38
- catalog_schema: Optional[Mapping[str, Any]],
39
- stream_reader: AbstractFileBasedStreamReader,
40
- discovery_policy: AbstractDiscoveryPolicy,
41
- errors_collector: FileBasedErrorsCollector,
42
- ):
31
+ def __init__(self) -> None:
43
32
  super().__init__()
44
- self.catalog_schema = catalog_schema
45
- self.stream_reader = stream_reader
46
- self._discovery_policy = discovery_policy
47
- self.errors_collector = errors_collector
48
33
  self._cursor: MutableMapping[str, Any] = {}
49
34
 
50
35
  @property
@@ -56,15 +41,11 @@ class IdentitiesStream(Stream):
56
41
  """State setter, accept state serialized by state getter."""
57
42
  self._cursor = value
58
43
 
59
- @property
60
- def primary_key(self) -> PrimaryKeyType:
61
- return None
62
-
63
44
  def read_records(
64
45
  self,
65
46
  sync_mode: SyncMode,
66
47
  cursor_field: Optional[List[str]] = None,
67
- stream_slice: Optional[StreamSlice] = None,
48
+ stream_slice: Optional[Mapping[str, Any]] = None,
68
49
  stream_state: Optional[Mapping[str, Any]] = None,
69
50
  ) -> Iterable[Mapping[str, Any] | AirbyteMessage]:
70
51
  try:
@@ -74,26 +55,23 @@ class IdentitiesStream(Stream):
74
55
  except AirbyteTracedException as exc:
75
56
  # Re-raise the exception to stop the whole sync immediately as this is a fatal error
76
57
  raise exc
77
- except Exception:
58
+ except Exception as e:
78
59
  yield AirbyteMessage(
79
60
  type=MessageType.LOG,
80
61
  log=AirbyteLogMessage(
81
62
  level=Level.ERROR,
82
- message=f"{FileBasedSourceError.ERROR_PARSING_RECORD.value} stream={self.name}",
63
+ message=f"Error trying to read identities: {e} stream={self.name}",
83
64
  stack_trace=traceback.format_exc(),
84
65
  ),
85
66
  )
86
67
 
68
+ @abstractmethod
87
69
  def load_identity_groups(self) -> Iterable[Dict[str, Any]]:
88
- return self.stream_reader.load_identity_groups(logger=self.logger)
89
-
90
- @cache
91
- def get_json_schema(self) -> JsonSchema:
92
- return remote_file_identity_schema
70
+ raise NotImplementedError("Implement this method to read identity records")
93
71
 
94
72
  @property
95
73
  def name(self) -> str:
96
- return IDENTITIES_STREAM_NAME
74
+ return self.IDENTITIES_STREAM_NAME
97
75
 
98
76
  def get_cursor(self) -> Optional[Cursor]:
99
77
  return None
@@ -23,7 +23,7 @@ classifiers = [
23
23
  keywords = ["airbyte", "connector-development-kit", "cdk"]
24
24
 
25
25
  # Python CDK uses dynamic versioning: https://github.com/mtkennerly/poetry-dynamic-versioning
26
- version = "6.26.0.dev04108" # Version will be calculated dynamically.
26
+ version = "6.26.0.dev04109" # Version will be calculated dynamically.
27
27
 
28
28
  [tool.poetry-dynamic-versioning]
29
29
  enable = false