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
@@ -43,6 +43,22 @@ class DeploymentsRequest(BaseModel):
43
43
  ] = None
44
44
  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."""
45
45
 
46
+ @model_serializer(mode="wrap")
47
+ def serialize_model(self, handler):
48
+ optional_fields = set(["limit", "starting_after", "ending_before"])
49
+ serialized = handler(self)
50
+ m = {}
51
+
52
+ for n, f in type(self).model_fields.items():
53
+ k = f.alias or n
54
+ val = serialized.get(k)
55
+
56
+ if val != UNSET_SENTINEL:
57
+ if val is not None or k not in optional_fields:
58
+ m[k] = val
59
+
60
+ return m
61
+
46
62
 
47
63
  DeploymentsObject = Literal["list",]
48
64
 
@@ -82,6 +98,22 @@ class DeploymentsParameters(BaseModel):
82
98
  Optional[bool], pydantic.Field(alias="additionalProperties")
83
99
  ] = None
84
100
 
101
+ @model_serializer(mode="wrap")
102
+ def serialize_model(self, handler):
103
+ optional_fields = set(["required", "additionalProperties"])
104
+ serialized = handler(self)
105
+ m = {}
106
+
107
+ for n, f in type(self).model_fields.items():
108
+ k = f.alias or n
109
+ val = serialized.get(k)
110
+
111
+ if val != UNSET_SENTINEL:
112
+ if val is not None or k not in optional_fields:
113
+ m[k] = val
114
+
115
+ return m
116
+
85
117
 
86
118
  class DeploymentsFunctionTypedDict(TypedDict):
87
119
  name: str
@@ -111,6 +143,22 @@ class DeploymentsFunction(BaseModel):
111
143
 
112
144
  strict: Optional[bool] = None
113
145
 
146
+ @model_serializer(mode="wrap")
147
+ def serialize_model(self, handler):
148
+ optional_fields = set(["description", "strict"])
149
+ serialized = handler(self)
150
+ m = {}
151
+
152
+ for n, f in type(self).model_fields.items():
153
+ k = f.alias or n
154
+ val = serialized.get(k)
155
+
156
+ if val != UNSET_SENTINEL:
157
+ if val is not None or k not in optional_fields:
158
+ m[k] = val
159
+
160
+ return m
161
+
114
162
 
115
163
  class DeploymentsToolsTypedDict(TypedDict):
116
164
  type: DeploymentsType
@@ -130,6 +178,22 @@ class DeploymentsTools(BaseModel):
130
178
 
131
179
  id: Optional[float] = None
132
180
 
181
+ @model_serializer(mode="wrap")
182
+ def serialize_model(self, handler):
183
+ optional_fields = set(["display_name", "id"])
184
+ serialized = handler(self)
185
+ m = {}
186
+
187
+ for n, f in type(self).model_fields.items():
188
+ k = f.alias or n
189
+ val = serialized.get(k)
190
+
191
+ if val != UNSET_SENTINEL:
192
+ if val is not None or k not in optional_fields:
193
+ m[k] = val
194
+
195
+ return m
196
+
133
197
 
134
198
  DeploymentsModelType = Literal[
135
199
  "chat",
@@ -139,6 +203,7 @@ DeploymentsModelType = Literal[
139
203
  "tts",
140
204
  "stt",
141
205
  "rerank",
206
+ "ocr",
142
207
  "moderation",
143
208
  "vision",
144
209
  ]
@@ -220,6 +285,22 @@ class DeploymentsResponseFormatJSONSchema(BaseModel):
220
285
 
221
286
  strict: Optional[bool] = None
222
287
 
288
+ @model_serializer(mode="wrap")
289
+ def serialize_model(self, handler):
290
+ optional_fields = set(["description", "strict"])
291
+ serialized = handler(self)
292
+ m = {}
293
+
294
+ for n, f in type(self).model_fields.items():
295
+ k = f.alias or n
296
+ val = serialized.get(k)
297
+
298
+ if val != UNSET_SENTINEL:
299
+ if val is not None or k not in optional_fields:
300
+ m[k] = val
301
+
302
+ return m
303
+
223
304
 
224
305
  class DeploymentsResponseFormat1TypedDict(TypedDict):
225
306
  type: DeploymentsResponseFormatDeploymentsResponseType
@@ -234,6 +315,22 @@ class DeploymentsResponseFormat1(BaseModel):
234
315
 
235
316
  display_name: Optional[str] = None
236
317
 
318
+ @model_serializer(mode="wrap")
319
+ def serialize_model(self, handler):
320
+ optional_fields = set(["display_name"])
321
+ serialized = handler(self)
322
+ m = {}
323
+
324
+ for n, f in type(self).model_fields.items():
325
+ k = f.alias or n
326
+ val = serialized.get(k)
327
+
328
+ if val != UNSET_SENTINEL:
329
+ if val is not None or k not in optional_fields:
330
+ m[k] = val
331
+
332
+ return m
333
+
237
334
 
238
335
  DeploymentsResponseFormatTypedDict = TypeAliasType(
239
336
  "DeploymentsResponseFormatTypedDict",
@@ -453,51 +550,48 @@ class DeploymentsModelParameters(BaseModel):
453
550
 
454
551
  @model_serializer(mode="wrap")
455
552
  def serialize_model(self, handler):
456
- optional_fields = [
457
- "temperature",
458
- "maxTokens",
459
- "topK",
460
- "topP",
461
- "frequencyPenalty",
462
- "presencePenalty",
463
- "numImages",
464
- "seed",
465
- "format",
466
- "dimensions",
467
- "quality",
468
- "style",
469
- "responseFormat",
470
- "photoRealVersion",
471
- "encoding_format",
472
- "reasoningEffort",
473
- "budgetTokens",
474
- "verbosity",
475
- "thinkingLevel",
476
- ]
477
- nullable_fields = ["responseFormat"]
478
- null_default_fields = []
479
-
553
+ optional_fields = set(
554
+ [
555
+ "temperature",
556
+ "maxTokens",
557
+ "topK",
558
+ "topP",
559
+ "frequencyPenalty",
560
+ "presencePenalty",
561
+ "numImages",
562
+ "seed",
563
+ "format",
564
+ "dimensions",
565
+ "quality",
566
+ "style",
567
+ "responseFormat",
568
+ "photoRealVersion",
569
+ "encoding_format",
570
+ "reasoningEffort",
571
+ "budgetTokens",
572
+ "verbosity",
573
+ "thinkingLevel",
574
+ ]
575
+ )
576
+ nullable_fields = set(["responseFormat"])
480
577
  serialized = handler(self)
481
-
482
578
  m = {}
483
579
 
484
580
  for n, f in type(self).model_fields.items():
485
581
  k = f.alias or n
486
582
  val = serialized.get(k)
487
- serialized.pop(k, None)
488
-
489
- optional_nullable = k in optional_fields and k in nullable_fields
490
- is_set = (
491
- self.__pydantic_fields_set__.intersection({n})
492
- or k in null_default_fields
493
- ) # pylint: disable=no-member
494
-
495
- if val is not None and val != UNSET_SENTINEL:
496
- m[k] = val
497
- elif val != UNSET_SENTINEL and (
498
- not k in optional_fields or (optional_nullable and is_set)
499
- ):
500
- m[k] = val
583
+ is_nullable_and_explicitly_set = (
584
+ k in nullable_fields
585
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
586
+ )
587
+
588
+ if val != UNSET_SENTINEL:
589
+ if (
590
+ val is not None
591
+ or k not in optional_fields
592
+ or is_nullable_and_explicitly_set
593
+ ):
594
+ m[k] = val
501
595
 
502
596
  return m
503
597
 
@@ -573,6 +667,22 @@ class Deployments2File(BaseModel):
573
667
  filename: Optional[str] = None
574
668
  r"""The name of the file, used when passing the file to the model as a string."""
575
669
 
670
+ @model_serializer(mode="wrap")
671
+ def serialize_model(self, handler):
672
+ optional_fields = set(["file_data", "uri", "mimeType", "filename"])
673
+ serialized = handler(self)
674
+ m = {}
675
+
676
+ for n, f in type(self).model_fields.items():
677
+ k = f.alias or n
678
+ val = serialized.get(k)
679
+
680
+ if val != UNSET_SENTINEL:
681
+ if val is not None or k not in optional_fields:
682
+ m[k] = val
683
+
684
+ return m
685
+
576
686
 
577
687
  class Deployments23TypedDict(TypedDict):
578
688
  type: Deployments2DeploymentsResponseType
@@ -609,6 +719,22 @@ class Deployments2ImageURL(BaseModel):
609
719
  detail: Optional[str] = None
610
720
  r"""Specifies the detail level of the image. Currently only supported with OpenAI models"""
611
721
 
722
+ @model_serializer(mode="wrap")
723
+ def serialize_model(self, handler):
724
+ optional_fields = set(["id", "detail"])
725
+ serialized = handler(self)
726
+ m = {}
727
+
728
+ for n, f in type(self).model_fields.items():
729
+ k = f.alias or n
730
+ val = serialized.get(k)
731
+
732
+ if val != UNSET_SENTINEL:
733
+ if val is not None or k not in optional_fields:
734
+ m[k] = val
735
+
736
+ return m
737
+
612
738
 
613
739
  class Deployments22TypedDict(TypedDict):
614
740
  r"""The image part of the prompt message. Only supported with vision models."""
@@ -703,6 +829,22 @@ class DeploymentsToolCalls(BaseModel):
703
829
 
704
830
  index: Optional[float] = None
705
831
 
832
+ @model_serializer(mode="wrap")
833
+ def serialize_model(self, handler):
834
+ optional_fields = set(["id", "index"])
835
+ serialized = handler(self)
836
+ m = {}
837
+
838
+ for n, f in type(self).model_fields.items():
839
+ k = f.alias or n
840
+ val = serialized.get(k)
841
+
842
+ if val != UNSET_SENTINEL:
843
+ if val is not None or k not in optional_fields:
844
+ m[k] = val
845
+
846
+ return m
847
+
706
848
 
707
849
  class DeploymentsMessagesTypedDict(TypedDict):
708
850
  role: DeploymentsRole
@@ -726,31 +868,26 @@ class DeploymentsMessages(BaseModel):
726
868
 
727
869
  @model_serializer(mode="wrap")
728
870
  def serialize_model(self, handler):
729
- optional_fields = ["tool_calls", "tool_call_id"]
730
- nullable_fields = ["content", "tool_call_id"]
731
- null_default_fields = []
732
-
871
+ optional_fields = set(["tool_calls", "tool_call_id"])
872
+ nullable_fields = set(["content", "tool_call_id"])
733
873
  serialized = handler(self)
734
-
735
874
  m = {}
736
875
 
737
876
  for n, f in type(self).model_fields.items():
738
877
  k = f.alias or n
739
878
  val = serialized.get(k)
740
- serialized.pop(k, None)
741
-
742
- optional_nullable = k in optional_fields and k in nullable_fields
743
- is_set = (
744
- self.__pydantic_fields_set__.intersection({n})
745
- or k in null_default_fields
746
- ) # pylint: disable=no-member
747
-
748
- if val is not None and val != UNSET_SENTINEL:
749
- m[k] = val
750
- elif val != UNSET_SENTINEL and (
751
- not k in optional_fields or (optional_nullable and is_set)
752
- ):
753
- m[k] = val
879
+ is_nullable_and_explicitly_set = (
880
+ k in nullable_fields
881
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
882
+ )
883
+
884
+ if val != UNSET_SENTINEL:
885
+ if (
886
+ val is not None
887
+ or k not in optional_fields
888
+ or is_nullable_and_explicitly_set
889
+ ):
890
+ m[k] = val
754
891
 
755
892
  return m
756
893