solace-agent-mesh 1.0.7__py3-none-any.whl → 1.1.0__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.

Potentially problematic release.


This version of solace-agent-mesh might be problematic. Click here for more details.

Files changed (163) hide show
  1. solace_agent_mesh/agent/adk/adk_llm.txt +182 -42
  2. solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +171 -0
  3. solace_agent_mesh/agent/adk/callbacks.py +165 -104
  4. solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +0 -18
  5. solace_agent_mesh/agent/adk/models/models_llm.txt +104 -55
  6. solace_agent_mesh/agent/adk/runner.py +7 -5
  7. solace_agent_mesh/agent/adk/services.py +9 -1
  8. solace_agent_mesh/agent/adk/setup.py +11 -0
  9. solace_agent_mesh/agent/adk/stream_parser.py +8 -1
  10. solace_agent_mesh/agent/adk/tool_wrapper.py +10 -3
  11. solace_agent_mesh/agent/agent_llm.txt +355 -18
  12. solace_agent_mesh/agent/protocol/event_handlers.py +433 -296
  13. solace_agent_mesh/agent/protocol/protocol_llm.txt +54 -7
  14. solace_agent_mesh/agent/sac/app.py +1 -1
  15. solace_agent_mesh/agent/sac/component.py +212 -517
  16. solace_agent_mesh/agent/sac/sac_llm.txt +133 -63
  17. solace_agent_mesh/agent/testing/testing_llm.txt +25 -58
  18. solace_agent_mesh/agent/tools/peer_agent_tool.py +15 -11
  19. solace_agent_mesh/agent/tools/tools_llm.txt +234 -69
  20. solace_agent_mesh/agent/utils/artifact_helpers.py +35 -1
  21. solace_agent_mesh/agent/utils/utils_llm.txt +90 -105
  22. solace_agent_mesh/assets/docs/404.html +3 -3
  23. solace_agent_mesh/assets/docs/assets/js/{3d406171.7d02a73b.js → 3d406171.0b9eeed1.js} +1 -1
  24. solace_agent_mesh/assets/docs/assets/js/6e0db977.39a79ca9.js +1 -0
  25. solace_agent_mesh/assets/docs/assets/js/{75384d09.ccd480c4.js → 75384d09.bf78fbdb.js} +1 -1
  26. solace_agent_mesh/assets/docs/assets/js/90dd9cf6.88f385ea.js +1 -0
  27. solace_agent_mesh/assets/docs/assets/js/f284c35a.fb68323a.js +1 -0
  28. solace_agent_mesh/assets/docs/assets/js/main.a75ecc0d.js +2 -0
  29. solace_agent_mesh/assets/docs/assets/js/runtime~main.458efb1d.js +1 -0
  30. solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html +4 -4
  31. solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html +4 -4
  32. solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html +4 -4
  33. solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html +4 -4
  34. solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html +4 -4
  35. solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html +4 -4
  36. solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html +4 -4
  37. solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html +4 -4
  38. solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html +4 -4
  39. solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html +4 -4
  40. solace_agent_mesh/assets/docs/docs/documentation/getting-started/configurations/index.html +4 -4
  41. solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html +4 -4
  42. solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +4 -4
  43. solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html +4 -4
  44. solace_agent_mesh/assets/docs/docs/documentation/migration-guides/a2a-upgrade-to-0.3.0/a2a-gateway-upgrade-to-0.3.0/index.html +105 -0
  45. solace_agent_mesh/assets/docs/docs/documentation/migration-guides/a2a-upgrade-to-0.3.0/a2a-technical-migration-map/index.html +53 -0
  46. solace_agent_mesh/assets/docs/docs/documentation/tutorials/bedrock-agents/index.html +4 -4
  47. solace_agent_mesh/assets/docs/docs/documentation/tutorials/custom-agent/index.html +8 -8
  48. solace_agent_mesh/assets/docs/docs/documentation/tutorials/event-mesh-gateway/index.html +4 -4
  49. solace_agent_mesh/assets/docs/docs/documentation/tutorials/mcp-integration/index.html +4 -4
  50. solace_agent_mesh/assets/docs/docs/documentation/tutorials/mongodb-integration/index.html +4 -4
  51. solace_agent_mesh/assets/docs/docs/documentation/tutorials/rag-integration/index.html +4 -4
  52. solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html +4 -4
  53. solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html +4 -4
  54. solace_agent_mesh/assets/docs/docs/documentation/tutorials/sql-database/index.html +4 -4
  55. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/artifact-management/index.html +4 -4
  56. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html +4 -4
  57. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html +4 -4
  58. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html +4 -4
  59. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html +4 -4
  60. solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html +4 -4
  61. solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html +4 -4
  62. solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html +4 -4
  63. solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html +4 -4
  64. solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html +4 -4
  65. solace_agent_mesh/assets/docs/lunr-index-1756992446316.json +1 -0
  66. solace_agent_mesh/assets/docs/lunr-index.json +1 -1
  67. solace_agent_mesh/assets/docs/search-doc-1756992446316.json +1 -0
  68. solace_agent_mesh/assets/docs/search-doc.json +1 -1
  69. solace_agent_mesh/assets/docs/sitemap.xml +1 -1
  70. solace_agent_mesh/cli/__init__.py +1 -1
  71. solace_agent_mesh/cli/commands/add_cmd/web_add_agent_step.py +12 -3
  72. solace_agent_mesh/cli/commands/add_cmd/web_add_gateway_step.py +10 -14
  73. solace_agent_mesh/cli/commands/init_cmd/web_init_step.py +2 -15
  74. solace_agent_mesh/cli/commands/plugin_cmd/catalog_cmd.py +6 -2
  75. solace_agent_mesh/cli/utils.py +15 -0
  76. solace_agent_mesh/client/webui/frontend/static/assets/{authCallback-DvlO62me.js → authCallback-BmF2l6vg.js} +1 -1
  77. solace_agent_mesh/client/webui/frontend/static/assets/{client-bp6u3qVZ.js → client-D881Dttc.js} +4 -4
  78. solace_agent_mesh/client/webui/frontend/static/assets/main-C0jZjYa8.js +699 -0
  79. solace_agent_mesh/client/webui/frontend/static/assets/main-CCeG324-.css +1 -0
  80. solace_agent_mesh/client/webui/frontend/static/auth-callback.html +2 -2
  81. solace_agent_mesh/client/webui/frontend/static/index.html +3 -3
  82. solace_agent_mesh/common/a2a/__init__.py +213 -0
  83. solace_agent_mesh/common/a2a/a2a_llm.txt +182 -0
  84. solace_agent_mesh/common/a2a/artifact.py +328 -0
  85. solace_agent_mesh/common/a2a/events.py +183 -0
  86. solace_agent_mesh/common/a2a/message.py +307 -0
  87. solace_agent_mesh/common/a2a/protocol.py +513 -0
  88. solace_agent_mesh/common/a2a/task.py +127 -0
  89. solace_agent_mesh/common/a2a/translation.py +653 -0
  90. solace_agent_mesh/common/a2a/types.py +54 -0
  91. solace_agent_mesh/common/a2a_spec/a2a.json +2576 -0
  92. solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +407 -0
  93. solace_agent_mesh/common/a2a_spec/schemas/agent_progress_update.json +18 -0
  94. solace_agent_mesh/common/a2a_spec/schemas/artifact_creation_progress.json +31 -0
  95. solace_agent_mesh/common/a2a_spec/schemas/llm_invocation.json +18 -0
  96. solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +235 -0
  97. solace_agent_mesh/common/a2a_spec/schemas/tool_invocation_start.json +26 -0
  98. solace_agent_mesh/common/a2a_spec/schemas/tool_result.json +25 -0
  99. solace_agent_mesh/common/agent_registry.py +1 -1
  100. solace_agent_mesh/common/common_llm.txt +192 -70
  101. solace_agent_mesh/common/data_parts.py +99 -0
  102. solace_agent_mesh/common/middleware/middleware_llm.txt +17 -17
  103. solace_agent_mesh/common/sac/__init__.py +0 -0
  104. solace_agent_mesh/common/sac/sac_llm.txt +71 -0
  105. solace_agent_mesh/common/sac/sam_component_base.py +252 -0
  106. solace_agent_mesh/common/services/providers/providers_llm.txt +51 -84
  107. solace_agent_mesh/common/services/services_llm.txt +206 -26
  108. solace_agent_mesh/common/utils/artifact_utils.py +29 -0
  109. solace_agent_mesh/common/utils/embeds/embeds_llm.txt +176 -80
  110. solace_agent_mesh/common/utils/utils_llm.txt +323 -42
  111. solace_agent_mesh/config_portal/backend/common.py +1 -1
  112. solace_agent_mesh/config_portal/frontend/static/client/assets/{_index-MqsrTd6g.js → _index-Bym6YkMd.js} +74 -24
  113. solace_agent_mesh/config_portal/frontend/static/client/assets/{components-B7lKcHVY.js → components-Rk0n-9cK.js} +1 -1
  114. solace_agent_mesh/config_portal/frontend/static/client/assets/{entry.client-CEumGClk.js → entry.client-mvZjNKiz.js} +1 -1
  115. solace_agent_mesh/config_portal/frontend/static/client/assets/{index-DSo1AH_7.js → index-DzNKzXrc.js} +1 -1
  116. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-d845808d.js +1 -0
  117. solace_agent_mesh/config_portal/frontend/static/client/assets/{root-C4XmHinv.js → root-BWvk5-gF.js} +1 -1
  118. solace_agent_mesh/config_portal/frontend/static/client/index.html +3 -3
  119. solace_agent_mesh/core_a2a/core_a2a_llm.txt +10 -8
  120. solace_agent_mesh/core_a2a/service.py +20 -44
  121. solace_agent_mesh/gateway/base/app.py +27 -1
  122. solace_agent_mesh/gateway/base/base_llm.txt +177 -72
  123. solace_agent_mesh/gateway/base/component.py +294 -523
  124. solace_agent_mesh/gateway/gateway_llm.txt +299 -58
  125. solace_agent_mesh/gateway/http_sse/component.py +156 -183
  126. solace_agent_mesh/gateway/http_sse/components/components_llm.txt +29 -29
  127. solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +272 -36
  128. solace_agent_mesh/gateway/http_sse/main.py +8 -10
  129. solace_agent_mesh/gateway/http_sse/routers/agents.py +1 -1
  130. solace_agent_mesh/gateway/http_sse/routers/artifacts.py +18 -4
  131. solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +231 -5
  132. solace_agent_mesh/gateway/http_sse/routers/sessions.py +12 -7
  133. solace_agent_mesh/gateway/http_sse/routers/tasks.py +116 -169
  134. solace_agent_mesh/gateway/http_sse/services/agent_service.py +1 -1
  135. solace_agent_mesh/gateway/http_sse/services/services_llm.txt +89 -135
  136. solace_agent_mesh/gateway/http_sse/services/task_service.py +2 -5
  137. solace_agent_mesh/solace_agent_mesh_llm.txt +362 -0
  138. solace_agent_mesh/templates/gateway_component_template.py +149 -98
  139. {solace_agent_mesh-1.0.7.dist-info → solace_agent_mesh-1.1.0.dist-info}/METADATA +5 -4
  140. {solace_agent_mesh-1.0.7.dist-info → solace_agent_mesh-1.1.0.dist-info}/RECORD +144 -127
  141. solace_agent_mesh/assets/docs/assets/js/f284c35a.731836ad.js +0 -1
  142. solace_agent_mesh/assets/docs/assets/js/main.d79f063b.js +0 -2
  143. solace_agent_mesh/assets/docs/assets/js/runtime~main.6415ad00.js +0 -1
  144. solace_agent_mesh/assets/docs/lunr-index-1756146501924.json +0 -1
  145. solace_agent_mesh/assets/docs/search-doc-1756146501924.json +0 -1
  146. solace_agent_mesh/client/webui/frontend/static/assets/main-BCpII1-0.css +0 -1
  147. solace_agent_mesh/client/webui/frontend/static/assets/main-BucUdn9m.js +0 -673
  148. solace_agent_mesh/common/a2a_protocol.py +0 -564
  149. solace_agent_mesh/common/client/__init__.py +0 -4
  150. solace_agent_mesh/common/client/card_resolver.py +0 -21
  151. solace_agent_mesh/common/client/client.py +0 -85
  152. solace_agent_mesh/common/client/client_llm.txt +0 -133
  153. solace_agent_mesh/common/server/__init__.py +0 -4
  154. solace_agent_mesh/common/server/server.py +0 -122
  155. solace_agent_mesh/common/server/server_llm.txt +0 -169
  156. solace_agent_mesh/common/server/task_manager.py +0 -291
  157. solace_agent_mesh/common/server/utils.py +0 -28
  158. solace_agent_mesh/common/types.py +0 -411
  159. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-28271392.js +0 -1
  160. /solace_agent_mesh/assets/docs/assets/js/{main.d79f063b.js.LICENSE.txt → main.a75ecc0d.js.LICENSE.txt} +0 -0
  161. {solace_agent_mesh-1.0.7.dist-info → solace_agent_mesh-1.1.0.dist-info}/WHEEL +0 -0
  162. {solace_agent_mesh-1.0.7.dist-info → solace_agent_mesh-1.1.0.dist-info}/entry_points.txt +0 -0
  163. {solace_agent_mesh-1.0.7.dist-info → solace_agent_mesh-1.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,411 +0,0 @@
1
- from pydantic import BaseModel, Field, TypeAdapter, field_validator
2
- from typing import Literal, List, Annotated, Optional, Union, Dict, Any, TypedDict
3
- from datetime import datetime, timezone
4
- from pydantic import model_validator, ConfigDict, field_serializer
5
- from uuid import uuid4
6
- from enum import Enum
7
- from typing_extensions import Self
8
-
9
-
10
- class TaskState(str, Enum):
11
- SUBMITTED = "submitted"
12
- WORKING = "working"
13
- INPUT_REQUIRED = "input-required"
14
- COMPLETED = "completed"
15
- CANCELED = "canceled"
16
- FAILED = "failed"
17
- UNKNOWN = "unknown"
18
-
19
-
20
- class TextPart(BaseModel):
21
- type: Literal["text"] = "text"
22
- text: str
23
- metadata: dict[str, Any] | None = None
24
-
25
-
26
- class FileContent(BaseModel):
27
- name: str | None = None
28
- mimeType: str | None = None
29
- bytes: str | None = None
30
- uri: str | None = None
31
-
32
- @model_validator(mode="after")
33
- def check_content(self) -> Self:
34
- if not (self.bytes or self.uri):
35
- raise ValueError("Either 'bytes' or 'uri' must be present in the file data")
36
- if self.bytes and self.uri:
37
- raise ValueError(
38
- "Only one of 'bytes' or 'uri' can be present in the file data"
39
- )
40
- return self
41
-
42
-
43
- class FilePart(BaseModel):
44
- type: Literal["file"] = "file"
45
- file: FileContent
46
- metadata: dict[str, Any] | None = None
47
-
48
-
49
- class DataPart(BaseModel):
50
- type: Literal["data"] = "data"
51
- data: dict[str, Any]
52
- metadata: dict[str, Any] | None = None
53
-
54
-
55
- Part = Annotated[Union[TextPart, FilePart, DataPart], Field(discriminator="type")]
56
-
57
-
58
- class Message(BaseModel):
59
- role: Literal["user", "agent"]
60
- parts: List[Part]
61
- metadata: dict[str, Any] | None = None
62
-
63
-
64
- class TaskStatus(BaseModel):
65
- state: TaskState
66
- message: Message | None = None
67
- timestamp: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
68
-
69
- @field_serializer("timestamp")
70
- def serialize_dt(self, dt: datetime, _info):
71
- return dt.isoformat()
72
-
73
-
74
- class Artifact(BaseModel):
75
- name: str | None = None
76
- description: str | None = None
77
- parts: List[Part]
78
- metadata: dict[str, Any] | None = None
79
- index: int = 0
80
- append: bool | None = None
81
- lastChunk: bool | None = None
82
-
83
-
84
- class Task(BaseModel):
85
- id: str
86
- sessionId: str | None = None
87
- status: TaskStatus
88
- artifacts: List[Artifact] | None = None
89
- history: List[Message] | None = None
90
- metadata: dict[str, Any] | None = None
91
-
92
-
93
- class TaskStatusUpdateEvent(BaseModel):
94
- id: str
95
- status: TaskStatus
96
- final: bool = False
97
- metadata: dict[str, Any] | None = None
98
-
99
-
100
- class TaskArtifactUpdateEvent(BaseModel):
101
- id: str
102
- artifact: Artifact
103
- metadata: dict[str, Any] | None = None
104
-
105
-
106
- class AuthenticationInfo(BaseModel):
107
- model_config = ConfigDict(extra="allow")
108
-
109
- schemes: List[str]
110
- credentials: str | None = None
111
-
112
-
113
- class PushNotificationConfig(BaseModel):
114
- url: str
115
- token: str | None = None
116
- authentication: AuthenticationInfo | None = None
117
-
118
-
119
- class TaskIdParams(BaseModel):
120
- id: str
121
- metadata: dict[str, Any] | None = None
122
-
123
-
124
- class TaskQueryParams(TaskIdParams):
125
- historyLength: int | None = None
126
-
127
-
128
- class TaskSendParams(BaseModel):
129
- id: str
130
- sessionId: str = Field(default_factory=lambda: uuid4().hex)
131
- message: Message
132
- acceptedOutputModes: Optional[List[str]] = None
133
- pushNotification: PushNotificationConfig | None = None
134
- historyLength: int | None = None
135
- metadata: dict[str, Any] | None = None
136
-
137
-
138
- class TaskPushNotificationConfig(BaseModel):
139
- id: str
140
- pushNotificationConfig: PushNotificationConfig
141
-
142
-
143
- class ParallelToolCallInfo(TypedDict):
144
- """
145
- A dictionary structure to hold information about parallel tool calls within a single turn.
146
- """
147
-
148
- total: int
149
- completed: int
150
- results: List[Dict[str, Any]]
151
-
152
-
153
- ## RPC Messages
154
-
155
-
156
- class JSONRPCMessage(BaseModel):
157
- jsonrpc: Literal["2.0"] = "2.0"
158
- id: int | str | None = Field(default_factory=lambda: uuid4().hex)
159
-
160
-
161
- class JSONRPCRequest(JSONRPCMessage):
162
- method: str
163
- params: dict[str, Any] | None = None
164
-
165
-
166
- class JSONRPCError(BaseModel):
167
- code: int
168
- message: str
169
- data: Any | None = None
170
-
171
-
172
- class JSONRPCResponse(JSONRPCMessage):
173
- result: Any | None = None
174
- error: JSONRPCError | None = None
175
-
176
-
177
- class SendTaskRequest(JSONRPCRequest):
178
- method: Literal["tasks/send"] = "tasks/send"
179
- params: TaskSendParams
180
-
181
-
182
- class SendTaskResponse(JSONRPCResponse):
183
- result: Task | None = None
184
-
185
-
186
- class SendTaskStreamingRequest(JSONRPCRequest):
187
- method: Literal["tasks/sendSubscribe"] = "tasks/sendSubscribe"
188
- params: TaskSendParams
189
-
190
-
191
- class SendTaskStreamingResponse(JSONRPCResponse):
192
- result: TaskStatusUpdateEvent | TaskArtifactUpdateEvent | None = None
193
-
194
-
195
- class GetTaskRequest(JSONRPCRequest):
196
- method: Literal["tasks/get"] = "tasks/get"
197
- params: TaskQueryParams
198
-
199
-
200
- class GetTaskResponse(JSONRPCResponse):
201
- result: Task | None = None
202
-
203
-
204
- class CancelTaskRequest(JSONRPCRequest):
205
- method: Literal["tasks/cancel",] = "tasks/cancel"
206
- params: TaskIdParams
207
-
208
-
209
- class CancelTaskResponse(JSONRPCResponse):
210
- result: Task | None = None
211
-
212
-
213
- class SetTaskPushNotificationRequest(JSONRPCRequest):
214
- method: Literal["tasks/pushNotification/set",] = "tasks/pushNotification/set"
215
- params: TaskPushNotificationConfig
216
-
217
-
218
- class SetTaskPushNotificationResponse(JSONRPCResponse):
219
- result: TaskPushNotificationConfig | None = None
220
-
221
-
222
- class GetTaskPushNotificationRequest(JSONRPCRequest):
223
- method: Literal["tasks/pushNotification/get",] = "tasks/pushNotification/get"
224
- params: TaskIdParams
225
-
226
-
227
- class GetTaskPushNotificationResponse(JSONRPCResponse):
228
- result: TaskPushNotificationConfig | None = None
229
-
230
-
231
- class TaskResubscriptionRequest(JSONRPCRequest):
232
- method: Literal["tasks/resubscribe",] = "tasks/resubscribe"
233
- params: TaskIdParams
234
-
235
-
236
- A2ARequest = TypeAdapter(
237
- Annotated[
238
- Union[
239
- SendTaskRequest,
240
- GetTaskRequest,
241
- CancelTaskRequest,
242
- SetTaskPushNotificationRequest,
243
- GetTaskPushNotificationRequest,
244
- TaskResubscriptionRequest,
245
- SendTaskStreamingRequest,
246
- ],
247
- Field(discriminator="method"),
248
- ]
249
- )
250
-
251
- ## Error types
252
-
253
-
254
- class JSONParseError(JSONRPCError):
255
- code: int = -32700
256
- message: str = "Invalid JSON payload"
257
- data: Any | None = None
258
-
259
-
260
- class InvalidRequestError(JSONRPCError):
261
- code: int = -32600
262
- message: str = "Request payload validation error"
263
- data: Any | None = None
264
-
265
-
266
- class MethodNotFoundError(JSONRPCError):
267
- code: int = -32601
268
- message: str = "Method not found"
269
- data: None = None
270
-
271
-
272
- class InvalidParamsError(JSONRPCError):
273
- code: int = -32602
274
- message: str = "Invalid parameters"
275
- data: Any | None = None
276
-
277
-
278
- class InternalError(JSONRPCError):
279
- code: int = -32603
280
- message: str = "Internal error"
281
- data: Any | None = None
282
-
283
-
284
- class TaskNotFoundError(JSONRPCError):
285
- code: int = -32001
286
- message: str = "Task not found"
287
- data: None = None
288
-
289
-
290
- class TaskNotCancelableError(JSONRPCError):
291
- code: int = -32002
292
- message: str = "Task cannot be canceled"
293
- data: None = None
294
-
295
-
296
- class PushNotificationNotSupportedError(JSONRPCError):
297
- code: int = -32003
298
- message: str = "Push Notification is not supported"
299
- data: None = None
300
-
301
-
302
- class UnsupportedOperationError(JSONRPCError):
303
- code: int = -32004
304
- message: str = "This operation is not supported"
305
- data: None = None
306
-
307
-
308
- class ContentTypeNotSupportedError(JSONRPCError):
309
- code: int = -32005
310
- message: str = "Incompatible content types"
311
- data: None = None
312
-
313
-
314
- class AgentProvider(BaseModel):
315
- organization: str
316
- url: str | None = None
317
-
318
-
319
- class AgentCapabilities(BaseModel):
320
- streaming: bool = False
321
- pushNotifications: bool = False
322
- stateTransitionHistory: bool = False
323
-
324
-
325
- class AgentAuthentication(BaseModel):
326
- schemes: List[str]
327
- credentials: str | None = None
328
-
329
-
330
- class AgentSkill(BaseModel):
331
- id: str
332
- name: str
333
- description: str | None = None
334
- tags: List[str] | None = None
335
- examples: List[str] | None = None
336
- inputModes: List[str] | None = None
337
- outputModes: List[str] | None = None
338
-
339
-
340
- class AgentCard(BaseModel):
341
- name: str
342
- display_name: str | None = None
343
- description: str | None = None
344
- url: str
345
- provider: AgentProvider | None = None
346
- version: str
347
- documentationUrl: str | None = None
348
- capabilities: AgentCapabilities
349
- authentication: AgentAuthentication | None = None
350
- defaultInputModes: List[str] = ["text"]
351
- defaultOutputModes: List[str] = ["text"]
352
- skills: List[AgentSkill]
353
- tools: Optional[List[AgentSkill]] = None
354
- peer_agents: Dict[str, "AgentCard"]
355
-
356
-
357
- class ArtifactInfo(BaseModel):
358
- """
359
- Represents information about an artifact, typically for listing or display.
360
- Mirrors the frontend ArtifactInfo type and the model used in artifact_helpers.py.
361
- """
362
-
363
- filename: str
364
- mime_type: Optional[str] = None
365
- size: int
366
- last_modified: Optional[str] = None
367
- description: Optional[str] = None
368
- schema_definition: Optional[Dict[str, Any]] = Field(default=None, alias="schema")
369
- uri: Optional[str] = None
370
- version: Optional[Union[int, str]] = None
371
- version_count: int
372
-
373
- model_config = ConfigDict(populate_by_name=True)
374
-
375
- @field_validator("version")
376
- @classmethod
377
- def validate_version_string(cls, v: Union[int, str]) -> Union[int, str]:
378
- if isinstance(v, str):
379
- if v.lower() == "latest":
380
- return v
381
- try:
382
- int(v)
383
- return v
384
- except ValueError:
385
- raise ValueError(
386
- f"String version must be 'latest' or a valid integer representation. Got: '{v}'"
387
- )
388
- return v
389
-
390
-
391
- class A2AClientError(Exception):
392
- pass
393
-
394
-
395
- class A2AClientHTTPError(A2AClientError):
396
- def __init__(self, status_code: int, message: str):
397
- self.status_code = status_code
398
- self.message = message
399
- super().__init__(f"HTTP Error {status_code}: {message}")
400
-
401
-
402
- class A2AClientJSONError(A2AClientError):
403
- def __init__(self, message: str):
404
- self.message = message
405
- super().__init__(f"JSON Error: {message}")
406
-
407
-
408
- class MissingAPIKeyError(Exception):
409
- """Exception for missing API key."""
410
-
411
- pass
@@ -1 +0,0 @@
1
- window.__remixManifest={"entry":{"module":"/assets/entry.client-CEumGClk.js","imports":["/assets/index-DSo1AH_7.js","/assets/components-B7lKcHVY.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/root-C4XmHinv.js","imports":["/assets/index-DSo1AH_7.js","/assets/components-B7lKcHVY.js"],"css":["/assets/root-DxRwaWiE.css"]},"routes/_index":{"id":"routes/_index","parentId":"root","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_index-MqsrTd6g.js","imports":["/assets/index-DSo1AH_7.js"],"css":[]}},"url":"/assets/manifest-28271392.js","version":"28271392"};