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.
- orq_ai_sdk/_hooks/globalhook.py +0 -1
- orq_ai_sdk/_version.py +3 -3
- orq_ai_sdk/audio.py +30 -0
- orq_ai_sdk/basesdk.py +20 -6
- orq_ai_sdk/chat.py +22 -0
- orq_ai_sdk/completions.py +332 -0
- orq_ai_sdk/contacts.py +43 -855
- orq_ai_sdk/deployments.py +61 -0
- orq_ai_sdk/edits.py +258 -0
- orq_ai_sdk/embeddings.py +238 -0
- orq_ai_sdk/generations.py +272 -0
- orq_ai_sdk/identities.py +1037 -0
- orq_ai_sdk/images.py +28 -0
- orq_ai_sdk/models/__init__.py +5341 -737
- orq_ai_sdk/models/actionreviewedstreamingevent.py +18 -1
- orq_ai_sdk/models/actionreviewrequestedstreamingevent.py +44 -1
- orq_ai_sdk/models/agenterroredstreamingevent.py +18 -1
- orq_ai_sdk/models/agentinactivestreamingevent.py +168 -70
- orq_ai_sdk/models/agentmessagecreatedstreamingevent.py +18 -2
- orq_ai_sdk/models/agentresponsemessage.py +18 -2
- orq_ai_sdk/models/agentstartedstreamingevent.py +127 -2
- orq_ai_sdk/models/agentthoughtstreamingevent.py +178 -211
- orq_ai_sdk/models/conversationresponse.py +31 -20
- orq_ai_sdk/models/conversationwithmessagesresponse.py +31 -20
- orq_ai_sdk/models/createagentrequestop.py +1922 -384
- orq_ai_sdk/models/createagentresponse.py +147 -91
- orq_ai_sdk/models/createagentresponserequestop.py +111 -2
- orq_ai_sdk/models/createchatcompletionop.py +1375 -861
- orq_ai_sdk/models/createchunkop.py +46 -19
- orq_ai_sdk/models/createcompletionop.py +1890 -0
- orq_ai_sdk/models/createcontactop.py +45 -56
- orq_ai_sdk/models/createconversationop.py +61 -39
- orq_ai_sdk/models/createconversationresponseop.py +68 -4
- orq_ai_sdk/models/createdatasetitemop.py +424 -80
- orq_ai_sdk/models/createdatasetop.py +19 -2
- orq_ai_sdk/models/createdatasourceop.py +92 -26
- orq_ai_sdk/models/createembeddingop.py +384 -0
- orq_ai_sdk/models/createevalop.py +552 -24
- orq_ai_sdk/models/createidentityop.py +176 -0
- orq_ai_sdk/models/createimageeditop.py +504 -0
- orq_ai_sdk/models/createimageop.py +208 -117
- orq_ai_sdk/models/createimagevariationop.py +486 -0
- orq_ai_sdk/models/createknowledgeop.py +186 -121
- orq_ai_sdk/models/creatememorydocumentop.py +50 -1
- orq_ai_sdk/models/creatememoryop.py +34 -21
- orq_ai_sdk/models/creatememorystoreop.py +34 -1
- orq_ai_sdk/models/createmoderationop.py +521 -0
- orq_ai_sdk/models/createpromptop.py +2748 -1252
- orq_ai_sdk/models/creatererankop.py +416 -0
- orq_ai_sdk/models/createresponseop.py +2567 -0
- orq_ai_sdk/models/createspeechop.py +316 -0
- orq_ai_sdk/models/createtoolop.py +537 -12
- orq_ai_sdk/models/createtranscriptionop.py +562 -0
- orq_ai_sdk/models/createtranslationop.py +540 -0
- orq_ai_sdk/models/datapart.py +18 -1
- orq_ai_sdk/models/deletechunksop.py +34 -1
- orq_ai_sdk/models/{deletecontactop.py → deleteidentityop.py} +9 -9
- orq_ai_sdk/models/deletepromptop.py +26 -0
- orq_ai_sdk/models/deploymentcreatemetricop.py +362 -76
- orq_ai_sdk/models/deploymentgetconfigop.py +635 -194
- orq_ai_sdk/models/deploymentinvokeop.py +168 -173
- orq_ai_sdk/models/deploymentsop.py +195 -58
- orq_ai_sdk/models/deploymentstreamop.py +652 -304
- orq_ai_sdk/models/errorpart.py +18 -1
- orq_ai_sdk/models/filecontentpartschema.py +18 -1
- orq_ai_sdk/models/filegetop.py +19 -2
- orq_ai_sdk/models/filelistop.py +35 -2
- orq_ai_sdk/models/filepart.py +50 -1
- orq_ai_sdk/models/fileuploadop.py +51 -2
- orq_ai_sdk/models/generateconversationnameop.py +31 -20
- orq_ai_sdk/models/get_v2_evaluators_id_versionsop.py +34 -1
- orq_ai_sdk/models/get_v2_tools_tool_id_versions_version_id_op.py +18 -1
- orq_ai_sdk/models/get_v2_tools_tool_id_versionsop.py +34 -1
- orq_ai_sdk/models/getallmemoriesop.py +34 -21
- orq_ai_sdk/models/getallmemorydocumentsop.py +42 -1
- orq_ai_sdk/models/getallmemorystoresop.py +34 -1
- orq_ai_sdk/models/getallpromptsop.py +1690 -230
- orq_ai_sdk/models/getalltoolsop.py +325 -8
- orq_ai_sdk/models/getchunkscountop.py +34 -1
- orq_ai_sdk/models/getevalsop.py +395 -43
- orq_ai_sdk/models/getonechunkop.py +14 -19
- orq_ai_sdk/models/getoneknowledgeop.py +116 -96
- orq_ai_sdk/models/getonepromptop.py +1673 -230
- orq_ai_sdk/models/getpromptversionop.py +1670 -216
- orq_ai_sdk/models/imagecontentpartschema.py +50 -1
- orq_ai_sdk/models/internal/globals.py +18 -1
- orq_ai_sdk/models/invokeagentop.py +140 -2
- orq_ai_sdk/models/invokedeploymentrequest.py +418 -80
- orq_ai_sdk/models/invokeevalop.py +160 -131
- orq_ai_sdk/models/listagentsop.py +793 -166
- orq_ai_sdk/models/listchunksop.py +32 -19
- orq_ai_sdk/models/listchunkspaginatedop.py +46 -19
- orq_ai_sdk/models/listconversationsop.py +18 -1
- orq_ai_sdk/models/listdatasetdatapointsop.py +252 -42
- orq_ai_sdk/models/listdatasetsop.py +35 -2
- orq_ai_sdk/models/listdatasourcesop.py +35 -26
- orq_ai_sdk/models/{listcontactsop.py → listidentitiesop.py} +89 -79
- orq_ai_sdk/models/listknowledgebasesop.py +132 -96
- orq_ai_sdk/models/listmodelsop.py +1 -0
- orq_ai_sdk/models/listpromptversionsop.py +1684 -216
- orq_ai_sdk/models/parseop.py +161 -17
- orq_ai_sdk/models/partdoneevent.py +19 -2
- orq_ai_sdk/models/post_v2_router_ocrop.py +408 -0
- orq_ai_sdk/models/publiccontact.py +27 -4
- orq_ai_sdk/models/publicidentity.py +62 -0
- orq_ai_sdk/models/reasoningpart.py +19 -2
- orq_ai_sdk/models/refusalpartschema.py +18 -1
- orq_ai_sdk/models/remoteconfigsgetconfigop.py +34 -1
- orq_ai_sdk/models/responsedoneevent.py +114 -84
- orq_ai_sdk/models/responsestartedevent.py +18 -1
- orq_ai_sdk/models/retrieveagentrequestop.py +787 -166
- orq_ai_sdk/models/retrievedatapointop.py +236 -42
- orq_ai_sdk/models/retrievedatasetop.py +19 -2
- orq_ai_sdk/models/retrievedatasourceop.py +17 -26
- orq_ai_sdk/models/{retrievecontactop.py → retrieveidentityop.py} +38 -41
- orq_ai_sdk/models/retrievememorydocumentop.py +18 -1
- orq_ai_sdk/models/retrievememoryop.py +18 -21
- orq_ai_sdk/models/retrievememorystoreop.py +18 -1
- orq_ai_sdk/models/retrievetoolop.py +309 -8
- orq_ai_sdk/models/runagentop.py +1451 -197
- orq_ai_sdk/models/searchknowledgeop.py +108 -1
- orq_ai_sdk/models/security.py +18 -1
- orq_ai_sdk/models/streamagentop.py +93 -2
- orq_ai_sdk/models/streamrunagentop.py +1428 -195
- orq_ai_sdk/models/textcontentpartschema.py +34 -1
- orq_ai_sdk/models/thinkingconfigenabledschema.py +18 -1
- orq_ai_sdk/models/toolcallpart.py +18 -1
- orq_ai_sdk/models/tooldoneevent.py +18 -1
- orq_ai_sdk/models/toolexecutionfailedstreamingevent.py +50 -1
- orq_ai_sdk/models/toolexecutionfinishedstreamingevent.py +34 -1
- orq_ai_sdk/models/toolexecutionstartedstreamingevent.py +34 -1
- orq_ai_sdk/models/toolresultpart.py +18 -1
- orq_ai_sdk/models/toolreviewrequestedevent.py +18 -1
- orq_ai_sdk/models/toolstartedevent.py +18 -1
- orq_ai_sdk/models/updateagentop.py +1951 -404
- orq_ai_sdk/models/updatechunkop.py +46 -19
- orq_ai_sdk/models/updateconversationop.py +61 -39
- orq_ai_sdk/models/updatedatapointop.py +424 -80
- orq_ai_sdk/models/updatedatasetop.py +51 -2
- orq_ai_sdk/models/updatedatasourceop.py +17 -26
- orq_ai_sdk/models/updateevalop.py +577 -16
- orq_ai_sdk/models/{updatecontactop.py → updateidentityop.py} +78 -68
- orq_ai_sdk/models/updateknowledgeop.py +234 -190
- orq_ai_sdk/models/updatememorydocumentop.py +50 -1
- orq_ai_sdk/models/updatememoryop.py +50 -21
- orq_ai_sdk/models/updatememorystoreop.py +66 -1
- orq_ai_sdk/models/updatepromptop.py +2844 -1450
- orq_ai_sdk/models/updatetoolop.py +592 -9
- orq_ai_sdk/models/usermessagerequest.py +18 -2
- orq_ai_sdk/moderations.py +218 -0
- orq_ai_sdk/orq_completions.py +660 -0
- orq_ai_sdk/orq_responses.py +398 -0
- orq_ai_sdk/prompts.py +28 -36
- orq_ai_sdk/rerank.py +232 -0
- orq_ai_sdk/router.py +89 -641
- orq_ai_sdk/sdk.py +3 -0
- orq_ai_sdk/speech.py +251 -0
- orq_ai_sdk/transcriptions.py +326 -0
- orq_ai_sdk/translations.py +298 -0
- orq_ai_sdk/utils/__init__.py +13 -1
- orq_ai_sdk/variations.py +254 -0
- orq_ai_sdk-4.2.6.dist-info/METADATA +888 -0
- orq_ai_sdk-4.2.6.dist-info/RECORD +263 -0
- {orq_ai_sdk-4.2.0rc28.dist-info → orq_ai_sdk-4.2.6.dist-info}/WHEEL +2 -1
- orq_ai_sdk-4.2.6.dist-info/top_level.txt +1 -0
- orq_ai_sdk-4.2.0rc28.dist-info/METADATA +0 -867
- orq_ai_sdk-4.2.0rc28.dist-info/RECORD +0 -233
|
@@ -17,7 +17,7 @@ from typing_extensions import Annotated, NotRequired, TypedDict
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class CreateContactRequestBodyTypedDict(TypedDict):
|
|
20
|
-
r"""
|
|
20
|
+
r"""Update user information payload"""
|
|
21
21
|
|
|
22
22
|
external_id: str
|
|
23
23
|
r"""Unique string value to identify the contact user in the customer's system. This should be the same ID you use in your system to reference this user."""
|
|
@@ -34,7 +34,7 @@ class CreateContactRequestBodyTypedDict(TypedDict):
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
class CreateContactRequestBody(BaseModel):
|
|
37
|
-
r"""
|
|
37
|
+
r"""Update user information payload"""
|
|
38
38
|
|
|
39
39
|
external_id: str
|
|
40
40
|
r"""Unique string value to identify the contact user in the customer's system. This should be the same ID you use in your system to reference this user."""
|
|
@@ -56,44 +56,39 @@ class CreateContactRequestBody(BaseModel):
|
|
|
56
56
|
|
|
57
57
|
@model_serializer(mode="wrap")
|
|
58
58
|
def serialize_model(self, handler):
|
|
59
|
-
optional_fields =
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
optional_fields = set(
|
|
60
|
+
["display_name", "email", "avatar_url", "tags", "metadata"]
|
|
61
|
+
)
|
|
62
|
+
nullable_fields = set(["display_name", "email", "avatar_url"])
|
|
63
63
|
serialized = handler(self)
|
|
64
|
-
|
|
65
64
|
m = {}
|
|
66
65
|
|
|
67
66
|
for n, f in type(self).model_fields.items():
|
|
68
67
|
k = f.alias or n
|
|
69
68
|
val = serialized.get(k)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
):
|
|
83
|
-
m[k] = val
|
|
69
|
+
is_nullable_and_explicitly_set = (
|
|
70
|
+
k in nullable_fields
|
|
71
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
if val != UNSET_SENTINEL:
|
|
75
|
+
if (
|
|
76
|
+
val is not None
|
|
77
|
+
or k not in optional_fields
|
|
78
|
+
or is_nullable_and_explicitly_set
|
|
79
|
+
):
|
|
80
|
+
m[k] = val
|
|
84
81
|
|
|
85
82
|
return m
|
|
86
83
|
|
|
87
84
|
|
|
88
85
|
class CreateContactResponseBodyTypedDict(TypedDict):
|
|
89
|
-
r"""
|
|
86
|
+
r"""Successful operation"""
|
|
90
87
|
|
|
91
88
|
id: str
|
|
92
89
|
r"""Unique ULID (Universally Unique Lexicographically Sortable Identifier) for the contact"""
|
|
93
90
|
external_id: str
|
|
94
91
|
r"""Unique string value to identify the contact user in the customer's system. This should be the same ID you use in your system to reference this user."""
|
|
95
|
-
workspace_id: str
|
|
96
|
-
r"""Unique identifier for the workspace to which the contact belongs"""
|
|
97
92
|
display_name: NotRequired[Nullable[str]]
|
|
98
93
|
r"""Display name or nickname of the contact user. This is typically shown in user interfaces."""
|
|
99
94
|
email: NotRequired[Nullable[str]]
|
|
@@ -111,7 +106,7 @@ class CreateContactResponseBodyTypedDict(TypedDict):
|
|
|
111
106
|
|
|
112
107
|
|
|
113
108
|
class CreateContactResponseBody(BaseModel):
|
|
114
|
-
r"""
|
|
109
|
+
r"""Successful operation"""
|
|
115
110
|
|
|
116
111
|
id: Annotated[str, pydantic.Field(alias="_id")]
|
|
117
112
|
r"""Unique ULID (Universally Unique Lexicographically Sortable Identifier) for the contact"""
|
|
@@ -119,9 +114,6 @@ class CreateContactResponseBody(BaseModel):
|
|
|
119
114
|
external_id: str
|
|
120
115
|
r"""Unique string value to identify the contact user in the customer's system. This should be the same ID you use in your system to reference this user."""
|
|
121
116
|
|
|
122
|
-
workspace_id: str
|
|
123
|
-
r"""Unique identifier for the workspace to which the contact belongs"""
|
|
124
|
-
|
|
125
117
|
display_name: OptionalNullable[str] = UNSET
|
|
126
118
|
r"""Display name or nickname of the contact user. This is typically shown in user interfaces."""
|
|
127
119
|
|
|
@@ -140,43 +132,40 @@ class CreateContactResponseBody(BaseModel):
|
|
|
140
132
|
created: Optional[datetime] = None
|
|
141
133
|
r"""The date and time the resource was created"""
|
|
142
134
|
|
|
143
|
-
updated: Optional[datetime] = parse_datetime("2026-01-
|
|
135
|
+
updated: Optional[datetime] = parse_datetime("2026-01-25T15:02:07.185Z")
|
|
144
136
|
r"""The date and time the resource was last updated"""
|
|
145
137
|
|
|
146
138
|
@model_serializer(mode="wrap")
|
|
147
139
|
def serialize_model(self, handler):
|
|
148
|
-
optional_fields =
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
140
|
+
optional_fields = set(
|
|
141
|
+
[
|
|
142
|
+
"display_name",
|
|
143
|
+
"email",
|
|
144
|
+
"avatar_url",
|
|
145
|
+
"tags",
|
|
146
|
+
"metadata",
|
|
147
|
+
"created",
|
|
148
|
+
"updated",
|
|
149
|
+
]
|
|
150
|
+
)
|
|
151
|
+
nullable_fields = set(["display_name", "email", "avatar_url"])
|
|
160
152
|
serialized = handler(self)
|
|
161
|
-
|
|
162
153
|
m = {}
|
|
163
154
|
|
|
164
155
|
for n, f in type(self).model_fields.items():
|
|
165
156
|
k = f.alias or n
|
|
166
157
|
val = serialized.get(k)
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
):
|
|
180
|
-
m[k] = val
|
|
158
|
+
is_nullable_and_explicitly_set = (
|
|
159
|
+
k in nullable_fields
|
|
160
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
if val != UNSET_SENTINEL:
|
|
164
|
+
if (
|
|
165
|
+
val is not None
|
|
166
|
+
or k not in optional_fields
|
|
167
|
+
or is_nullable_and_explicitly_set
|
|
168
|
+
):
|
|
169
|
+
m[k] = val
|
|
181
170
|
|
|
182
171
|
return m
|
|
@@ -43,31 +43,26 @@ class CreateConversationMetadata(BaseModel):
|
|
|
43
43
|
|
|
44
44
|
@model_serializer(mode="wrap")
|
|
45
45
|
def serialize_model(self, handler):
|
|
46
|
-
optional_fields = ["generatingTitle", "entityId", "model"]
|
|
47
|
-
nullable_fields = ["entityId", "model"]
|
|
48
|
-
null_default_fields = []
|
|
49
|
-
|
|
46
|
+
optional_fields = set(["generatingTitle", "entityId", "model"])
|
|
47
|
+
nullable_fields = set(["entityId", "model"])
|
|
50
48
|
serialized = handler(self)
|
|
51
|
-
|
|
52
49
|
m = {}
|
|
53
50
|
|
|
54
51
|
for n, f in type(self).model_fields.items():
|
|
55
52
|
k = f.alias or n
|
|
56
53
|
val = serialized.get(k)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
):
|
|
70
|
-
m[k] = val
|
|
54
|
+
is_nullable_and_explicitly_set = (
|
|
55
|
+
k in nullable_fields
|
|
56
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
if val != UNSET_SENTINEL:
|
|
60
|
+
if (
|
|
61
|
+
val is not None
|
|
62
|
+
or k not in optional_fields
|
|
63
|
+
or is_nullable_and_explicitly_set
|
|
64
|
+
):
|
|
65
|
+
m[k] = val
|
|
71
66
|
|
|
72
67
|
return m
|
|
73
68
|
|
|
@@ -93,6 +88,22 @@ class CreateConversationRequestBody(BaseModel):
|
|
|
93
88
|
metadata: Optional[CreateConversationMetadata] = None
|
|
94
89
|
r"""Optional metadata to attach to the conversation."""
|
|
95
90
|
|
|
91
|
+
@model_serializer(mode="wrap")
|
|
92
|
+
def serialize_model(self, handler):
|
|
93
|
+
optional_fields = set(["displayName", "metadata"])
|
|
94
|
+
serialized = handler(self)
|
|
95
|
+
m = {}
|
|
96
|
+
|
|
97
|
+
for n, f in type(self).model_fields.items():
|
|
98
|
+
k = f.alias or n
|
|
99
|
+
val = serialized.get(k)
|
|
100
|
+
|
|
101
|
+
if val != UNSET_SENTINEL:
|
|
102
|
+
if val is not None or k not in optional_fields:
|
|
103
|
+
m[k] = val
|
|
104
|
+
|
|
105
|
+
return m
|
|
106
|
+
|
|
96
107
|
|
|
97
108
|
CreateConversationKind = Literal["conversation",]
|
|
98
109
|
r"""Resource type discriminator."""
|
|
@@ -127,31 +138,26 @@ class CreateConversationConversationsMetadata(BaseModel):
|
|
|
127
138
|
|
|
128
139
|
@model_serializer(mode="wrap")
|
|
129
140
|
def serialize_model(self, handler):
|
|
130
|
-
optional_fields = ["generatingTitle", "entityId", "model"]
|
|
131
|
-
nullable_fields = ["entityId", "model"]
|
|
132
|
-
null_default_fields = []
|
|
133
|
-
|
|
141
|
+
optional_fields = set(["generatingTitle", "entityId", "model"])
|
|
142
|
+
nullable_fields = set(["entityId", "model"])
|
|
134
143
|
serialized = handler(self)
|
|
135
|
-
|
|
136
144
|
m = {}
|
|
137
145
|
|
|
138
146
|
for n, f in type(self).model_fields.items():
|
|
139
147
|
k = f.alias or n
|
|
140
148
|
val = serialized.get(k)
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
):
|
|
154
|
-
m[k] = val
|
|
149
|
+
is_nullable_and_explicitly_set = (
|
|
150
|
+
k in nullable_fields
|
|
151
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
if val != UNSET_SENTINEL:
|
|
155
|
+
if (
|
|
156
|
+
val is not None
|
|
157
|
+
or k not in optional_fields
|
|
158
|
+
or is_nullable_and_explicitly_set
|
|
159
|
+
):
|
|
160
|
+
m[k] = val
|
|
155
161
|
|
|
156
162
|
return m
|
|
157
163
|
|
|
@@ -193,7 +199,7 @@ class CreateConversationResponseBody(BaseModel):
|
|
|
193
199
|
r"""Unix timestamp in milliseconds when the conversation was last modified."""
|
|
194
200
|
|
|
195
201
|
id: Annotated[Optional[str], pydantic.Field(alias="_id")] = (
|
|
196
|
-
"
|
|
202
|
+
"conv_01kftttr2rfknvpgcjxm08mswt"
|
|
197
203
|
)
|
|
198
204
|
r"""Unique conversation identifier with `conv_` prefix."""
|
|
199
205
|
|
|
@@ -205,3 +211,19 @@ class CreateConversationResponseBody(BaseModel):
|
|
|
205
211
|
|
|
206
212
|
metadata: Optional[CreateConversationConversationsMetadata] = None
|
|
207
213
|
r"""Additional conversation metadata."""
|
|
214
|
+
|
|
215
|
+
@model_serializer(mode="wrap")
|
|
216
|
+
def serialize_model(self, handler):
|
|
217
|
+
optional_fields = set(["_id", "createdById", "updatedById", "metadata"])
|
|
218
|
+
serialized = handler(self)
|
|
219
|
+
m = {}
|
|
220
|
+
|
|
221
|
+
for n, f in type(self).model_fields.items():
|
|
222
|
+
k = f.alias or n
|
|
223
|
+
val = serialized.get(k)
|
|
224
|
+
|
|
225
|
+
if val != UNSET_SENTINEL:
|
|
226
|
+
if val is not None or k not in optional_fields:
|
|
227
|
+
m[k] = val
|
|
228
|
+
|
|
229
|
+
return m
|
|
@@ -15,7 +15,7 @@ from .toolreviewrequestedevent import (
|
|
|
15
15
|
)
|
|
16
16
|
from .toolstartedevent import ToolStartedEvent, ToolStartedEventTypedDict
|
|
17
17
|
from .usermessagerequest import UserMessageRequest, UserMessageRequestTypedDict
|
|
18
|
-
from orq_ai_sdk.types import BaseModel
|
|
18
|
+
from orq_ai_sdk.types import BaseModel, UNSET_SENTINEL
|
|
19
19
|
from orq_ai_sdk.utils import (
|
|
20
20
|
FieldMetadata,
|
|
21
21
|
PathParamMetadata,
|
|
@@ -23,7 +23,7 @@ from orq_ai_sdk.utils import (
|
|
|
23
23
|
get_discriminator,
|
|
24
24
|
)
|
|
25
25
|
import pydantic
|
|
26
|
-
from pydantic import Discriminator, Tag
|
|
26
|
+
from pydantic import Discriminator, Tag, model_serializer
|
|
27
27
|
from typing import Any, Dict, Literal, Optional, Union
|
|
28
28
|
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
|
|
29
29
|
|
|
@@ -52,6 +52,22 @@ class CreateConversationResponseRequestBody(BaseModel):
|
|
|
52
52
|
stream: Optional[bool] = True
|
|
53
53
|
r"""Whether to stream the response (default: true)"""
|
|
54
54
|
|
|
55
|
+
@model_serializer(mode="wrap")
|
|
56
|
+
def serialize_model(self, handler):
|
|
57
|
+
optional_fields = set(["task_id", "stream"])
|
|
58
|
+
serialized = handler(self)
|
|
59
|
+
m = {}
|
|
60
|
+
|
|
61
|
+
for n, f in type(self).model_fields.items():
|
|
62
|
+
k = f.alias or n
|
|
63
|
+
val = serialized.get(k)
|
|
64
|
+
|
|
65
|
+
if val != UNSET_SENTINEL:
|
|
66
|
+
if val is not None or k not in optional_fields:
|
|
67
|
+
m[k] = val
|
|
68
|
+
|
|
69
|
+
return m
|
|
70
|
+
|
|
55
71
|
|
|
56
72
|
class CreateConversationResponseRequestTypedDict(TypedDict):
|
|
57
73
|
conversation_id: str
|
|
@@ -103,7 +119,7 @@ class CreateConversationResponsePartReasoningPart(BaseModel):
|
|
|
103
119
|
r"""The reasoning or thought process behind the response. Used for chain-of-thought or extended thinking."""
|
|
104
120
|
|
|
105
121
|
id: Annotated[Optional[str], pydantic.Field(alias="_id")] = (
|
|
106
|
-
"
|
|
122
|
+
"reasoning_01kftttr3gyk3vvbxdw4tbzczf"
|
|
107
123
|
)
|
|
108
124
|
r"""Unique identifier for the part. Format: reasoning_{ulid} (e.g., reasoning_01hxyz...)"""
|
|
109
125
|
|
|
@@ -113,6 +129,22 @@ class CreateConversationResponsePartReasoningPart(BaseModel):
|
|
|
113
129
|
signature: Optional[str] = None
|
|
114
130
|
r"""Optional cryptographic signature to verify the authenticity and integrity of the reasoning content"""
|
|
115
131
|
|
|
132
|
+
@model_serializer(mode="wrap")
|
|
133
|
+
def serialize_model(self, handler):
|
|
134
|
+
optional_fields = set(["_id", "metadata", "signature"])
|
|
135
|
+
serialized = handler(self)
|
|
136
|
+
m = {}
|
|
137
|
+
|
|
138
|
+
for n, f in type(self).model_fields.items():
|
|
139
|
+
k = f.alias or n
|
|
140
|
+
val = serialized.get(k)
|
|
141
|
+
|
|
142
|
+
if val != UNSET_SENTINEL:
|
|
143
|
+
if val is not None or k not in optional_fields:
|
|
144
|
+
m[k] = val
|
|
145
|
+
|
|
146
|
+
return m
|
|
147
|
+
|
|
116
148
|
|
|
117
149
|
class CreateConversationResponseResponseStreamingEventDataTypedDict(TypedDict):
|
|
118
150
|
part_id: str
|
|
@@ -179,7 +211,7 @@ class DeltaReasoningPart(BaseModel):
|
|
|
179
211
|
r"""The reasoning or thought process behind the response. Used for chain-of-thought or extended thinking."""
|
|
180
212
|
|
|
181
213
|
id: Annotated[Optional[str], pydantic.Field(alias="_id")] = (
|
|
182
|
-
"
|
|
214
|
+
"reasoning_01kftttr3aym7777vszs4z7s6w"
|
|
183
215
|
)
|
|
184
216
|
r"""Unique identifier for the part. Format: reasoning_{ulid} (e.g., reasoning_01hxyz...)"""
|
|
185
217
|
|
|
@@ -189,6 +221,22 @@ class DeltaReasoningPart(BaseModel):
|
|
|
189
221
|
signature: Optional[str] = None
|
|
190
222
|
r"""Optional cryptographic signature to verify the authenticity and integrity of the reasoning content"""
|
|
191
223
|
|
|
224
|
+
@model_serializer(mode="wrap")
|
|
225
|
+
def serialize_model(self, handler):
|
|
226
|
+
optional_fields = set(["_id", "metadata", "signature"])
|
|
227
|
+
serialized = handler(self)
|
|
228
|
+
m = {}
|
|
229
|
+
|
|
230
|
+
for n, f in type(self).model_fields.items():
|
|
231
|
+
k = f.alias or n
|
|
232
|
+
val = serialized.get(k)
|
|
233
|
+
|
|
234
|
+
if val != UNSET_SENTINEL:
|
|
235
|
+
if val is not None or k not in optional_fields:
|
|
236
|
+
m[k] = val
|
|
237
|
+
|
|
238
|
+
return m
|
|
239
|
+
|
|
192
240
|
|
|
193
241
|
class ResponseStreamingEventDataTypedDict(TypedDict):
|
|
194
242
|
part_id: str
|
|
@@ -279,3 +327,19 @@ class CreateConversationResponseResponseBody(BaseModel):
|
|
|
279
327
|
r"""Response successfully created."""
|
|
280
328
|
|
|
281
329
|
data: Optional[CreateConversationResponseResponseStreamingEvent] = None
|
|
330
|
+
|
|
331
|
+
@model_serializer(mode="wrap")
|
|
332
|
+
def serialize_model(self, handler):
|
|
333
|
+
optional_fields = set(["data"])
|
|
334
|
+
serialized = handler(self)
|
|
335
|
+
m = {}
|
|
336
|
+
|
|
337
|
+
for n, f in type(self).model_fields.items():
|
|
338
|
+
k = f.alias or n
|
|
339
|
+
val = serialized.get(k)
|
|
340
|
+
|
|
341
|
+
if val != UNSET_SENTINEL:
|
|
342
|
+
if val is not None or k not in optional_fields:
|
|
343
|
+
m[k] = val
|
|
344
|
+
|
|
345
|
+
return m
|