airweave-sdk 0.8.25__py3-none-any.whl → 0.8.63__py3-none-any.whl
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.
- airweave/__init__.py +51 -120
- airweave/collections/client.py +15 -2
- airweave/collections/raw_client.py +15 -0
- airweave/core/client_wrapper.py +2 -2
- airweave/types/__init__.py +53 -120
- airweave/types/admin_sync_info.py +3 -3
- airweave/types/{geo_radius.py → behavior_config.py} +11 -7
- airweave/types/body_resync_with_execution_config_admin_resync_sync_id_post.py +28 -0
- airweave/types/collection.py +8 -2
- airweave/types/collection_update.py +8 -2
- airweave/types/{has_vector_condition.py → create_subscription_request.py} +6 -6
- airweave/types/{geo_line_string.py → cursor_config.py} +9 -5
- airweave/types/destination_config.py +41 -0
- airweave/types/endpoint_out.py +35 -0
- airweave/types/{payload_field.py → endpoint_secret_out.py} +2 -9
- airweave/types/event_type.py +7 -0
- airweave/types/feature_flag.py +8 -1
- airweave/types/{range.py → handler_config.py} +8 -13
- airweave/types/legacy_search_request.py +3 -13
- airweave/types/message_attempt_out.py +37 -0
- airweave/types/{value.py → message_attempt_trigger_type.py} +1 -3
- airweave/types/message_out.py +29 -0
- airweave/types/{has_id_condition_has_id_item.py → message_status.py} +1 -3
- airweave/types/message_status_text.py +5 -0
- airweave/types/{geo_point.py → patch_subscription_request.py} +5 -11
- airweave/types/s_3_config_request.py +5 -15
- airweave/types/search_request.py +1 -1
- airweave/types/source.py +10 -0
- airweave/types/{has_id_condition.py → subscription_with_attempts_out.py} +6 -7
- airweave/types/sync.py +2 -0
- airweave/types/sync_config.py +34 -0
- airweave/types/sync_create.py +2 -0
- airweave/types/sync_job.py +3 -1
- airweave/types/sync_update.py +2 -0
- {airweave_sdk-0.8.25.dist-info → airweave_sdk-0.8.63.dist-info}/METADATA +1 -1
- {airweave_sdk-0.8.25.dist-info → airweave_sdk-0.8.63.dist-info}/RECORD +37 -60
- airweave/types/any.py +0 -5
- airweave/types/datetime_range.py +0 -45
- airweave/types/except_.py +0 -5
- airweave/types/field_condition.py +0 -72
- airweave/types/filter.py +0 -53
- airweave/types/filter_must_item.py +0 -18
- airweave/types/filter_must_not.py +0 -26
- airweave/types/filter_must_not_item.py +0 -18
- airweave/types/filter_should_item.py +0 -18
- airweave/types/geo_bounding_box.py +0 -32
- airweave/types/geo_polygon.py +0 -32
- airweave/types/gt.py +0 -6
- airweave/types/gte.py +0 -6
- airweave/types/is_empty_condition.py +0 -27
- airweave/types/is_null_condition.py +0 -27
- airweave/types/lt.py +0 -6
- airweave/types/lte.py +0 -6
- airweave/types/match.py +0 -11
- airweave/types/match_any.py +0 -27
- airweave/types/match_except.py +0 -29
- airweave/types/match_phrase.py +0 -26
- airweave/types/match_text.py +0 -26
- airweave/types/match_value.py +0 -27
- airweave/types/min_should.py +0 -37
- airweave/types/min_should_conditions_item.py +0 -18
- airweave/types/must.py +0 -26
- airweave/types/nested.py +0 -40
- airweave/types/nested_condition.py +0 -31
- airweave/types/should.py +0 -26
- airweave/types/sync_execution_config.py +0 -79
- airweave/types/values_count.py +0 -41
- {airweave_sdk-0.8.25.dist-info → airweave_sdk-0.8.63.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
import typing_extensions
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class EndpointOut(UniversalBaseModel):
|
|
13
|
+
channels: typing.Optional[typing.List[str]] = None
|
|
14
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")]
|
|
15
|
+
description: str
|
|
16
|
+
disabled: typing.Optional[bool] = None
|
|
17
|
+
filter_types: typing_extensions.Annotated[typing.Optional[typing.List[str]], FieldMetadata(alias="filterTypes")] = (
|
|
18
|
+
None
|
|
19
|
+
)
|
|
20
|
+
id: str
|
|
21
|
+
metadata: typing.Dict[str, str]
|
|
22
|
+
rate_limit: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="rateLimit")] = None
|
|
23
|
+
uid: typing.Optional[str] = None
|
|
24
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")]
|
|
25
|
+
url: str
|
|
26
|
+
version: int
|
|
27
|
+
|
|
28
|
+
if IS_PYDANTIC_V2:
|
|
29
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
30
|
+
else:
|
|
31
|
+
|
|
32
|
+
class Config:
|
|
33
|
+
frozen = True
|
|
34
|
+
smart_union = True
|
|
35
|
+
extra = pydantic.Extra.allow
|
|
@@ -6,15 +6,8 @@ import pydantic
|
|
|
6
6
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
class
|
|
10
|
-
|
|
11
|
-
Payload field
|
|
12
|
-
"""
|
|
13
|
-
|
|
14
|
-
key: str = pydantic.Field()
|
|
15
|
-
"""
|
|
16
|
-
Payload field name
|
|
17
|
-
"""
|
|
9
|
+
class EndpointSecretOut(UniversalBaseModel):
|
|
10
|
+
key: str
|
|
18
11
|
|
|
19
12
|
if IS_PYDANTIC_V2:
|
|
20
13
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
airweave/types/feature_flag.py
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
import typing
|
|
4
4
|
|
|
5
5
|
FeatureFlag = typing.Union[
|
|
6
|
-
typing.Literal[
|
|
6
|
+
typing.Literal[
|
|
7
|
+
"s3_destination",
|
|
8
|
+
"priority_support",
|
|
9
|
+
"source_rate_limiting",
|
|
10
|
+
"zephyr_scale",
|
|
11
|
+
"sharepoint_2019_v2",
|
|
12
|
+
"api_key_admin_sync",
|
|
13
|
+
],
|
|
7
14
|
typing.Any,
|
|
8
15
|
]
|
|
@@ -6,29 +6,24 @@ import pydantic
|
|
|
6
6
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
class
|
|
9
|
+
class HandlerConfig(UniversalBaseModel):
|
|
10
10
|
"""
|
|
11
|
-
|
|
11
|
+
Controls which handlers run during sync.
|
|
12
12
|
"""
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
enable_vector_handlers: typing.Optional[bool] = pydantic.Field(default=None)
|
|
15
15
|
"""
|
|
16
|
-
|
|
16
|
+
Enable VectorDBHandler
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
enable_raw_data_handler: typing.Optional[bool] = pydantic.Field(default=None)
|
|
20
20
|
"""
|
|
21
|
-
|
|
21
|
+
Enable RawDataHandler (ARF)
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
enable_postgres_handler: typing.Optional[bool] = pydantic.Field(default=None)
|
|
25
25
|
"""
|
|
26
|
-
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
lte: typing.Optional[float] = pydantic.Field(default=None)
|
|
30
|
-
"""
|
|
31
|
-
point.key <= range.lte
|
|
26
|
+
Enable EntityPostgresHandler
|
|
32
27
|
"""
|
|
33
28
|
|
|
34
29
|
if IS_PYDANTIC_V2:
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
3
|
import typing
|
|
6
4
|
|
|
7
5
|
import pydantic
|
|
8
|
-
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
9
7
|
from .legacy_search_request_search_method import LegacySearchRequestSearchMethod
|
|
10
8
|
from .query_expansion_strategy import QueryExpansionStrategy
|
|
11
9
|
from .response_type import ResponseType
|
|
@@ -21,9 +19,9 @@ class LegacySearchRequest(UniversalBaseModel):
|
|
|
21
19
|
The search query text (max 2048 tokens)
|
|
22
20
|
"""
|
|
23
21
|
|
|
24
|
-
filter: typing.Optional[
|
|
22
|
+
filter: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
25
23
|
"""
|
|
26
|
-
|
|
24
|
+
Filter for metadata-based filtering
|
|
27
25
|
"""
|
|
28
26
|
|
|
29
27
|
offset: typing.Optional[int] = pydantic.Field(default=None)
|
|
@@ -79,11 +77,3 @@ class LegacySearchRequest(UniversalBaseModel):
|
|
|
79
77
|
frozen = True
|
|
80
78
|
smart_union = True
|
|
81
79
|
extra = pydantic.Extra.allow
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
from .filter import Filter # noqa: E402, F401, I001
|
|
85
|
-
from .min_should import MinShould # noqa: E402, F401, I001
|
|
86
|
-
from .nested import Nested # noqa: E402, F401, I001
|
|
87
|
-
from .nested_condition import NestedCondition # noqa: E402, F401, I001
|
|
88
|
-
|
|
89
|
-
update_forward_refs(LegacySearchRequest)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
import typing_extensions
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
from .message_attempt_trigger_type import MessageAttemptTriggerType
|
|
11
|
+
from .message_out import MessageOut
|
|
12
|
+
from .message_status import MessageStatus
|
|
13
|
+
from .message_status_text import MessageStatusText
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class MessageAttemptOut(UniversalBaseModel):
|
|
17
|
+
endpoint_id: typing_extensions.Annotated[str, FieldMetadata(alias="endpointId")]
|
|
18
|
+
id: str
|
|
19
|
+
msg: typing.Optional[MessageOut] = None
|
|
20
|
+
msg_id: typing_extensions.Annotated[str, FieldMetadata(alias="msgId")]
|
|
21
|
+
response: str
|
|
22
|
+
response_duration_ms: typing_extensions.Annotated[int, FieldMetadata(alias="responseDurationMs")]
|
|
23
|
+
response_status_code: typing_extensions.Annotated[int, FieldMetadata(alias="responseStatusCode")]
|
|
24
|
+
status: MessageStatus
|
|
25
|
+
status_text: typing_extensions.Annotated[MessageStatusText, FieldMetadata(alias="statusText")]
|
|
26
|
+
timestamp: dt.datetime
|
|
27
|
+
trigger_type: typing_extensions.Annotated[MessageAttemptTriggerType, FieldMetadata(alias="triggerType")]
|
|
28
|
+
url: str
|
|
29
|
+
|
|
30
|
+
if IS_PYDANTIC_V2:
|
|
31
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
32
|
+
else:
|
|
33
|
+
|
|
34
|
+
class Config:
|
|
35
|
+
frozen = True
|
|
36
|
+
smart_union = True
|
|
37
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
import typing_extensions
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class MessageOut(UniversalBaseModel):
|
|
13
|
+
channels: typing.Optional[typing.List[str]] = None
|
|
14
|
+
deliver_at: typing_extensions.Annotated[typing.Optional[dt.datetime], FieldMetadata(alias="deliverAt")] = None
|
|
15
|
+
event_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="eventId")] = None
|
|
16
|
+
event_type: typing_extensions.Annotated[str, FieldMetadata(alias="eventType")]
|
|
17
|
+
id: str
|
|
18
|
+
payload: typing.Dict[str, typing.Optional[typing.Any]]
|
|
19
|
+
tags: typing.Optional[typing.List[str]] = None
|
|
20
|
+
timestamp: dt.datetime
|
|
21
|
+
|
|
22
|
+
if IS_PYDANTIC_V2:
|
|
23
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
24
|
+
else:
|
|
25
|
+
|
|
26
|
+
class Config:
|
|
27
|
+
frozen = True
|
|
28
|
+
smart_union = True
|
|
29
|
+
extra = pydantic.Extra.allow
|
|
@@ -4,22 +4,16 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
import pydantic
|
|
6
6
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .event_type import EventType
|
|
7
8
|
|
|
8
9
|
|
|
9
|
-
class
|
|
10
|
+
class PatchSubscriptionRequest(UniversalBaseModel):
|
|
10
11
|
"""
|
|
11
|
-
|
|
12
|
+
Request model for updating an existing webhook subscription.
|
|
12
13
|
"""
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Geo point payload schema
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
lat: float = pydantic.Field()
|
|
20
|
-
"""
|
|
21
|
-
Geo point payload schema
|
|
22
|
-
"""
|
|
15
|
+
url: typing.Optional[str] = None
|
|
16
|
+
event_types: typing.Optional[typing.List[EventType]] = None
|
|
23
17
|
|
|
24
18
|
if IS_PYDANTIC_V2:
|
|
25
19
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
@@ -8,17 +8,17 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
|
8
8
|
|
|
9
9
|
class S3ConfigRequest(UniversalBaseModel):
|
|
10
10
|
"""
|
|
11
|
-
Request to configure S3 destination.
|
|
11
|
+
Request to configure S3 destination with IAM role.
|
|
12
12
|
"""
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
role_arn: str = pydantic.Field()
|
|
15
15
|
"""
|
|
16
|
-
|
|
16
|
+
IAM Role ARN to assume (e.g., arn:aws:iam::123456789012:role/airweave-writer)
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
external_id: str = pydantic.Field()
|
|
20
20
|
"""
|
|
21
|
-
|
|
21
|
+
External ID for secure cross-account trust policy
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
bucket_name: str = pydantic.Field()
|
|
@@ -36,16 +36,6 @@ class S3ConfigRequest(UniversalBaseModel):
|
|
|
36
36
|
AWS region
|
|
37
37
|
"""
|
|
38
38
|
|
|
39
|
-
endpoint_url: typing.Optional[str] = pydantic.Field(default=None)
|
|
40
|
-
"""
|
|
41
|
-
Custom S3 endpoint
|
|
42
|
-
"""
|
|
43
|
-
|
|
44
|
-
use_ssl: typing.Optional[bool] = pydantic.Field(default=None)
|
|
45
|
-
"""
|
|
46
|
-
Use SSL/TLS
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
39
|
if IS_PYDANTIC_V2:
|
|
50
40
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
51
41
|
else:
|
airweave/types/search_request.py
CHANGED
|
@@ -39,7 +39,7 @@ class SearchRequest(UniversalBaseModel):
|
|
|
39
39
|
|
|
40
40
|
temporal_relevance: typing.Optional[float] = pydantic.Field(default=None)
|
|
41
41
|
"""
|
|
42
|
-
Weight recent content higher than older content; 0 = no recency effect, 1 = only recent items matter
|
|
42
|
+
Weight recent content higher than older content; 0 = no recency effect, 1 = only recent items matter. NOTE: This feature is currently under construction and will be ignored.
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
45
|
expand_query: typing.Optional[bool] = pydantic.Field(default=None)
|
airweave/types/source.py
CHANGED
|
@@ -83,11 +83,21 @@ class Source(UniversalBaseModel):
|
|
|
83
83
|
Whether this source's entities have timestamps that enable recency-based ranking. Sources without file-level timestamps (e.g., code repositories) cannot use temporal relevance for search result weighting.
|
|
84
84
|
"""
|
|
85
85
|
|
|
86
|
+
supports_access_control: typing.Optional[bool] = pydantic.Field(default=None)
|
|
87
|
+
"""
|
|
88
|
+
Whether this source supports document-level access control. Sources with this capability extract ACL information from the source and apply it during search to filter results based on user permissions.
|
|
89
|
+
"""
|
|
90
|
+
|
|
86
91
|
rate_limit_level: typing.Optional[str] = pydantic.Field(default=None)
|
|
87
92
|
"""
|
|
88
93
|
Rate limiting level for this source: 'org' (organization-wide), 'connection' (per-connection/per-user), or None (no rate limiting).
|
|
89
94
|
"""
|
|
90
95
|
|
|
96
|
+
feature_flag: typing.Optional[str] = pydantic.Field(default=None)
|
|
97
|
+
"""
|
|
98
|
+
Feature flag required to access this source. If set, only organizations with this feature enabled can see/use this source.
|
|
99
|
+
"""
|
|
100
|
+
|
|
91
101
|
id: str = pydantic.Field()
|
|
92
102
|
"""
|
|
93
103
|
Unique system identifier for this source type. Generated automatically when the source is registered.
|
|
@@ -4,18 +4,17 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
import pydantic
|
|
6
6
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
-
from .
|
|
7
|
+
from .endpoint_out import EndpointOut
|
|
8
|
+
from .message_attempt_out import MessageAttemptOut
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
class
|
|
11
|
+
class SubscriptionWithAttemptsOut(UniversalBaseModel):
|
|
11
12
|
"""
|
|
12
|
-
|
|
13
|
+
Response model for a subscription with its message attempts.
|
|
13
14
|
"""
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
ID-based filtering condition
|
|
18
|
-
"""
|
|
16
|
+
endpoint: EndpointOut
|
|
17
|
+
message_attempts: typing.List[MessageAttemptOut]
|
|
19
18
|
|
|
20
19
|
if IS_PYDANTIC_V2:
|
|
21
20
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
airweave/types/sync.py
CHANGED
|
@@ -5,6 +5,7 @@ import typing
|
|
|
5
5
|
|
|
6
6
|
import pydantic
|
|
7
7
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from .sync_config import SyncConfig
|
|
8
9
|
from .sync_status import SyncStatus
|
|
9
10
|
|
|
10
11
|
|
|
@@ -22,6 +23,7 @@ class Sync(UniversalBaseModel):
|
|
|
22
23
|
temporal_schedule_id: typing.Optional[str] = None
|
|
23
24
|
sync_type: typing.Optional[str] = None
|
|
24
25
|
sync_metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
26
|
+
sync_config: typing.Optional[SyncConfig] = None
|
|
25
27
|
status: SyncStatus
|
|
26
28
|
id: str
|
|
27
29
|
organization_id: str
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .behavior_config import BehaviorConfig
|
|
8
|
+
from .cursor_config import CursorConfig
|
|
9
|
+
from .destination_config import DestinationConfig
|
|
10
|
+
from .handler_config import HandlerConfig
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SyncConfig(UniversalBaseModel):
|
|
14
|
+
"""
|
|
15
|
+
Sync configuration with automatic env var loading.
|
|
16
|
+
|
|
17
|
+
Env vars use double underscore as delimiter:
|
|
18
|
+
SYNC_CONFIG__DESTINATIONS__SKIP_QDRANT=true
|
|
19
|
+
SYNC_CONFIG__HANDLERS__ENABLE_VECTOR_HANDLERS=false
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
destinations: typing.Optional[DestinationConfig] = None
|
|
23
|
+
handlers: typing.Optional[HandlerConfig] = None
|
|
24
|
+
cursor: typing.Optional[CursorConfig] = None
|
|
25
|
+
behavior: typing.Optional[BehaviorConfig] = None
|
|
26
|
+
|
|
27
|
+
if IS_PYDANTIC_V2:
|
|
28
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
29
|
+
else:
|
|
30
|
+
|
|
31
|
+
class Config:
|
|
32
|
+
frozen = True
|
|
33
|
+
smart_union = True
|
|
34
|
+
extra = pydantic.Extra.allow
|
airweave/types/sync_create.py
CHANGED
|
@@ -5,6 +5,7 @@ import typing
|
|
|
5
5
|
|
|
6
6
|
import pydantic
|
|
7
7
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from .sync_config import SyncConfig
|
|
8
9
|
from .sync_status import SyncStatus
|
|
9
10
|
|
|
10
11
|
|
|
@@ -22,6 +23,7 @@ class SyncCreate(UniversalBaseModel):
|
|
|
22
23
|
temporal_schedule_id: typing.Optional[str] = None
|
|
23
24
|
sync_type: typing.Optional[str] = None
|
|
24
25
|
sync_metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
26
|
+
sync_config: typing.Optional[SyncConfig] = None
|
|
25
27
|
status: typing.Optional[SyncStatus] = None
|
|
26
28
|
run_immediately: typing.Optional[bool] = None
|
|
27
29
|
|
airweave/types/sync_job.py
CHANGED
|
@@ -5,6 +5,7 @@ import typing
|
|
|
5
5
|
|
|
6
6
|
import pydantic
|
|
7
7
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from .sync_config import SyncConfig
|
|
8
9
|
from .sync_job_status import SyncJobStatus
|
|
9
10
|
|
|
10
11
|
|
|
@@ -27,7 +28,8 @@ class SyncJob(UniversalBaseModel):
|
|
|
27
28
|
failed_at: typing.Optional[dt.datetime] = None
|
|
28
29
|
error: typing.Optional[str] = None
|
|
29
30
|
access_token: typing.Optional[str] = None
|
|
30
|
-
|
|
31
|
+
sync_config: typing.Optional[SyncConfig] = None
|
|
32
|
+
sync_metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
31
33
|
id: str
|
|
32
34
|
organization_id: str
|
|
33
35
|
created_by_email: typing.Optional[str] = None
|
airweave/types/sync_update.py
CHANGED
|
@@ -5,6 +5,7 @@ import typing
|
|
|
5
5
|
|
|
6
6
|
import pydantic
|
|
7
7
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from .sync_config import SyncConfig
|
|
8
9
|
from .sync_status import SyncStatus
|
|
9
10
|
|
|
10
11
|
|
|
@@ -17,6 +18,7 @@ class SyncUpdate(UniversalBaseModel):
|
|
|
17
18
|
cron_schedule: typing.Optional[str] = None
|
|
18
19
|
next_scheduled_run: typing.Optional[dt.datetime] = None
|
|
19
20
|
sync_metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
21
|
+
sync_config: typing.Optional[SyncConfig] = None
|
|
20
22
|
status: typing.Optional[SyncStatus] = None
|
|
21
23
|
temporal_schedule_id: typing.Optional[str] = None
|
|
22
24
|
sync_type: typing.Optional[str] = None
|