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
|
@@ -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
|
|
|
@@ -31,6 +32,22 @@ class ImageURL(BaseModel):
|
|
|
31
32
|
detail: Optional[Detail] = None
|
|
32
33
|
r"""Specifies the detail level of the image."""
|
|
33
34
|
|
|
35
|
+
@model_serializer(mode="wrap")
|
|
36
|
+
def serialize_model(self, handler):
|
|
37
|
+
optional_fields = set(["detail"])
|
|
38
|
+
serialized = handler(self)
|
|
39
|
+
m = {}
|
|
40
|
+
|
|
41
|
+
for n, f in type(self).model_fields.items():
|
|
42
|
+
k = f.alias or n
|
|
43
|
+
val = serialized.get(k)
|
|
44
|
+
|
|
45
|
+
if val != UNSET_SENTINEL:
|
|
46
|
+
if val is not None or k not in optional_fields:
|
|
47
|
+
m[k] = val
|
|
48
|
+
|
|
49
|
+
return m
|
|
50
|
+
|
|
34
51
|
|
|
35
52
|
ImageContentPartSchemaCacheControlType = Literal["ephemeral",]
|
|
36
53
|
r"""Create a cache control breakpoint at this content block. Accepts only the value \"ephemeral\"."""
|
|
@@ -75,6 +92,22 @@ class ImageContentPartSchemaCacheControl(BaseModel):
|
|
|
75
92
|
Defaults to `5m`. Only supported by `Anthropic` Claude models.
|
|
76
93
|
"""
|
|
77
94
|
|
|
95
|
+
@model_serializer(mode="wrap")
|
|
96
|
+
def serialize_model(self, handler):
|
|
97
|
+
optional_fields = set(["ttl"])
|
|
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
|
|
110
|
+
|
|
78
111
|
|
|
79
112
|
class ImageContentPartSchemaTypedDict(TypedDict):
|
|
80
113
|
r"""An image content part"""
|
|
@@ -92,3 +125,19 @@ class ImageContentPartSchema(BaseModel):
|
|
|
92
125
|
image_url: ImageURL
|
|
93
126
|
|
|
94
127
|
cache_control: Optional[ImageContentPartSchemaCacheControl] = None
|
|
128
|
+
|
|
129
|
+
@model_serializer(mode="wrap")
|
|
130
|
+
def serialize_model(self, handler):
|
|
131
|
+
optional_fields = set(["cache_control"])
|
|
132
|
+
serialized = handler(self)
|
|
133
|
+
m = {}
|
|
134
|
+
|
|
135
|
+
for n, f in type(self).model_fields.items():
|
|
136
|
+
k = f.alias or n
|
|
137
|
+
val = serialized.get(k)
|
|
138
|
+
|
|
139
|
+
if val != UNSET_SENTINEL:
|
|
140
|
+
if val is not None or k not in optional_fields:
|
|
141
|
+
m[k] = val
|
|
142
|
+
|
|
143
|
+
return m
|
|
@@ -1,9 +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, HeaderMetadata
|
|
6
6
|
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
7
8
|
from typing import Optional
|
|
8
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
10
|
|
|
@@ -24,3 +25,19 @@ class Globals(BaseModel):
|
|
|
24
25
|
Optional[str],
|
|
25
26
|
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
26
27
|
] = None
|
|
28
|
+
|
|
29
|
+
@model_serializer(mode="wrap")
|
|
30
|
+
def serialize_model(self, handler):
|
|
31
|
+
optional_fields = set(["contactId", "environment"])
|
|
32
|
+
serialized = handler(self)
|
|
33
|
+
m = {}
|
|
34
|
+
|
|
35
|
+
for n, f in type(self).model_fields.items():
|
|
36
|
+
k = f.alias or n
|
|
37
|
+
val = serialized.get(k)
|
|
38
|
+
|
|
39
|
+
if val != UNSET_SENTINEL:
|
|
40
|
+
if val is not None or k not in optional_fields:
|
|
41
|
+
m[k] = val
|
|
42
|
+
|
|
43
|
+
return m
|
|
@@ -7,7 +7,7 @@ from .filepart import FilePart, FilePartTypedDict
|
|
|
7
7
|
from .textpart import TextPart, TextPartTypedDict
|
|
8
8
|
from .toolcallpart import ToolCallPart, ToolCallPartTypedDict
|
|
9
9
|
from .toolresultpart import ToolResultPart, ToolResultPartTypedDict
|
|
10
|
-
from orq_ai_sdk.types import BaseModel
|
|
10
|
+
from orq_ai_sdk.types import BaseModel, UNSET_SENTINEL
|
|
11
11
|
from orq_ai_sdk.utils import (
|
|
12
12
|
FieldMetadata,
|
|
13
13
|
PathParamMetadata,
|
|
@@ -15,7 +15,7 @@ from orq_ai_sdk.utils import (
|
|
|
15
15
|
get_discriminator,
|
|
16
16
|
)
|
|
17
17
|
import pydantic
|
|
18
|
-
from pydantic import Discriminator, Tag
|
|
18
|
+
from pydantic import Discriminator, Tag, model_serializer
|
|
19
19
|
from typing import Any, Dict, List, Literal, Optional, Union
|
|
20
20
|
from typing_extensions import (
|
|
21
21
|
Annotated,
|
|
@@ -94,6 +94,22 @@ class InvokeAgentA2AMessage(BaseModel):
|
|
|
94
94
|
message_id: Annotated[Optional[str], pydantic.Field(alias="messageId")] = None
|
|
95
95
|
r"""Optional A2A message ID in ULID format"""
|
|
96
96
|
|
|
97
|
+
@model_serializer(mode="wrap")
|
|
98
|
+
def serialize_model(self, handler):
|
|
99
|
+
optional_fields = set(["messageId"])
|
|
100
|
+
serialized = handler(self)
|
|
101
|
+
m = {}
|
|
102
|
+
|
|
103
|
+
for n, f in type(self).model_fields.items():
|
|
104
|
+
k = f.alias or n
|
|
105
|
+
val = serialized.get(k)
|
|
106
|
+
|
|
107
|
+
if val != UNSET_SENTINEL:
|
|
108
|
+
if val is not None or k not in optional_fields:
|
|
109
|
+
m[k] = val
|
|
110
|
+
|
|
111
|
+
return m
|
|
112
|
+
|
|
97
113
|
|
|
98
114
|
class InvokeAgentIdentityTypedDict(TypedDict):
|
|
99
115
|
r"""Information about the identity making the request. If the identity does not exist, it will be created automatically."""
|
|
@@ -133,6 +149,22 @@ class InvokeAgentIdentity(BaseModel):
|
|
|
133
149
|
tags: Optional[List[str]] = None
|
|
134
150
|
r"""A list of tags associated with the contact"""
|
|
135
151
|
|
|
152
|
+
@model_serializer(mode="wrap")
|
|
153
|
+
def serialize_model(self, handler):
|
|
154
|
+
optional_fields = set(["display_name", "email", "metadata", "logo_url", "tags"])
|
|
155
|
+
serialized = handler(self)
|
|
156
|
+
m = {}
|
|
157
|
+
|
|
158
|
+
for n, f in type(self).model_fields.items():
|
|
159
|
+
k = f.alias or n
|
|
160
|
+
val = serialized.get(k)
|
|
161
|
+
|
|
162
|
+
if val != UNSET_SENTINEL:
|
|
163
|
+
if val is not None or k not in optional_fields:
|
|
164
|
+
m[k] = val
|
|
165
|
+
|
|
166
|
+
return m
|
|
167
|
+
|
|
136
168
|
|
|
137
169
|
@deprecated(
|
|
138
170
|
"warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
|
|
@@ -178,6 +210,22 @@ class InvokeAgentContact(BaseModel):
|
|
|
178
210
|
tags: Optional[List[str]] = None
|
|
179
211
|
r"""A list of tags associated with the contact"""
|
|
180
212
|
|
|
213
|
+
@model_serializer(mode="wrap")
|
|
214
|
+
def serialize_model(self, handler):
|
|
215
|
+
optional_fields = set(["display_name", "email", "metadata", "logo_url", "tags"])
|
|
216
|
+
serialized = handler(self)
|
|
217
|
+
m = {}
|
|
218
|
+
|
|
219
|
+
for n, f in type(self).model_fields.items():
|
|
220
|
+
k = f.alias or n
|
|
221
|
+
val = serialized.get(k)
|
|
222
|
+
|
|
223
|
+
if val != UNSET_SENTINEL:
|
|
224
|
+
if val is not None or k not in optional_fields:
|
|
225
|
+
m[k] = val
|
|
226
|
+
|
|
227
|
+
return m
|
|
228
|
+
|
|
181
229
|
|
|
182
230
|
class InvokeAgentThreadTypedDict(TypedDict):
|
|
183
231
|
r"""Thread information to group related requests"""
|
|
@@ -197,6 +245,22 @@ class InvokeAgentThread(BaseModel):
|
|
|
197
245
|
tags: Optional[List[str]] = None
|
|
198
246
|
r"""Optional tags to differentiate or categorize threads"""
|
|
199
247
|
|
|
248
|
+
@model_serializer(mode="wrap")
|
|
249
|
+
def serialize_model(self, handler):
|
|
250
|
+
optional_fields = set(["tags"])
|
|
251
|
+
serialized = handler(self)
|
|
252
|
+
m = {}
|
|
253
|
+
|
|
254
|
+
for n, f in type(self).model_fields.items():
|
|
255
|
+
k = f.alias or n
|
|
256
|
+
val = serialized.get(k)
|
|
257
|
+
|
|
258
|
+
if val != UNSET_SENTINEL:
|
|
259
|
+
if val is not None or k not in optional_fields:
|
|
260
|
+
m[k] = val
|
|
261
|
+
|
|
262
|
+
return m
|
|
263
|
+
|
|
200
264
|
|
|
201
265
|
class InvokeAgentMemoryTypedDict(TypedDict):
|
|
202
266
|
r"""Memory configuration for the agent execution. Used to associate memory stores with specific entities like users or sessions."""
|
|
@@ -261,6 +325,32 @@ class InvokeAgentRequestBody(BaseModel):
|
|
|
261
325
|
metadata: Optional[Dict[str, Any]] = None
|
|
262
326
|
r"""Optional metadata for the agent invocation as key-value pairs that will be included in traces"""
|
|
263
327
|
|
|
328
|
+
@model_serializer(mode="wrap")
|
|
329
|
+
def serialize_model(self, handler):
|
|
330
|
+
optional_fields = set(
|
|
331
|
+
[
|
|
332
|
+
"task_id",
|
|
333
|
+
"variables",
|
|
334
|
+
"identity",
|
|
335
|
+
"contact",
|
|
336
|
+
"thread",
|
|
337
|
+
"memory",
|
|
338
|
+
"metadata",
|
|
339
|
+
]
|
|
340
|
+
)
|
|
341
|
+
serialized = handler(self)
|
|
342
|
+
m = {}
|
|
343
|
+
|
|
344
|
+
for n, f in type(self).model_fields.items():
|
|
345
|
+
k = f.alias or n
|
|
346
|
+
val = serialized.get(k)
|
|
347
|
+
|
|
348
|
+
if val != UNSET_SENTINEL:
|
|
349
|
+
if val is not None or k not in optional_fields:
|
|
350
|
+
m[k] = val
|
|
351
|
+
|
|
352
|
+
return m
|
|
353
|
+
|
|
264
354
|
|
|
265
355
|
class InvokeAgentRequestTypedDict(TypedDict):
|
|
266
356
|
key: str
|
|
@@ -279,6 +369,22 @@ class InvokeAgentRequest(BaseModel):
|
|
|
279
369
|
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
|
280
370
|
] = None
|
|
281
371
|
|
|
372
|
+
@model_serializer(mode="wrap")
|
|
373
|
+
def serialize_model(self, handler):
|
|
374
|
+
optional_fields = set(["RequestBody"])
|
|
375
|
+
serialized = handler(self)
|
|
376
|
+
m = {}
|
|
377
|
+
|
|
378
|
+
for n, f in type(self).model_fields.items():
|
|
379
|
+
k = f.alias or n
|
|
380
|
+
val = serialized.get(k)
|
|
381
|
+
|
|
382
|
+
if val != UNSET_SENTINEL:
|
|
383
|
+
if val is not None or k not in optional_fields:
|
|
384
|
+
m[k] = val
|
|
385
|
+
|
|
386
|
+
return m
|
|
387
|
+
|
|
282
388
|
|
|
283
389
|
InvokeAgentKind = Literal["task",]
|
|
284
390
|
r"""A2A entity type identifier"""
|
|
@@ -381,6 +487,22 @@ class TaskStatus(BaseModel):
|
|
|
381
487
|
message: Optional[TaskStatusMessage] = None
|
|
382
488
|
r"""Optional A2A message providing additional context about the current status"""
|
|
383
489
|
|
|
490
|
+
@model_serializer(mode="wrap")
|
|
491
|
+
def serialize_model(self, handler):
|
|
492
|
+
optional_fields = set(["timestamp", "message"])
|
|
493
|
+
serialized = handler(self)
|
|
494
|
+
m = {}
|
|
495
|
+
|
|
496
|
+
for n, f in type(self).model_fields.items():
|
|
497
|
+
k = f.alias or n
|
|
498
|
+
val = serialized.get(k)
|
|
499
|
+
|
|
500
|
+
if val != UNSET_SENTINEL:
|
|
501
|
+
if val is not None or k not in optional_fields:
|
|
502
|
+
m[k] = val
|
|
503
|
+
|
|
504
|
+
return m
|
|
505
|
+
|
|
384
506
|
|
|
385
507
|
class InvokeAgentA2ATaskResponseTypedDict(TypedDict):
|
|
386
508
|
r"""Response format following the Agent-to-Agent (A2A) protocol. Returned when starting or continuing an agent task execution."""
|
|
@@ -414,3 +536,19 @@ class InvokeAgentA2ATaskResponse(BaseModel):
|
|
|
414
536
|
|
|
415
537
|
metadata: Optional[Dict[str, Any]] = None
|
|
416
538
|
r"""Task metadata containing workspace_id and trace_id for feedback and tracking"""
|
|
539
|
+
|
|
540
|
+
@model_serializer(mode="wrap")
|
|
541
|
+
def serialize_model(self, handler):
|
|
542
|
+
optional_fields = set(["metadata"])
|
|
543
|
+
serialized = handler(self)
|
|
544
|
+
m = {}
|
|
545
|
+
|
|
546
|
+
for n, f in type(self).model_fields.items():
|
|
547
|
+
k = f.alias or n
|
|
548
|
+
val = serialized.get(k)
|
|
549
|
+
|
|
550
|
+
if val != UNSET_SENTINEL:
|
|
551
|
+
if val is not None or k not in optional_fields:
|
|
552
|
+
m[k] = val
|
|
553
|
+
|
|
554
|
+
return m
|