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 +1 @@
1
- <?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/artifact-management</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/audio-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/data-analysis-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/embeds</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/cli</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/gateways</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/orchestrator</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/plugins</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/proxies</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/debugging</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/deployment-options</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/observability</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/create-agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/create-gateways</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/creating-python-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/creating-service-providers</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/evaluations</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/structure</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/bedrock-agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/custom-agent</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/event-mesh-gateway</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/mcp-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/mongodb-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/rag-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/rest-gateway</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/slack-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/sql-database</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/installation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/rbac-setup-guide</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/single-sign-on</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/architecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/introduction</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/try-agent-mesh</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/configurations</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/installation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/large_language_models</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/run-project</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
1
+ <?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/artifact-management</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/audio-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/data-analysis-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/embeds</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/image-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/builtin-tools/research-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/cli</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/gateways</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/orchestrator</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/platform-service</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/plugins</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/projects</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/prompts</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/proxies</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/components/speech</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/debugging</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/deployment-options</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/kubernetes/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/logging</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/observability</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/proxy_configuration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/create-agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/create-gateways</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/creating-python-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/creating-service-providers</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/evaluations</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/structure</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/bedrock-agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/custom-agent</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/event-mesh-gateway</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/mcp-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/mongodb-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/rag-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/rest-gateway</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/slack-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/sql-database</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/developing/tutorials/teams-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/agent-builder</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/connectors/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/installation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/openapi-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/rbac-setup-guide</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/secure-user-delegated-access</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/single-sign-on</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/enterprise/wheel-installation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/architecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/introduction</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/try-agent-mesh</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/vibe_coding</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/artifact-storage</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/configurations</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/installation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/large_language_models</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/run-project</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/session-storage</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/user-feedback</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/migrations/platform-service-split</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
@@ -1 +1 @@
1
- __version__ = "1.6.1"
1
+ __version__ = "1.13.2"
@@ -1,15 +1,17 @@
1
1
  import click
2
2
  from .agent_cmd import add_agent
3
3
  from .gateway_cmd import add_gateway
4
+ from .proxy_cmd import add_proxy
4
5
 
5
6
 
6
7
  @click.group(name="add")
7
8
  def add():
8
9
  """
9
- Creates templates for agents or gateways.
10
+ Creates templates for agents, gateways, or proxies.
10
11
  """
11
12
  pass
12
13
 
13
14
 
14
15
  add.add_command(add_agent, name="agent")
15
16
  add.add_command(add_gateway, name="gateway")
17
+ add.add_command(add_proxy, name="proxy")
@@ -5,7 +5,11 @@ from pathlib import Path
5
5
  import click
6
6
  import yaml
7
7
 
8
- from config_portal.backend.common import AGENT_DEFAULTS, USE_DEFAULT_SHARED_ARTIFACT, USE_DEFAULT_SHARED_SESSION
8
+ from config_portal.backend.common import (
9
+ AGENT_DEFAULTS,
10
+ USE_DEFAULT_SHARED_ARTIFACT,
11
+ USE_DEFAULT_SHARED_SESSION,
12
+ )
9
13
 
10
14
  from ...utils import (
11
15
  ask_if_not_provided,
@@ -143,6 +147,7 @@ def _write_agent_yaml_from_data(
143
147
  Dumper=yaml.SafeDumper,
144
148
  default_flow_style=False,
145
149
  indent=2,
150
+ sort_keys=False,
146
151
  ).strip()
147
152
 
148
153
  if "\n" in tools_replacement_value:
@@ -0,0 +1,100 @@
1
+ import sys
2
+ from pathlib import Path
3
+
4
+ import click
5
+
6
+ from ...utils import (
7
+ get_formatted_names,
8
+ load_template,
9
+ )
10
+
11
+
12
+ def _write_proxy_yaml(proxy_name_input: str, project_root: Path) -> tuple[bool, str, str]:
13
+ """
14
+ Writes the proxy YAML file based on proxy_template.yaml.
15
+
16
+ Args:
17
+ proxy_name_input: Name provided by user
18
+ project_root: Project root directory
19
+
20
+ Returns:
21
+ Tuple of (success, message, relative_file_path)
22
+ """
23
+ agents_config_dir = project_root / "configs" / "agents"
24
+ agents_config_dir.mkdir(parents=True, exist_ok=True)
25
+
26
+ formatted_names = get_formatted_names(proxy_name_input)
27
+ proxy_name_pascal = formatted_names["PASCAL_CASE_NAME"]
28
+ file_name_snake = formatted_names["SNAKE_CASE_NAME"]
29
+
30
+ proxy_config_file_path = agents_config_dir / f"{file_name_snake}_proxy.yaml"
31
+
32
+ try:
33
+ # Load template
34
+ template_content = load_template("proxy_template.yaml")
35
+
36
+ # Replace placeholder
37
+ modified_content = template_content.replace("__PROXY_NAME__", proxy_name_pascal)
38
+
39
+ # Write file
40
+ with open(proxy_config_file_path, "w", encoding="utf-8") as f:
41
+ f.write(modified_content)
42
+
43
+ relative_file_path = str(proxy_config_file_path.relative_to(project_root))
44
+ return (
45
+ True,
46
+ f"Proxy configuration created: {relative_file_path}",
47
+ relative_file_path,
48
+ )
49
+ except FileNotFoundError as e:
50
+ return (
51
+ False,
52
+ f"Error: Template file 'proxy_template.yaml' not found: {e}",
53
+ "",
54
+ )
55
+ except Exception as e:
56
+ import traceback
57
+ click.echo(
58
+ f"DEBUG: Error in _write_proxy_yaml: {e}\n{traceback.format_exc()}",
59
+ err=True,
60
+ )
61
+ return (
62
+ False,
63
+ f"Error creating proxy configuration file {proxy_config_file_path}: {e}",
64
+ "",
65
+ )
66
+
67
+
68
+ @click.command(name="proxy")
69
+ @click.argument("name", required=False)
70
+ @click.option(
71
+ "--skip",
72
+ is_flag=True,
73
+ help="Skip interactive prompts (creates proxy with default template).",
74
+ )
75
+ def add_proxy(name: str, skip: bool = False):
76
+ """
77
+ Creates a new A2A proxy configuration.
78
+
79
+ NAME: Name of the proxy component to create (e.g., my-proxy).
80
+ """
81
+ if not name:
82
+ click.echo(
83
+ click.style(
84
+ "Error: You must provide a proxy name.",
85
+ fg="red",
86
+ ),
87
+ err=True,
88
+ )
89
+ return
90
+
91
+ click.echo(f"Creating proxy configuration for '{name}'...")
92
+
93
+ project_root = Path.cwd()
94
+ success, message, _ = _write_proxy_yaml(name, project_root)
95
+
96
+ if success:
97
+ click.echo(click.style(message, fg="green"))
98
+ else:
99
+ click.echo(click.style(message, fg="red"), err=True)
100
+ sys.exit(1)
@@ -54,4 +54,7 @@ def docs(port: int):
54
54
  url = f"http://localhost:{port}/solace-agent-mesh/docs/documentation/getting-started/introduction/"
55
55
  click.echo(f"Starting documentation server on {url}")
56
56
  webbrowser.open_new_tab(url)
57
- httpd.serve_forever()
57
+ try:
58
+ httpd.serve_forever()
59
+ except KeyboardInterrupt:
60
+ click.echo("\nShutting down documentation server...")
@@ -35,7 +35,7 @@ def eval_cmd(test_suite_config_path, verbose):
35
35
 
36
36
  # Set logging config path for evaluation
37
37
  project_root = Path.cwd()
38
- logging_config_path = project_root / "configs" / "logging_config.ini"
38
+ logging_config_path = project_root / "configs" / "logging_config.yaml"
39
39
  if logging_config_path.exists():
40
40
  os.environ["LOGGING_CONFIG_PATH"] = str(logging_config_path.resolve())
41
41
 
@@ -8,6 +8,7 @@ from .directory_step import create_project_directories
8
8
  from .env_step import ENV_DEFAULTS, create_env_file
9
9
  from .orchestrator_step import ORCHESTRATOR_DEFAULTS as O_DEFAULTS
10
10
  from .orchestrator_step import create_orchestrator_config
11
+ from .platform_service_step import PLATFORM_SERVICE_DEFAULTS, create_platform_service_config
11
12
  from .project_files_step import create_project_files
12
13
  from .web_init_step import perform_web_init
13
14
  from .webui_gateway_step import WEBUI_GATEWAY_DEFAULTS, create_webui_gateway_config
@@ -107,6 +108,8 @@ DEFAULT_INIT_VALUES = {
107
108
  "webui_frontend_collect_feedback": WEBUI_GATEWAY_DEFAULTS.get(
108
109
  "frontend_collect_feedback", False
109
110
  ),
111
+ "platform_api_host": PLATFORM_SERVICE_DEFAULTS.get("platform_api_host"),
112
+ "platform_api_port": PLATFORM_SERVICE_DEFAULTS.get("platform_api_port"),
110
113
  }
111
114
 
112
115
 
@@ -164,6 +167,12 @@ def run_init_flow(skip_interactive: bool, use_web_based_init_flag: bool, **cli_o
164
167
  project_root, opts, skip, defs
165
168
  ),
166
169
  ),
170
+ (
171
+ "Platform Service Configuration",
172
+ lambda opts, defs, skip: create_platform_service_config(
173
+ project_root, opts, skip, defs
174
+ ),
175
+ ),
167
176
  (
168
177
  ".env File Creation",
169
178
  lambda opts, defs, skip: create_env_file(project_root, opts, skip),
@@ -410,6 +419,12 @@ def run_init_flow(skip_interactive: bool, use_web_based_init_flag: bool, **cli_o
410
419
  type=str,
411
420
  help="Database URL for the Orchestrator.",
412
421
  )
422
+ @click.option(
423
+ "--platform-api-host", type=str, help="Host for Platform API server."
424
+ )
425
+ @click.option(
426
+ "--platform-api-port", type=int, help="Port for Platform API server."
427
+ )
413
428
  def init(**kwargs):
414
429
  """
415
430
  Initialize a new Solace application project.
@@ -11,9 +11,9 @@ def create_project_directories(project_root: Path) -> bool:
11
11
  project_root / "configs",
12
12
  project_root / "configs" / "gateways",
13
13
  project_root / "configs" / "agents",
14
+ project_root / "configs" / "services",
14
15
  project_root / "src",
15
16
  ]
16
-
17
17
  click.echo("Creating directory structure...")
18
18
  for dir_path in dirs_to_create:
19
19
  try:
@@ -1,5 +1,7 @@
1
- import click
2
1
  from pathlib import Path
2
+
3
+ import click
4
+
3
5
  from ...utils import ask_if_not_provided
4
6
 
5
7
  ENV_DEFAULTS = {
@@ -21,10 +23,11 @@ ENV_DEFAULTS = {
21
23
  "SSL_KEYFILE": "",
22
24
  "SSL_CERTFILE": "",
23
25
  "SSL_KEYFILE_PASSWORD": "",
24
- "LOGGING_CONFIG_PATH": "configs/logging_config.ini",
26
+ "LOGGING_CONFIG_PATH": "configs/logging_config.yaml",
25
27
  "S3_BUCKET_NAME": "",
26
28
  "S3_ENDPOINT_URL": "",
27
29
  "S3_REGION": "us-east-1",
30
+ "PLATFORM_SERVICE_URL": None,
28
31
  "LLM_SERVICE_OAUTH_TOKEN_URL": "YOUR_LLM_SERVICE_OAUTH_TOKEN_URL_HERE",
29
32
  "LLM_SERVICE_OAUTH_CLIENT_ID": "YOUR_LLM_SERVICE_OAUTH_CLIENT_ID_HERE",
30
33
  "LLM_SERVICE_OAUTH_CLIENT_SECRET": "YOUR_LLM_SERVICE_OAUTH_CLIENT_SECRET_HERE",
@@ -33,7 +36,9 @@ ENV_DEFAULTS = {
33
36
  "LLM_SERVICE_OAUTH_TOKEN_REFRESH_BUFFER_SECONDS": "300",
34
37
  "LLM_SERVICE_OAUTH_PLANNING_MODEL_NAME": "YOUR_LLM_SERVICE_OAUTH_PLANNING_MODEL_NAME_HERE",
35
38
  "LLM_SERVICE_OAUTH_GENERAL_MODEL_NAME": "YOUR_LLM_SERVICE_OAUTH_GENERAL_MODEL_NAME_HERE",
36
- "LLM_SERVICE_OAUTH_ENDPOINT": "YOUR_LLM_SERVICE_OAUTH_ENDPOINT_HERE"
39
+ "LLM_SERVICE_OAUTH_ENDPOINT": "YOUR_LLM_SERVICE_OAUTH_ENDPOINT_HERE",
40
+ "PLATFORM_API_HOST": "127.0.0.1",
41
+ "PLATFORM_API_PORT": "8001",
37
42
  }
38
43
 
39
44
 
@@ -201,6 +206,20 @@ def create_env_file(project_root: Path, options: dict, skip_interactive: bool) -
201
206
  False,
202
207
  "S3_REGION",
203
208
  ),
209
+ (
210
+ "platform_api_host",
211
+ "PLATFORM_API_HOST",
212
+ "Enter Platform API Host",
213
+ False,
214
+ "PLATFORM_API_HOST",
215
+ ),
216
+ (
217
+ "platform_api_port",
218
+ "PLATFORM_API_PORT",
219
+ "Enter Platform API Port",
220
+ False,
221
+ "PLATFORM_API_PORT",
222
+ ),
204
223
  ]
205
224
 
206
225
  env_vars_to_write = {}
@@ -223,6 +242,14 @@ def create_env_file(project_root: Path, options: dict, skip_interactive: bool) -
223
242
  ):
224
243
  env_vars_to_write["NAMESPACE"] = str(env_vars_to_write["NAMESPACE"]) + "/"
225
244
 
245
+ # Handle Platform Service URL generation
246
+ frontend_is_ssl = env_vars_to_write.get("SSL_CERTFILE") and env_vars_to_write.get("SSL_KEYFILE")
247
+ if not env_vars_to_write.get("PLATFORM_SERVICE_URL"):
248
+ platform_url = "https://" if frontend_is_ssl else "http://"
249
+ platform_url += env_vars_to_write.get("PLATFORM_API_HOST") or "127.0.0.1"
250
+ platform_url += ":" + str(env_vars_to_write.get("PLATFORM_API_PORT") or 8001)
251
+ env_vars_to_write["PLATFORM_SERVICE_URL"] = platform_url
252
+
226
253
  final_env_vars = {k: v for k, v in env_vars_to_write.items() if v is not None}
227
254
  env_content_lines = [f'{key}="{value}"' for key, value in final_env_vars.items()]
228
255
 
@@ -336,8 +336,8 @@ def create_orchestrator_config(
336
336
  return False
337
337
 
338
338
  try:
339
- logging_config_dest_path = project_root / "configs" / "logging_config.ini"
340
- logging_template_content = load_template("logging_config_template.ini")
339
+ logging_config_dest_path = project_root / "configs" / "logging_config.yaml"
340
+ logging_template_content = load_template("logging_config_template.yaml")
341
341
  with open(logging_config_dest_path, "w", encoding="utf-8") as f:
342
342
  f.write(logging_template_content)
343
343
  click.echo(
@@ -382,8 +382,7 @@ def create_orchestrator_config(
382
382
  c. Direct Execution: If the task is not suitable for delegation (neither to a single agent nor a multi-agent sequence) and falls within your own capabilities, execute the task yourself.
383
383
 
384
384
  Artifact Management Guidelines:
385
- - If an artifact was created during the task (either by yourself or a delegated agent), you must use the `list_artifacts` tool to get the details of the created artifacts.
386
- - You must then review the list of artifacts and return the ones that are important for the user by using the `signal_artifact_for_return` tool.
385
+ - You must review your artifacts and return the ones that are important for the user by using artifact_return embed. You can use list_artifacts to see all available artifacts.
387
386
  - Provide regular progress updates using `status_update` embed directives, especially before initiating any tool call."""
388
387
 
389
388
  session_service_lines = [
@@ -0,0 +1,85 @@
1
+ import click
2
+ from pathlib import Path
3
+
4
+ from ...utils import ask_if_not_provided, load_template
5
+
6
+
7
+ PLATFORM_SERVICE_DEFAULTS = {
8
+ "platform_api_host": "127.0.0.1",
9
+ "platform_api_port": 8001,
10
+ }
11
+
12
+
13
+ def create_platform_service_config(
14
+ project_root: Path, options: dict, skip_interactive: bool, default_values: dict
15
+ ) -> bool:
16
+ """
17
+ Gathers Platform Service options and creates the configuration file (configs/services/platform.yaml).
18
+ Platform Service is bundled with WebUI Gateway - only creates config if WebUI Gateway is enabled.
19
+ Returns True on success or if skipped, False on failure.
20
+ """
21
+ # Platform Service is bundled with WebUI Gateway - skip if WebUI is disabled
22
+ add_webui_gateway = options.get("add_webui_gateway", True)
23
+ if not add_webui_gateway:
24
+ click.echo(
25
+ click.style(
26
+ " Skipping Platform Service (disabled with Web UI Gateway).", fg="yellow"
27
+ )
28
+ )
29
+ return True
30
+
31
+ click.echo("Configuring Platform Service options...")
32
+
33
+ options["platform_api_host"] = ask_if_not_provided(
34
+ options,
35
+ "platform_api_host",
36
+ "Enter Platform API Host",
37
+ default=default_values.get(
38
+ "platform_api_host", PLATFORM_SERVICE_DEFAULTS["platform_api_host"]
39
+ ),
40
+ none_interactive=skip_interactive,
41
+ )
42
+ options["platform_api_port"] = ask_if_not_provided(
43
+ options,
44
+ "platform_api_port",
45
+ "Enter Platform API Port",
46
+ default=default_values.get(
47
+ "platform_api_port", PLATFORM_SERVICE_DEFAULTS["platform_api_port"]
48
+ ),
49
+ none_interactive=skip_interactive,
50
+ )
51
+
52
+ click.echo("Creating Platform Service configuration file...")
53
+ destination_path = project_root / "configs" / "services" / "platform.yaml"
54
+
55
+ try:
56
+ template_content = load_template("platform.yaml")
57
+
58
+ # No placeholder replacements needed - template uses env vars directly
59
+ modified_content = template_content
60
+
61
+ destination_path.parent.mkdir(parents=True, exist_ok=True)
62
+ with open(destination_path, "w", encoding="utf-8") as f:
63
+ f.write(modified_content)
64
+
65
+ click.echo(f" Created: {destination_path.relative_to(project_root)}")
66
+ return True
67
+
68
+ except FileNotFoundError:
69
+ click.echo(click.style("Error: Template file not found.", fg="red"), err=True)
70
+ return False
71
+ except IOError as e:
72
+ click.echo(
73
+ click.style(f"Error writing file {destination_path}: {e}", fg="red"),
74
+ err=True,
75
+ )
76
+ return False
77
+ except Exception as e:
78
+ click.echo(
79
+ click.style(
80
+ f"An unexpected error occurred during Platform Service configuration: {e}",
81
+ fg="red",
82
+ ),
83
+ err=True,
84
+ )
85
+ return False
@@ -7,6 +7,7 @@ from ...utils import ask_if_not_provided, ask_yes_no_question, load_template
7
7
  WEBUI_GATEWAY_DEFAULTS = {
8
8
  "webui_frontend_welcome_message": "",
9
9
  "webui_frontend_bot_name": "Solace Agent Mesh",
10
+ "webui_frontend_logo_url": "",
10
11
  "webui_frontend_collect_feedback": False,
11
12
  "webui_session_secret_key": "please_change_me_in",
12
13
  "webui_fastapi_host": "127.0.0.1",
@@ -130,6 +131,15 @@ def create_webui_gateway_config(
130
131
  ),
131
132
  none_interactive=skip_interactive,
132
133
  )
134
+ options["webui_frontend_logo_url"] = ask_if_not_provided(
135
+ options,
136
+ "webui_frontend_logo_url",
137
+ "Enter Frontend Logo URL (PNG, SVG, JPG or data URI)",
138
+ default=default_values.get(
139
+ "webui_frontend_logo_url", WEBUI_GATEWAY_DEFAULTS["webui_frontend_logo_url"]
140
+ ),
141
+ none_interactive=skip_interactive,
142
+ )
133
143
  options["webui_frontend_collect_feedback"] = ask_if_not_provided(
134
144
  options,
135
145
  "webui_frontend_collect_feedback",
@@ -159,13 +169,16 @@ def create_webui_gateway_config(
159
169
 
160
170
  replacements = {
161
171
  "__FRONTEND_WELCOME_MESSAGE__": str(
162
- options.get("webui_frontend_welcome_message", "")
172
+ options.get("webui_frontend_welcome_message", '${FRONTEND_WELCOME_MESSAGE, "Hello, how can I assist you?"}')
163
173
  ),
164
174
  "__FRONTEND_BOT_NAME__": str(
165
- options.get("webui_frontend_bot_name", "Solace Agent Mesh")
175
+ options.get("webui_frontend_bot_name", "${FRONTEND_BOT_NAME, Solace Agent Mesh}")
176
+ ),
177
+ "__FRONTEND_LOGO_URL__": str(
178
+ options.get("webui_frontend_logo_url", "${WEBUI_FRONTEND_LOGO_URL}")
166
179
  ),
167
180
  "__FRONTEND_COLLECT_FEEDBACK__": str(
168
- options.get("webui_frontend_collect_feedback", False)
181
+ options.get("webui_frontend_collect_feedback", "${FRONTEND_COLLECT_FEEDBACK, false}")
169
182
  ).lower(),
170
183
  "__SESSION_SERVICE__": session_service_block,
171
184
  }
@@ -106,12 +106,13 @@ def add_plugin_component_cmd(
106
106
  processed_config_content = processed_config_content.replace(placeholder, value)
107
107
 
108
108
  plugin_type = _get_plugin_type_from_pyproject(plugin_path)
109
- if plugin_type == "agent":
109
+ if plugin_type == "agent" or plugin_type == "tool":
110
110
  target_dir = pathlib.Path("configs/agents")
111
111
  elif plugin_type == "gateway":
112
112
  target_dir = pathlib.Path("configs/gateways")
113
113
  else:
114
114
  target_dir = pathlib.Path("configs/plugins")
115
+
115
116
  try:
116
117
  ensure_directory_exists(target_dir)
117
118
  except Exception as e:
@@ -44,6 +44,7 @@ def run_flask_plugin_catalog(host, port, shared_data):
44
44
 
45
45
  @click.command("catalog", help="Launch the SAM Plugin catalog web interface.")
46
46
  @click.option(
47
+ "-p",
47
48
  "--port",
48
49
  default=5003,
49
50
  type=int,
@@ -9,7 +9,7 @@ from cli.utils import (
9
9
  from cli import __version__ as cli_version
10
10
  from .official_registry import is_official_plugin
11
11
 
12
- PLUGIN_TYPES = ["agent", "gateway", "custom"]
12
+ PLUGIN_TYPES = ["agent", "gateway", "tool", "custom"]
13
13
 
14
14
  DEFAULT_PLUGIN_TYPE = "agent"
15
15
  DEFAULT_AUTHOR_NAME = "Your Name"
@@ -52,7 +52,7 @@ def setup_plugin_type_src(plugin_type: str, src_path: pathlib.Path, replacements
52
52
  except IOError as e:
53
53
  error_exit(f"Error writing {src_path / '__init__.py'}: {e}")
54
54
 
55
- if plugin_type == "agent":
55
+ if plugin_type == "agent" or plugin_type == "tool":
56
56
  # --- Generate tools.py ---
57
57
  try:
58
58
  src_tools_py_content = load_template(
@@ -132,7 +132,7 @@ def setup_plugin_type_src(plugin_type: str, src_path: pathlib.Path, replacements
132
132
 
133
133
  @click.command("create")
134
134
  @click.argument("plugin_name_arg")
135
- @click.option("--type", "type_opt", help="Plugin type. Options: agent, gateway, custom")
135
+ @click.option("--type", "type_opt", help="Plugin type. Options: agent, gateway, tool, custom")
136
136
  @click.option("--author-name", "author_name_opt", help="Author's name.")
137
137
  @click.option("--author-email", "author_email_opt", help="Author's email.")
138
138
  @click.option("--description", "description_opt", help="Plugin description.")