solace-agent-mesh 1.6.1__py3-none-any.whl → 1.13.2__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 (481) hide show
  1. solace_agent_mesh/agent/adk/alembic/README +74 -0
  2. solace_agent_mesh/agent/adk/alembic/env.py +77 -0
  3. solace_agent_mesh/agent/adk/alembic/script.py.mako +28 -0
  4. solace_agent_mesh/agent/adk/alembic/versions/e2902798564d_adk_session_db_upgrade.py +52 -0
  5. solace_agent_mesh/agent/adk/alembic.ini +112 -0
  6. solace_agent_mesh/agent/adk/app_llm_agent.py +26 -0
  7. solace_agent_mesh/agent/adk/artifacts/filesystem_artifact_service.py +165 -1
  8. solace_agent_mesh/agent/adk/artifacts/s3_artifact_service.py +163 -0
  9. solace_agent_mesh/agent/adk/callbacks.py +852 -109
  10. solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +234 -36
  11. solace_agent_mesh/agent/adk/intelligent_mcp_callbacks.py +52 -5
  12. solace_agent_mesh/agent/adk/mcp_content_processor.py +1 -1
  13. solace_agent_mesh/agent/adk/models/lite_llm.py +77 -21
  14. solace_agent_mesh/agent/adk/models/oauth2_token_manager.py +24 -137
  15. solace_agent_mesh/agent/adk/runner.py +85 -20
  16. solace_agent_mesh/agent/adk/schema_migration.py +88 -0
  17. solace_agent_mesh/agent/adk/services.py +94 -18
  18. solace_agent_mesh/agent/adk/setup.py +281 -65
  19. solace_agent_mesh/agent/adk/stream_parser.py +231 -37
  20. solace_agent_mesh/agent/adk/tool_wrapper.py +3 -0
  21. solace_agent_mesh/agent/protocol/event_handlers.py +472 -137
  22. solace_agent_mesh/agent/proxies/a2a/app.py +3 -2
  23. solace_agent_mesh/agent/proxies/a2a/component.py +572 -75
  24. solace_agent_mesh/agent/proxies/a2a/config.py +80 -4
  25. solace_agent_mesh/agent/proxies/base/app.py +3 -2
  26. solace_agent_mesh/agent/proxies/base/component.py +188 -22
  27. solace_agent_mesh/agent/proxies/base/proxy_task_context.py +3 -1
  28. solace_agent_mesh/agent/sac/app.py +91 -3
  29. solace_agent_mesh/agent/sac/component.py +591 -157
  30. solace_agent_mesh/agent/sac/patch_adk.py +8 -16
  31. solace_agent_mesh/agent/sac/task_execution_context.py +146 -4
  32. solace_agent_mesh/agent/tools/__init__.py +3 -0
  33. solace_agent_mesh/agent/tools/audio_tools.py +3 -3
  34. solace_agent_mesh/agent/tools/builtin_artifact_tools.py +710 -171
  35. solace_agent_mesh/agent/tools/deep_research_tools.py +2161 -0
  36. solace_agent_mesh/agent/tools/dynamic_tool.py +2 -0
  37. solace_agent_mesh/agent/tools/peer_agent_tool.py +82 -15
  38. solace_agent_mesh/agent/tools/time_tools.py +126 -0
  39. solace_agent_mesh/agent/tools/tool_config_types.py +57 -2
  40. solace_agent_mesh/agent/tools/web_search_tools.py +279 -0
  41. solace_agent_mesh/agent/tools/web_tools.py +125 -17
  42. solace_agent_mesh/agent/utils/artifact_helpers.py +248 -6
  43. solace_agent_mesh/agent/utils/context_helpers.py +17 -0
  44. solace_agent_mesh/assets/docs/404.html +6 -6
  45. solace_agent_mesh/assets/docs/assets/css/{styles.906a1503.css → styles.8162edfb.css} +1 -1
  46. solace_agent_mesh/assets/docs/assets/js/05749d90.19ac4f35.js +1 -0
  47. solace_agent_mesh/assets/docs/assets/js/15ba94aa.e186750d.js +1 -0
  48. solace_agent_mesh/assets/docs/assets/js/15e40e79.434bb30f.js +1 -0
  49. solace_agent_mesh/assets/docs/assets/js/17896441.e612dfb4.js +1 -0
  50. solace_agent_mesh/assets/docs/assets/js/2279.550aa580.js +2 -0
  51. solace_agent_mesh/assets/docs/assets/js/{17896441.a5e82f9b.js.LICENSE.txt → 2279.550aa580.js.LICENSE.txt} +6 -0
  52. solace_agent_mesh/assets/docs/assets/js/240a0364.83e37aa8.js +1 -0
  53. solace_agent_mesh/assets/docs/assets/js/2987107d.a80604f9.js +1 -0
  54. solace_agent_mesh/assets/docs/assets/js/2e32b5e0.2f0db237.js +1 -0
  55. solace_agent_mesh/assets/docs/assets/js/3a6c6137.7e61915d.js +1 -0
  56. solace_agent_mesh/assets/docs/assets/js/3ac1795d.7f7ab1c1.js +1 -0
  57. solace_agent_mesh/assets/docs/assets/js/3ff0015d.e53c9b78.js +1 -0
  58. solace_agent_mesh/assets/docs/assets/js/41adc471.0e95b87c.js +1 -0
  59. solace_agent_mesh/assets/docs/assets/js/4667dc50.bf2ad456.js +1 -0
  60. solace_agent_mesh/assets/docs/assets/js/49eed117.493d6f99.js +1 -0
  61. solace_agent_mesh/assets/docs/assets/js/{509e993c.4c7a1a6d.js → 509e993c.a1fbf45a.js} +1 -1
  62. solace_agent_mesh/assets/docs/assets/js/547e15cc.8e6da617.js +1 -0
  63. solace_agent_mesh/assets/docs/assets/js/55b7b518.29d6e75d.js +1 -0
  64. solace_agent_mesh/assets/docs/assets/js/5b8d9c11.d4eb37b8.js +1 -0
  65. solace_agent_mesh/assets/docs/assets/js/5c2bd65f.1ee87753.js +1 -0
  66. solace_agent_mesh/assets/docs/assets/js/60702c0e.a8bdd79b.js +1 -0
  67. solace_agent_mesh/assets/docs/assets/js/631738c7.fa471607.js +1 -0
  68. solace_agent_mesh/assets/docs/assets/js/64195356.09dbd087.js +1 -0
  69. solace_agent_mesh/assets/docs/assets/js/66d4869e.30340bd3.js +1 -0
  70. solace_agent_mesh/assets/docs/assets/js/6a520c9d.b6e3f2ce.js +1 -0
  71. solace_agent_mesh/assets/docs/assets/js/6aaedf65.7253541d.js +1 -0
  72. solace_agent_mesh/assets/docs/assets/js/6ad8f0bd.a5b36a60.js +1 -0
  73. solace_agent_mesh/assets/docs/assets/js/6d84eae0.fd23ba4a.js +1 -0
  74. solace_agent_mesh/assets/docs/assets/js/71da7b71.374b9d54.js +1 -0
  75. solace_agent_mesh/assets/docs/assets/js/729898df.7249e9fd.js +1 -0
  76. solace_agent_mesh/assets/docs/assets/js/7e294c01.7c5f6906.js +1 -0
  77. solace_agent_mesh/assets/docs/assets/js/8024126c.e3467286.js +1 -0
  78. solace_agent_mesh/assets/docs/assets/js/81a99df0.7ed65d45.js +1 -0
  79. solace_agent_mesh/assets/docs/assets/js/82fbfb93.161823a5.js +1 -0
  80. solace_agent_mesh/assets/docs/assets/js/8b032486.91a91afc.js +1 -0
  81. solace_agent_mesh/assets/docs/assets/js/924ffdeb.975e428a.js +1 -0
  82. solace_agent_mesh/assets/docs/assets/js/94e8668d.16083b3f.js +1 -0
  83. solace_agent_mesh/assets/docs/assets/js/9bb13469.4523ae20.js +1 -0
  84. solace_agent_mesh/assets/docs/assets/js/a7d42657.a956689d.js +1 -0
  85. solace_agent_mesh/assets/docs/assets/js/a94703ab.3e5fbcb3.js +1 -0
  86. solace_agent_mesh/assets/docs/assets/js/ab9708a8.3e563275.js +1 -0
  87. solace_agent_mesh/assets/docs/assets/js/ad87452a.9d73dad6.js +1 -0
  88. solace_agent_mesh/assets/docs/assets/js/c93cbaa0.0e0d8baf.js +1 -0
  89. solace_agent_mesh/assets/docs/assets/js/cab03b5b.6a073091.js +1 -0
  90. solace_agent_mesh/assets/docs/assets/js/cbe2e9ea.07e170dd.js +1 -0
  91. solace_agent_mesh/assets/docs/assets/js/da0b5bad.b62f7b08.js +1 -0
  92. solace_agent_mesh/assets/docs/assets/js/dd817ffc.c37a755e.js +1 -0
  93. solace_agent_mesh/assets/docs/assets/js/dd81e2b8.b682e9c2.js +1 -0
  94. solace_agent_mesh/assets/docs/assets/js/de915948.44a432bc.js +1 -0
  95. solace_agent_mesh/assets/docs/assets/js/e04b235d.06d23db6.js +1 -0
  96. solace_agent_mesh/assets/docs/assets/js/e1b6eeb4.deb2b62e.js +1 -0
  97. solace_agent_mesh/assets/docs/assets/js/e3d9abda.1476f570.js +1 -0
  98. solace_agent_mesh/assets/docs/assets/js/e6f9706b.acc800d3.js +1 -0
  99. solace_agent_mesh/assets/docs/assets/js/e92d0134.c147a429.js +1 -0
  100. solace_agent_mesh/assets/docs/assets/js/ee0c2fe7.94d0a351.js +1 -0
  101. solace_agent_mesh/assets/docs/assets/js/f284c35a.cc97854c.js +1 -0
  102. solace_agent_mesh/assets/docs/assets/js/ff4d71f2.74710fc1.js +1 -0
  103. solace_agent_mesh/assets/docs/assets/js/main.d634009f.js +2 -0
  104. solace_agent_mesh/assets/docs/assets/js/runtime~main.27bb82a7.js +1 -0
  105. solace_agent_mesh/assets/docs/docs/documentation/components/agents/index.html +68 -68
  106. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/artifact-management/index.html +50 -50
  107. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/audio-tools/index.html +42 -42
  108. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/data-analysis-tools/index.html +55 -55
  109. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/embeds/index.html +82 -68
  110. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/image-tools/index.html +81 -0
  111. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/index.html +67 -50
  112. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/research-tools/index.html +136 -0
  113. solace_agent_mesh/assets/docs/docs/documentation/components/cli/index.html +178 -144
  114. solace_agent_mesh/assets/docs/docs/documentation/components/gateways/index.html +43 -42
  115. solace_agent_mesh/assets/docs/docs/documentation/components/index.html +20 -18
  116. solace_agent_mesh/assets/docs/docs/documentation/components/orchestrator/index.html +23 -23
  117. solace_agent_mesh/assets/docs/docs/documentation/components/platform-service/index.html +33 -0
  118. solace_agent_mesh/assets/docs/docs/documentation/components/plugins/index.html +45 -45
  119. solace_agent_mesh/assets/docs/docs/documentation/components/projects/index.html +182 -0
  120. solace_agent_mesh/assets/docs/docs/documentation/components/prompts/index.html +147 -0
  121. solace_agent_mesh/assets/docs/docs/documentation/components/proxies/index.html +208 -125
  122. solace_agent_mesh/assets/docs/docs/documentation/components/speech/index.html +52 -0
  123. solace_agent_mesh/assets/docs/docs/documentation/deploying/debugging/index.html +28 -49
  124. solace_agent_mesh/assets/docs/docs/documentation/deploying/deployment-options/index.html +29 -30
  125. solace_agent_mesh/assets/docs/docs/documentation/deploying/index.html +14 -14
  126. solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes/index.html +47 -0
  127. solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide/index.html +197 -0
  128. solace_agent_mesh/assets/docs/docs/documentation/deploying/logging/index.html +90 -0
  129. solace_agent_mesh/assets/docs/docs/documentation/deploying/observability/index.html +17 -16
  130. solace_agent_mesh/assets/docs/docs/documentation/deploying/proxy_configuration/index.html +49 -0
  131. solace_agent_mesh/assets/docs/docs/documentation/developing/create-agents/index.html +38 -38
  132. solace_agent_mesh/assets/docs/docs/documentation/developing/create-gateways/index.html +162 -171
  133. solace_agent_mesh/assets/docs/docs/documentation/developing/creating-python-tools/index.html +67 -49
  134. solace_agent_mesh/assets/docs/docs/documentation/developing/creating-service-providers/index.html +17 -17
  135. solace_agent_mesh/assets/docs/docs/documentation/developing/evaluations/index.html +51 -51
  136. solace_agent_mesh/assets/docs/docs/documentation/developing/index.html +22 -22
  137. solace_agent_mesh/assets/docs/docs/documentation/developing/structure/index.html +27 -27
  138. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/bedrock-agents/index.html +135 -135
  139. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/custom-agent/index.html +66 -66
  140. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/event-mesh-gateway/index.html +51 -51
  141. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mcp-integration/index.html +50 -38
  142. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mongodb-integration/index.html +86 -86
  143. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rag-integration/index.html +51 -51
  144. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rest-gateway/index.html +24 -24
  145. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/slack-integration/index.html +30 -30
  146. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/sql-database/index.html +44 -44
  147. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/teams-integration/index.html +115 -0
  148. solace_agent_mesh/assets/docs/docs/documentation/enterprise/agent-builder/index.html +86 -0
  149. solace_agent_mesh/assets/docs/docs/documentation/enterprise/connectors/index.html +67 -0
  150. solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +23 -19
  151. solace_agent_mesh/assets/docs/docs/documentation/enterprise/installation/index.html +40 -37
  152. solace_agent_mesh/assets/docs/docs/documentation/enterprise/openapi-tools/index.html +324 -0
  153. solace_agent_mesh/assets/docs/docs/documentation/enterprise/rbac-setup-guide/index.html +112 -87
  154. solace_agent_mesh/assets/docs/docs/documentation/enterprise/secure-user-delegated-access/index.html +440 -0
  155. solace_agent_mesh/assets/docs/docs/documentation/enterprise/single-sign-on/index.html +87 -64
  156. solace_agent_mesh/assets/docs/docs/documentation/enterprise/wheel-installation/index.html +62 -0
  157. solace_agent_mesh/assets/docs/docs/documentation/getting-started/architecture/index.html +44 -44
  158. solace_agent_mesh/assets/docs/docs/documentation/getting-started/index.html +39 -37
  159. solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +30 -30
  160. solace_agent_mesh/assets/docs/docs/documentation/getting-started/try-agent-mesh/index.html +18 -18
  161. solace_agent_mesh/assets/docs/docs/documentation/getting-started/vibe_coding/index.html +62 -0
  162. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/artifact-storage/index.html +311 -0
  163. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/configurations/index.html +39 -42
  164. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/index.html +14 -14
  165. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/installation/index.html +27 -25
  166. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/large_language_models/index.html +69 -69
  167. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/run-project/index.html +72 -72
  168. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/session-storage/index.html +251 -0
  169. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/user-feedback/index.html +88 -0
  170. solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0/index.html +42 -42
  171. solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map/index.html +20 -20
  172. solace_agent_mesh/assets/docs/docs/documentation/migrations/platform-service-split/index.html +85 -0
  173. solace_agent_mesh/assets/docs/lunr-index-1768329217460.json +1 -0
  174. solace_agent_mesh/assets/docs/lunr-index.json +1 -1
  175. solace_agent_mesh/assets/docs/search-doc-1768329217460.json +1 -0
  176. solace_agent_mesh/assets/docs/search-doc.json +1 -1
  177. solace_agent_mesh/assets/docs/sitemap.xml +1 -1
  178. solace_agent_mesh/cli/__init__.py +1 -1
  179. solace_agent_mesh/cli/commands/add_cmd/__init__.py +3 -1
  180. solace_agent_mesh/cli/commands/add_cmd/agent_cmd.py +6 -1
  181. solace_agent_mesh/cli/commands/add_cmd/proxy_cmd.py +100 -0
  182. solace_agent_mesh/cli/commands/docs_cmd.py +4 -1
  183. solace_agent_mesh/cli/commands/eval_cmd.py +1 -1
  184. solace_agent_mesh/cli/commands/init_cmd/__init__.py +15 -0
  185. solace_agent_mesh/cli/commands/init_cmd/directory_step.py +1 -1
  186. solace_agent_mesh/cli/commands/init_cmd/env_step.py +30 -3
  187. solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +3 -4
  188. solace_agent_mesh/cli/commands/init_cmd/platform_service_step.py +85 -0
  189. solace_agent_mesh/cli/commands/init_cmd/webui_gateway_step.py +16 -3
  190. solace_agent_mesh/cli/commands/plugin_cmd/add_cmd.py +2 -1
  191. solace_agent_mesh/cli/commands/plugin_cmd/catalog_cmd.py +1 -0
  192. solace_agent_mesh/cli/commands/plugin_cmd/create_cmd.py +3 -3
  193. solace_agent_mesh/cli/commands/run_cmd.py +64 -49
  194. solace_agent_mesh/cli/commands/tools_cmd.py +315 -0
  195. solace_agent_mesh/cli/main.py +15 -0
  196. solace_agent_mesh/client/webui/frontend/static/assets/{authCallback-BTf6dqwp.js → authCallback-KnKMP_vb.js} +1 -1
  197. solace_agent_mesh/client/webui/frontend/static/assets/client-DpBL2stg.js +25 -0
  198. solace_agent_mesh/client/webui/frontend/static/assets/main-Cd498TV2.js +435 -0
  199. solace_agent_mesh/client/webui/frontend/static/assets/main-rSf8Vu29.css +1 -0
  200. solace_agent_mesh/client/webui/frontend/static/assets/vendor-CGk8Suyh.js +565 -0
  201. solace_agent_mesh/client/webui/frontend/static/auth-callback.html +3 -3
  202. solace_agent_mesh/client/webui/frontend/static/index.html +4 -4
  203. solace_agent_mesh/client/webui/frontend/static/mockServiceWorker.js +336 -0
  204. solace_agent_mesh/client/webui/frontend/static/ui-version.json +6 -0
  205. solace_agent_mesh/common/a2a/events.py +2 -1
  206. solace_agent_mesh/common/a2a/protocol.py +5 -0
  207. solace_agent_mesh/common/a2a/types.py +2 -1
  208. solace_agent_mesh/common/a2a_spec/schemas/artifact_creation_progress.json +23 -6
  209. solace_agent_mesh/common/a2a_spec/schemas/feedback_event.json +51 -0
  210. solace_agent_mesh/common/agent_registry.py +38 -11
  211. solace_agent_mesh/common/data_parts.py +144 -4
  212. solace_agent_mesh/common/error_handlers.py +83 -0
  213. solace_agent_mesh/common/exceptions.py +24 -0
  214. solace_agent_mesh/common/oauth/__init__.py +17 -0
  215. solace_agent_mesh/common/oauth/oauth_client.py +408 -0
  216. solace_agent_mesh/common/oauth/utils.py +50 -0
  217. solace_agent_mesh/common/rag_dto.py +156 -0
  218. solace_agent_mesh/common/sac/sam_component_base.py +97 -19
  219. solace_agent_mesh/common/sam_events/event_service.py +2 -2
  220. solace_agent_mesh/common/services/employee_service.py +1 -1
  221. solace_agent_mesh/common/utils/embeds/constants.py +1 -0
  222. solace_agent_mesh/common/utils/embeds/converter.py +1 -8
  223. solace_agent_mesh/common/utils/embeds/modifiers.py +4 -28
  224. solace_agent_mesh/common/utils/embeds/resolver.py +152 -31
  225. solace_agent_mesh/common/utils/embeds/types.py +9 -0
  226. solace_agent_mesh/common/utils/log_formatters.py +20 -0
  227. solace_agent_mesh/common/utils/mime_helpers.py +12 -5
  228. solace_agent_mesh/common/utils/pydantic_utils.py +90 -3
  229. solace_agent_mesh/common/utils/rbac_utils.py +69 -0
  230. solace_agent_mesh/common/utils/templates/__init__.py +8 -0
  231. solace_agent_mesh/common/utils/templates/liquid_renderer.py +210 -0
  232. solace_agent_mesh/common/utils/templates/template_resolver.py +161 -0
  233. solace_agent_mesh/config_portal/backend/common.py +12 -0
  234. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-CljP4_mv.js +103 -0
  235. solace_agent_mesh/config_portal/frontend/static/client/assets/{components-Rk0n-9cK.js → components-CaC6hG8d.js} +22 -22
  236. solace_agent_mesh/config_portal/frontend/static/client/assets/{entry.client-mvZjNKiz.js → entry.client-H_TM0YBt.js} +3 -3
  237. solace_agent_mesh/config_portal/frontend/static/client/assets/{index-DzNKzXrc.js → index-CnFykb2v.js} +16 -16
  238. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-f8439d40.js +1 -0
  239. solace_agent_mesh/config_portal/frontend/static/client/assets/root-BIMqslJB.css +1 -0
  240. solace_agent_mesh/config_portal/frontend/static/client/assets/root-mJmTIdIk.js +10 -0
  241. solace_agent_mesh/config_portal/frontend/static/client/index.html +3 -3
  242. solace_agent_mesh/core_a2a/service.py +3 -2
  243. solace_agent_mesh/gateway/adapter/__init__.py +1 -0
  244. solace_agent_mesh/gateway/adapter/base.py +170 -0
  245. solace_agent_mesh/gateway/adapter/types.py +230 -0
  246. solace_agent_mesh/gateway/base/app.py +39 -2
  247. solace_agent_mesh/gateway/base/auth_interface.py +103 -0
  248. solace_agent_mesh/gateway/base/component.py +1027 -151
  249. solace_agent_mesh/gateway/generic/__init__.py +1 -0
  250. solace_agent_mesh/gateway/generic/app.py +50 -0
  251. solace_agent_mesh/gateway/generic/component.py +894 -0
  252. solace_agent_mesh/gateway/http_sse/alembic/env.py +0 -7
  253. solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_project_users_table.py +72 -0
  254. solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_soft_delete_and_search.py +109 -0
  255. solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_default_agent_to_projects.py +26 -0
  256. solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_projects_table.py +135 -0
  257. solace_agent_mesh/gateway/http_sse/alembic/versions/20251108_create_prompt_tables_with_sharing.py +154 -0
  258. solace_agent_mesh/gateway/http_sse/alembic/versions/20251115_add_parent_task_id.py +32 -0
  259. solace_agent_mesh/gateway/http_sse/alembic/versions/20251126_add_background_task_fields.py +47 -0
  260. solace_agent_mesh/gateway/http_sse/alembic/versions/20251202_add_versioned_fields_to_prompts.py +52 -0
  261. solace_agent_mesh/gateway/http_sse/alembic.ini +0 -36
  262. solace_agent_mesh/gateway/http_sse/app.py +40 -11
  263. solace_agent_mesh/gateway/http_sse/component.py +285 -160
  264. solace_agent_mesh/gateway/http_sse/dependencies.py +149 -114
  265. solace_agent_mesh/gateway/http_sse/main.py +68 -450
  266. solace_agent_mesh/gateway/http_sse/repository/__init__.py +19 -1
  267. solace_agent_mesh/gateway/http_sse/repository/chat_task_repository.py +2 -2
  268. solace_agent_mesh/gateway/http_sse/repository/entities/project.py +81 -0
  269. solace_agent_mesh/gateway/http_sse/repository/entities/project_user.py +47 -0
  270. solace_agent_mesh/gateway/http_sse/repository/entities/session.py +26 -3
  271. solace_agent_mesh/gateway/http_sse/repository/entities/task.py +7 -0
  272. solace_agent_mesh/gateway/http_sse/repository/feedback_repository.py +47 -0
  273. solace_agent_mesh/gateway/http_sse/repository/interfaces.py +114 -6
  274. solace_agent_mesh/gateway/http_sse/repository/models/__init__.py +13 -0
  275. solace_agent_mesh/gateway/http_sse/repository/models/project_model.py +51 -0
  276. solace_agent_mesh/gateway/http_sse/repository/models/project_user_model.py +75 -0
  277. solace_agent_mesh/gateway/http_sse/repository/models/prompt_model.py +159 -0
  278. solace_agent_mesh/gateway/http_sse/repository/models/session_model.py +8 -2
  279. solace_agent_mesh/gateway/http_sse/repository/models/task_model.py +8 -1
  280. solace_agent_mesh/gateway/http_sse/repository/project_repository.py +172 -0
  281. solace_agent_mesh/gateway/http_sse/repository/project_user_repository.py +186 -0
  282. solace_agent_mesh/gateway/http_sse/repository/session_repository.py +177 -11
  283. solace_agent_mesh/gateway/http_sse/repository/task_repository.py +86 -2
  284. solace_agent_mesh/gateway/http_sse/routers/agent_cards.py +38 -7
  285. solace_agent_mesh/gateway/http_sse/routers/artifacts.py +256 -58
  286. solace_agent_mesh/gateway/http_sse/routers/auth.py +168 -134
  287. solace_agent_mesh/gateway/http_sse/routers/config.py +302 -8
  288. solace_agent_mesh/gateway/http_sse/routers/dto/project_dto.py +69 -0
  289. solace_agent_mesh/gateway/http_sse/routers/dto/prompt_dto.py +255 -0
  290. solace_agent_mesh/gateway/http_sse/routers/dto/requests/project_requests.py +48 -0
  291. solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py +14 -1
  292. solace_agent_mesh/gateway/http_sse/routers/dto/responses/base_responses.py +1 -1
  293. solace_agent_mesh/gateway/http_sse/routers/dto/responses/project_responses.py +31 -0
  294. solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py +5 -2
  295. solace_agent_mesh/gateway/http_sse/routers/dto/responses/version_responses.py +31 -0
  296. solace_agent_mesh/gateway/http_sse/routers/feedback.py +133 -2
  297. solace_agent_mesh/gateway/http_sse/routers/people.py +2 -2
  298. solace_agent_mesh/gateway/http_sse/routers/projects.py +768 -0
  299. solace_agent_mesh/gateway/http_sse/routers/prompts.py +1416 -0
  300. solace_agent_mesh/gateway/http_sse/routers/sessions.py +167 -7
  301. solace_agent_mesh/gateway/http_sse/routers/speech.py +355 -0
  302. solace_agent_mesh/gateway/http_sse/routers/sse.py +131 -8
  303. solace_agent_mesh/gateway/http_sse/routers/tasks.py +670 -18
  304. solace_agent_mesh/gateway/http_sse/routers/users.py +1 -1
  305. solace_agent_mesh/gateway/http_sse/routers/version.py +343 -0
  306. solace_agent_mesh/gateway/http_sse/routers/visualization.py +92 -9
  307. solace_agent_mesh/gateway/http_sse/services/audio_service.py +1227 -0
  308. solace_agent_mesh/gateway/http_sse/services/background_task_monitor.py +186 -0
  309. solace_agent_mesh/gateway/http_sse/services/data_retention_service.py +1 -1
  310. solace_agent_mesh/gateway/http_sse/services/feedback_service.py +1 -1
  311. solace_agent_mesh/gateway/http_sse/services/project_service.py +930 -0
  312. solace_agent_mesh/gateway/http_sse/services/prompt_builder_assistant.py +303 -0
  313. solace_agent_mesh/gateway/http_sse/services/session_service.py +361 -12
  314. solace_agent_mesh/gateway/http_sse/services/task_logger_service.py +354 -4
  315. solace_agent_mesh/gateway/http_sse/session_manager.py +15 -15
  316. solace_agent_mesh/gateway/http_sse/sse_manager.py +286 -166
  317. solace_agent_mesh/gateway/http_sse/utils/artifact_copy_utils.py +370 -0
  318. solace_agent_mesh/gateway/http_sse/utils/stim_utils.py +41 -1
  319. solace_agent_mesh/services/__init__.py +0 -0
  320. solace_agent_mesh/services/platform/__init__.py +29 -0
  321. solace_agent_mesh/services/platform/alembic/env.py +85 -0
  322. solace_agent_mesh/services/platform/alembic/script.py.mako +28 -0
  323. solace_agent_mesh/services/platform/alembic.ini +109 -0
  324. solace_agent_mesh/services/platform/api/__init__.py +3 -0
  325. solace_agent_mesh/services/platform/api/dependencies.py +154 -0
  326. solace_agent_mesh/services/platform/api/main.py +314 -0
  327. solace_agent_mesh/services/platform/api/middleware.py +51 -0
  328. solace_agent_mesh/services/platform/api/routers/__init__.py +33 -0
  329. solace_agent_mesh/services/platform/api/routers/health_router.py +31 -0
  330. solace_agent_mesh/services/platform/app.py +215 -0
  331. solace_agent_mesh/services/platform/component.py +777 -0
  332. solace_agent_mesh/shared/__init__.py +14 -0
  333. solace_agent_mesh/shared/api/__init__.py +42 -0
  334. solace_agent_mesh/shared/auth/__init__.py +26 -0
  335. solace_agent_mesh/shared/auth/dependencies.py +204 -0
  336. solace_agent_mesh/shared/auth/middleware.py +347 -0
  337. solace_agent_mesh/shared/database/__init__.py +20 -0
  338. solace_agent_mesh/{gateway/http_sse/shared → shared/database}/base_repository.py +1 -1
  339. solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_exceptions.py +1 -1
  340. solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_helpers.py +1 -1
  341. solace_agent_mesh/shared/exceptions/__init__.py +36 -0
  342. solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exception_handlers.py +19 -5
  343. solace_agent_mesh/shared/utils/__init__.py +21 -0
  344. solace_agent_mesh/templates/logging_config_template.yaml +48 -0
  345. solace_agent_mesh/templates/main_orchestrator.yaml +12 -1
  346. solace_agent_mesh/templates/platform.yaml +49 -0
  347. solace_agent_mesh/templates/plugin_readme_template.md +3 -25
  348. solace_agent_mesh/templates/plugin_tool_config_template.yaml +109 -0
  349. solace_agent_mesh/templates/proxy_template.yaml +62 -0
  350. solace_agent_mesh/templates/webui.yaml +148 -6
  351. solace_agent_mesh/tools/web_search/__init__.py +18 -0
  352. solace_agent_mesh/tools/web_search/base.py +84 -0
  353. solace_agent_mesh/tools/web_search/google_search.py +247 -0
  354. solace_agent_mesh/tools/web_search/models.py +99 -0
  355. {solace_agent_mesh-1.6.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/METADATA +31 -12
  356. solace_agent_mesh-1.13.2.dist-info/RECORD +591 -0
  357. {solace_agent_mesh-1.6.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/WHEEL +1 -1
  358. solace_agent_mesh/agent/adk/adk_llm.txt +0 -232
  359. solace_agent_mesh/agent/adk/adk_llm_detail.txt +0 -566
  360. solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +0 -171
  361. solace_agent_mesh/agent/adk/models/models_llm.txt +0 -142
  362. solace_agent_mesh/agent/agent_llm.txt +0 -378
  363. solace_agent_mesh/agent/agent_llm_detail.txt +0 -1702
  364. solace_agent_mesh/agent/protocol/protocol_llm.txt +0 -81
  365. solace_agent_mesh/agent/protocol/protocol_llm_detail.txt +0 -92
  366. solace_agent_mesh/agent/sac/sac_llm.txt +0 -189
  367. solace_agent_mesh/agent/sac/sac_llm_detail.txt +0 -200
  368. solace_agent_mesh/agent/testing/testing_llm.txt +0 -57
  369. solace_agent_mesh/agent/testing/testing_llm_detail.txt +0 -68
  370. solace_agent_mesh/agent/tools/tools_llm.txt +0 -263
  371. solace_agent_mesh/agent/tools/tools_llm_detail.txt +0 -274
  372. solace_agent_mesh/agent/utils/utils_llm.txt +0 -138
  373. solace_agent_mesh/agent/utils/utils_llm_detail.txt +0 -149
  374. solace_agent_mesh/assets/docs/assets/js/15ba94aa.932dd2db.js +0 -1
  375. solace_agent_mesh/assets/docs/assets/js/17896441.a5e82f9b.js +0 -2
  376. solace_agent_mesh/assets/docs/assets/js/240a0364.7eac6021.js +0 -1
  377. solace_agent_mesh/assets/docs/assets/js/2e32b5e0.33f5d75b.js +0 -1
  378. solace_agent_mesh/assets/docs/assets/js/3a6c6137.f5940cfa.js +0 -1
  379. solace_agent_mesh/assets/docs/assets/js/3ac1795d.76654dd9.js +0 -1
  380. solace_agent_mesh/assets/docs/assets/js/3ff0015d.2be20244.js +0 -1
  381. solace_agent_mesh/assets/docs/assets/js/547e15cc.2cbb060a.js +0 -1
  382. solace_agent_mesh/assets/docs/assets/js/55b7b518.f2b1d1ba.js +0 -1
  383. solace_agent_mesh/assets/docs/assets/js/5c2bd65f.eda4bcb2.js +0 -1
  384. solace_agent_mesh/assets/docs/assets/js/631738c7.a8b1ef8b.js +0 -1
  385. solace_agent_mesh/assets/docs/assets/js/6a520c9d.ba015d81.js +0 -1
  386. solace_agent_mesh/assets/docs/assets/js/6ad8f0bd.f4b15f3b.js +0 -1
  387. solace_agent_mesh/assets/docs/assets/js/6d84eae0.4a5fbf39.js +0 -1
  388. solace_agent_mesh/assets/docs/assets/js/71da7b71.38583438.js +0 -1
  389. solace_agent_mesh/assets/docs/assets/js/8024126c.56e59919.js +0 -1
  390. solace_agent_mesh/assets/docs/assets/js/81a99df0.07034dd9.js +0 -1
  391. solace_agent_mesh/assets/docs/assets/js/82fbfb93.139a1a1f.js +0 -1
  392. solace_agent_mesh/assets/docs/assets/js/924ffdeb.8095e148.js +0 -1
  393. solace_agent_mesh/assets/docs/assets/js/94e8668d.b5ddb7a1.js +0 -1
  394. solace_agent_mesh/assets/docs/assets/js/9bb13469.dd1c9b54.js +0 -1
  395. solace_agent_mesh/assets/docs/assets/js/a94703ab.0438dbc2.js +0 -1
  396. solace_agent_mesh/assets/docs/assets/js/ab9708a8.3e6dd091.js +0 -1
  397. solace_agent_mesh/assets/docs/assets/js/c93cbaa0.eaff365e.js +0 -1
  398. solace_agent_mesh/assets/docs/assets/js/da0b5bad.d08a9466.js +0 -1
  399. solace_agent_mesh/assets/docs/assets/js/dd817ffc.0aa9630a.js +0 -1
  400. solace_agent_mesh/assets/docs/assets/js/dd81e2b8.d590bc9e.js +0 -1
  401. solace_agent_mesh/assets/docs/assets/js/de915948.27d6b065.js +0 -1
  402. solace_agent_mesh/assets/docs/assets/js/e3d9abda.6b9493d0.js +0 -1
  403. solace_agent_mesh/assets/docs/assets/js/e6f9706b.e74a984d.js +0 -1
  404. solace_agent_mesh/assets/docs/assets/js/e92d0134.cf6d6522.js +0 -1
  405. solace_agent_mesh/assets/docs/assets/js/f284c35a.42f59cdd.js +0 -1
  406. solace_agent_mesh/assets/docs/assets/js/ff4d71f2.15b02f97.js +0 -1
  407. solace_agent_mesh/assets/docs/assets/js/main.b12eac43.js +0 -2
  408. solace_agent_mesh/assets/docs/assets/js/runtime~main.e268214e.js +0 -1
  409. solace_agent_mesh/assets/docs/lunr-index-1761248203150.json +0 -1
  410. solace_agent_mesh/assets/docs/search-doc-1761248203150.json +0 -1
  411. solace_agent_mesh/cli/commands/add_cmd/add_cmd_llm.txt +0 -250
  412. solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +0 -365
  413. solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +0 -305
  414. solace_agent_mesh/client/webui/frontend/static/assets/client-CaY59VuC.js +0 -25
  415. solace_agent_mesh/client/webui/frontend/static/assets/main-B32noGmR.js +0 -342
  416. solace_agent_mesh/client/webui/frontend/static/assets/main-DHJKSW1S.css +0 -1
  417. solace_agent_mesh/client/webui/frontend/static/assets/vendor-BEmvJSYz.js +0 -405
  418. solace_agent_mesh/common/a2a/a2a_llm.txt +0 -182
  419. solace_agent_mesh/common/a2a/a2a_llm_detail.txt +0 -193
  420. solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +0 -407
  421. solace_agent_mesh/common/a2a_spec/a2a_spec_llm_detail.txt +0 -736
  422. solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +0 -313
  423. solace_agent_mesh/common/common_llm.txt +0 -251
  424. solace_agent_mesh/common/common_llm_detail.txt +0 -2562
  425. solace_agent_mesh/common/middleware/middleware_llm.txt +0 -174
  426. solace_agent_mesh/common/middleware/middleware_llm_detail.txt +0 -185
  427. solace_agent_mesh/common/sac/sac_llm.txt +0 -71
  428. solace_agent_mesh/common/sac/sac_llm_detail.txt +0 -82
  429. solace_agent_mesh/common/sam_events/sam_events_llm.txt +0 -104
  430. solace_agent_mesh/common/sam_events/sam_events_llm_detail.txt +0 -115
  431. solace_agent_mesh/common/services/providers/providers_llm.txt +0 -80
  432. solace_agent_mesh/common/services/services_llm.txt +0 -363
  433. solace_agent_mesh/common/services/services_llm_detail.txt +0 -459
  434. solace_agent_mesh/common/utils/embeds/embeds_llm.txt +0 -220
  435. solace_agent_mesh/common/utils/utils_llm.txt +0 -336
  436. solace_agent_mesh/common/utils/utils_llm_detail.txt +0 -572
  437. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-ByU1X1HD.js +0 -98
  438. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-61038fc6.js +0 -1
  439. solace_agent_mesh/config_portal/frontend/static/client/assets/root-BWvk5-gF.js +0 -10
  440. solace_agent_mesh/config_portal/frontend/static/client/assets/root-DxRwaWiE.css +0 -1
  441. solace_agent_mesh/core_a2a/core_a2a_llm.txt +0 -90
  442. solace_agent_mesh/core_a2a/core_a2a_llm_detail.txt +0 -101
  443. solace_agent_mesh/gateway/base/base_llm.txt +0 -224
  444. solace_agent_mesh/gateway/base/base_llm_detail.txt +0 -235
  445. solace_agent_mesh/gateway/gateway_llm.txt +0 -373
  446. solace_agent_mesh/gateway/gateway_llm_detail.txt +0 -3885
  447. solace_agent_mesh/gateway/http_sse/alembic/alembic_llm.txt +0 -295
  448. solace_agent_mesh/gateway/http_sse/alembic/versions/versions_llm.txt +0 -155
  449. solace_agent_mesh/gateway/http_sse/components/components_llm.txt +0 -105
  450. solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +0 -299
  451. solace_agent_mesh/gateway/http_sse/http_sse_llm_detail.txt +0 -3278
  452. solace_agent_mesh/gateway/http_sse/repository/entities/entities_llm.txt +0 -263
  453. solace_agent_mesh/gateway/http_sse/repository/models/models_llm.txt +0 -266
  454. solace_agent_mesh/gateway/http_sse/repository/repository_llm.txt +0 -340
  455. solace_agent_mesh/gateway/http_sse/routers/dto/dto_llm.txt +0 -346
  456. solace_agent_mesh/gateway/http_sse/routers/dto/requests/requests_llm.txt +0 -83
  457. solace_agent_mesh/gateway/http_sse/routers/dto/responses/responses_llm.txt +0 -107
  458. solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +0 -314
  459. solace_agent_mesh/gateway/http_sse/services/services_llm.txt +0 -297
  460. solace_agent_mesh/gateway/http_sse/shared/__init__.py +0 -146
  461. solace_agent_mesh/gateway/http_sse/shared/shared_llm.txt +0 -285
  462. solace_agent_mesh/gateway/http_sse/utils/utils_llm.txt +0 -47
  463. solace_agent_mesh/llm.txt +0 -228
  464. solace_agent_mesh/llm_detail.txt +0 -2835
  465. solace_agent_mesh/solace_agent_mesh_llm.txt +0 -362
  466. solace_agent_mesh/solace_agent_mesh_llm_detail.txt +0 -8599
  467. solace_agent_mesh/templates/logging_config_template.ini +0 -45
  468. solace_agent_mesh/templates/templates_llm.txt +0 -147
  469. solace_agent_mesh-1.6.1.dist-info/RECORD +0 -525
  470. /solace_agent_mesh/assets/docs/assets/js/{main.b12eac43.js.LICENSE.txt → main.d634009f.js.LICENSE.txt} +0 -0
  471. /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/auth_utils.py +0 -0
  472. /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/pagination.py +0 -0
  473. /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/response_utils.py +0 -0
  474. /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/error_dto.py +0 -0
  475. /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exceptions.py +0 -0
  476. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/enums.py +0 -0
  477. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/timestamp_utils.py +0 -0
  478. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/types.py +0 -0
  479. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/utils.py +0 -0
  480. {solace_agent_mesh-1.6.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/entry_points.txt +0 -0
  481. {solace_agent_mesh-1.6.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/licenses/LICENSE +0 -0
@@ -1,313 +0,0 @@
1
- # DEVELOPER GUIDE: schemas
2
-
3
- ## Quick Summary
4
- This directory contains JSON Schema definitions for various agent-to-agent (A2A) communication signals in the Solace Agent Mesh. These schemas define the structure and validation rules for different types of progress updates, tool invocations, and LLM interactions that agents can send to each other.
5
-
6
- ## Files Overview
7
- - `agent_progress_update.json` - Schema for general agent progress status messages
8
- - `artifact_creation_progress.json` - Schema for tracking file/artifact creation progress with chunked data
9
- - `llm_invocation.json` - Schema for LLM model invocation signals with usage tracking
10
- - `tool_invocation_start.json` - Schema for tool execution start notifications
11
- - `tool_result.json` - Schema for tool execution completion results with optional LLM usage
12
- - `schemas_llm.txt` - Previous developer guide (legacy documentation)
13
-
14
- ## Developer API Reference
15
-
16
- ### agent_progress_update.json
17
- **Purpose:** Defines the schema for agent progress update signals that communicate human-readable status messages between agents.
18
-
19
- **Import:** Load as JSON schema for validation
20
- ```python
21
- import json
22
- from jsonschema import validate
23
- ```
24
-
25
- **Schema Structure:**
26
- ```json
27
- {
28
- "type": "agent_progress_update",
29
- "status_text": "string"
30
- }
31
- ```
32
-
33
- **Properties:**
34
- - `type: "agent_progress_update"` - Constant identifier for this signal type (required)
35
- - `status_text: string` - Human-readable progress message (required)
36
-
37
- **Usage Examples:**
38
- ```python
39
- import json
40
- from jsonschema import validate
41
-
42
- # Load and use schema
43
- with open('solace_agent_mesh/common/a2a_spec/schemas/agent_progress_update.json') as f:
44
- schema = json.load(f)
45
-
46
- # Valid data example
47
- data = {
48
- "type": "agent_progress_update",
49
- "status_text": "Analyzing the report..."
50
- }
51
- validate(instance=data, schema=schema)
52
- ```
53
-
54
- ### artifact_creation_progress.json
55
- **Purpose:** Defines the schema for tracking progress during file or artifact creation operations with chunked data transfer.
56
-
57
- **Import:** Load as JSON schema for validation
58
- ```python
59
- import json
60
- from jsonschema import validate
61
- ```
62
-
63
- **Schema Structure:**
64
- ```json
65
- {
66
- "type": "artifact_creation_progress",
67
- "filename": "string",
68
- "bytes_saved": "integer",
69
- "artifact_chunk": "string"
70
- }
71
- ```
72
-
73
- **Properties:**
74
- - `type: "artifact_creation_progress"` - Constant identifier for this signal type (required)
75
- - `filename: string` - Name of the artifact being created (required)
76
- - `bytes_saved: integer` - Number of bytes saved so far (required)
77
- - `artifact_chunk: string` - The chunk of artifact data that was saved in this update (required)
78
-
79
- **Usage Examples:**
80
- ```python
81
- import json
82
- from jsonschema import validate
83
-
84
- # Load and use schema
85
- with open('solace_agent_mesh/common/a2a_spec/schemas/artifact_creation_progress.json') as f:
86
- schema = json.load(f)
87
-
88
- # Valid data example
89
- data = {
90
- "type": "artifact_creation_progress",
91
- "filename": "report.pdf",
92
- "bytes_saved": 1024,
93
- "artifact_chunk": "JVBERi0xLjQKJcOkw7zDtsO..."
94
- }
95
- validate(instance=data, schema=schema)
96
- ```
97
-
98
- ### llm_invocation.json
99
- **Purpose:** Defines the schema for LLM invocation signals that communicate when an agent is calling a language model, including token usage tracking.
100
-
101
- **Import:** Load as JSON schema for validation
102
- ```python
103
- import json
104
- from jsonschema import validate
105
- ```
106
-
107
- **Schema Structure:**
108
- ```json
109
- {
110
- "type": "llm_invocation",
111
- "request": "object",
112
- "usage": {
113
- "input_tokens": "integer",
114
- "output_tokens": "integer",
115
- "cached_input_tokens": "integer",
116
- "model": "string"
117
- }
118
- }
119
- ```
120
-
121
- **Properties:**
122
- - `type: "llm_invocation"` - Constant identifier for this signal type (required)
123
- - `request: object` - Sanitized representation of the LlmRequest object sent to the model (required)
124
- - `usage: object` - Token usage information for this LLM call (optional)
125
- - `input_tokens: integer` - Number of input/prompt tokens (required in usage)
126
- - `output_tokens: integer` - Number of output/completion tokens (required in usage)
127
- - `cached_input_tokens: integer` - Number of cached input tokens (optional)
128
- - `model: string` - Model identifier used for this call (required in usage)
129
-
130
- **Usage Examples:**
131
- ```python
132
- import json
133
- from jsonschema import validate
134
-
135
- # Load and use schema
136
- with open('solace_agent_mesh/common/a2a_spec/schemas/llm_invocation.json') as f:
137
- schema = json.load(f)
138
-
139
- # Valid data example with usage tracking
140
- data = {
141
- "type": "llm_invocation",
142
- "request": {
143
- "model": "gpt-4",
144
- "messages": [{"role": "user", "content": "Analyze this data"}],
145
- "temperature": 0.7
146
- },
147
- "usage": {
148
- "input_tokens": 150,
149
- "output_tokens": 75,
150
- "cached_input_tokens": 50,
151
- "model": "gpt-4"
152
- }
153
- }
154
- validate(instance=data, schema=schema)
155
- ```
156
-
157
- ### tool_invocation_start.json
158
- **Purpose:** Defines the schema for tool invocation start signals that notify when an agent begins executing a tool.
159
-
160
- **Import:** Load as JSON schema for validation
161
- ```python
162
- import json
163
- from jsonschema import validate
164
- ```
165
-
166
- **Schema Structure:**
167
- ```json
168
- {
169
- "type": "tool_invocation_start",
170
- "tool_name": "string",
171
- "tool_args": "object",
172
- "function_call_id": "string"
173
- }
174
- ```
175
-
176
- **Properties:**
177
- - `type: "tool_invocation_start"` - Constant identifier for this signal type (required)
178
- - `tool_name: string` - Name of the tool being called (required)
179
- - `tool_args: object` - Arguments passed to the tool (required)
180
- - `function_call_id: string` - ID from the LLM's function call (required)
181
-
182
- **Usage Examples:**
183
- ```python
184
- import json
185
- from jsonschema import validate
186
-
187
- # Load and use schema
188
- with open('solace_agent_mesh/common/a2a_spec/schemas/tool_invocation_start.json') as f:
189
- schema = json.load(f)
190
-
191
- # Valid data example
192
- data = {
193
- "type": "tool_invocation_start",
194
- "tool_name": "file_reader",
195
- "tool_args": {
196
- "filepath": "/path/to/file.txt",
197
- "encoding": "utf-8"
198
- },
199
- "function_call_id": "call_abc123"
200
- }
201
- validate(instance=data, schema=schema)
202
- ```
203
-
204
- ### tool_result.json
205
- **Purpose:** Defines the schema for tool execution result signals that communicate the completion and results of tool invocations, with optional LLM usage tracking.
206
-
207
- **Import:** Load as JSON schema for validation
208
- ```python
209
- import json
210
- from jsonschema import validate
211
- ```
212
-
213
- **Schema Structure:**
214
- ```json
215
- {
216
- "type": "tool_result",
217
- "tool_name": "string",
218
- "result_data": "any",
219
- "function_call_id": "string",
220
- "llm_usage": {
221
- "input_tokens": "integer",
222
- "output_tokens": "integer",
223
- "cached_input_tokens": "integer",
224
- "model": "string"
225
- }
226
- }
227
- ```
228
-
229
- **Properties:**
230
- - `type: "tool_result"` - Constant identifier for this signal type (required)
231
- - `tool_name: string` - Name of the tool that was called (required)
232
- - `result_data: any` - The data returned by the tool (required, can be any type)
233
- - `function_call_id: string` - ID from the LLM's function call that this result corresponds to (required)
234
- - `llm_usage: object` - Token usage if this tool made LLM calls (optional)
235
- - `input_tokens: integer` - Total input tokens used by tool's LLM calls (required in llm_usage)
236
- - `output_tokens: integer` - Total output tokens used by tool's LLM calls (required in llm_usage)
237
- - `cached_input_tokens: integer` - Number of cached input tokens (optional)
238
- - `model: string` - Model identifier(s) used by the tool (required in llm_usage)
239
-
240
- **Usage Examples:**
241
- ```python
242
- import json
243
- from jsonschema import validate
244
-
245
- # Load and use schema
246
- with open('solace_agent_mesh/common/a2a_spec/schemas/tool_result.json') as f:
247
- schema = json.load(f)
248
-
249
- # Valid data example with LLM usage
250
- data = {
251
- "type": "tool_result",
252
- "tool_name": "web_search",
253
- "result_data": {
254
- "results": ["Result 1", "Result 2"],
255
- "count": 2
256
- },
257
- "function_call_id": "call_abc123",
258
- "llm_usage": {
259
- "input_tokens": 200,
260
- "output_tokens": 100,
261
- "model": "gpt-4"
262
- }
263
- }
264
- validate(instance=data, schema=schema)
265
- ```
266
-
267
- **Common Usage Pattern:**
268
- ```python
269
- import json
270
- from jsonschema import validate
271
- from pathlib import Path
272
- from typing import Dict, Any
273
-
274
- def validate_a2a_signal(signal_data: Dict[str, Any], schema_name: str) -> bool:
275
- """Validate A2A signal data against its schema."""
276
- schema_path = Path(f"solace_agent_mesh/common/a2a_spec/schemas/{schema_name}.json")
277
-
278
- with open(schema_path) as f:
279
- schema = json.load(f)
280
-
281
- try:
282
- validate(instance=signal_data, schema=schema)
283
- return True
284
- except Exception as e:
285
- print(f"Validation failed: {e}")
286
- return False
287
-
288
- def load_schema(schema_name: str) -> Dict[str, Any]:
289
- """Load a specific A2A signal schema."""
290
- schema_path = Path(f"solace_agent_mesh/common/a2a_spec/schemas/{schema_name}.json")
291
- with open(schema_path) as f:
292
- return json.load(f)
293
-
294
- # Example usage
295
- progress_data = {
296
- "type": "agent_progress_update",
297
- "status_text": "Processing request..."
298
- }
299
-
300
- if validate_a2a_signal(progress_data, "agent_progress_update"):
301
- print("Signal is valid!")
302
-
303
- # Load all schemas for batch validation
304
- schemas = {
305
- "agent_progress": load_schema("agent_progress_update"),
306
- "artifact_progress": load_schema("artifact_creation_progress"),
307
- "llm_invocation": load_schema("llm_invocation"),
308
- "tool_start": load_schema("tool_invocation_start"),
309
- "tool_result": load_schema("tool_result")
310
- }
311
- ```
312
-
313
- # content_hash: 8d0325636918fd8bdabc0ba61bed79ae2b2be06778893406197aebfb7c3e3a21
@@ -1,251 +0,0 @@
1
- # DEVELOPER GUIDE: common
2
-
3
- ## Quick Summary
4
- The `common` directory provides the foundational infrastructure for Agent-to-Agent (A2A) communication within the Solace Agent Mesh. It establishes the core protocol, data types, and message translation logic that underpins all interactions between AI agents and gateways.
5
-
6
- The architecture is designed for clarity and extensibility. Core, low-level definitions are located in **direct files**:
7
- - `types.py` defines the canonical data structures (e.g., `Message`, `Task`, `AgentCard`).
8
- - `a2a_protocol.py` handles the construction of Solace topics and the translation between A2A and Google ADK message formats.
9
- - `agent_registry.py` provides a simple, thread-safe mechanism for discovering and tracking available agents.
10
-
11
- This foundation is then leveraged by specialized **subdirectories**, which provide higher-level, ready-to-use components:
12
- - `client/`: A complete client library for discovering and interacting with remote agents.
13
- - `server/`: A stand-alone server implementation for building A2A-compliant agents.
14
- - `middleware/`: A pluggable framework for customizing configuration and feature access.
15
- - `services/`: A factory-based system for integrating identity and other external data sources.
16
- - `utils/`: A collection of cross-cutting utilities for caching, logging, and dynamic content processing.
17
-
18
- Together, these components form a cohesive ecosystem, enabling developers to either build new agents from scratch using the `server` components or interact with existing agents using the `client` library, all while relying on the same underlying protocol and types.
19
-
20
- ## Files and Subdirectories Overview
21
- - **Direct files:**
22
- - `__init__.py`: Package initialization file.
23
- - `a2a_protocol.py`: Handles A2A topic construction and translation between A2A and ADK message formats.
24
- - `agent_registry.py`: A thread-safe registry for managing discovered agent cards.
25
- - `constants.py`: Common constants used across the system.
26
- - `data_parts.py`: Pydantic models for structured data payloads used in A2A DataPart objects.
27
- - `exceptions.py`: Custom exceptions for Solace Agent Mesh.
28
- - `types.py`: Contains all Pydantic models for A2A protocol messages, tasks, and data structures.
29
- - **Subdirectories:**
30
- - `a2a/`: Comprehensive abstraction layer providing helper functions for creating, consuming, and translating A2A protocol objects.
31
- - `a2a_spec/`: Complete JSON Schema specification for the A2A protocol.
32
- - `client/`: Provides a high-level client for discovering and communicating with remote A2A agents.
33
- - `middleware/`: A pluggable framework for configuration resolution and system extensibility.
34
- - `sac/`: Base component framework for Solace Agent Mesh implementations in the Solace AI Connector.
35
- - `sam_events/`: System-level event messaging for session lifecycle, agent health, and configuration changes.
36
- - `server/`: A complete A2A server implementation with JSON-RPC support and task management.
37
- - `services/`: Provides shared services like identity management using a factory pattern.
38
- - `utils/`: Contains common utility functions and an embedded expression processing system.
39
-
40
- ## Developer API Reference
41
-
42
- ### Direct Files
43
-
44
- #### a2a_protocol.py
45
- **Purpose:** Provides the core functions for constructing Solace topics according to the A2A specification and for translating messages between the A2A format and the Google ADK format.
46
- **Import:** `from solace_agent_mesh.common.a2a_protocol import get_agent_request_topic, translate_a2a_to_adk_content`
47
-
48
- **Classes/Functions/Constants:**
49
- - **Constants**:
50
- - `A2A_VERSION: str`: The current version of the A2A protocol (e.g., "v1").
51
- - `A2A_BASE_PATH: str`: The base path used in all A2A topics (e.g., "a2a/v1").
52
- - **Topic Construction Functions**:
53
- - `get_a2a_base_topic(namespace: str) -> str`: Returns the base topic prefix for all A2A communication.
54
- - `get_discovery_topic(namespace: str) -> str`: Returns the topic for agent card discovery.
55
- - `get_agent_request_topic(namespace: str, agent_name: str) -> str`: Returns the topic for sending requests to a specific agent.
56
- - `get_gateway_status_topic(namespace: str, gateway_id: str, task_id: str) -> str`: Returns the topic for an agent to publish status updates to a gateway.
57
- - `get_gateway_response_topic(namespace: str, gateway_id: str, task_id: str) -> str`: Returns the topic for an agent to publish final responses to a gateway.
58
- - `get_client_response_topic(namespace: str, client_id: str) -> str`: Returns the topic for publishing final responses to a specific client.
59
- - `get_client_status_topic(namespace: str, client_id: str, task_id: str) -> str`: Returns the topic for publishing status updates to a specific client.
60
- - **Message Translation Functions**:
61
- - `translate_a2a_to_adk_content(a2a_message: A2AMessage, log_identifier: str) -> adk_types.Content`: Translates an A2A `Message` object into the Google ADK `Content` format.
62
- - `format_adk_event_as_a2a(...) -> Tuple[Optional[JSONRPCResponse], ...]`: Translates an ADK `Event` into an A2A `JSONRPCResponse` containing a `TaskStatusUpdateEvent`.
63
- - `format_and_route_adk_event(...) -> Tuple[Optional[Dict], Optional[str], ...]`: A higher-level wrapper that formats an ADK event and determines the correct Solace topic to publish it to.
64
-
65
- #### agent_registry.py
66
- **Purpose:** Provides a simple, thread-safe, in-memory store for discovered `AgentCard` objects. This is useful for components that need to keep track of available agents in the network.
67
- **Import:** `from solace_agent_mesh.common.agent_registry import AgentRegistry`
68
-
69
- **Classes/Functions/Constants:**
70
- - **`AgentRegistry`**: A thread-safe class for storing and managing agent cards.
71
- - `add_or_update_agent(self, agent_card: AgentCard)`: Adds a new agent or updates an existing one.
72
- - `get_agent(self, agent_name: str) -> Optional[AgentCard]`: Retrieves an agent card by its unique name.
73
- - `get_agent_names(self) -> List[str]`: Returns a sorted list of all discovered agent names.
74
- - `clear(self)`: Clears all agents from the registry.
75
-
76
- #### constants.py
77
- **Purpose:** Defines common constants used throughout the Solace Agent Mesh system.
78
- **Import:** `from solace_agent_mesh.common.constants import DEFAULT_COMMUNICATION_TIMEOUT`
79
-
80
- **Classes/Functions/Constants:**
81
- - `DEFAULT_COMMUNICATION_TIMEOUT: int`: Default timeout for communication operations (600 seconds / 10 minutes).
82
- - `TEXT_ARTIFACT_CONTEXT_MAX_LENGTH_CAPACITY: int`: Maximum number of characters that can be loaded from a text artifact (200,000).
83
- - `TEXT_ARTIFACT_CONTEXT_DEFAULT_LENGTH: int`: Default number of characters to load from a text artifact (100,000).
84
-
85
- #### data_parts.py
86
- **Purpose:** Defines Pydantic models for structured data payloads used in A2A DataPart objects, corresponding to JSON schemas for agent communication signals.
87
- **Import:** `from solace_agent_mesh.common.data_parts import ToolInvocationStartData, LlmInvocationData`
88
-
89
- **Classes/Functions/Constants:**
90
- - **`ToolInvocationStartData`**: Data model for tool invocation start signals.
91
- - `type: Literal["tool_invocation_start"]`: The constant type identifier.
92
- - `tool_name: str`: The name of the tool being called.
93
- - `tool_args: Dict[str, Any]`: The arguments passed to the tool.
94
- - `function_call_id: str`: The ID from the LLM's function call.
95
- - **`LlmInvocationData`**: Data model for LLM invocation signals.
96
- - `type: Literal["llm_invocation"]`: The constant type identifier.
97
- - `request: Dict[str, Any]`: A sanitized representation of the LlmRequest object.
98
- - `usage: Optional[Dict[str, Any]]`: Token usage information for this LLM call.
99
- - **`AgentProgressUpdateData`**: Data model for agent progress update signals.
100
- - `type: Literal["agent_progress_update"]`: The constant type identifier.
101
- - `status_text: str`: A human-readable progress message.
102
- - **`ArtifactCreationProgressData`**: Data model for artifact creation progress signals.
103
- - `type: Literal["artifact_creation_progress"]`: The constant type identifier.
104
- - `filename: str`: The name of the artifact being created.
105
- - `bytes_saved: int`: The number of bytes saved so far.
106
- - `artifact_chunk: str`: The chunk of artifact data that was saved in this progress update.
107
- - **`ToolResultData`**: Data model for tool execution result signals.
108
- - `type: Literal["tool_result"]`: The constant type identifier.
109
- - `tool_name: str`: The name of the tool that was called.
110
- - `result_data: Any`: The data returned by the tool.
111
- - `function_call_id: str`: The ID from the LLM's function call.
112
- - `llm_usage: Optional[Dict[str, Any]]`: Token usage if this tool made LLM calls.
113
-
114
- #### exceptions.py
115
- **Purpose:** Defines custom exceptions specific to the Solace Agent Mesh system.
116
- **Import:** `from solace_agent_mesh.common.exceptions import MessageSizeExceededError`
117
-
118
- **Classes/Functions/Constants:**
119
- - **`MessageSizeExceededError(Exception)`**: Raised when a message exceeds the maximum allowed size.
120
- - `__init__(self, actual_size: int, max_size: int, message: str = None)`: Initialize with size information.
121
- - `actual_size: int`: The actual size of the message in bytes.
122
- - `max_size: int`: The maximum allowed size in bytes.
123
-
124
- #### types.py
125
- **Purpose:** Defines all the Pydantic data models that constitute the A2A protocol. These types ensure data consistency and provide validation across all components.
126
- **Import:** `from solace_agent_mesh.common.types import Message, Task, AgentCard, JSONRPCRequest, TaskState`
127
-
128
- **Classes/Functions/Constants:**
129
- - **Core Data Structures**:
130
- - `Message`: Represents a message from a user or agent, containing a list of `Part` objects.
131
- - `Part`: A discriminated union of `TextPart`, `FilePart`, and `DataPart`.
132
- - `Task`: The central object representing a complete task, including its ID, status, history, and artifacts.
133
- - `TaskStatus`: Describes the current state of a task (e.g., `WORKING`, `COMPLETED`).
134
- - `TaskState(Enum)`: An enumeration of all possible task states.
135
- - `AgentCard`: A comprehensive description of an agent's identity, capabilities, and skills.
136
- - `Artifact`: Represents a task output, such as a generated file or structured data.
137
- - **JSON-RPC Structures**:
138
- - `JSONRPCRequest`: The base model for all JSON-RPC requests.
139
- - `JSONRPCResponse`: The base model for all JSON-RPC responses.
140
- - `SendTaskRequest`, `GetTaskRequest`, etc.: Specific request types inheriting from `JSONRPCRequest`.
141
- - **Error Structures**:
142
- - `JSONRPCError`: The base model for errors.
143
- - `InternalError`, `TaskNotFoundError`, etc.: Specific error types inheriting from `JSONRPCError`.
144
-
145
- ### Subdirectory APIs
146
-
147
- #### a2a/
148
- **Purpose:** Comprehensive abstraction layer providing helper functions for creating, consuming, and translating A2A protocol objects
149
- **Key Exports:** Helper functions for messages, tasks, artifacts, events, and protocol operations
150
- **Import Examples:**
151
- ```python
152
- from solace_agent_mesh.common.a2a import create_agent_text_message, create_initial_task, translate_a2a_to_adk_content
153
- from solace_agent_mesh.common.a2a.message import create_text_part, get_text_from_message
154
- from solace_agent_mesh.common.a2a.protocol import get_agent_request_topic, create_send_message_request
155
- ```
156
-
157
- #### a2a_spec/
158
- **Purpose:** Contains the complete Agent-to-Agent (A2A) communication specification including JSON schema definitions
159
- **Key Exports:** JSON Schema specifications for A2A protocol and agent communication signals
160
- **Import Examples:**
161
- ```python
162
- import json
163
- from jsonschema import validate
164
-
165
- # Load main A2A schema
166
- with open('solace_agent_mesh/common/a2a_spec/a2a.json') as f:
167
- a2a_schema = json.load(f)
168
- ```
169
-
170
- #### client/
171
- **Purpose:** Provides a high-level, asynchronous client library for discovering and interacting with remote A2A agents.
172
- **Key Exports:** `A2AClient`, `A2ACardResolver`
173
- **Import Examples:**
174
- ```python
175
- from solace_agent_mesh.common.client import A2AClient, A2ACardResolver
176
- ```
177
-
178
- #### middleware/
179
- **Purpose:** A pluggable middleware framework for customizing system behavior, such as resolving user-specific configurations and feature flags.
180
- **Key Exports:** `ConfigResolver`, `MiddlewareRegistry`
181
- **Import Examples:**
182
- ```python
183
- from solace_agent_mesh.common.middleware import ConfigResolver, MiddlewareRegistry
184
- ```
185
-
186
- #### sac/
187
- **Purpose:** Base component framework for Solace Agent Mesh implementations in the Solace AI Connector with async operations management
188
- **Key Exports:** `SamComponentBase`
189
- **Import Examples:**
190
- ```python
191
- from solace_agent_mesh.common.sac.sam_component_base import SamComponentBase
192
- ```
193
-
194
- #### sam_events/
195
- **Purpose:** System-level event messaging for session lifecycle, agent health, and configuration changes separate from A2A task communication
196
- **Key Exports:** `SamEventService`, `SamEvent`, `SessionDeletedEvent`
197
- **Import Examples:**
198
- ```python
199
- from solace_agent_mesh.common.sam_events import SamEventService, SamEvent, SessionDeletedEvent
200
- ```
201
-
202
- #### server/
203
- **Purpose:** A complete, stand-alone server for building A2A-compliant agents, handling HTTP requests, JSON-RPC, and task lifecycle management.
204
- **Key Exports:** `A2AServer`, `TaskManager`, `InMemoryTaskManager`
205
- **Import Examples:**
206
- ```python
207
- from solace_agent_mesh.common.server import A2AServer, TaskManager, InMemoryTaskManager
208
- ```
209
-
210
- #### services/
211
- **Purpose:** A factory-based system for integrating external data sources for identity, employee information, and more.
212
- **Key Exports:** `BaseIdentityService`, `create_identity_service`
213
- **Import Examples:**
214
- ```python
215
- from solace_agent_mesh.common.services.identity_service import create_identity_service, BaseIdentityService
216
- ```
217
-
218
- #### utils/
219
- **Purpose:** A collection of cross-cutting utilities for caching, logging, MIME type handling, and dynamic content processing.
220
- **Key Exports:** `InMemoryCache`, `is_text_based_mime_type`, `resolve_embeds_in_string`
221
- **Import Examples:**
222
- ```python
223
- from solace_agent_mesh.common.utils.in_memory_cache import InMemoryCache
224
- from solace_agent_mesh.common.utils import is_text_based_mime_type
225
- from solace_agent_mesh.common.utils.embeds import resolve_embeds_recursively_in_string
226
- ```
227
-
228
- ## Complete Usage Guide
229
-
230
- ### 1. Basic A2A Protocol Usage
231
- This example shows how to use the core protocol functions and types to build A2A communication.
232
-
233
- ```python
234
- import uuid
235
- from datetime import datetime, timezone
236
- from solace_agent_mesh.common.a2a_protocol import (
237
- get_agent_request_topic,
238
- get_gateway_status_topic,
239
- translate_a2a_to_adk_content
240
- )
241
- from solace_agent_mesh.common.types import (
242
- Message,
243
- TextPart,
244
- Task,
245
- TaskStatus,
246
- TaskState,
247
- AgentCard
248
- )
249
- from solace_
250
-
251
- # content_hash: 4cbf98260b5f5bef314fae44cf680520f4581948d2bfd8b08e7c6455bbcac1bc