airweave-sdk 0.8.19__py3-none-any.whl → 0.8.48__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 -3
- 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 -3
- airweave/types/admin_sync_info.py +4 -3
- airweave/types/behavior_config.py +36 -0
- airweave/types/body_resync_with_execution_config_admin_resync_sync_id_post.py +28 -0
- airweave/types/collection.py +6 -0
- airweave/types/collection_update.py +8 -2
- airweave/types/create_subscription_request.py +26 -0
- airweave/types/cursor_config.py +31 -0
- airweave/types/destination_config.py +41 -0
- airweave/types/endpoint_out.py +35 -0
- airweave/types/endpoint_secret_out.py +19 -0
- airweave/types/event_type.py +7 -0
- airweave/types/feature_flag.py +8 -1
- airweave/types/filter.py +4 -4
- airweave/types/handler_config.py +36 -0
- airweave/types/message_attempt_out.py +37 -0
- airweave/types/message_attempt_trigger_type.py +3 -0
- airweave/types/message_out.py +29 -0
- airweave/types/message_status.py +3 -0
- airweave/types/message_status_text.py +5 -0
- airweave/types/patch_subscription_request.py +25 -0
- airweave/types/s_3_config_request.py +5 -15
- airweave/types/search_request.py +1 -1
- airweave/types/source.py +10 -0
- airweave/types/subscription_with_attempts_out.py +26 -0
- 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.19.dist-info → airweave_sdk-0.8.48.dist-info}/METADATA +1 -1
- {airweave_sdk-0.8.19.dist-info → airweave_sdk-0.8.48.dist-info}/RECORD +37 -21
- airweave/types/sync_execution_config.py +0 -79
- {airweave_sdk-0.8.19.dist-info → airweave_sdk-0.8.48.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
|
|
8
|
+
|
|
9
|
+
class BehaviorConfig(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Miscellaneous execution behavior flags.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
skip_hash_comparison: typing.Optional[bool] = pydantic.Field(default=None)
|
|
15
|
+
"""
|
|
16
|
+
Force INSERT for all entities
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
replay_from_arf: typing.Optional[bool] = pydantic.Field(default=None)
|
|
20
|
+
"""
|
|
21
|
+
Replay from ARF storage instead of calling source
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
skip_guardrails: typing.Optional[bool] = pydantic.Field(default=None)
|
|
25
|
+
"""
|
|
26
|
+
Skip usage guardrails (entity count checks)
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
if IS_PYDANTIC_V2:
|
|
30
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
31
|
+
else:
|
|
32
|
+
|
|
33
|
+
class Config:
|
|
34
|
+
frozen = True
|
|
35
|
+
smart_union = True
|
|
36
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,28 @@
|
|
|
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 .sync_config import SyncConfig
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class BodyResyncWithExecutionConfigAdminResyncSyncIdPost(UniversalBaseModel):
|
|
11
|
+
execution_config: typing.Optional[SyncConfig] = pydantic.Field(default=None)
|
|
12
|
+
"""
|
|
13
|
+
Optional nested SyncConfig for sync behavior (destinations, handlers, cursor, behavior)
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
tags: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
Optional tags for filtering and organizing sync jobs (e.g., ['vespa-backfill-01-22-2026', 'manual'])
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
if IS_PYDANTIC_V2:
|
|
22
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
23
|
+
else:
|
|
24
|
+
|
|
25
|
+
class Config:
|
|
26
|
+
frozen = True
|
|
27
|
+
smart_union = True
|
|
28
|
+
extra = pydantic.Extra.allow
|
airweave/types/collection.py
CHANGED
|
@@ -6,6 +6,7 @@ import typing
|
|
|
6
6
|
import pydantic
|
|
7
7
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
8
|
from .collection_status import CollectionStatus
|
|
9
|
+
from .sync_config import SyncConfig
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class Collection(UniversalBaseModel):
|
|
@@ -41,6 +42,11 @@ class Collection(UniversalBaseModel):
|
|
|
41
42
|
Name of the embedding model used for this collection (e.g., 'text-embedding-3-large', 'text-embedding-3-small'). This ensures queries use the same model as the indexed data.
|
|
42
43
|
"""
|
|
43
44
|
|
|
45
|
+
sync_config: typing.Optional[SyncConfig] = pydantic.Field(default=None)
|
|
46
|
+
"""
|
|
47
|
+
Default sync configuration for all syncs in this collection. Overridable at sync and job level.
|
|
48
|
+
"""
|
|
49
|
+
|
|
44
50
|
created_at: dt.datetime = pydantic.Field()
|
|
45
51
|
"""
|
|
46
52
|
Timestamp when the collection was created (ISO 8601 format).
|
|
@@ -4,14 +4,15 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
import pydantic
|
|
6
6
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .sync_config import SyncConfig
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class CollectionUpdate(UniversalBaseModel):
|
|
10
11
|
"""
|
|
11
12
|
Schema for updating an existing collection.
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
to maintain stable API endpoints and references.
|
|
14
|
+
Allows updating the collection's display name and default sync configuration.
|
|
15
|
+
The readable_id is immutable to maintain stable API endpoints and references.
|
|
15
16
|
"""
|
|
16
17
|
|
|
17
18
|
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
@@ -19,6 +20,11 @@ class CollectionUpdate(UniversalBaseModel):
|
|
|
19
20
|
Updated display name for the collection. Must be between 4 and 64 characters.
|
|
20
21
|
"""
|
|
21
22
|
|
|
23
|
+
sync_config: typing.Optional[SyncConfig] = pydantic.Field(default=None)
|
|
24
|
+
"""
|
|
25
|
+
Default sync configuration for all syncs in this collection. This provides collection-level defaults that can be overridden at sync or job level.
|
|
26
|
+
"""
|
|
27
|
+
|
|
22
28
|
if IS_PYDANTIC_V2:
|
|
23
29
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
24
30
|
else:
|
|
@@ -0,0 +1,26 @@
|
|
|
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 .event_type import EventType
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CreateSubscriptionRequest(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Request model for creating a new webhook subscription.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
url: str
|
|
16
|
+
event_types: typing.List[EventType]
|
|
17
|
+
secret: typing.Optional[str] = None
|
|
18
|
+
|
|
19
|
+
if IS_PYDANTIC_V2:
|
|
20
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
21
|
+
else:
|
|
22
|
+
|
|
23
|
+
class Config:
|
|
24
|
+
frozen = True
|
|
25
|
+
smart_union = True
|
|
26
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
|
|
8
|
+
|
|
9
|
+
class CursorConfig(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Controls incremental sync cursor behavior.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
skip_load: typing.Optional[bool] = pydantic.Field(default=None)
|
|
15
|
+
"""
|
|
16
|
+
Don't load cursor (fetch all entities)
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
skip_updates: typing.Optional[bool] = pydantic.Field(default=None)
|
|
20
|
+
"""
|
|
21
|
+
Don't persist cursor progress
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
if IS_PYDANTIC_V2:
|
|
25
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
26
|
+
else:
|
|
27
|
+
|
|
28
|
+
class Config:
|
|
29
|
+
frozen = True
|
|
30
|
+
smart_union = True
|
|
31
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
|
|
8
|
+
|
|
9
|
+
class DestinationConfig(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Controls where entities are written.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
skip_qdrant: typing.Optional[bool] = pydantic.Field(default=None)
|
|
15
|
+
"""
|
|
16
|
+
Skip writing to native Qdrant
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
skip_vespa: typing.Optional[bool] = pydantic.Field(default=None)
|
|
20
|
+
"""
|
|
21
|
+
Skip writing to native Vespa
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
target_destinations: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
|
|
25
|
+
"""
|
|
26
|
+
If set, ONLY write to these destination UUIDs
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
exclude_destinations: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
|
|
30
|
+
"""
|
|
31
|
+
Skip these destination UUIDs
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
if IS_PYDANTIC_V2:
|
|
35
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
36
|
+
else:
|
|
37
|
+
|
|
38
|
+
class Config:
|
|
39
|
+
frozen = True
|
|
40
|
+
smart_union = True
|
|
41
|
+
extra = pydantic.Extra.allow
|
|
@@ -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
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
|
|
8
|
+
|
|
9
|
+
class EndpointSecretOut(UniversalBaseModel):
|
|
10
|
+
key: str
|
|
11
|
+
|
|
12
|
+
if IS_PYDANTIC_V2:
|
|
13
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
14
|
+
else:
|
|
15
|
+
|
|
16
|
+
class Config:
|
|
17
|
+
frozen = True
|
|
18
|
+
smart_union = True
|
|
19
|
+
extra = pydantic.Extra.allow
|
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
|
]
|
airweave/types/filter.py
CHANGED
|
@@ -42,12 +42,12 @@ class Filter(UniversalBaseModel):
|
|
|
42
42
|
from .min_should import MinShould # noqa: E402, F401, I001
|
|
43
43
|
from .nested import Nested # noqa: E402, F401, I001
|
|
44
44
|
from .nested_condition import NestedCondition # noqa: E402, F401, I001
|
|
45
|
-
from .min_should_conditions_item import MinShouldConditionsItem # noqa: E402, F401, I001
|
|
46
|
-
from .must import Must # noqa: E402, F401, I001
|
|
47
45
|
from .should import Should # noqa: E402, F401, I001
|
|
48
|
-
from .filter_must_not_item import FilterMustNotItem # noqa: E402, F401, I001
|
|
49
46
|
from .filter_must_not import FilterMustNot # noqa: E402, F401, I001
|
|
50
|
-
from .filter_must_item import FilterMustItem # noqa: E402, F401, I001
|
|
51
47
|
from .filter_should_item import FilterShouldItem # noqa: E402, F401, I001
|
|
48
|
+
from .filter_must_not_item import FilterMustNotItem # noqa: E402, F401, I001
|
|
49
|
+
from .min_should_conditions_item import MinShouldConditionsItem # noqa: E402, F401, I001
|
|
50
|
+
from .must import Must # noqa: E402, F401, I001
|
|
51
|
+
from .filter_must_item import FilterMustItem # noqa: E402, F401, I001
|
|
52
52
|
|
|
53
53
|
update_forward_refs(Filter)
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
|
|
8
|
+
|
|
9
|
+
class HandlerConfig(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Controls which handlers run during sync.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
enable_vector_handlers: typing.Optional[bool] = pydantic.Field(default=None)
|
|
15
|
+
"""
|
|
16
|
+
Enable VectorDBHandler
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
enable_raw_data_handler: typing.Optional[bool] = pydantic.Field(default=None)
|
|
20
|
+
"""
|
|
21
|
+
Enable RawDataHandler (ARF)
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
enable_postgres_handler: typing.Optional[bool] = pydantic.Field(default=None)
|
|
25
|
+
"""
|
|
26
|
+
Enable EntityPostgresHandler
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
if IS_PYDANTIC_V2:
|
|
30
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
31
|
+
else:
|
|
32
|
+
|
|
33
|
+
class Config:
|
|
34
|
+
frozen = True
|
|
35
|
+
smart_union = True
|
|
36
|
+
extra = pydantic.Extra.allow
|
|
@@ -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
|
|
@@ -0,0 +1,25 @@
|
|
|
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 .event_type import EventType
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PatchSubscriptionRequest(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Request model for updating an existing webhook subscription.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
url: typing.Optional[str] = None
|
|
16
|
+
event_types: typing.Optional[typing.List[EventType]] = None
|
|
17
|
+
|
|
18
|
+
if IS_PYDANTIC_V2:
|
|
19
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
20
|
+
else:
|
|
21
|
+
|
|
22
|
+
class Config:
|
|
23
|
+
frozen = True
|
|
24
|
+
smart_union = True
|
|
25
|
+
extra = pydantic.Extra.allow
|
|
@@ -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.
|
|
@@ -0,0 +1,26 @@
|
|
|
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 .endpoint_out import EndpointOut
|
|
8
|
+
from .message_attempt_out import MessageAttemptOut
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SubscriptionWithAttemptsOut(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
Response model for a subscription with its message attempts.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
endpoint: EndpointOut
|
|
17
|
+
message_attempts: typing.List[MessageAttemptOut]
|
|
18
|
+
|
|
19
|
+
if IS_PYDANTIC_V2:
|
|
20
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
21
|
+
else:
|
|
22
|
+
|
|
23
|
+
class Config:
|
|
24
|
+
frozen = True
|
|
25
|
+
smart_union = True
|
|
26
|
+
extra = pydantic.Extra.allow
|
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
|