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
airweave/__init__.py CHANGED
@@ -11,7 +11,6 @@ if typing.TYPE_CHECKING:
11
11
  ActionCheckResponse,
12
12
  AdminSearchDestination,
13
13
  AdminSyncInfo,
14
- Any,
15
14
  ApiKey,
16
15
  ApiKeyCreate,
17
16
  AuthProvider,
@@ -21,6 +20,7 @@ if typing.TYPE_CHECKING:
21
20
  AuthProviderConnectionUpdate,
22
21
  AuthenticationDetails,
23
22
  AuthenticationMethod,
23
+ BehaviorConfig,
24
24
  BillingPeriod,
25
25
  BillingPeriodStatus,
26
26
  BillingPeriodUsage,
@@ -28,6 +28,7 @@ if typing.TYPE_CHECKING:
28
28
  BillingStatus,
29
29
  BillingTransition,
30
30
  BodyConnectSlackWithTokenConnectionsDirectTokenSlackPost,
31
+ BodyResyncWithExecutionConfigAdminResyncSyncIdPost,
31
32
  CheckoutSessionRequest,
32
33
  CheckoutSessionResponse,
33
34
  Collection,
@@ -37,14 +38,18 @@ if typing.TYPE_CHECKING:
37
38
  ConfigValues,
38
39
  Connection,
39
40
  ConnectionStatus,
41
+ CreateSubscriptionRequest,
42
+ CursorConfig,
40
43
  CustomerPortalRequest,
41
44
  CustomerPortalResponse,
42
- DatetimeRange,
43
45
  Destination,
46
+ DestinationConfig,
44
47
  DestinationWithAuthenticationFields,
45
48
  DirectAuthentication,
46
49
  EmbeddingModel,
47
50
  EmbeddingModelWithAuthenticationFields,
51
+ EndpointOut,
52
+ EndpointSecretOut,
48
53
  EntityCount,
49
54
  EntityCountWithDefinition,
50
55
  EntityDefinition,
@@ -54,52 +59,27 @@ if typing.TYPE_CHECKING:
54
59
  EntitySummary,
55
60
  EntityType,
56
61
  EntityTypeStats,
57
- Except,
62
+ EventType,
58
63
  FeatureFlag,
59
- FieldCondition,
60
64
  Fields,
61
- Filter,
62
- FilterMustItem,
63
- FilterMustNot,
64
- FilterMustNotItem,
65
- FilterShouldItem,
66
- GeoBoundingBox,
67
- GeoLineString,
68
- GeoPoint,
69
- GeoPolygon,
70
- GeoRadius,
71
- Gt,
72
- Gte,
73
- HasIdCondition,
74
- HasIdConditionHasIdItem,
75
- HasVectorCondition,
65
+ HandlerConfig,
76
66
  HttpValidationError,
77
67
  IntegrationCredentialInDb,
78
68
  IntegrationCredentialRawCreate,
79
69
  IntegrationType,
80
70
  InvitationCreate,
81
71
  InvitationResponse,
82
- IsEmptyCondition,
83
- IsNullCondition,
84
72
  LegacySearchRequest,
85
73
  LegacySearchRequestSearchMethod,
86
74
  LegacySearchResponse,
87
- Lt,
88
- Lte,
89
- Match,
90
- MatchAny,
91
- MatchExcept,
92
- MatchPhrase,
93
- MatchText,
94
- MatchValue,
95
75
  MemberResponse,
76
+ MessageAttemptOut,
77
+ MessageAttemptTriggerType,
78
+ MessageOut,
96
79
  MessageResponse,
97
- MinShould,
98
- MinShouldConditionsItem,
80
+ MessageStatus,
81
+ MessageStatusText,
99
82
  MinuteLevelScheduleConfig,
100
- Must,
101
- Nested,
102
- NestedCondition,
103
83
  OAuthBrowserAuthentication,
104
84
  OAuthTokenAuthentication,
105
85
  OAuthType,
@@ -108,9 +88,8 @@ if typing.TYPE_CHECKING:
108
88
  OrganizationCreate,
109
89
  OrganizationMetrics,
110
90
  OrganizationWithRole,
111
- PayloadField,
91
+ PatchSubscriptionRequest,
112
92
  QueryExpansionStrategy,
113
- Range,
114
93
  ResponseType,
115
94
  RetrievalStrategy,
116
95
  S3ConfigRequest,
@@ -121,7 +100,6 @@ if typing.TYPE_CHECKING:
121
100
  SearchRequest,
122
101
  SearchResponse,
123
102
  SearchStatus,
124
- Should,
125
103
  SingleActionCheckResponse,
126
104
  SingleActionCheckResponseReason,
127
105
  Source,
@@ -133,10 +111,11 @@ if typing.TYPE_CHECKING:
133
111
  SourceRateLimitResponse,
134
112
  SourceRateLimitUpdateRequest,
135
113
  SubscriptionInfo,
114
+ SubscriptionWithAttemptsOut,
136
115
  Sync,
116
+ SyncConfig,
137
117
  SyncCreate,
138
118
  SyncDetails,
139
- SyncExecutionConfig,
140
119
  SyncJob,
141
120
  SyncJobDetails,
142
121
  SyncJobStatus,
@@ -154,8 +133,6 @@ if typing.TYPE_CHECKING:
154
133
  UserOrganization,
155
134
  ValidationError,
156
135
  ValidationErrorLocItem,
157
- Value,
158
- ValuesCount,
159
136
  )
160
137
  from .errors import UnprocessableEntityError
161
138
  from . import collections, source_connections, sources
@@ -171,7 +148,6 @@ _dynamic_imports: typing.Dict[str, str] = {
171
148
  "AdminSyncInfo": ".types",
172
149
  "AirweaveSDK": ".client",
173
150
  "AirweaveSDKEnvironment": ".environment",
174
- "Any": ".types",
175
151
  "ApiKey": ".types",
176
152
  "ApiKeyCreate": ".types",
177
153
  "AsyncAirweaveSDK": ".client",
@@ -183,6 +159,7 @@ _dynamic_imports: typing.Dict[str, str] = {
183
159
  "Authentication": ".source_connections",
184
160
  "AuthenticationDetails": ".types",
185
161
  "AuthenticationMethod": ".types",
162
+ "BehaviorConfig": ".types",
186
163
  "BillingPeriod": ".types",
187
164
  "BillingPeriodStatus": ".types",
188
165
  "BillingPeriodUsage": ".types",
@@ -190,6 +167,7 @@ _dynamic_imports: typing.Dict[str, str] = {
190
167
  "BillingStatus": ".types",
191
168
  "BillingTransition": ".types",
192
169
  "BodyConnectSlackWithTokenConnectionsDirectTokenSlackPost": ".types",
170
+ "BodyResyncWithExecutionConfigAdminResyncSyncIdPost": ".types",
193
171
  "CheckoutSessionRequest": ".types",
194
172
  "CheckoutSessionResponse": ".types",
195
173
  "Collection": ".types",
@@ -199,14 +177,18 @@ _dynamic_imports: typing.Dict[str, str] = {
199
177
  "ConfigValues": ".types",
200
178
  "Connection": ".types",
201
179
  "ConnectionStatus": ".types",
180
+ "CreateSubscriptionRequest": ".types",
181
+ "CursorConfig": ".types",
202
182
  "CustomerPortalRequest": ".types",
203
183
  "CustomerPortalResponse": ".types",
204
- "DatetimeRange": ".types",
205
184
  "Destination": ".types",
185
+ "DestinationConfig": ".types",
206
186
  "DestinationWithAuthenticationFields": ".types",
207
187
  "DirectAuthentication": ".types",
208
188
  "EmbeddingModel": ".types",
209
189
  "EmbeddingModelWithAuthenticationFields": ".types",
190
+ "EndpointOut": ".types",
191
+ "EndpointSecretOut": ".types",
210
192
  "EntityCount": ".types",
211
193
  "EntityCountWithDefinition": ".types",
212
194
  "EntityDefinition": ".types",
@@ -216,52 +198,27 @@ _dynamic_imports: typing.Dict[str, str] = {
216
198
  "EntitySummary": ".types",
217
199
  "EntityType": ".types",
218
200
  "EntityTypeStats": ".types",
219
- "Except": ".types",
201
+ "EventType": ".types",
220
202
  "FeatureFlag": ".types",
221
- "FieldCondition": ".types",
222
203
  "Fields": ".types",
223
- "Filter": ".types",
224
- "FilterMustItem": ".types",
225
- "FilterMustNot": ".types",
226
- "FilterMustNotItem": ".types",
227
- "FilterShouldItem": ".types",
228
- "GeoBoundingBox": ".types",
229
- "GeoLineString": ".types",
230
- "GeoPoint": ".types",
231
- "GeoPolygon": ".types",
232
- "GeoRadius": ".types",
233
- "Gt": ".types",
234
- "Gte": ".types",
235
- "HasIdCondition": ".types",
236
- "HasIdConditionHasIdItem": ".types",
237
- "HasVectorCondition": ".types",
204
+ "HandlerConfig": ".types",
238
205
  "HttpValidationError": ".types",
239
206
  "IntegrationCredentialInDb": ".types",
240
207
  "IntegrationCredentialRawCreate": ".types",
241
208
  "IntegrationType": ".types",
242
209
  "InvitationCreate": ".types",
243
210
  "InvitationResponse": ".types",
244
- "IsEmptyCondition": ".types",
245
- "IsNullCondition": ".types",
246
211
  "LegacySearchRequest": ".types",
247
212
  "LegacySearchRequestSearchMethod": ".types",
248
213
  "LegacySearchResponse": ".types",
249
- "Lt": ".types",
250
- "Lte": ".types",
251
- "Match": ".types",
252
- "MatchAny": ".types",
253
- "MatchExcept": ".types",
254
- "MatchPhrase": ".types",
255
- "MatchText": ".types",
256
- "MatchValue": ".types",
257
214
  "MemberResponse": ".types",
215
+ "MessageAttemptOut": ".types",
216
+ "MessageAttemptTriggerType": ".types",
217
+ "MessageOut": ".types",
258
218
  "MessageResponse": ".types",
259
- "MinShould": ".types",
260
- "MinShouldConditionsItem": ".types",
219
+ "MessageStatus": ".types",
220
+ "MessageStatusText": ".types",
261
221
  "MinuteLevelScheduleConfig": ".types",
262
- "Must": ".types",
263
- "Nested": ".types",
264
- "NestedCondition": ".types",
265
222
  "OAuthBrowserAuthentication": ".types",
266
223
  "OAuthTokenAuthentication": ".types",
267
224
  "OAuthType": ".types",
@@ -270,9 +227,8 @@ _dynamic_imports: typing.Dict[str, str] = {
270
227
  "OrganizationCreate": ".types",
271
228
  "OrganizationMetrics": ".types",
272
229
  "OrganizationWithRole": ".types",
273
- "PayloadField": ".types",
230
+ "PatchSubscriptionRequest": ".types",
274
231
  "QueryExpansionStrategy": ".types",
275
- "Range": ".types",
276
232
  "ResponseType": ".types",
277
233
  "RetrievalStrategy": ".types",
278
234
  "S3ConfigRequest": ".types",
@@ -285,7 +241,6 @@ _dynamic_imports: typing.Dict[str, str] = {
285
241
  "SearchRequest": ".types",
286
242
  "SearchResponse": ".types",
287
243
  "SearchStatus": ".types",
288
- "Should": ".types",
289
244
  "SingleActionCheckResponse": ".types",
290
245
  "SingleActionCheckResponseReason": ".types",
291
246
  "Source": ".types",
@@ -297,10 +252,11 @@ _dynamic_imports: typing.Dict[str, str] = {
297
252
  "SourceRateLimitResponse": ".types",
298
253
  "SourceRateLimitUpdateRequest": ".types",
299
254
  "SubscriptionInfo": ".types",
255
+ "SubscriptionWithAttemptsOut": ".types",
300
256
  "Sync": ".types",
257
+ "SyncConfig": ".types",
301
258
  "SyncCreate": ".types",
302
259
  "SyncDetails": ".types",
303
- "SyncExecutionConfig": ".types",
304
260
  "SyncJob": ".types",
305
261
  "SyncJobDetails": ".types",
306
262
  "SyncJobStatus": ".types",
@@ -319,8 +275,6 @@ _dynamic_imports: typing.Dict[str, str] = {
319
275
  "UserOrganization": ".types",
320
276
  "ValidationError": ".types",
321
277
  "ValidationErrorLocItem": ".types",
322
- "Value": ".types",
323
- "ValuesCount": ".types",
324
278
  "__version__": ".version",
325
279
  "collections": ".collections",
326
280
  "source_connections": ".source_connections",
@@ -356,7 +310,6 @@ __all__ = [
356
310
  "AdminSyncInfo",
357
311
  "AirweaveSDK",
358
312
  "AirweaveSDKEnvironment",
359
- "Any",
360
313
  "ApiKey",
361
314
  "ApiKeyCreate",
362
315
  "AsyncAirweaveSDK",
@@ -368,6 +321,7 @@ __all__ = [
368
321
  "Authentication",
369
322
  "AuthenticationDetails",
370
323
  "AuthenticationMethod",
324
+ "BehaviorConfig",
371
325
  "BillingPeriod",
372
326
  "BillingPeriodStatus",
373
327
  "BillingPeriodUsage",
@@ -375,6 +329,7 @@ __all__ = [
375
329
  "BillingStatus",
376
330
  "BillingTransition",
377
331
  "BodyConnectSlackWithTokenConnectionsDirectTokenSlackPost",
332
+ "BodyResyncWithExecutionConfigAdminResyncSyncIdPost",
378
333
  "CheckoutSessionRequest",
379
334
  "CheckoutSessionResponse",
380
335
  "Collection",
@@ -384,14 +339,18 @@ __all__ = [
384
339
  "ConfigValues",
385
340
  "Connection",
386
341
  "ConnectionStatus",
342
+ "CreateSubscriptionRequest",
343
+ "CursorConfig",
387
344
  "CustomerPortalRequest",
388
345
  "CustomerPortalResponse",
389
- "DatetimeRange",
390
346
  "Destination",
347
+ "DestinationConfig",
391
348
  "DestinationWithAuthenticationFields",
392
349
  "DirectAuthentication",
393
350
  "EmbeddingModel",
394
351
  "EmbeddingModelWithAuthenticationFields",
352
+ "EndpointOut",
353
+ "EndpointSecretOut",
395
354
  "EntityCount",
396
355
  "EntityCountWithDefinition",
397
356
  "EntityDefinition",
@@ -401,52 +360,27 @@ __all__ = [
401
360
  "EntitySummary",
402
361
  "EntityType",
403
362
  "EntityTypeStats",
404
- "Except",
363
+ "EventType",
405
364
  "FeatureFlag",
406
- "FieldCondition",
407
365
  "Fields",
408
- "Filter",
409
- "FilterMustItem",
410
- "FilterMustNot",
411
- "FilterMustNotItem",
412
- "FilterShouldItem",
413
- "GeoBoundingBox",
414
- "GeoLineString",
415
- "GeoPoint",
416
- "GeoPolygon",
417
- "GeoRadius",
418
- "Gt",
419
- "Gte",
420
- "HasIdCondition",
421
- "HasIdConditionHasIdItem",
422
- "HasVectorCondition",
366
+ "HandlerConfig",
423
367
  "HttpValidationError",
424
368
  "IntegrationCredentialInDb",
425
369
  "IntegrationCredentialRawCreate",
426
370
  "IntegrationType",
427
371
  "InvitationCreate",
428
372
  "InvitationResponse",
429
- "IsEmptyCondition",
430
- "IsNullCondition",
431
373
  "LegacySearchRequest",
432
374
  "LegacySearchRequestSearchMethod",
433
375
  "LegacySearchResponse",
434
- "Lt",
435
- "Lte",
436
- "Match",
437
- "MatchAny",
438
- "MatchExcept",
439
- "MatchPhrase",
440
- "MatchText",
441
- "MatchValue",
442
376
  "MemberResponse",
377
+ "MessageAttemptOut",
378
+ "MessageAttemptTriggerType",
379
+ "MessageOut",
443
380
  "MessageResponse",
444
- "MinShould",
445
- "MinShouldConditionsItem",
381
+ "MessageStatus",
382
+ "MessageStatusText",
446
383
  "MinuteLevelScheduleConfig",
447
- "Must",
448
- "Nested",
449
- "NestedCondition",
450
384
  "OAuthBrowserAuthentication",
451
385
  "OAuthTokenAuthentication",
452
386
  "OAuthType",
@@ -455,9 +389,8 @@ __all__ = [
455
389
  "OrganizationCreate",
456
390
  "OrganizationMetrics",
457
391
  "OrganizationWithRole",
458
- "PayloadField",
392
+ "PatchSubscriptionRequest",
459
393
  "QueryExpansionStrategy",
460
- "Range",
461
394
  "ResponseType",
462
395
  "RetrievalStrategy",
463
396
  "S3ConfigRequest",
@@ -470,7 +403,6 @@ __all__ = [
470
403
  "SearchRequest",
471
404
  "SearchResponse",
472
405
  "SearchStatus",
473
- "Should",
474
406
  "SingleActionCheckResponse",
475
407
  "SingleActionCheckResponseReason",
476
408
  "Source",
@@ -482,10 +414,11 @@ __all__ = [
482
414
  "SourceRateLimitResponse",
483
415
  "SourceRateLimitUpdateRequest",
484
416
  "SubscriptionInfo",
417
+ "SubscriptionWithAttemptsOut",
485
418
  "Sync",
419
+ "SyncConfig",
486
420
  "SyncCreate",
487
421
  "SyncDetails",
488
- "SyncExecutionConfig",
489
422
  "SyncJob",
490
423
  "SyncJobDetails",
491
424
  "SyncJobStatus",
@@ -504,8 +437,6 @@ __all__ = [
504
437
  "UserOrganization",
505
438
  "ValidationError",
506
439
  "ValidationErrorLocItem",
507
- "Value",
508
- "ValuesCount",
509
440
  "__version__",
510
441
  "collections",
511
442
  "source_connections",
@@ -8,6 +8,7 @@ from ..types.collection import Collection
8
8
  from ..types.legacy_search_response import LegacySearchResponse
9
9
  from ..types.response_type import ResponseType
10
10
  from ..types.source_connection_job import SourceConnectionJob
11
+ from ..types.sync_config import SyncConfig
11
12
  from .raw_client import AsyncRawCollectionsClient, RawCollectionsClient
12
13
  from .types.search_collections_readable_id_search_post_request import SearchCollectionsReadableIdSearchPostRequest
13
14
  from .types.search_collections_readable_id_search_post_response import SearchCollectionsReadableIdSearchPostResponse
@@ -86,6 +87,7 @@ class CollectionsClient:
86
87
  *,
87
88
  name: str,
88
89
  readable_id: typing.Optional[str] = OMIT,
90
+ sync_config: typing.Optional[SyncConfig] = OMIT,
89
91
  request_options: typing.Optional[RequestOptions] = None,
90
92
  ) -> Collection:
91
93
  """
@@ -102,6 +104,9 @@ class CollectionsClient:
102
104
  readable_id : typing.Optional[str]
103
105
  URL-safe unique identifier used in API endpoints. Must contain only lowercase letters, numbers, and hyphens. If not provided, it will be automatically generated from the collection name with a random suffix for uniqueness (e.g., 'finance-data-ab123').
104
106
 
107
+ sync_config : typing.Optional[SyncConfig]
108
+ Default sync configuration for all syncs in this collection. This provides collection-level defaults that can be overridden at sync or job level.
109
+
105
110
  request_options : typing.Optional[RequestOptions]
106
111
  Request-specific configuration.
107
112
 
@@ -124,7 +129,9 @@ class CollectionsClient:
124
129
  readable_id="finance-data-reports",
125
130
  )
126
131
  """
127
- _response = self._raw_client.create(name=name, readable_id=readable_id, request_options=request_options)
132
+ _response = self._raw_client.create(
133
+ name=name, readable_id=readable_id, sync_config=sync_config, request_options=request_options
134
+ )
128
135
  return _response.data
129
136
 
130
137
  def get(self, readable_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Collection:
@@ -437,6 +444,7 @@ class AsyncCollectionsClient:
437
444
  *,
438
445
  name: str,
439
446
  readable_id: typing.Optional[str] = OMIT,
447
+ sync_config: typing.Optional[SyncConfig] = OMIT,
440
448
  request_options: typing.Optional[RequestOptions] = None,
441
449
  ) -> Collection:
442
450
  """
@@ -453,6 +461,9 @@ class AsyncCollectionsClient:
453
461
  readable_id : typing.Optional[str]
454
462
  URL-safe unique identifier used in API endpoints. Must contain only lowercase letters, numbers, and hyphens. If not provided, it will be automatically generated from the collection name with a random suffix for uniqueness (e.g., 'finance-data-ab123').
455
463
 
464
+ sync_config : typing.Optional[SyncConfig]
465
+ Default sync configuration for all syncs in this collection. This provides collection-level defaults that can be overridden at sync or job level.
466
+
456
467
  request_options : typing.Optional[RequestOptions]
457
468
  Request-specific configuration.
458
469
 
@@ -483,7 +494,9 @@ class AsyncCollectionsClient:
483
494
 
484
495
  asyncio.run(main())
485
496
  """
486
- _response = await self._raw_client.create(name=name, readable_id=readable_id, request_options=request_options)
497
+ _response = await self._raw_client.create(
498
+ name=name, readable_id=readable_id, sync_config=sync_config, request_options=request_options
499
+ )
487
500
  return _response.data
488
501
 
489
502
  async def get(self, readable_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Collection:
@@ -16,6 +16,7 @@ from ..types.http_validation_error import HttpValidationError
16
16
  from ..types.legacy_search_response import LegacySearchResponse
17
17
  from ..types.response_type import ResponseType
18
18
  from ..types.source_connection_job import SourceConnectionJob
19
+ from ..types.sync_config import SyncConfig
19
20
  from .types.search_collections_readable_id_search_post_request import SearchCollectionsReadableIdSearchPostRequest
20
21
  from .types.search_collections_readable_id_search_post_response import SearchCollectionsReadableIdSearchPostResponse
21
22
 
@@ -100,6 +101,7 @@ class RawCollectionsClient:
100
101
  *,
101
102
  name: str,
102
103
  readable_id: typing.Optional[str] = OMIT,
104
+ sync_config: typing.Optional[SyncConfig] = OMIT,
103
105
  request_options: typing.Optional[RequestOptions] = None,
104
106
  ) -> HttpResponse[Collection]:
105
107
  """
@@ -116,6 +118,9 @@ class RawCollectionsClient:
116
118
  readable_id : typing.Optional[str]
117
119
  URL-safe unique identifier used in API endpoints. Must contain only lowercase letters, numbers, and hyphens. If not provided, it will be automatically generated from the collection name with a random suffix for uniqueness (e.g., 'finance-data-ab123').
118
120
 
121
+ sync_config : typing.Optional[SyncConfig]
122
+ Default sync configuration for all syncs in this collection. This provides collection-level defaults that can be overridden at sync or job level.
123
+
119
124
  request_options : typing.Optional[RequestOptions]
120
125
  Request-specific configuration.
121
126
 
@@ -130,6 +135,9 @@ class RawCollectionsClient:
130
135
  json={
131
136
  "name": name,
132
137
  "readable_id": readable_id,
138
+ "sync_config": convert_and_respect_annotation_metadata(
139
+ object_=sync_config, annotation=SyncConfig, direction="write"
140
+ ),
133
141
  },
134
142
  headers={
135
143
  "content-type": "application/json",
@@ -549,6 +557,7 @@ class AsyncRawCollectionsClient:
549
557
  *,
550
558
  name: str,
551
559
  readable_id: typing.Optional[str] = OMIT,
560
+ sync_config: typing.Optional[SyncConfig] = OMIT,
552
561
  request_options: typing.Optional[RequestOptions] = None,
553
562
  ) -> AsyncHttpResponse[Collection]:
554
563
  """
@@ -565,6 +574,9 @@ class AsyncRawCollectionsClient:
565
574
  readable_id : typing.Optional[str]
566
575
  URL-safe unique identifier used in API endpoints. Must contain only lowercase letters, numbers, and hyphens. If not provided, it will be automatically generated from the collection name with a random suffix for uniqueness (e.g., 'finance-data-ab123').
567
576
 
577
+ sync_config : typing.Optional[SyncConfig]
578
+ Default sync configuration for all syncs in this collection. This provides collection-level defaults that can be overridden at sync or job level.
579
+
568
580
  request_options : typing.Optional[RequestOptions]
569
581
  Request-specific configuration.
570
582
 
@@ -579,6 +591,9 @@ class AsyncRawCollectionsClient:
579
591
  json={
580
592
  "name": name,
581
593
  "readable_id": readable_id,
594
+ "sync_config": convert_and_respect_annotation_metadata(
595
+ object_=sync_config, annotation=SyncConfig, direction="write"
596
+ ),
582
597
  },
583
598
  headers={
584
599
  "content-type": "application/json",
@@ -26,10 +26,10 @@ class BaseClientWrapper:
26
26
 
27
27
  def get_headers(self) -> typing.Dict[str, str]:
28
28
  headers: typing.Dict[str, str] = {
29
- "User-Agent": "airweave-sdk/v0.8.25",
29
+ "User-Agent": "airweave-sdk/v0.8.63",
30
30
  "X-Fern-Language": "Python",
31
31
  "X-Fern-SDK-Name": "airweave-sdk",
32
- "X-Fern-SDK-Version": "v0.8.25",
32
+ "X-Fern-SDK-Version": "v0.8.63",
33
33
  **(self.get_custom_headers() or {}),
34
34
  }
35
35
  if self._framework_name is not None: