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.
Files changed (68) hide show
  1. airweave/__init__.py +51 -120
  2. airweave/collections/client.py +15 -2
  3. airweave/collections/raw_client.py +15 -0
  4. airweave/core/client_wrapper.py +2 -2
  5. airweave/types/__init__.py +53 -120
  6. airweave/types/admin_sync_info.py +3 -3
  7. airweave/types/{geo_radius.py → behavior_config.py} +11 -7
  8. airweave/types/body_resync_with_execution_config_admin_resync_sync_id_post.py +28 -0
  9. airweave/types/collection.py +8 -2
  10. airweave/types/collection_update.py +8 -2
  11. airweave/types/{has_vector_condition.py → create_subscription_request.py} +6 -6
  12. airweave/types/{geo_line_string.py → cursor_config.py} +9 -5
  13. airweave/types/destination_config.py +41 -0
  14. airweave/types/endpoint_out.py +35 -0
  15. airweave/types/{payload_field.py → endpoint_secret_out.py} +2 -9
  16. airweave/types/event_type.py +7 -0
  17. airweave/types/feature_flag.py +8 -1
  18. airweave/types/{range.py → handler_config.py} +8 -13
  19. airweave/types/legacy_search_request.py +3 -13
  20. airweave/types/message_attempt_out.py +37 -0
  21. airweave/types/{value.py → message_attempt_trigger_type.py} +1 -3
  22. airweave/types/message_out.py +29 -0
  23. airweave/types/{has_id_condition_has_id_item.py → message_status.py} +1 -3
  24. airweave/types/message_status_text.py +5 -0
  25. airweave/types/{geo_point.py → patch_subscription_request.py} +5 -11
  26. airweave/types/s_3_config_request.py +5 -15
  27. airweave/types/search_request.py +1 -1
  28. airweave/types/source.py +10 -0
  29. airweave/types/{has_id_condition.py → subscription_with_attempts_out.py} +6 -7
  30. airweave/types/sync.py +2 -0
  31. airweave/types/sync_config.py +34 -0
  32. airweave/types/sync_create.py +2 -0
  33. airweave/types/sync_job.py +3 -1
  34. airweave/types/sync_update.py +2 -0
  35. {airweave_sdk-0.8.25.dist-info → airweave_sdk-0.8.63.dist-info}/METADATA +1 -1
  36. {airweave_sdk-0.8.25.dist-info → airweave_sdk-0.8.63.dist-info}/RECORD +37 -60
  37. airweave/types/any.py +0 -5
  38. airweave/types/datetime_range.py +0 -45
  39. airweave/types/except_.py +0 -5
  40. airweave/types/field_condition.py +0 -72
  41. airweave/types/filter.py +0 -53
  42. airweave/types/filter_must_item.py +0 -18
  43. airweave/types/filter_must_not.py +0 -26
  44. airweave/types/filter_must_not_item.py +0 -18
  45. airweave/types/filter_should_item.py +0 -18
  46. airweave/types/geo_bounding_box.py +0 -32
  47. airweave/types/geo_polygon.py +0 -32
  48. airweave/types/gt.py +0 -6
  49. airweave/types/gte.py +0 -6
  50. airweave/types/is_empty_condition.py +0 -27
  51. airweave/types/is_null_condition.py +0 -27
  52. airweave/types/lt.py +0 -6
  53. airweave/types/lte.py +0 -6
  54. airweave/types/match.py +0 -11
  55. airweave/types/match_any.py +0 -27
  56. airweave/types/match_except.py +0 -29
  57. airweave/types/match_phrase.py +0 -26
  58. airweave/types/match_text.py +0 -26
  59. airweave/types/match_value.py +0 -27
  60. airweave/types/min_should.py +0 -37
  61. airweave/types/min_should_conditions_item.py +0 -18
  62. airweave/types/must.py +0 -26
  63. airweave/types/nested.py +0 -40
  64. airweave/types/nested_condition.py +0 -31
  65. airweave/types/should.py +0 -26
  66. airweave/types/sync_execution_config.py +0 -79
  67. airweave/types/values_count.py +0 -41
  68. {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 PayloadField(UniversalBaseModel):
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
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ EventType = typing.Union[
6
+ typing.Literal["sync.pending", "sync.running", "sync.completed", "sync.failed", "sync.cancelled"], typing.Any
7
+ ]
@@ -3,6 +3,13 @@
3
3
  import typing
4
4
 
5
5
  FeatureFlag = typing.Union[
6
- typing.Literal["s3_destination", "priority_support", "source_rate_limiting", "zephyr_scale", "api_key_admin_sync"],
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 Range(UniversalBaseModel):
9
+ class HandlerConfig(UniversalBaseModel):
10
10
  """
11
- Range filter request
11
+ Controls which handlers run during sync.
12
12
  """
13
13
 
14
- lt: typing.Optional[float] = pydantic.Field(default=None)
14
+ enable_vector_handlers: typing.Optional[bool] = pydantic.Field(default=None)
15
15
  """
16
- point.key < range.lt
16
+ Enable VectorDBHandler
17
17
  """
18
18
 
19
- gt: typing.Optional[float] = pydantic.Field(default=None)
19
+ enable_raw_data_handler: typing.Optional[bool] = pydantic.Field(default=None)
20
20
  """
21
- point.key > range.gt
21
+ Enable RawDataHandler (ARF)
22
22
  """
23
23
 
24
- gte: typing.Optional[float] = pydantic.Field(default=None)
24
+ enable_postgres_handler: typing.Optional[bool] = pydantic.Field(default=None)
25
25
  """
26
- point.key >= range.gte
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, update_forward_refs
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["Filter"] = pydantic.Field(default=None)
22
+ filter: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
25
23
  """
26
- Qdrant native filter for metadata-based filtering
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
@@ -1,5 +1,3 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import typing
4
-
5
- Value = typing.Union[bool, int, str]
3
+ MessageAttemptTriggerType = int
@@ -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
@@ -1,5 +1,3 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import typing
4
-
5
- HasIdConditionHasIdItem = typing.Union[int, str]
3
+ MessageStatus = int
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ MessageStatusText = typing.Union[typing.Literal["success", "pending", "fail", "sending"], typing.Any]
@@ -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 GeoPoint(UniversalBaseModel):
10
+ class PatchSubscriptionRequest(UniversalBaseModel):
10
11
  """
11
- Geo point payload schema
12
+ Request model for updating an existing webhook subscription.
12
13
  """
13
14
 
14
- lon: float = pydantic.Field()
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
- aws_access_key_id: str = pydantic.Field()
14
+ role_arn: str = pydantic.Field()
15
15
  """
16
- AWS access key ID
16
+ IAM Role ARN to assume (e.g., arn:aws:iam::123456789012:role/airweave-writer)
17
17
  """
18
18
 
19
- aws_secret_access_key: str = pydantic.Field()
19
+ external_id: str = pydantic.Field()
20
20
  """
21
- AWS secret access key
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:
@@ -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 .has_id_condition_has_id_item import HasIdConditionHasIdItem
7
+ from .endpoint_out import EndpointOut
8
+ from .message_attempt_out import MessageAttemptOut
8
9
 
9
10
 
10
- class HasIdCondition(UniversalBaseModel):
11
+ class SubscriptionWithAttemptsOut(UniversalBaseModel):
11
12
  """
12
- ID-based filtering condition
13
+ Response model for a subscription with its message attempts.
13
14
  """
14
15
 
15
- has_id: typing.List[HasIdConditionHasIdItem] = pydantic.Field()
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
@@ -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
 
@@ -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
- execution_config_json: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
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
@@ -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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airweave-sdk
3
- Version: 0.8.25
3
+ Version: 0.8.63
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers