77
88from pydantic .v1 import BaseModel
99
10+ from airbyte_cdk .sources .message import MessageRepository
1011from airbyte_cdk .sources .declarative .models .declarative_component_schema import ValueType
1112from airbyte_cdk .sources .types import Config
1213
14+ from airbyte_cdk .sources .connector_state_manager import ConnectorStateManager
15+
1316M = TypeVar ("M" , bound = BaseModel )
1417
1518
19+ @dataclass
20+ class AdditionalFlags :
21+ def __init__ (
22+ self ,
23+ emit_connector_builder_messages : bool ,
24+ disable_retries : bool ,
25+ message_repository : MessageRepository ,
26+ connector_state_manager : ConnectorStateManager ,
27+ limit_pages_fetched_per_slice : Optional [int ],
28+ limit_slices_fetched : Optional [int ],
29+ ):
30+ self .emit_connector_builder_messages = emit_connector_builder_messages
31+ self .disable_retries = disable_retries
32+ self .message_repository = message_repository
33+ self .connector_state_manager = connector_state_manager
34+ self .limit_pages_fetched_per_slice = limit_pages_fetched_per_slice
35+ self .limit_slices_fetched = limit_slices_fetched
36+
37+ @property
38+ def should_limit_slices_fetched (self ) -> bool :
39+ """
40+ Returns True if the number of slices fetched should be limited, False otherwise.
41+ This is used to limit the number of slices fetched during tests.
42+ """
43+ return bool (self .limit_slices_fetched or self .emit_connector_builder_messages )
44+
45+
1646@dataclass
1747class ComponentConstructor (Generic [M ]):
1848 @classmethod
@@ -21,7 +51,7 @@ def resolve_dependencies(
2151 model : M ,
2252 config : Config ,
2353 dependency_constructor : Callable [..., Any ],
24- additional_flags : Optional [ Mapping [ str , Any ]] = None ,
54+ additional_flags : AdditionalFlags ,
2555 ** kwargs : Any ,
2656 ) -> Mapping [str , Any ]:
2757 """
@@ -37,7 +67,7 @@ def build(
3767 model : M ,
3868 config : Config ,
3969 dependency_constructor : Callable [..., Any ],
40- additional_flags : Optional [ Mapping [ str , Any ]] ,
70+ additional_flags : AdditionalFlags ,
4171 ** kwargs : Any ,
4272 ) -> "ComponentConstructor[M]" :
4373 """
0 commit comments