orq-ai-sdk 4.2.0rc28__py3-none-any.whl → 4.2.6__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 (167) hide show
  1. orq_ai_sdk/_hooks/globalhook.py +0 -1
  2. orq_ai_sdk/_version.py +3 -3
  3. orq_ai_sdk/audio.py +30 -0
  4. orq_ai_sdk/basesdk.py +20 -6
  5. orq_ai_sdk/chat.py +22 -0
  6. orq_ai_sdk/completions.py +332 -0
  7. orq_ai_sdk/contacts.py +43 -855
  8. orq_ai_sdk/deployments.py +61 -0
  9. orq_ai_sdk/edits.py +258 -0
  10. orq_ai_sdk/embeddings.py +238 -0
  11. orq_ai_sdk/generations.py +272 -0
  12. orq_ai_sdk/identities.py +1037 -0
  13. orq_ai_sdk/images.py +28 -0
  14. orq_ai_sdk/models/__init__.py +5341 -737
  15. orq_ai_sdk/models/actionreviewedstreamingevent.py +18 -1
  16. orq_ai_sdk/models/actionreviewrequestedstreamingevent.py +44 -1
  17. orq_ai_sdk/models/agenterroredstreamingevent.py +18 -1
  18. orq_ai_sdk/models/agentinactivestreamingevent.py +168 -70
  19. orq_ai_sdk/models/agentmessagecreatedstreamingevent.py +18 -2
  20. orq_ai_sdk/models/agentresponsemessage.py +18 -2
  21. orq_ai_sdk/models/agentstartedstreamingevent.py +127 -2
  22. orq_ai_sdk/models/agentthoughtstreamingevent.py +178 -211
  23. orq_ai_sdk/models/conversationresponse.py +31 -20
  24. orq_ai_sdk/models/conversationwithmessagesresponse.py +31 -20
  25. orq_ai_sdk/models/createagentrequestop.py +1922 -384
  26. orq_ai_sdk/models/createagentresponse.py +147 -91
  27. orq_ai_sdk/models/createagentresponserequestop.py +111 -2
  28. orq_ai_sdk/models/createchatcompletionop.py +1375 -861
  29. orq_ai_sdk/models/createchunkop.py +46 -19
  30. orq_ai_sdk/models/createcompletionop.py +1890 -0
  31. orq_ai_sdk/models/createcontactop.py +45 -56
  32. orq_ai_sdk/models/createconversationop.py +61 -39
  33. orq_ai_sdk/models/createconversationresponseop.py +68 -4
  34. orq_ai_sdk/models/createdatasetitemop.py +424 -80
  35. orq_ai_sdk/models/createdatasetop.py +19 -2
  36. orq_ai_sdk/models/createdatasourceop.py +92 -26
  37. orq_ai_sdk/models/createembeddingop.py +384 -0
  38. orq_ai_sdk/models/createevalop.py +552 -24
  39. orq_ai_sdk/models/createidentityop.py +176 -0
  40. orq_ai_sdk/models/createimageeditop.py +504 -0
  41. orq_ai_sdk/models/createimageop.py +208 -117
  42. orq_ai_sdk/models/createimagevariationop.py +486 -0
  43. orq_ai_sdk/models/createknowledgeop.py +186 -121
  44. orq_ai_sdk/models/creatememorydocumentop.py +50 -1
  45. orq_ai_sdk/models/creatememoryop.py +34 -21
  46. orq_ai_sdk/models/creatememorystoreop.py +34 -1
  47. orq_ai_sdk/models/createmoderationop.py +521 -0
  48. orq_ai_sdk/models/createpromptop.py +2748 -1252
  49. orq_ai_sdk/models/creatererankop.py +416 -0
  50. orq_ai_sdk/models/createresponseop.py +2567 -0
  51. orq_ai_sdk/models/createspeechop.py +316 -0
  52. orq_ai_sdk/models/createtoolop.py +537 -12
  53. orq_ai_sdk/models/createtranscriptionop.py +562 -0
  54. orq_ai_sdk/models/createtranslationop.py +540 -0
  55. orq_ai_sdk/models/datapart.py +18 -1
  56. orq_ai_sdk/models/deletechunksop.py +34 -1
  57. orq_ai_sdk/models/{deletecontactop.py → deleteidentityop.py} +9 -9
  58. orq_ai_sdk/models/deletepromptop.py +26 -0
  59. orq_ai_sdk/models/deploymentcreatemetricop.py +362 -76
  60. orq_ai_sdk/models/deploymentgetconfigop.py +635 -194
  61. orq_ai_sdk/models/deploymentinvokeop.py +168 -173
  62. orq_ai_sdk/models/deploymentsop.py +195 -58
  63. orq_ai_sdk/models/deploymentstreamop.py +652 -304
  64. orq_ai_sdk/models/errorpart.py +18 -1
  65. orq_ai_sdk/models/filecontentpartschema.py +18 -1
  66. orq_ai_sdk/models/filegetop.py +19 -2
  67. orq_ai_sdk/models/filelistop.py +35 -2
  68. orq_ai_sdk/models/filepart.py +50 -1
  69. orq_ai_sdk/models/fileuploadop.py +51 -2
  70. orq_ai_sdk/models/generateconversationnameop.py +31 -20
  71. orq_ai_sdk/models/get_v2_evaluators_id_versionsop.py +34 -1
  72. orq_ai_sdk/models/get_v2_tools_tool_id_versions_version_id_op.py +18 -1
  73. orq_ai_sdk/models/get_v2_tools_tool_id_versionsop.py +34 -1
  74. orq_ai_sdk/models/getallmemoriesop.py +34 -21
  75. orq_ai_sdk/models/getallmemorydocumentsop.py +42 -1
  76. orq_ai_sdk/models/getallmemorystoresop.py +34 -1
  77. orq_ai_sdk/models/getallpromptsop.py +1690 -230
  78. orq_ai_sdk/models/getalltoolsop.py +325 -8
  79. orq_ai_sdk/models/getchunkscountop.py +34 -1
  80. orq_ai_sdk/models/getevalsop.py +395 -43
  81. orq_ai_sdk/models/getonechunkop.py +14 -19
  82. orq_ai_sdk/models/getoneknowledgeop.py +116 -96
  83. orq_ai_sdk/models/getonepromptop.py +1673 -230
  84. orq_ai_sdk/models/getpromptversionop.py +1670 -216
  85. orq_ai_sdk/models/imagecontentpartschema.py +50 -1
  86. orq_ai_sdk/models/internal/globals.py +18 -1
  87. orq_ai_sdk/models/invokeagentop.py +140 -2
  88. orq_ai_sdk/models/invokedeploymentrequest.py +418 -80
  89. orq_ai_sdk/models/invokeevalop.py +160 -131
  90. orq_ai_sdk/models/listagentsop.py +793 -166
  91. orq_ai_sdk/models/listchunksop.py +32 -19
  92. orq_ai_sdk/models/listchunkspaginatedop.py +46 -19
  93. orq_ai_sdk/models/listconversationsop.py +18 -1
  94. orq_ai_sdk/models/listdatasetdatapointsop.py +252 -42
  95. orq_ai_sdk/models/listdatasetsop.py +35 -2
  96. orq_ai_sdk/models/listdatasourcesop.py +35 -26
  97. orq_ai_sdk/models/{listcontactsop.py → listidentitiesop.py} +89 -79
  98. orq_ai_sdk/models/listknowledgebasesop.py +132 -96
  99. orq_ai_sdk/models/listmodelsop.py +1 -0
  100. orq_ai_sdk/models/listpromptversionsop.py +1684 -216
  101. orq_ai_sdk/models/parseop.py +161 -17
  102. orq_ai_sdk/models/partdoneevent.py +19 -2
  103. orq_ai_sdk/models/post_v2_router_ocrop.py +408 -0
  104. orq_ai_sdk/models/publiccontact.py +27 -4
  105. orq_ai_sdk/models/publicidentity.py +62 -0
  106. orq_ai_sdk/models/reasoningpart.py +19 -2
  107. orq_ai_sdk/models/refusalpartschema.py +18 -1
  108. orq_ai_sdk/models/remoteconfigsgetconfigop.py +34 -1
  109. orq_ai_sdk/models/responsedoneevent.py +114 -84
  110. orq_ai_sdk/models/responsestartedevent.py +18 -1
  111. orq_ai_sdk/models/retrieveagentrequestop.py +787 -166
  112. orq_ai_sdk/models/retrievedatapointop.py +236 -42
  113. orq_ai_sdk/models/retrievedatasetop.py +19 -2
  114. orq_ai_sdk/models/retrievedatasourceop.py +17 -26
  115. orq_ai_sdk/models/{retrievecontactop.py → retrieveidentityop.py} +38 -41
  116. orq_ai_sdk/models/retrievememorydocumentop.py +18 -1
  117. orq_ai_sdk/models/retrievememoryop.py +18 -21
  118. orq_ai_sdk/models/retrievememorystoreop.py +18 -1
  119. orq_ai_sdk/models/retrievetoolop.py +309 -8
  120. orq_ai_sdk/models/runagentop.py +1451 -197
  121. orq_ai_sdk/models/searchknowledgeop.py +108 -1
  122. orq_ai_sdk/models/security.py +18 -1
  123. orq_ai_sdk/models/streamagentop.py +93 -2
  124. orq_ai_sdk/models/streamrunagentop.py +1428 -195
  125. orq_ai_sdk/models/textcontentpartschema.py +34 -1
  126. orq_ai_sdk/models/thinkingconfigenabledschema.py +18 -1
  127. orq_ai_sdk/models/toolcallpart.py +18 -1
  128. orq_ai_sdk/models/tooldoneevent.py +18 -1
  129. orq_ai_sdk/models/toolexecutionfailedstreamingevent.py +50 -1
  130. orq_ai_sdk/models/toolexecutionfinishedstreamingevent.py +34 -1
  131. orq_ai_sdk/models/toolexecutionstartedstreamingevent.py +34 -1
  132. orq_ai_sdk/models/toolresultpart.py +18 -1
  133. orq_ai_sdk/models/toolreviewrequestedevent.py +18 -1
  134. orq_ai_sdk/models/toolstartedevent.py +18 -1
  135. orq_ai_sdk/models/updateagentop.py +1951 -404
  136. orq_ai_sdk/models/updatechunkop.py +46 -19
  137. orq_ai_sdk/models/updateconversationop.py +61 -39
  138. orq_ai_sdk/models/updatedatapointop.py +424 -80
  139. orq_ai_sdk/models/updatedatasetop.py +51 -2
  140. orq_ai_sdk/models/updatedatasourceop.py +17 -26
  141. orq_ai_sdk/models/updateevalop.py +577 -16
  142. orq_ai_sdk/models/{updatecontactop.py → updateidentityop.py} +78 -68
  143. orq_ai_sdk/models/updateknowledgeop.py +234 -190
  144. orq_ai_sdk/models/updatememorydocumentop.py +50 -1
  145. orq_ai_sdk/models/updatememoryop.py +50 -21
  146. orq_ai_sdk/models/updatememorystoreop.py +66 -1
  147. orq_ai_sdk/models/updatepromptop.py +2844 -1450
  148. orq_ai_sdk/models/updatetoolop.py +592 -9
  149. orq_ai_sdk/models/usermessagerequest.py +18 -2
  150. orq_ai_sdk/moderations.py +218 -0
  151. orq_ai_sdk/orq_completions.py +660 -0
  152. orq_ai_sdk/orq_responses.py +398 -0
  153. orq_ai_sdk/prompts.py +28 -36
  154. orq_ai_sdk/rerank.py +232 -0
  155. orq_ai_sdk/router.py +89 -641
  156. orq_ai_sdk/sdk.py +3 -0
  157. orq_ai_sdk/speech.py +251 -0
  158. orq_ai_sdk/transcriptions.py +326 -0
  159. orq_ai_sdk/translations.py +298 -0
  160. orq_ai_sdk/utils/__init__.py +13 -1
  161. orq_ai_sdk/variations.py +254 -0
  162. orq_ai_sdk-4.2.6.dist-info/METADATA +888 -0
  163. orq_ai_sdk-4.2.6.dist-info/RECORD +263 -0
  164. {orq_ai_sdk-4.2.0rc28.dist-info → orq_ai_sdk-4.2.6.dist-info}/WHEEL +2 -1
  165. orq_ai_sdk-4.2.6.dist-info/top_level.txt +1 -0
  166. orq_ai_sdk-4.2.0rc28.dist-info/METADATA +0 -867
  167. orq_ai_sdk-4.2.0rc28.dist-info/RECORD +0 -233
@@ -1,10 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from orq_ai_sdk.types import BaseModel
4
+ from orq_ai_sdk.types import BaseModel, UNSET_SENTINEL
5
5
  from orq_ai_sdk.utils import FieldMetadata, QueryParamMetadata, get_discriminator
6
6
  import pydantic
7
- from pydantic import ConfigDict, Discriminator, Tag
7
+ from pydantic import ConfigDict, Discriminator, Tag, model_serializer
8
8
  from typing import Any, Dict, List, Literal, Optional, Union
9
9
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
10
10
 
@@ -37,6 +37,22 @@ class GetAllToolsRequest(BaseModel):
37
37
  ] = None
38
38
  r"""A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with `01JJ1HDHN79XAS7A01WB3HYSDB`, your subsequent call can include `before=01JJ1HDHN79XAS7A01WB3HYSDB` in order to fetch the previous page of the list."""
39
39
 
40
+ @model_serializer(mode="wrap")
41
+ def serialize_model(self, handler):
42
+ optional_fields = set(["limit", "starting_after", "ending_before"])
43
+ serialized = handler(self)
44
+ m = {}
45
+
46
+ for n, f in type(self).model_fields.items():
47
+ k = f.alias or n
48
+ val = serialized.get(k)
49
+
50
+ if val != UNSET_SENTINEL:
51
+ if val is not None or k not in optional_fields:
52
+ m[k] = val
53
+
54
+ return m
55
+
40
56
 
41
57
  GetAllToolsObject = Literal["list",]
42
58
 
@@ -114,6 +130,22 @@ class DataCodeTool(BaseModel):
114
130
  parameters: Optional[GetAllToolsDataParameters] = None
115
131
  r"""The parameters the functions accepts, described as a JSON Schema object. See the `OpenAI` [guide](https://platform.openai.com/docs/guides/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format."""
116
132
 
133
+ @model_serializer(mode="wrap")
134
+ def serialize_model(self, handler):
135
+ optional_fields = set(["parameters"])
136
+ serialized = handler(self)
137
+ m = {}
138
+
139
+ for n, f in type(self).model_fields.items():
140
+ k = f.alias or n
141
+ val = serialized.get(k)
142
+
143
+ if val != UNSET_SENTINEL:
144
+ if val is not None or k not in optional_fields:
145
+ m[k] = val
146
+
147
+ return m
148
+
117
149
 
118
150
  class DataCodeExecutionToolTypedDict(TypedDict):
119
151
  r"""Executes code snippets in a sandboxed environment, currently supporting Python."""
@@ -177,7 +209,7 @@ class DataCodeExecutionTool(BaseModel):
177
209
  code_tool: DataCodeTool
178
210
 
179
211
  id: Annotated[Optional[str], pydantic.Field(alias="_id")] = (
180
- "tool_01KEXRJ81XF9E7MK72H60W2Y02"
212
+ "tool_01KFTTTRC87V0DZ9R852RMTQFQ"
181
213
  )
182
214
 
183
215
  display_name: Optional[str] = None
@@ -194,6 +226,31 @@ class DataCodeExecutionTool(BaseModel):
194
226
 
195
227
  version_hash: Optional[str] = None
196
228
 
229
+ @model_serializer(mode="wrap")
230
+ def serialize_model(self, handler):
231
+ optional_fields = set(
232
+ [
233
+ "_id",
234
+ "display_name",
235
+ "created_by_id",
236
+ "updated_by_id",
237
+ "status",
238
+ "version_hash",
239
+ ]
240
+ )
241
+ serialized = handler(self)
242
+ m = {}
243
+
244
+ for n, f in type(self).model_fields.items():
245
+ k = f.alias or n
246
+ val = serialized.get(k)
247
+
248
+ if val != UNSET_SENTINEL:
249
+ if val is not None or k not in optional_fields:
250
+ m[k] = val
251
+
252
+ return m
253
+
197
254
 
198
255
  GetAllToolsDataToolsResponseStatus = Literal[
199
256
  "live",
@@ -217,6 +274,22 @@ class DataHeaders(BaseModel):
217
274
 
218
275
  encrypted: Optional[bool] = False
219
276
 
277
+ @model_serializer(mode="wrap")
278
+ def serialize_model(self, handler):
279
+ optional_fields = set(["encrypted"])
280
+ serialized = handler(self)
281
+ m = {}
282
+
283
+ for n, f in type(self).model_fields.items():
284
+ k = f.alias or n
285
+ val = serialized.get(k)
286
+
287
+ if val != UNSET_SENTINEL:
288
+ if val is not None or k not in optional_fields:
289
+ m[k] = val
290
+
291
+ return m
292
+
220
293
 
221
294
  GetAllToolsDataToolsResponse200ApplicationJSONResponseBody4Type = Literal["object",]
222
295
 
@@ -234,6 +307,22 @@ class GetAllToolsDataSchema(BaseModel):
234
307
 
235
308
  required: Optional[List[str]] = None
236
309
 
310
+ @model_serializer(mode="wrap")
311
+ def serialize_model(self, handler):
312
+ optional_fields = set(["properties", "required"])
313
+ serialized = handler(self)
314
+ m = {}
315
+
316
+ for n, f in type(self).model_fields.items():
317
+ k = f.alias or n
318
+ val = serialized.get(k)
319
+
320
+ if val != UNSET_SENTINEL:
321
+ if val is not None or k not in optional_fields:
322
+ m[k] = val
323
+
324
+ return m
325
+
237
326
 
238
327
  class DataToolsTypedDict(TypedDict):
239
328
  name: str
@@ -247,10 +336,26 @@ class DataTools(BaseModel):
247
336
 
248
337
  schema_: Annotated[GetAllToolsDataSchema, pydantic.Field(alias="schema")]
249
338
 
250
- id: Optional[str] = "01KEXRJ81XKKHY520KH725JPSQ"
339
+ id: Optional[str] = "01KFTTTRC7SZN65KF71X0N3P3H"
251
340
 
252
341
  description: Optional[str] = None
253
342
 
343
+ @model_serializer(mode="wrap")
344
+ def serialize_model(self, handler):
345
+ optional_fields = set(["id", "description"])
346
+ serialized = handler(self)
347
+ m = {}
348
+
349
+ for n, f in type(self).model_fields.items():
350
+ k = f.alias or n
351
+ val = serialized.get(k)
352
+
353
+ if val != UNSET_SENTINEL:
354
+ if val is not None or k not in optional_fields:
355
+ m[k] = val
356
+
357
+ return m
358
+
254
359
 
255
360
  DataConnectionType = Literal[
256
361
  "http",
@@ -283,6 +388,22 @@ class DataMcp(BaseModel):
283
388
  headers: Optional[Dict[str, DataHeaders]] = None
284
389
  r"""HTTP headers for MCP server requests with encryption support"""
285
390
 
391
+ @model_serializer(mode="wrap")
392
+ def serialize_model(self, handler):
393
+ optional_fields = set(["headers"])
394
+ serialized = handler(self)
395
+ m = {}
396
+
397
+ for n, f in type(self).model_fields.items():
398
+ k = f.alias or n
399
+ val = serialized.get(k)
400
+
401
+ if val != UNSET_SENTINEL:
402
+ if val is not None or k not in optional_fields:
403
+ m[k] = val
404
+
405
+ return m
406
+
286
407
 
287
408
  class DataMCPToolTypedDict(TypedDict):
288
409
  r"""A tool from a Model Context Protocol (MCP) server that provides standardized access to external capabilities."""
@@ -346,7 +467,7 @@ class DataMCPTool(BaseModel):
346
467
  mcp: DataMcp
347
468
 
348
469
  id: Annotated[Optional[str], pydantic.Field(alias="_id")] = (
349
- "tool_01KEXRJ81VRHH1KX2BWW8C4GA2"
470
+ "tool_01KFTTTRC65VTB54CHHC35XF6G"
350
471
  )
351
472
 
352
473
  display_name: Optional[str] = None
@@ -363,6 +484,31 @@ class DataMCPTool(BaseModel):
363
484
 
364
485
  version_hash: Optional[str] = None
365
486
 
487
+ @model_serializer(mode="wrap")
488
+ def serialize_model(self, handler):
489
+ optional_fields = set(
490
+ [
491
+ "_id",
492
+ "display_name",
493
+ "created_by_id",
494
+ "updated_by_id",
495
+ "status",
496
+ "version_hash",
497
+ ]
498
+ )
499
+ serialized = handler(self)
500
+ m = {}
501
+
502
+ for n, f in type(self).model_fields.items():
503
+ k = f.alias or n
504
+ val = serialized.get(k)
505
+
506
+ if val != UNSET_SENTINEL:
507
+ if val is not None or k not in optional_fields:
508
+ m[k] = val
509
+
510
+ return m
511
+
366
512
 
367
513
  GetAllToolsDataToolsStatus = Literal[
368
514
  "live",
@@ -395,6 +541,22 @@ class GetAllToolsHeaders2(BaseModel):
395
541
 
396
542
  encrypted: Optional[bool] = False
397
543
 
544
+ @model_serializer(mode="wrap")
545
+ def serialize_model(self, handler):
546
+ optional_fields = set(["encrypted"])
547
+ serialized = handler(self)
548
+ m = {}
549
+
550
+ for n, f in type(self).model_fields.items():
551
+ k = f.alias or n
552
+ val = serialized.get(k)
553
+
554
+ if val != UNSET_SENTINEL:
555
+ if val is not None or k not in optional_fields:
556
+ m[k] = val
557
+
558
+ return m
559
+
398
560
 
399
561
  GetAllToolsDataHeadersTypedDict = TypeAliasType(
400
562
  "GetAllToolsDataHeadersTypedDict", Union[GetAllToolsHeaders2TypedDict, str]
@@ -434,6 +596,22 @@ class DataBlueprint(BaseModel):
434
596
  body: Optional[Dict[str, Any]] = None
435
597
  r"""The body to send with the request."""
436
598
 
599
+ @model_serializer(mode="wrap")
600
+ def serialize_model(self, handler):
601
+ optional_fields = set(["headers", "body"])
602
+ serialized = handler(self)
603
+ m = {}
604
+
605
+ for n, f in type(self).model_fields.items():
606
+ k = f.alias or n
607
+ val = serialized.get(k)
608
+
609
+ if val != UNSET_SENTINEL:
610
+ if val is not None or k not in optional_fields:
611
+ m[k] = val
612
+
613
+ return m
614
+
437
615
 
438
616
  GetAllToolsDataToolsResponse200ApplicationJSONResponseBody3Type = Literal[
439
617
  "string",
@@ -477,6 +655,22 @@ class DataArguments(BaseModel):
477
655
  default_value: Optional[DataDefaultValue] = None
478
656
  r"""The default value of the argument."""
479
657
 
658
+ @model_serializer(mode="wrap")
659
+ def serialize_model(self, handler):
660
+ optional_fields = set(["send_to_model", "default_value"])
661
+ serialized = handler(self)
662
+ m = {}
663
+
664
+ for n, f in type(self).model_fields.items():
665
+ k = f.alias or n
666
+ val = serialized.get(k)
667
+
668
+ if val != UNSET_SENTINEL:
669
+ if val is not None or k not in optional_fields:
670
+ m[k] = val
671
+
672
+ return m
673
+
480
674
 
481
675
  class GetAllToolsDataHTTPTypedDict(TypedDict):
482
676
  blueprint: DataBlueprintTypedDict
@@ -492,6 +686,22 @@ class GetAllToolsDataHTTP(BaseModel):
492
686
  arguments: Optional[Dict[str, DataArguments]] = None
493
687
  r"""The arguments to send with the request. The keys will be used to replace the placeholders in the `blueprint` field."""
494
688
 
689
+ @model_serializer(mode="wrap")
690
+ def serialize_model(self, handler):
691
+ optional_fields = set(["arguments"])
692
+ serialized = handler(self)
693
+ m = {}
694
+
695
+ for n, f in type(self).model_fields.items():
696
+ k = f.alias or n
697
+ val = serialized.get(k)
698
+
699
+ if val != UNSET_SENTINEL:
700
+ if val is not None or k not in optional_fields:
701
+ m[k] = val
702
+
703
+ return m
704
+
495
705
 
496
706
  class DataHTTPToolTypedDict(TypedDict):
497
707
  r"""Executes HTTP requests to interact with external APIs and web services using customizable blueprints."""
@@ -555,7 +765,7 @@ class DataHTTPTool(BaseModel):
555
765
  http: GetAllToolsDataHTTP
556
766
 
557
767
  id: Annotated[Optional[str], pydantic.Field(alias="_id")] = (
558
- "tool_01KEXRJ81GPAD0J2N0E1GAWRD6"
768
+ "tool_01KFTTTRC48617CPRP04SA6V79"
559
769
  )
560
770
 
561
771
  display_name: Optional[str] = None
@@ -572,6 +782,31 @@ class DataHTTPTool(BaseModel):
572
782
 
573
783
  version_hash: Optional[str] = None
574
784
 
785
+ @model_serializer(mode="wrap")
786
+ def serialize_model(self, handler):
787
+ optional_fields = set(
788
+ [
789
+ "_id",
790
+ "display_name",
791
+ "created_by_id",
792
+ "updated_by_id",
793
+ "status",
794
+ "version_hash",
795
+ ]
796
+ )
797
+ serialized = handler(self)
798
+ m = {}
799
+
800
+ for n, f in type(self).model_fields.items():
801
+ k = f.alias or n
802
+ val = serialized.get(k)
803
+
804
+ if val != UNSET_SENTINEL:
805
+ if val is not None or k not in optional_fields:
806
+ m[k] = val
807
+
808
+ return m
809
+
575
810
 
576
811
  GetAllToolsDataStatus = Literal[
577
812
  "live",
@@ -646,6 +881,22 @@ class DataJSONSchema(BaseModel):
646
881
  strict: Optional[bool] = None
647
882
  r"""Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. Only compatible with `OpenAI` models."""
648
883
 
884
+ @model_serializer(mode="wrap")
885
+ def serialize_model(self, handler):
886
+ optional_fields = set(["strict"])
887
+ serialized = handler(self)
888
+ m = {}
889
+
890
+ for n, f in type(self).model_fields.items():
891
+ k = f.alias or n
892
+ val = serialized.get(k)
893
+
894
+ if val != UNSET_SENTINEL:
895
+ if val is not None or k not in optional_fields:
896
+ m[k] = val
897
+
898
+ return m
899
+
649
900
 
650
901
  class DataJSONSchemaToolTypedDict(TypedDict):
651
902
  r"""A tool that enforces structured output format using JSON Schema for consistent response formatting."""
@@ -709,7 +960,7 @@ class DataJSONSchemaTool(BaseModel):
709
960
  json_schema: DataJSONSchema
710
961
 
711
962
  id: Annotated[Optional[str], pydantic.Field(alias="_id")] = (
712
- "tool_01KEXRJ81EAAAZWR9Z4JX1JX7J"
963
+ "tool_01KFTTTRC3MPV21FQM07BBGR6G"
713
964
  )
714
965
 
715
966
  display_name: Optional[str] = None
@@ -726,6 +977,31 @@ class DataJSONSchemaTool(BaseModel):
726
977
 
727
978
  version_hash: Optional[str] = None
728
979
 
980
+ @model_serializer(mode="wrap")
981
+ def serialize_model(self, handler):
982
+ optional_fields = set(
983
+ [
984
+ "_id",
985
+ "display_name",
986
+ "created_by_id",
987
+ "updated_by_id",
988
+ "status",
989
+ "version_hash",
990
+ ]
991
+ )
992
+ serialized = handler(self)
993
+ m = {}
994
+
995
+ for n, f in type(self).model_fields.items():
996
+ k = f.alias or n
997
+ val = serialized.get(k)
998
+
999
+ if val != UNSET_SENTINEL:
1000
+ if val is not None or k not in optional_fields:
1001
+ m[k] = val
1002
+
1003
+ return m
1004
+
729
1005
 
730
1006
  DataStatus = Literal[
731
1007
  "live",
@@ -804,6 +1080,22 @@ class GetAllToolsDataFunction(BaseModel):
804
1080
  parameters: Optional[DataParameters] = None
805
1081
  r"""The parameters the functions accepts, described as a JSON Schema object. See the `OpenAI` [guide](https://platform.openai.com/docs/guides/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format."""
806
1082
 
1083
+ @model_serializer(mode="wrap")
1084
+ def serialize_model(self, handler):
1085
+ optional_fields = set(["description", "strict", "parameters"])
1086
+ serialized = handler(self)
1087
+ m = {}
1088
+
1089
+ for n, f in type(self).model_fields.items():
1090
+ k = f.alias or n
1091
+ val = serialized.get(k)
1092
+
1093
+ if val != UNSET_SENTINEL:
1094
+ if val is not None or k not in optional_fields:
1095
+ m[k] = val
1096
+
1097
+ return m
1098
+
807
1099
 
808
1100
  class DataFunctionToolTypedDict(TypedDict):
809
1101
  r"""A custom function tool that allows the model to call predefined functions with structured parameters."""
@@ -867,7 +1159,7 @@ class DataFunctionTool(BaseModel):
867
1159
  function: GetAllToolsDataFunction
868
1160
 
869
1161
  id: Annotated[Optional[str], pydantic.Field(alias="_id")] = (
870
- "tool_01KEXRJ81AB6VKSZ9EGNBQSQ5T"
1162
+ "tool_01KFTTTRC2791SM3AJH7M6Q2M7"
871
1163
  )
872
1164
 
873
1165
  display_name: Optional[str] = None
@@ -884,6 +1176,31 @@ class DataFunctionTool(BaseModel):
884
1176
 
885
1177
  version_hash: Optional[str] = None
886
1178
 
1179
+ @model_serializer(mode="wrap")
1180
+ def serialize_model(self, handler):
1181
+ optional_fields = set(
1182
+ [
1183
+ "_id",
1184
+ "display_name",
1185
+ "created_by_id",
1186
+ "updated_by_id",
1187
+ "status",
1188
+ "version_hash",
1189
+ ]
1190
+ )
1191
+ serialized = handler(self)
1192
+ m = {}
1193
+
1194
+ for n, f in type(self).model_fields.items():
1195
+ k = f.alias or n
1196
+ val = serialized.get(k)
1197
+
1198
+ if val != UNSET_SENTINEL:
1199
+ if val is not None or k not in optional_fields:
1200
+ m[k] = val
1201
+
1202
+ return m
1203
+
887
1204
 
888
1205
  GetAllToolsDataTypedDict = TypeAliasType(
889
1206
  "GetAllToolsDataTypedDict",
@@ -1,8 +1,9 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from orq_ai_sdk.types import BaseModel
4
+ from orq_ai_sdk.types import BaseModel, UNSET_SENTINEL
5
5
  from orq_ai_sdk.utils import FieldMetadata, PathParamMetadata, RequestMetadata
6
+ from pydantic import model_serializer
6
7
  from typing import Optional
7
8
  from typing_extensions import Annotated, NotRequired, TypedDict
8
9
 
@@ -26,6 +27,22 @@ class GetChunksCountRequestBody(BaseModel):
26
27
  status: Optional[str] = None
27
28
  r"""Filter chunks by processing status"""
28
29
 
30
+ @model_serializer(mode="wrap")
31
+ def serialize_model(self, handler):
32
+ optional_fields = set(["q", "enabled", "status"])
33
+ serialized = handler(self)
34
+ m = {}
35
+
36
+ for n, f in type(self).model_fields.items():
37
+ k = f.alias or n
38
+ val = serialized.get(k)
39
+
40
+ if val != UNSET_SENTINEL:
41
+ if val is not None or k not in optional_fields:
42
+ m[k] = val
43
+
44
+ return m
45
+
29
46
 
30
47
  class GetChunksCountRequestTypedDict(TypedDict):
31
48
  knowledge_id: str
@@ -51,6 +68,22 @@ class GetChunksCountRequest(BaseModel):
51
68
  FieldMetadata(request=RequestMetadata(media_type="application/json")),
52
69
  ] = None
53
70
 
71
+ @model_serializer(mode="wrap")
72
+ def serialize_model(self, handler):
73
+ optional_fields = set(["RequestBody"])
74
+ serialized = handler(self)
75
+ m = {}
76
+
77
+ for n, f in type(self).model_fields.items():
78
+ k = f.alias or n
79
+ val = serialized.get(k)
80
+
81
+ if val != UNSET_SENTINEL:
82
+ if val is not None or k not in optional_fields:
83
+ m[k] = val
84
+
85
+ return m
86
+
54
87
 
55
88
  class GetChunksCountResponseBodyTypedDict(TypedDict):
56
89
  r"""Chunks count"""