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,7 +1,8 @@
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
+ from pydantic import model_serializer
5
6
  from typing import Literal, Optional
6
7
  from typing_extensions import NotRequired, TypedDict
7
8
 
@@ -53,6 +54,22 @@ class CacheControl(BaseModel):
53
54
  Defaults to `5m`. Only supported by `Anthropic` Claude models.
54
55
  """
55
56
 
57
+ @model_serializer(mode="wrap")
58
+ def serialize_model(self, handler):
59
+ optional_fields = set(["ttl"])
60
+ serialized = handler(self)
61
+ m = {}
62
+
63
+ for n, f in type(self).model_fields.items():
64
+ k = f.alias or n
65
+ val = serialized.get(k)
66
+
67
+ if val != UNSET_SENTINEL:
68
+ if val is not None or k not in optional_fields:
69
+ m[k] = val
70
+
71
+ return m
72
+
56
73
 
57
74
  class TextContentPartSchemaTypedDict(TypedDict):
58
75
  r"""The type of the content part."""
@@ -74,3 +91,19 @@ class TextContentPartSchema(BaseModel):
74
91
  r"""The text content."""
75
92
 
76
93
  cache_control: Optional[CacheControl] = None
94
+
95
+ @model_serializer(mode="wrap")
96
+ def serialize_model(self, handler):
97
+ optional_fields = set(["cache_control"])
98
+ serialized = handler(self)
99
+ m = {}
100
+
101
+ for n, f in type(self).model_fields.items():
102
+ k = f.alias or n
103
+ val = serialized.get(k)
104
+
105
+ if val != UNSET_SENTINEL:
106
+ if val is not None or k not in optional_fields:
107
+ m[k] = val
108
+
109
+ return m
@@ -1,7 +1,8 @@
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
+ from pydantic import model_serializer
5
6
  from typing import Literal, Optional
6
7
  from typing_extensions import NotRequired, TypedDict
7
8
 
@@ -39,3 +40,19 @@ class ThinkingConfigEnabledSchema(BaseModel):
39
40
 
40
41
  thinking_level: Optional[ThinkingLevel] = None
41
42
  r"""The level of reasoning the model should use. This setting is supported only by `gemini-3` models. If budget_tokens is specified and `thinking_level` is available, `budget_tokens` will be ignored."""
43
+
44
+ @model_serializer(mode="wrap")
45
+ def serialize_model(self, handler):
46
+ optional_fields = set(["thinking_level"])
47
+ serialized = handler(self)
48
+ m = {}
49
+
50
+ for n, f in type(self).model_fields.items():
51
+ k = f.alias or n
52
+ val = serialized.get(k)
53
+
54
+ if val != UNSET_SENTINEL:
55
+ if val is not None or k not in optional_fields:
56
+ m[k] = val
57
+
58
+ return m
@@ -1,7 +1,8 @@
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
+ from pydantic import model_serializer
5
6
  from typing import Any, Dict, Literal, Optional
6
7
  from typing_extensions import NotRequired, TypedDict
7
8
 
@@ -34,3 +35,19 @@ class ToolCallPart(BaseModel):
34
35
  thought_signature: Optional[str] = None
35
36
 
36
37
  metadata: Optional[Dict[str, Any]] = None
38
+
39
+ @model_serializer(mode="wrap")
40
+ def serialize_model(self, handler):
41
+ optional_fields = set(["thought_signature", "metadata"])
42
+ serialized = handler(self)
43
+ m = {}
44
+
45
+ for n, f in type(self).model_fields.items():
46
+ k = f.alias or n
47
+ val = serialized.get(k)
48
+
49
+ if val != UNSET_SENTINEL:
50
+ if val is not None or k not in optional_fields:
51
+ m[k] = val
52
+
53
+ return m
@@ -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
  import pydantic
6
+ from pydantic import model_serializer
6
7
  from typing import Any, Literal, Optional
7
8
  from typing_extensions import Annotated, NotRequired, TypedDict
8
9
 
@@ -29,6 +30,22 @@ class ToolDoneEventData(BaseModel):
29
30
  result: Optional[Any] = None
30
31
  r"""The result returned by the tool"""
31
32
 
33
+ @model_serializer(mode="wrap")
34
+ def serialize_model(self, handler):
35
+ optional_fields = set(["result"])
36
+ serialized = handler(self)
37
+ m = {}
38
+
39
+ for n, f in type(self).model_fields.items():
40
+ k = f.alias or n
41
+ val = serialized.get(k)
42
+
43
+ if val != UNSET_SENTINEL:
44
+ if val is not None or k not in optional_fields:
45
+ m[k] = val
46
+
47
+ return m
48
+
32
49
 
33
50
  class ToolDoneEventTypedDict(TypedDict):
34
51
  r"""Emitted when a tool completes execution successfully. Contains the tool result."""
@@ -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
  import pydantic
6
+ from pydantic import model_serializer
6
7
  from typing import Literal, Optional
7
8
  from typing_extensions import Annotated, NotRequired, TypedDict
8
9
 
@@ -22,6 +23,22 @@ class Error(BaseModel):
22
23
 
23
24
  stack: Optional[str] = None
24
25
 
26
+ @model_serializer(mode="wrap")
27
+ def serialize_model(self, handler):
28
+ optional_fields = set(["stack"])
29
+ serialized = handler(self)
30
+ m = {}
31
+
32
+ for n, f in type(self).model_fields.items():
33
+ k = f.alias or n
34
+ val = serialized.get(k)
35
+
36
+ if val != UNSET_SENTINEL:
37
+ if val is not None or k not in optional_fields:
38
+ m[k] = val
39
+
40
+ return m
41
+
25
42
 
26
43
  ToolExecutionFailedStreamingEventProduct = Literal[
27
44
  "remoteconfigs",
@@ -83,6 +100,22 @@ class ToolExecutionFailedStreamingEventToolExecutionContext(BaseModel):
83
100
 
84
101
  parent_id: Optional[str] = None
85
102
 
103
+ @model_serializer(mode="wrap")
104
+ def serialize_model(self, handler):
105
+ optional_fields = set(["memory", "parent_id"])
106
+ serialized = handler(self)
107
+ m = {}
108
+
109
+ for n, f in type(self).model_fields.items():
110
+ k = f.alias or n
111
+ val = serialized.get(k)
112
+
113
+ if val != UNSET_SENTINEL:
114
+ if val is not None or k not in optional_fields:
115
+ m[k] = val
116
+
117
+ return m
118
+
86
119
 
87
120
  class ToolExecutionFailedStreamingEventDataTypedDict(TypedDict):
88
121
  error: ErrorTypedDict
@@ -108,6 +141,22 @@ class ToolExecutionFailedStreamingEventData(BaseModel):
108
141
 
109
142
  stream: Optional[bool] = None
110
143
 
144
+ @model_serializer(mode="wrap")
145
+ def serialize_model(self, handler):
146
+ optional_fields = set(["responseId", "stream"])
147
+ serialized = handler(self)
148
+ m = {}
149
+
150
+ for n, f in type(self).model_fields.items():
151
+ k = f.alias or n
152
+ val = serialized.get(k)
153
+
154
+ if val != UNSET_SENTINEL:
155
+ if val is not None or k not in optional_fields:
156
+ m[k] = val
157
+
158
+ return m
159
+
111
160
 
112
161
  class ToolExecutionFailedStreamingEventTypedDict(TypedDict):
113
162
  r"""Emitted when a tool execution fails. Contains the error details, action type, and execution context."""
@@ -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
  import pydantic
6
+ from pydantic import model_serializer
6
7
  from typing import Any, Literal, Optional
7
8
  from typing_extensions import Annotated, NotRequired, TypedDict
8
9
 
@@ -72,6 +73,22 @@ class ToolExecutionFinishedStreamingEventToolExecutionContext(BaseModel):
72
73
 
73
74
  parent_id: Optional[str] = None
74
75
 
76
+ @model_serializer(mode="wrap")
77
+ def serialize_model(self, handler):
78
+ optional_fields = set(["memory", "parent_id"])
79
+ serialized = handler(self)
80
+ m = {}
81
+
82
+ for n, f in type(self).model_fields.items():
83
+ k = f.alias or n
84
+ val = serialized.get(k)
85
+
86
+ if val != UNSET_SENTINEL:
87
+ if val is not None or k not in optional_fields:
88
+ m[k] = val
89
+
90
+ return m
91
+
75
92
 
76
93
  class ToolExecutionFinishedStreamingEventDataTypedDict(TypedDict):
77
94
  action_type: str
@@ -97,6 +114,22 @@ class ToolExecutionFinishedStreamingEventData(BaseModel):
97
114
 
98
115
  stream: Optional[bool] = None
99
116
 
117
+ @model_serializer(mode="wrap")
118
+ def serialize_model(self, handler):
119
+ optional_fields = set(["result", "responseId", "stream"])
120
+ serialized = handler(self)
121
+ m = {}
122
+
123
+ for n, f in type(self).model_fields.items():
124
+ k = f.alias or n
125
+ val = serialized.get(k)
126
+
127
+ if val != UNSET_SENTINEL:
128
+ if val is not None or k not in optional_fields:
129
+ m[k] = val
130
+
131
+ return m
132
+
100
133
 
101
134
  class ToolExecutionFinishedStreamingEventTypedDict(TypedDict):
102
135
  r"""Emitted when a tool completes execution successfully. Contains the result data, action type, and execution context."""
@@ -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
  import pydantic
6
+ from pydantic import model_serializer
6
7
  from typing import Any, Dict, Literal, Optional
7
8
  from typing_extensions import Annotated, NotRequired, TypedDict
8
9
 
@@ -72,6 +73,22 @@ class ToolExecutionContext(BaseModel):
72
73
 
73
74
  parent_id: Optional[str] = None
74
75
 
76
+ @model_serializer(mode="wrap")
77
+ def serialize_model(self, handler):
78
+ optional_fields = set(["memory", "parent_id"])
79
+ serialized = handler(self)
80
+ m = {}
81
+
82
+ for n, f in type(self).model_fields.items():
83
+ k = f.alias or n
84
+ val = serialized.get(k)
85
+
86
+ if val != UNSET_SENTINEL:
87
+ if val is not None or k not in optional_fields:
88
+ m[k] = val
89
+
90
+ return m
91
+
75
92
 
76
93
  class ToolExecutionStartedStreamingEventDataTypedDict(TypedDict):
77
94
  tool_id: str
@@ -104,6 +121,22 @@ class ToolExecutionStartedStreamingEventData(BaseModel):
104
121
 
105
122
  stream: Optional[bool] = None
106
123
 
124
+ @model_serializer(mode="wrap")
125
+ def serialize_model(self, handler):
126
+ optional_fields = set(["tool_key", "tool_display_name", "responseId", "stream"])
127
+ serialized = handler(self)
128
+ m = {}
129
+
130
+ for n, f in type(self).model_fields.items():
131
+ k = f.alias or n
132
+ val = serialized.get(k)
133
+
134
+ if val != UNSET_SENTINEL:
135
+ if val is not None or k not in optional_fields:
136
+ m[k] = val
137
+
138
+ return m
139
+
107
140
 
108
141
  class ToolExecutionStartedStreamingEventTypedDict(TypedDict):
109
142
  r"""Emitted when a tool begins execution. Contains the tool ID, name, action type, input arguments, and execution context."""
@@ -1,7 +1,8 @@
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
+ from pydantic import model_serializer
5
6
  from typing import Any, Dict, Literal, Optional
6
7
  from typing_extensions import NotRequired, TypedDict
7
8
 
@@ -28,3 +29,19 @@ class ToolResultPart(BaseModel):
28
29
  result: Optional[Any] = None
29
30
 
30
31
  metadata: Optional[Dict[str, Any]] = None
32
+
33
+ @model_serializer(mode="wrap")
34
+ def serialize_model(self, handler):
35
+ optional_fields = set(["result", "metadata"])
36
+ serialized = handler(self)
37
+ m = {}
38
+
39
+ for n, f in type(self).model_fields.items():
40
+ k = f.alias or n
41
+ val = serialized.get(k)
42
+
43
+ if val != UNSET_SENTINEL:
44
+ if val is not None or k not in optional_fields:
45
+ m[k] = val
46
+
47
+ return m
@@ -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
  import pydantic
6
+ from pydantic import model_serializer
6
7
  from typing import Any, Dict, Literal, Optional
7
8
  from typing_extensions import Annotated, NotRequired, TypedDict
8
9
 
@@ -39,6 +40,22 @@ class ToolReviewRequestedEventData(BaseModel):
39
40
  tool_name: Annotated[Optional[str], pydantic.Field(alias="toolName")] = None
40
41
  r"""Name of the tool requiring approval"""
41
42
 
43
+ @model_serializer(mode="wrap")
44
+ def serialize_model(self, handler):
45
+ optional_fields = set(["toolName"])
46
+ serialized = handler(self)
47
+ m = {}
48
+
49
+ for n, f in type(self).model_fields.items():
50
+ k = f.alias or n
51
+ val = serialized.get(k)
52
+
53
+ if val != UNSET_SENTINEL:
54
+ if val is not None or k not in optional_fields:
55
+ m[k] = val
56
+
57
+ return m
58
+
42
59
 
43
60
  class ToolReviewRequestedEventTypedDict(TypedDict):
44
61
  r"""Emitted when a tool action requires approval before execution. The execution will pause until reviewed."""
@@ -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
  import pydantic
6
+ from pydantic import model_serializer
6
7
  from typing import Any, Dict, Literal, Optional
7
8
  from typing_extensions import Annotated, NotRequired, TypedDict
8
9
 
@@ -34,6 +35,22 @@ class ToolStartedEventData(BaseModel):
34
35
  tool_name: Annotated[Optional[str], pydantic.Field(alias="toolName")] = None
35
36
  r"""Display name of the tool"""
36
37
 
38
+ @model_serializer(mode="wrap")
39
+ def serialize_model(self, handler):
40
+ optional_fields = set(["toolName"])
41
+ serialized = handler(self)
42
+ m = {}
43
+
44
+ for n, f in type(self).model_fields.items():
45
+ k = f.alias or n
46
+ val = serialized.get(k)
47
+
48
+ if val != UNSET_SENTINEL:
49
+ if val is not None or k not in optional_fields:
50
+ m[k] = val
51
+
52
+ return m
53
+
37
54
 
38
55
  class ToolStartedEventTypedDict(TypedDict):
39
56
  r"""Emitted when a tool begins execution. Contains tool details and input arguments."""