solace-agent-mesh 1.7.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 (447) 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/artifacts/filesystem_artifact_service.py +164 -0
  7. solace_agent_mesh/agent/adk/artifacts/s3_artifact_service.py +163 -0
  8. solace_agent_mesh/agent/adk/callbacks.py +752 -127
  9. solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +99 -7
  10. solace_agent_mesh/agent/adk/intelligent_mcp_callbacks.py +52 -5
  11. solace_agent_mesh/agent/adk/mcp_content_processor.py +1 -1
  12. solace_agent_mesh/agent/adk/models/lite_llm.py +34 -16
  13. solace_agent_mesh/agent/adk/models/oauth2_token_manager.py +24 -137
  14. solace_agent_mesh/agent/adk/runner.py +66 -8
  15. solace_agent_mesh/agent/adk/schema_migration.py +88 -0
  16. solace_agent_mesh/agent/adk/services.py +41 -1
  17. solace_agent_mesh/agent/adk/setup.py +220 -32
  18. solace_agent_mesh/agent/adk/stream_parser.py +229 -40
  19. solace_agent_mesh/agent/protocol/event_handlers.py +219 -33
  20. solace_agent_mesh/agent/proxies/a2a/component.py +572 -75
  21. solace_agent_mesh/agent/proxies/a2a/config.py +80 -4
  22. solace_agent_mesh/agent/proxies/base/component.py +188 -22
  23. solace_agent_mesh/agent/proxies/base/proxy_task_context.py +3 -1
  24. solace_agent_mesh/agent/sac/app.py +37 -12
  25. solace_agent_mesh/agent/sac/component.py +322 -52
  26. solace_agent_mesh/agent/sac/patch_adk.py +8 -16
  27. solace_agent_mesh/agent/sac/task_execution_context.py +90 -0
  28. solace_agent_mesh/agent/tools/__init__.py +3 -0
  29. solace_agent_mesh/agent/tools/audio_tools.py +3 -3
  30. solace_agent_mesh/agent/tools/builtin_artifact_tools.py +698 -24
  31. solace_agent_mesh/agent/tools/deep_research_tools.py +2161 -0
  32. solace_agent_mesh/agent/tools/peer_agent_tool.py +82 -15
  33. solace_agent_mesh/agent/tools/time_tools.py +126 -0
  34. solace_agent_mesh/agent/tools/tool_config_types.py +54 -2
  35. solace_agent_mesh/agent/tools/web_search_tools.py +279 -0
  36. solace_agent_mesh/agent/tools/web_tools.py +125 -17
  37. solace_agent_mesh/agent/utils/artifact_helpers.py +243 -5
  38. solace_agent_mesh/agent/utils/context_helpers.py +17 -0
  39. solace_agent_mesh/assets/docs/404.html +6 -6
  40. solace_agent_mesh/assets/docs/assets/css/{styles.906a1503.css → styles.8162edfb.css} +1 -1
  41. solace_agent_mesh/assets/docs/assets/js/05749d90.19ac4f35.js +1 -0
  42. solace_agent_mesh/assets/docs/assets/js/15ba94aa.e186750d.js +1 -0
  43. solace_agent_mesh/assets/docs/assets/js/15e40e79.434bb30f.js +1 -0
  44. solace_agent_mesh/assets/docs/assets/js/17896441.e612dfb4.js +1 -0
  45. solace_agent_mesh/assets/docs/assets/js/2279.550aa580.js +2 -0
  46. solace_agent_mesh/assets/docs/assets/js/{17896441.a5e82f9b.js.LICENSE.txt → 2279.550aa580.js.LICENSE.txt} +6 -0
  47. solace_agent_mesh/assets/docs/assets/js/240a0364.83e37aa8.js +1 -0
  48. solace_agent_mesh/assets/docs/assets/js/2e32b5e0.2f0db237.js +1 -0
  49. solace_agent_mesh/assets/docs/assets/js/3a6c6137.7e61915d.js +1 -0
  50. solace_agent_mesh/assets/docs/assets/js/3ac1795d.7f7ab1c1.js +1 -0
  51. solace_agent_mesh/assets/docs/assets/js/3ff0015d.e53c9b78.js +1 -0
  52. solace_agent_mesh/assets/docs/assets/js/41adc471.0e95b87c.js +1 -0
  53. solace_agent_mesh/assets/docs/assets/js/4667dc50.bf2ad456.js +1 -0
  54. solace_agent_mesh/assets/docs/assets/js/49eed117.493d6f99.js +1 -0
  55. solace_agent_mesh/assets/docs/assets/js/{509e993c.4c7a1a6d.js → 509e993c.a1fbf45a.js} +1 -1
  56. solace_agent_mesh/assets/docs/assets/js/547e15cc.8e6da617.js +1 -0
  57. solace_agent_mesh/assets/docs/assets/js/55b7b518.29d6e75d.js +1 -0
  58. solace_agent_mesh/assets/docs/assets/js/5b8d9c11.d4eb37b8.js +1 -0
  59. solace_agent_mesh/assets/docs/assets/js/5c2bd65f.1ee87753.js +1 -0
  60. solace_agent_mesh/assets/docs/assets/js/60702c0e.a8bdd79b.js +1 -0
  61. solace_agent_mesh/assets/docs/assets/js/64195356.09dbd087.js +1 -0
  62. solace_agent_mesh/assets/docs/assets/js/66d4869e.30340bd3.js +1 -0
  63. solace_agent_mesh/assets/docs/assets/js/6aaedf65.7253541d.js +1 -0
  64. solace_agent_mesh/assets/docs/assets/js/6d84eae0.fd23ba4a.js +1 -0
  65. solace_agent_mesh/assets/docs/assets/js/729898df.7249e9fd.js +1 -0
  66. solace_agent_mesh/assets/docs/assets/js/7e294c01.7c5f6906.js +1 -0
  67. solace_agent_mesh/assets/docs/assets/js/8024126c.e3467286.js +1 -0
  68. solace_agent_mesh/assets/docs/assets/js/81a99df0.7ed65d45.js +1 -0
  69. solace_agent_mesh/assets/docs/assets/js/82fbfb93.161823a5.js +1 -0
  70. solace_agent_mesh/assets/docs/assets/js/924ffdeb.975e428a.js +1 -0
  71. solace_agent_mesh/assets/docs/assets/js/94e8668d.16083b3f.js +1 -0
  72. solace_agent_mesh/assets/docs/assets/js/9bb13469.4523ae20.js +1 -0
  73. solace_agent_mesh/assets/docs/assets/js/a7d42657.a956689d.js +1 -0
  74. solace_agent_mesh/assets/docs/assets/js/a94703ab.3e5fbcb3.js +1 -0
  75. solace_agent_mesh/assets/docs/assets/js/ab9708a8.3e563275.js +1 -0
  76. solace_agent_mesh/assets/docs/assets/js/c93cbaa0.0e0d8baf.js +1 -0
  77. solace_agent_mesh/assets/docs/assets/js/cab03b5b.6a073091.js +1 -0
  78. solace_agent_mesh/assets/docs/assets/js/cbe2e9ea.07e170dd.js +1 -0
  79. solace_agent_mesh/assets/docs/assets/js/e04b235d.06d23db6.js +1 -0
  80. solace_agent_mesh/assets/docs/assets/js/e1b6eeb4.deb2b62e.js +1 -0
  81. solace_agent_mesh/assets/docs/assets/js/e3d9abda.1476f570.js +1 -0
  82. solace_agent_mesh/assets/docs/assets/js/e6f9706b.acc800d3.js +1 -0
  83. solace_agent_mesh/assets/docs/assets/js/e92d0134.c147a429.js +1 -0
  84. solace_agent_mesh/assets/docs/assets/js/ee0c2fe7.94d0a351.js +1 -0
  85. solace_agent_mesh/assets/docs/assets/js/f284c35a.cc97854c.js +1 -0
  86. solace_agent_mesh/assets/docs/assets/js/main.d634009f.js +2 -0
  87. solace_agent_mesh/assets/docs/assets/js/runtime~main.27bb82a7.js +1 -0
  88. solace_agent_mesh/assets/docs/docs/documentation/components/agents/index.html +68 -68
  89. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/artifact-management/index.html +50 -50
  90. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/audio-tools/index.html +42 -42
  91. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/data-analysis-tools/index.html +55 -55
  92. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/embeds/index.html +75 -75
  93. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/image-tools/index.html +81 -0
  94. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/index.html +67 -50
  95. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/research-tools/index.html +136 -0
  96. solace_agent_mesh/assets/docs/docs/documentation/components/cli/index.html +178 -144
  97. solace_agent_mesh/assets/docs/docs/documentation/components/gateways/index.html +43 -42
  98. solace_agent_mesh/assets/docs/docs/documentation/components/index.html +20 -18
  99. solace_agent_mesh/assets/docs/docs/documentation/components/orchestrator/index.html +23 -23
  100. solace_agent_mesh/assets/docs/docs/documentation/components/platform-service/index.html +33 -0
  101. solace_agent_mesh/assets/docs/docs/documentation/components/plugins/index.html +45 -45
  102. solace_agent_mesh/assets/docs/docs/documentation/components/projects/index.html +98 -112
  103. solace_agent_mesh/assets/docs/docs/documentation/components/prompts/index.html +147 -0
  104. solace_agent_mesh/assets/docs/docs/documentation/components/proxies/index.html +208 -125
  105. solace_agent_mesh/assets/docs/docs/documentation/components/speech/index.html +52 -0
  106. solace_agent_mesh/assets/docs/docs/documentation/deploying/debugging/index.html +28 -28
  107. solace_agent_mesh/assets/docs/docs/documentation/deploying/deployment-options/index.html +29 -29
  108. solace_agent_mesh/assets/docs/docs/documentation/deploying/index.html +14 -14
  109. solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes/index.html +47 -0
  110. solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide/index.html +197 -0
  111. solace_agent_mesh/assets/docs/docs/documentation/deploying/logging/index.html +67 -53
  112. solace_agent_mesh/assets/docs/docs/documentation/deploying/observability/index.html +17 -17
  113. solace_agent_mesh/assets/docs/docs/documentation/deploying/proxy_configuration/index.html +49 -0
  114. solace_agent_mesh/assets/docs/docs/documentation/developing/create-agents/index.html +38 -38
  115. solace_agent_mesh/assets/docs/docs/documentation/developing/create-gateways/index.html +87 -87
  116. solace_agent_mesh/assets/docs/docs/documentation/developing/creating-python-tools/index.html +67 -49
  117. solace_agent_mesh/assets/docs/docs/documentation/developing/creating-service-providers/index.html +17 -17
  118. solace_agent_mesh/assets/docs/docs/documentation/developing/evaluations/index.html +51 -51
  119. solace_agent_mesh/assets/docs/docs/documentation/developing/index.html +22 -22
  120. solace_agent_mesh/assets/docs/docs/documentation/developing/structure/index.html +27 -27
  121. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/bedrock-agents/index.html +135 -135
  122. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/custom-agent/index.html +66 -66
  123. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/event-mesh-gateway/index.html +51 -51
  124. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mcp-integration/index.html +50 -38
  125. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mongodb-integration/index.html +86 -86
  126. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rag-integration/index.html +51 -51
  127. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rest-gateway/index.html +24 -24
  128. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/slack-integration/index.html +30 -30
  129. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/sql-database/index.html +44 -44
  130. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/teams-integration/index.html +115 -0
  131. solace_agent_mesh/assets/docs/docs/documentation/enterprise/agent-builder/index.html +50 -23
  132. solace_agent_mesh/assets/docs/docs/documentation/enterprise/connectors/index.html +29 -24
  133. solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +21 -21
  134. solace_agent_mesh/assets/docs/docs/documentation/enterprise/installation/index.html +40 -37
  135. solace_agent_mesh/assets/docs/docs/documentation/enterprise/openapi-tools/index.html +324 -0
  136. solace_agent_mesh/assets/docs/docs/documentation/enterprise/rbac-setup-guide/index.html +96 -66
  137. solace_agent_mesh/assets/docs/docs/documentation/enterprise/secure-user-delegated-access/index.html +181 -181
  138. solace_agent_mesh/assets/docs/docs/documentation/enterprise/single-sign-on/index.html +75 -75
  139. solace_agent_mesh/assets/docs/docs/documentation/enterprise/wheel-installation/index.html +27 -27
  140. solace_agent_mesh/assets/docs/docs/documentation/getting-started/architecture/index.html +44 -44
  141. solace_agent_mesh/assets/docs/docs/documentation/getting-started/index.html +39 -38
  142. solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +30 -30
  143. solace_agent_mesh/assets/docs/docs/documentation/getting-started/try-agent-mesh/index.html +18 -18
  144. solace_agent_mesh/assets/docs/docs/documentation/getting-started/vibe_coding/index.html +62 -0
  145. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/artifact-storage/index.html +135 -114
  146. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/configurations/index.html +37 -37
  147. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/index.html +14 -14
  148. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/installation/index.html +27 -25
  149. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/large_language_models/index.html +69 -69
  150. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/run-project/index.html +72 -72
  151. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/session-storage/index.html +112 -112
  152. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/user-feedback/index.html +28 -28
  153. solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0/index.html +42 -42
  154. solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map/index.html +20 -20
  155. solace_agent_mesh/assets/docs/docs/documentation/migrations/platform-service-split/index.html +85 -0
  156. solace_agent_mesh/assets/docs/lunr-index-1768329217460.json +1 -0
  157. solace_agent_mesh/assets/docs/lunr-index.json +1 -1
  158. solace_agent_mesh/assets/docs/search-doc-1768329217460.json +1 -0
  159. solace_agent_mesh/assets/docs/search-doc.json +1 -1
  160. solace_agent_mesh/assets/docs/sitemap.xml +1 -1
  161. solace_agent_mesh/cli/__init__.py +1 -1
  162. solace_agent_mesh/cli/commands/add_cmd/__init__.py +3 -1
  163. solace_agent_mesh/cli/commands/add_cmd/agent_cmd.py +6 -1
  164. solace_agent_mesh/cli/commands/add_cmd/proxy_cmd.py +100 -0
  165. solace_agent_mesh/cli/commands/eval_cmd.py +1 -1
  166. solace_agent_mesh/cli/commands/init_cmd/__init__.py +15 -0
  167. solace_agent_mesh/cli/commands/init_cmd/directory_step.py +1 -1
  168. solace_agent_mesh/cli/commands/init_cmd/env_step.py +30 -3
  169. solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +3 -4
  170. solace_agent_mesh/cli/commands/init_cmd/platform_service_step.py +85 -0
  171. solace_agent_mesh/cli/commands/init_cmd/webui_gateway_step.py +16 -3
  172. solace_agent_mesh/cli/commands/plugin_cmd/add_cmd.py +2 -1
  173. solace_agent_mesh/cli/commands/plugin_cmd/catalog_cmd.py +1 -0
  174. solace_agent_mesh/cli/commands/plugin_cmd/create_cmd.py +3 -3
  175. solace_agent_mesh/cli/commands/run_cmd.py +64 -49
  176. solace_agent_mesh/cli/commands/tools_cmd.py +315 -0
  177. solace_agent_mesh/cli/main.py +15 -0
  178. solace_agent_mesh/client/webui/frontend/static/assets/{authCallback-tcIFZLis.js → authCallback-KnKMP_vb.js} +1 -1
  179. solace_agent_mesh/client/webui/frontend/static/assets/client-DpBL2stg.js +25 -0
  180. solace_agent_mesh/client/webui/frontend/static/assets/main-Cd498TV2.js +435 -0
  181. solace_agent_mesh/client/webui/frontend/static/assets/main-rSf8Vu29.css +1 -0
  182. solace_agent_mesh/client/webui/frontend/static/assets/{vendor-CINwxvwV.js → vendor-CGk8Suyh.js} +189 -94
  183. solace_agent_mesh/client/webui/frontend/static/auth-callback.html +3 -3
  184. solace_agent_mesh/client/webui/frontend/static/index.html +4 -4
  185. solace_agent_mesh/client/webui/frontend/static/mockServiceWorker.js +336 -0
  186. solace_agent_mesh/client/webui/frontend/static/ui-version.json +6 -0
  187. solace_agent_mesh/common/a2a/types.py +1 -1
  188. solace_agent_mesh/common/agent_registry.py +38 -11
  189. solace_agent_mesh/common/data_parts.py +124 -0
  190. solace_agent_mesh/common/error_handlers.py +83 -0
  191. solace_agent_mesh/common/exceptions.py +24 -0
  192. solace_agent_mesh/common/oauth/__init__.py +17 -0
  193. solace_agent_mesh/common/oauth/oauth_client.py +408 -0
  194. solace_agent_mesh/common/oauth/utils.py +50 -0
  195. solace_agent_mesh/common/rag_dto.py +156 -0
  196. solace_agent_mesh/common/sac/sam_component_base.py +73 -1
  197. solace_agent_mesh/common/sam_events/event_service.py +2 -2
  198. solace_agent_mesh/common/utils/embeds/converter.py +1 -8
  199. solace_agent_mesh/common/utils/embeds/modifiers.py +2 -27
  200. solace_agent_mesh/common/utils/embeds/resolver.py +94 -25
  201. solace_agent_mesh/common/utils/embeds/types.py +1 -0
  202. solace_agent_mesh/common/utils/log_formatters.py +20 -0
  203. solace_agent_mesh/common/utils/mime_helpers.py +12 -5
  204. solace_agent_mesh/common/utils/rbac_utils.py +69 -0
  205. solace_agent_mesh/common/utils/templates/__init__.py +8 -0
  206. solace_agent_mesh/common/utils/templates/liquid_renderer.py +210 -0
  207. solace_agent_mesh/common/utils/templates/template_resolver.py +161 -0
  208. solace_agent_mesh/config_portal/backend/common.py +12 -0
  209. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-CljP4_mv.js +103 -0
  210. solace_agent_mesh/config_portal/frontend/static/client/assets/{components-Rk0n-9cK.js → components-CaC6hG8d.js} +22 -22
  211. solace_agent_mesh/config_portal/frontend/static/client/assets/{entry.client-mvZjNKiz.js → entry.client-H_TM0YBt.js} +3 -3
  212. solace_agent_mesh/config_portal/frontend/static/client/assets/{index-DzNKzXrc.js → index-CnFykb2v.js} +16 -16
  213. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-f8439d40.js +1 -0
  214. solace_agent_mesh/config_portal/frontend/static/client/assets/root-BIMqslJB.css +1 -0
  215. solace_agent_mesh/config_portal/frontend/static/client/assets/root-mJmTIdIk.js +10 -0
  216. solace_agent_mesh/config_portal/frontend/static/client/index.html +3 -3
  217. solace_agent_mesh/core_a2a/service.py +3 -2
  218. solace_agent_mesh/gateway/adapter/base.py +28 -1
  219. solace_agent_mesh/gateway/adapter/types.py +9 -0
  220. solace_agent_mesh/gateway/base/app.py +10 -0
  221. solace_agent_mesh/gateway/base/auth_interface.py +103 -0
  222. solace_agent_mesh/gateway/base/component.py +451 -10
  223. solace_agent_mesh/gateway/generic/component.py +274 -30
  224. solace_agent_mesh/gateway/http_sse/alembic/env.py +0 -7
  225. solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_soft_delete_and_search.py +2 -43
  226. solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_default_agent_to_projects.py +2 -2
  227. solace_agent_mesh/gateway/http_sse/alembic/versions/20251108_create_prompt_tables_with_sharing.py +154 -0
  228. solace_agent_mesh/gateway/http_sse/alembic/versions/20251115_add_parent_task_id.py +32 -0
  229. solace_agent_mesh/gateway/http_sse/alembic/versions/20251126_add_background_task_fields.py +47 -0
  230. solace_agent_mesh/gateway/http_sse/alembic/versions/20251202_add_versioned_fields_to_prompts.py +52 -0
  231. solace_agent_mesh/gateway/http_sse/alembic.ini +0 -36
  232. solace_agent_mesh/gateway/http_sse/app.py +23 -6
  233. solace_agent_mesh/gateway/http_sse/component.py +158 -73
  234. solace_agent_mesh/gateway/http_sse/dependencies.py +50 -57
  235. solace_agent_mesh/gateway/http_sse/main.py +58 -482
  236. solace_agent_mesh/gateway/http_sse/repository/chat_task_repository.py +2 -2
  237. solace_agent_mesh/gateway/http_sse/repository/entities/project.py +1 -1
  238. solace_agent_mesh/gateway/http_sse/repository/entities/project_user.py +1 -1
  239. solace_agent_mesh/gateway/http_sse/repository/entities/session.py +3 -2
  240. solace_agent_mesh/gateway/http_sse/repository/entities/task.py +7 -0
  241. solace_agent_mesh/gateway/http_sse/repository/feedback_repository.py +2 -2
  242. solace_agent_mesh/gateway/http_sse/repository/interfaces.py +2 -2
  243. solace_agent_mesh/gateway/http_sse/repository/models/__init__.py +5 -0
  244. solace_agent_mesh/gateway/http_sse/repository/models/prompt_model.py +159 -0
  245. solace_agent_mesh/gateway/http_sse/repository/models/session_model.py +1 -1
  246. solace_agent_mesh/gateway/http_sse/repository/models/task_model.py +8 -1
  247. solace_agent_mesh/gateway/http_sse/repository/project_repository.py +1 -1
  248. solace_agent_mesh/gateway/http_sse/repository/project_user_repository.py +1 -1
  249. solace_agent_mesh/gateway/http_sse/repository/session_repository.py +12 -107
  250. solace_agent_mesh/gateway/http_sse/repository/task_repository.py +86 -2
  251. solace_agent_mesh/gateway/http_sse/routers/agent_cards.py +38 -7
  252. solace_agent_mesh/gateway/http_sse/routers/artifacts.py +113 -7
  253. solace_agent_mesh/gateway/http_sse/routers/auth.py +69 -132
  254. solace_agent_mesh/gateway/http_sse/routers/config.py +235 -10
  255. solace_agent_mesh/gateway/http_sse/routers/dto/project_dto.py +69 -0
  256. solace_agent_mesh/gateway/http_sse/routers/dto/prompt_dto.py +255 -0
  257. solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py +1 -1
  258. solace_agent_mesh/gateway/http_sse/routers/dto/responses/base_responses.py +1 -1
  259. solace_agent_mesh/gateway/http_sse/routers/dto/responses/project_responses.py +1 -0
  260. solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py +3 -2
  261. solace_agent_mesh/gateway/http_sse/routers/dto/responses/version_responses.py +31 -0
  262. solace_agent_mesh/gateway/http_sse/routers/feedback.py +2 -2
  263. solace_agent_mesh/gateway/http_sse/routers/people.py +2 -2
  264. solace_agent_mesh/gateway/http_sse/routers/projects.py +250 -24
  265. solace_agent_mesh/gateway/http_sse/routers/prompts.py +1416 -0
  266. solace_agent_mesh/gateway/http_sse/routers/sessions.py +14 -5
  267. solace_agent_mesh/gateway/http_sse/routers/speech.py +355 -0
  268. solace_agent_mesh/gateway/http_sse/routers/sse.py +117 -4
  269. solace_agent_mesh/gateway/http_sse/routers/tasks.py +509 -149
  270. solace_agent_mesh/gateway/http_sse/routers/users.py +1 -1
  271. solace_agent_mesh/gateway/http_sse/routers/version.py +343 -0
  272. solace_agent_mesh/gateway/http_sse/routers/visualization.py +2 -1
  273. solace_agent_mesh/gateway/http_sse/services/audio_service.py +1227 -0
  274. solace_agent_mesh/gateway/http_sse/services/background_task_monitor.py +186 -0
  275. solace_agent_mesh/gateway/http_sse/services/data_retention_service.py +1 -1
  276. solace_agent_mesh/gateway/http_sse/services/feedback_service.py +1 -1
  277. solace_agent_mesh/gateway/http_sse/services/project_service.py +539 -12
  278. solace_agent_mesh/gateway/http_sse/services/prompt_builder_assistant.py +303 -0
  279. solace_agent_mesh/gateway/http_sse/services/session_service.py +198 -21
  280. solace_agent_mesh/gateway/http_sse/services/task_logger_service.py +354 -4
  281. solace_agent_mesh/gateway/http_sse/sse_manager.py +280 -169
  282. solace_agent_mesh/gateway/http_sse/utils/artifact_copy_utils.py +370 -0
  283. solace_agent_mesh/gateway/http_sse/utils/stim_utils.py +41 -1
  284. solace_agent_mesh/services/__init__.py +0 -0
  285. solace_agent_mesh/services/platform/__init__.py +29 -0
  286. solace_agent_mesh/services/platform/alembic/env.py +85 -0
  287. solace_agent_mesh/services/platform/alembic/script.py.mako +28 -0
  288. solace_agent_mesh/services/platform/alembic.ini +109 -0
  289. solace_agent_mesh/services/platform/api/__init__.py +3 -0
  290. solace_agent_mesh/services/platform/api/dependencies.py +154 -0
  291. solace_agent_mesh/services/platform/api/main.py +314 -0
  292. solace_agent_mesh/services/platform/api/middleware.py +51 -0
  293. solace_agent_mesh/services/platform/api/routers/__init__.py +33 -0
  294. solace_agent_mesh/services/platform/api/routers/health_router.py +31 -0
  295. solace_agent_mesh/services/platform/app.py +215 -0
  296. solace_agent_mesh/services/platform/component.py +777 -0
  297. solace_agent_mesh/shared/__init__.py +14 -0
  298. solace_agent_mesh/shared/api/__init__.py +42 -0
  299. solace_agent_mesh/shared/auth/__init__.py +26 -0
  300. solace_agent_mesh/shared/auth/dependencies.py +204 -0
  301. solace_agent_mesh/shared/auth/middleware.py +347 -0
  302. solace_agent_mesh/shared/database/__init__.py +20 -0
  303. solace_agent_mesh/{gateway/http_sse/shared → shared/database}/base_repository.py +1 -1
  304. solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_exceptions.py +1 -1
  305. solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_helpers.py +1 -1
  306. solace_agent_mesh/shared/exceptions/__init__.py +36 -0
  307. solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exception_handlers.py +1 -1
  308. solace_agent_mesh/shared/utils/__init__.py +21 -0
  309. solace_agent_mesh/templates/logging_config_template.yaml +48 -0
  310. solace_agent_mesh/templates/main_orchestrator.yaml +12 -1
  311. solace_agent_mesh/templates/platform.yaml +49 -0
  312. solace_agent_mesh/templates/plugin_readme_template.md +3 -25
  313. solace_agent_mesh/templates/plugin_tool_config_template.yaml +109 -0
  314. solace_agent_mesh/templates/proxy_template.yaml +62 -0
  315. solace_agent_mesh/templates/webui.yaml +148 -6
  316. solace_agent_mesh/tools/web_search/__init__.py +18 -0
  317. solace_agent_mesh/tools/web_search/base.py +84 -0
  318. solace_agent_mesh/tools/web_search/google_search.py +247 -0
  319. solace_agent_mesh/tools/web_search/models.py +99 -0
  320. {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/METADATA +29 -8
  321. {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/RECORD +334 -313
  322. {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/WHEEL +1 -1
  323. solace_agent_mesh/agent/adk/adk_llm.txt +0 -226
  324. solace_agent_mesh/agent/adk/adk_llm_detail.txt +0 -566
  325. solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +0 -171
  326. solace_agent_mesh/agent/adk/models/models_llm.txt +0 -189
  327. solace_agent_mesh/agent/agent_llm.txt +0 -369
  328. solace_agent_mesh/agent/agent_llm_detail.txt +0 -1702
  329. solace_agent_mesh/agent/protocol/protocol_llm.txt +0 -81
  330. solace_agent_mesh/agent/protocol/protocol_llm_detail.txt +0 -92
  331. solace_agent_mesh/agent/proxies/a2a/a2a_llm.txt +0 -190
  332. solace_agent_mesh/agent/proxies/base/base_llm.txt +0 -148
  333. solace_agent_mesh/agent/proxies/proxies_llm.txt +0 -283
  334. solace_agent_mesh/agent/sac/sac_llm.txt +0 -189
  335. solace_agent_mesh/agent/sac/sac_llm_detail.txt +0 -200
  336. solace_agent_mesh/agent/testing/testing_llm.txt +0 -58
  337. solace_agent_mesh/agent/testing/testing_llm_detail.txt +0 -68
  338. solace_agent_mesh/agent/tools/tools_llm.txt +0 -276
  339. solace_agent_mesh/agent/tools/tools_llm_detail.txt +0 -275
  340. solace_agent_mesh/agent/utils/utils_llm.txt +0 -152
  341. solace_agent_mesh/agent/utils/utils_llm_detail.txt +0 -149
  342. solace_agent_mesh/assets/docs/assets/js/05749d90.c70b2be9.js +0 -1
  343. solace_agent_mesh/assets/docs/assets/js/15ba94aa.92fea363.js +0 -1
  344. solace_agent_mesh/assets/docs/assets/js/15e40e79.36003774.js +0 -1
  345. solace_agent_mesh/assets/docs/assets/js/17896441.a5e82f9b.js +0 -2
  346. solace_agent_mesh/assets/docs/assets/js/240a0364.c39f8388.js +0 -1
  347. solace_agent_mesh/assets/docs/assets/js/2e32b5e0.33f5d75b.js +0 -1
  348. solace_agent_mesh/assets/docs/assets/js/3a6c6137.f5940cfa.js +0 -1
  349. solace_agent_mesh/assets/docs/assets/js/3ac1795d.e4870a49.js +0 -1
  350. solace_agent_mesh/assets/docs/assets/js/3ff0015d.b63ee53a.js +0 -1
  351. solace_agent_mesh/assets/docs/assets/js/547e15cc.2f7790c1.js +0 -1
  352. solace_agent_mesh/assets/docs/assets/js/55b7b518.f2b1d1ba.js +0 -1
  353. solace_agent_mesh/assets/docs/assets/js/5c2bd65f.45b32c2b.js +0 -1
  354. solace_agent_mesh/assets/docs/assets/js/64195356.c498c4d0.js +0 -1
  355. solace_agent_mesh/assets/docs/assets/js/66d4869e.830d443f.js +0 -1
  356. solace_agent_mesh/assets/docs/assets/js/6d84eae0.4a5fbf39.js +0 -1
  357. solace_agent_mesh/assets/docs/assets/js/8024126c.fa0e7186.js +0 -1
  358. solace_agent_mesh/assets/docs/assets/js/81a99df0.07034dd9.js +0 -1
  359. solace_agent_mesh/assets/docs/assets/js/82fbfb93.139a1a1f.js +0 -1
  360. solace_agent_mesh/assets/docs/assets/js/924ffdeb.8095e148.js +0 -1
  361. solace_agent_mesh/assets/docs/assets/js/94e8668d.09ed9234.js +0 -1
  362. solace_agent_mesh/assets/docs/assets/js/9bb13469.dd1c9b54.js +0 -1
  363. solace_agent_mesh/assets/docs/assets/js/a94703ab.0438dbc2.js +0 -1
  364. solace_agent_mesh/assets/docs/assets/js/ab9708a8.245ae0ef.js +0 -1
  365. solace_agent_mesh/assets/docs/assets/js/c93cbaa0.eaff365e.js +0 -1
  366. solace_agent_mesh/assets/docs/assets/js/cbe2e9ea.f902fad8.js +0 -1
  367. solace_agent_mesh/assets/docs/assets/js/db5d6442.3daf1696.js +0 -1
  368. solace_agent_mesh/assets/docs/assets/js/e04b235d.c9c50c7b.js +0 -1
  369. solace_agent_mesh/assets/docs/assets/js/e3d9abda.d11c67a7.js +0 -1
  370. solace_agent_mesh/assets/docs/assets/js/e6f9706b.045d0fa1.js +0 -1
  371. solace_agent_mesh/assets/docs/assets/js/e92d0134.3bda61dd.js +0 -1
  372. solace_agent_mesh/assets/docs/assets/js/f284c35a.5099c51e.js +0 -1
  373. solace_agent_mesh/assets/docs/assets/js/main.f213fe0c.js +0 -2
  374. solace_agent_mesh/assets/docs/assets/js/runtime~main.d9606d6a.js +0 -1
  375. solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes-deployment/index.html +0 -47
  376. solace_agent_mesh/assets/docs/lunr-index-1762283454666.json +0 -1
  377. solace_agent_mesh/assets/docs/search-doc-1762283454666.json +0 -1
  378. solace_agent_mesh/cli/commands/add_cmd/add_cmd_llm.txt +0 -250
  379. solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +0 -365
  380. solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +0 -305
  381. solace_agent_mesh/client/webui/frontend/static/assets/client-CRYdKo2Q.js +0 -25
  382. solace_agent_mesh/client/webui/frontend/static/assets/main-CojeY_1w.css +0 -1
  383. solace_agent_mesh/client/webui/frontend/static/assets/main-ILja9MCG.js +0 -353
  384. solace_agent_mesh/common/a2a/a2a_llm.txt +0 -175
  385. solace_agent_mesh/common/a2a/a2a_llm_detail.txt +0 -193
  386. solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +0 -445
  387. solace_agent_mesh/common/a2a_spec/a2a_spec_llm_detail.txt +0 -736
  388. solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +0 -330
  389. solace_agent_mesh/common/common_llm.txt +0 -230
  390. solace_agent_mesh/common/common_llm_detail.txt +0 -2562
  391. solace_agent_mesh/common/middleware/middleware_llm.txt +0 -174
  392. solace_agent_mesh/common/middleware/middleware_llm_detail.txt +0 -185
  393. solace_agent_mesh/common/sac/sac_llm.txt +0 -71
  394. solace_agent_mesh/common/sac/sac_llm_detail.txt +0 -82
  395. solace_agent_mesh/common/sam_events/sam_events_llm.txt +0 -104
  396. solace_agent_mesh/common/sam_events/sam_events_llm_detail.txt +0 -115
  397. solace_agent_mesh/common/services/providers/providers_llm.txt +0 -81
  398. solace_agent_mesh/common/services/services_llm.txt +0 -368
  399. solace_agent_mesh/common/services/services_llm_detail.txt +0 -459
  400. solace_agent_mesh/common/utils/embeds/embeds_llm.txt +0 -220
  401. solace_agent_mesh/common/utils/utils_llm.txt +0 -335
  402. solace_agent_mesh/common/utils/utils_llm_detail.txt +0 -572
  403. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-ByU1X1HD.js +0 -98
  404. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-61038fc6.js +0 -1
  405. solace_agent_mesh/config_portal/frontend/static/client/assets/root-BWvk5-gF.js +0 -10
  406. solace_agent_mesh/config_portal/frontend/static/client/assets/root-DxRwaWiE.css +0 -1
  407. solace_agent_mesh/core_a2a/core_a2a_llm.txt +0 -90
  408. solace_agent_mesh/core_a2a/core_a2a_llm_detail.txt +0 -101
  409. solace_agent_mesh/gateway/base/base_llm.txt +0 -226
  410. solace_agent_mesh/gateway/base/base_llm_detail.txt +0 -235
  411. solace_agent_mesh/gateway/gateway_llm.txt +0 -369
  412. solace_agent_mesh/gateway/gateway_llm_detail.txt +0 -3885
  413. solace_agent_mesh/gateway/http_sse/alembic/alembic_llm.txt +0 -345
  414. solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_fulltext_search_indexes.py +0 -92
  415. solace_agent_mesh/gateway/http_sse/alembic/versions/versions_llm.txt +0 -161
  416. solace_agent_mesh/gateway/http_sse/components/components_llm.txt +0 -105
  417. solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +0 -299
  418. solace_agent_mesh/gateway/http_sse/http_sse_llm_detail.txt +0 -3278
  419. solace_agent_mesh/gateway/http_sse/repository/entities/entities_llm.txt +0 -221
  420. solace_agent_mesh/gateway/http_sse/repository/models/models_llm.txt +0 -257
  421. solace_agent_mesh/gateway/http_sse/repository/repository_llm.txt +0 -308
  422. solace_agent_mesh/gateway/http_sse/routers/dto/dto_llm.txt +0 -450
  423. solace_agent_mesh/gateway/http_sse/routers/dto/requests/requests_llm.txt +0 -133
  424. solace_agent_mesh/gateway/http_sse/routers/dto/responses/responses_llm.txt +0 -123
  425. solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +0 -312
  426. solace_agent_mesh/gateway/http_sse/services/services_llm.txt +0 -303
  427. solace_agent_mesh/gateway/http_sse/shared/__init__.py +0 -146
  428. solace_agent_mesh/gateway/http_sse/shared/shared_llm.txt +0 -319
  429. solace_agent_mesh/gateway/http_sse/utils/utils_llm.txt +0 -47
  430. solace_agent_mesh/llm.txt +0 -228
  431. solace_agent_mesh/llm_detail.txt +0 -2835
  432. solace_agent_mesh/solace_agent_mesh_llm.txt +0 -362
  433. solace_agent_mesh/solace_agent_mesh_llm_detail.txt +0 -8599
  434. solace_agent_mesh/templates/logging_config_template.ini +0 -45
  435. solace_agent_mesh/templates/templates_llm.txt +0 -147
  436. /solace_agent_mesh/assets/docs/assets/js/{main.f213fe0c.js.LICENSE.txt → main.d634009f.js.LICENSE.txt} +0 -0
  437. /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/auth_utils.py +0 -0
  438. /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/pagination.py +0 -0
  439. /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/response_utils.py +0 -0
  440. /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/error_dto.py +0 -0
  441. /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exceptions.py +0 -0
  442. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/enums.py +0 -0
  443. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/timestamp_utils.py +0 -0
  444. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/types.py +0 -0
  445. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/utils.py +0 -0
  446. {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/entry_points.txt +0 -0
  447. {solace_agent_mesh-1.7.1.dist-info → solace_agent_mesh-1.13.2.dist-info}/licenses/LICENSE +0 -0
@@ -1,250 +0,0 @@
1
- # Add Command Module Analysis
2
-
3
- ## 1. Primary Purpose and Functionality
4
-
5
- The `add_cmd` module provides a CLI interface for creating templates for agents and gateways in what appears to be an AI agent framework. The primary functionality includes:
6
-
7
- - **Agent Creation**: Creates new agent configurations via CLI or web-based GUI
8
- - **Gateway Creation**: Placeholder functionality for gateway template creation (not yet implemented)
9
- - **Interactive Configuration**: Supports both interactive CLI prompts and web-based configuration portal
10
- - **Template Processing**: Generates YAML configuration files from templates with user-provided parameters
11
-
12
- ## 2. External Interfaces (APIs, Exports, Public Methods)
13
-
14
- ### CLI Commands
15
- - `add agent [NAME] [OPTIONS]` - Creates a new agent configuration
16
- - `add gateway NAME` - Placeholder for gateway creation
17
-
18
- ### Public Functions
19
- ```python
20
- def launch_add_agent_web_portal(cli_options: dict) -> tuple[str, dict, Path]
21
- def create_agent_config(agent_name_input: str, cli_provided_options: dict, skip_interactive: bool) -> bool
22
- ```
23
-
24
- ## 3. Key Dependencies and Imports
25
-
26
- - **click**: CLI framework for command-line interfaces
27
- - **pathlib.Path**: File system path operations
28
- - **yaml**: YAML file processing
29
- - **json**: JSON parsing for tools and skills configuration
30
- - **re**: Regular expression operations for template processing
31
- - **multiprocessing**: Process management for web portal
32
- - **webbrowser**: Browser automation for web portal
33
- - **config_portal.backend.server**: Web-based configuration portal backend
34
-
35
- ## 4. Data Structures and Models
36
-
37
- ### AGENT_DEFAULTS Configuration Dictionary
38
- ```python
39
- AGENT_DEFAULTS = {
40
- "supports_streaming": bool, # Enable streaming support
41
- "model_type": str, # Model type: "planning", "general", "image_gen", "report_gen", "multimodal", "gemini_pro"
42
- "instruction": str, # Agent instruction template
43
- "artifact_handling_mode": str, # Mode: "ignore", "embed", "reference"
44
- "enable_embed_resolution": bool, # Enable embed resolution
45
- "enable_artifact_content_instruction": bool, # Enable artifact content instruction
46
- "session_service_type": str, # Type: "memory", "vertex_rag"
47
- "session_service_behavior": str, # Behavior: "PERSISTENT", "RUN_BASED"
48
- "artifact_service_type": str, # Type: "filesystem", "memory", "gcs"
49
- "artifact_service_base_path": str, # Base path for filesystem service
50
- "artifact_service_scope": str, # Scope: "namespace", "app", "custom"
51
- "agent_card_description": str, # Agent description
52
- "agent_card_default_input_modes": list[str], # Input modes: ["text"]
53
- "agent_card_default_output_modes": list[str], # Output modes: ["text", "file"]
54
- "agent_card_publishing_interval": int, # Publishing interval in seconds
55
- "agent_discovery_enabled": bool, # Enable agent discovery
56
- "inter_agent_communication_allow_list": list[str], # Allow list: ["*"]
57
- "inter_agent_communication_deny_list": list[str], # Deny list: []
58
- "inter_agent_communication_timeout": int, # Timeout in seconds
59
- "namespace": str, # namespace
60
- }
61
- ```
62
-
63
- **Purpose**: Provides default values for all agent configuration options.
64
-
65
- **Usage Example**:
66
- ```python
67
- default_model = AGENT_DEFAULTS["model_type"] # Returns "planning"
68
- default_streaming = AGENT_DEFAULTS["supports_streaming"] # Returns True
69
- ```
70
-
71
- ### Configuration Options Dictionary
72
- ```python
73
- config_options = {
74
- "agent_name": str, # Camel case agent name
75
- "namespace": str, # Agent namespace
76
- "supports_streaming": bool, # Streaming support flag
77
- "model_type": str, # Model type selection
78
- "instruction": str, # Custom agent instruction
79
- "tools": list[dict] | str, # Tools configuration (list or JSON string)
80
- "session_service_type": str, # Session service configuration
81
- "session_service_behavior": str, # Session behavior mode
82
- "artifact_service_type": str, # Artifact service configuration
83
- "artifact_service_base_path": str, # Filesystem base path
84
- "artifact_service_scope": str, # Artifact scope
85
- "artifact_handling_mode": str, # Artifact handling mode
86
- "enable_embed_resolution": bool, # Embed resolution flag
87
- "enable_artifact_content_instruction": bool, # Artifact content instruction flag
88
- "agent_card_description": str, # Agent card description
89
- "agent_card_default_input_modes": list[str], # Default input modes
90
- "agent_card_default_output_modes": list[str], # Default output modes
91
- "agent_card_skills": list[dict], # Skills configuration from GUI
92
- "agent_card_skills_str": str, # Skills configuration from CLI (JSON string)
93
- "agent_card_publishing_interval": int, # Publishing interval
94
- "agent_discovery_enabled": bool, # Discovery flag
95
- "inter_agent_communication_allow_list": list[str], # Communication allow list
96
- "inter_agent_communication_deny_list": list[str], # Communication deny list
97
- "inter_agent_communication_timeout": int, # Communication timeout
98
- }
99
- ```
100
-
101
- **Purpose**: Contains user-provided configuration options for agent creation.
102
-
103
- **Usage Example**:
104
- ```python
105
- config = {
106
- "agent_name": "MyAgent",
107
- "model_type": "planning",
108
- "supports_streaming": True,
109
- "tools": [{"name": "calculator", "type": "builtin"}]
110
- }
111
- ```
112
-
113
- ### Special Constants
114
- ```python
115
- USE_DEFAULT_SHARED_SESSION = "use_default_shared_session"
116
- USE_DEFAULT_SHARED_ARTIFACT = "use_default_shared_artifact"
117
- ```
118
-
119
- **Purpose**: Special values indicating use of default shared services instead of custom configurations.
120
-
121
- ## 5. Key Functions and Methods
122
-
123
- ### create_agent_config()
124
- ```python
125
- def create_agent_config(agent_name_input: str, cli_provided_options: dict, skip_interactive: bool) -> bool
126
- ```
127
-
128
- **Purpose**: Main function for CLI-based agent creation. Collects configuration options interactively or from CLI parameters.
129
-
130
- **Parameters**:
131
- - `agent_name_input`: Raw agent name input from user
132
- - `cli_provided_options`: Dictionary of options provided via CLI flags
133
- - `skip_interactive`: If True, skips interactive prompts and uses defaults
134
-
135
- **Returns**: Boolean indicating success/failure
136
-
137
- **Usage Example**:
138
- ```python
139
- success = create_agent_config(
140
- "my-agent",
141
- {"model_type": "planning", "supports_streaming": True},
142
- False
143
- )
144
- ```
145
-
146
- ### _write_agent_yaml_from_data()
147
- ```python
148
- def _write_agent_yaml_from_data(agent_name_input: str, config_options: dict, project_root: Path) -> tuple[bool, str, str]
149
- ```
150
-
151
- **Purpose**: Writes the agent YAML configuration file based on provided options.
152
-
153
- **Parameters**:
154
- - `agent_name_input`: Raw agent name input
155
- - `config_options`: Complete configuration dictionary
156
- - `project_root`: Project root directory path
157
-
158
- **Returns**: Tuple of (success_flag, message, relative_file_path)
159
-
160
- **Usage Example**:
161
- ```python
162
- success, message, file_path = _write_agent_yaml_from_data(
163
- "my-agent",
164
- config_options,
165
- Path.cwd()
166
- )
167
- ```
168
-
169
- ### launch_add_agent_web_portal()
170
- ```python
171
- def launch_add_agent_web_portal(cli_options: dict) -> tuple[str, dict, Path]
172
- ```
173
-
174
- **Purpose**: Launches web-based configuration portal for agent creation.
175
-
176
- **Parameters**:
177
- - `cli_options`: Dictionary containing initial options (typically just "name")
178
-
179
- **Returns**: Tuple of (agent_name, agent_options, project_root)
180
-
181
- **Usage Example**:
182
- ```python
183
- agent_name, options, root = launch_add_agent_web_portal({"name": "my-agent"})
184
- ```
185
-
186
- ### add_agent Command
187
- ```python
188
- @click.command(name="agent")
189
- @click.argument("name", required=False)
190
- @click.option("--gui", is_flag=True, help="Launch the web UI to configure the agent.")
191
- @click.option("--skip-interactive", is_flag=True, help="Skip interactive prompts and use defaults.")
192
- # ... additional options for all configuration parameters
193
- def add_agent(name: str, gui: bool=False, **kwargs)
194
- ```
195
-
196
- **Purpose**: Main CLI command entry point for agent creation.
197
-
198
- **Parameters**:
199
- - `name`: Agent name (optional if using GUI)
200
- - `gui`: Flag to launch web-based configuration
201
- - `**kwargs`: All other configuration options as CLI flags
202
-
203
- **CLI Usage Examples**:
204
- ```bash
205
- # Interactive CLI mode
206
- python -m cli.main add agent my-agent
207
-
208
- # Non-interactive CLI mode with options
209
- python -m cli.main add agent my-agent --skip-interactive --model-type planning --supports-streaming
210
-
211
- # Web GUI mode
212
- python -m cli.main add agent my-agent --gui
213
- ```
214
-
215
- ## 6. Architecture Patterns Used
216
-
217
- - **Command Pattern**: Uses Click framework for CLI command structure
218
- - **Template Method Pattern**: Uses template files with placeholder replacement
219
- - **Factory Pattern**: Creates agent configurations based on user input
220
- - **Multiprocessing Pattern**: Separates web portal into isolated process
221
- - **Configuration Pattern**: Centralized defaults and user option management
222
-
223
- ## 7. Integration Points with Other Systems
224
-
225
- ### Template System
226
- - Integrates with `load_template()` utility to load agent YAML templates
227
- - Uses placeholder replacement for dynamic content generation
228
-
229
- ### Web Portal Integration
230
- - Launches Flask-based web server via `config_portal.backend.server.run_flask`
231
- - Uses multiprocessing for process isolation
232
- - Communicates via shared dictionary for data exchange
233
-
234
- ### File System Integration
235
- - Creates agent configuration files in `configs/agents/` directory
236
- - Generates snake_case filenames with `_agent.yaml` suffix
237
- - Uses project root detection for relative path generation
238
-
239
- ### Utility Integration
240
- - Uses `get_formatted_names()` for name format conversion
241
- - Uses `ask_if_not_provided()` for interactive CLI prompts
242
- - Integrates with YAML and JSON processing for configuration serialization
243
-
244
- ### External Dependencies
245
- - **Click Framework**: Provides CLI interface and option parsing
246
- - **YAML Processing**: Handles configuration file generation and parsing
247
- - **Web Browser**: Automatically opens configuration portal
248
- - **Multiprocessing**: Manages web portal lifecycle
249
-
250
- The module serves as a comprehensive agent creation system supporting both CLI and web-based workflows, with extensive configuration options and robust error handling.
@@ -1,365 +0,0 @@
1
- # init_cmd Directory Analysis
2
-
3
- ## 1. Primary Purpose and Functionality
4
-
5
- The `init_cmd` directory implements a comprehensive project initialization system for Solace Agent Mesh applications. It provides both CLI-based and web-based initialization flows to create new projects with proper directory structure, configuration files, and environment setup.
6
-
7
- **Core Functionality:**
8
- - Creates project directory structure (`configs/`, `src/`, etc.)
9
- - Generates configuration files for agents and gateways
10
- - Sets up environment variables and broker connections
11
- - Supports multiple broker types (existing Solace, containerized, dev mode)
12
- - Provides web-based GUI configuration option
13
- - Creates orchestrator agent configurations
14
- - Optionally sets up WebUI gateway
15
-
16
- ## 2. External Interfaces (APIs, Exports, Public Methods)
17
-
18
- ### Main CLI Command
19
- ```python
20
- @click.command(name="init")
21
- def init(**kwargs) -> None
22
- ```
23
- **Purpose:** Main entry point for project initialization
24
- **Parameters:** All CLI options as keyword arguments
25
- **Usage:** `solace-agent-mesh init [OPTIONS]`
26
-
27
- ### Key CLI Options
28
- - `--skip`: Non-interactive mode using defaults
29
- - `--gui`: Launch web-based configuration interface
30
- - `--broker-type`: Choose broker type (1=existing, 2=container, 3=dev)
31
- - `--llm-*`: LLM service configuration options
32
- - `--agent-*`: Orchestrator agent configuration options
33
- - `--webui-*`: WebUI gateway configuration options
34
-
35
- ### Core Orchestration Function
36
- ```python
37
- def run_init_flow(
38
- skip_interactive: bool,
39
- use_web_based_init_flag: bool,
40
- **cli_options
41
- ) -> None
42
- ```
43
- **Purpose:** Orchestrates the complete initialization process
44
- **Parameters:**
45
- - `skip_interactive`: Skip all prompts, use defaults
46
- - `use_web_based_init_flag`: Use web interface for configuration
47
- - `**cli_options`: All CLI option values
48
-
49
- ## 3. Key Dependencies and Imports
50
-
51
- ### External Dependencies
52
- - `click`: CLI framework for commands and options
53
- - `pathlib.Path`: File system path operations
54
- - `yaml`: YAML configuration file processing
55
- - `multiprocessing`: Web portal process management
56
- - `webbrowser`: Automatic browser launching
57
-
58
- ### Internal Dependencies
59
- - `...utils`: Utility functions (`ask_if_not_provided`, `ask_yes_no_question`, `load_template`)
60
- - `config_portal.backend.server`: Web-based configuration interface
61
-
62
- ## 4. Data Structures and Models
63
-
64
- ### DEFAULT_INIT_VALUES Dictionary
65
- ```python
66
- DEFAULT_INIT_VALUES: Dict[str, Any] = {
67
- # Broker Configuration
68
- "broker_type": "1", # str - Default to existing Solace broker
69
- "broker_url": "ws://localhost:8008", # str
70
- "broker_vpn": "default", # str
71
- "broker_username": "default", # str
72
- "broker_password": "default", # str
73
- "container_engine": "docker", # str - "docker" | "podman"
74
-
75
- # Environment Variables
76
- "SOLACE_LOCAL_BROKER_URL": "ws://localhost:8008", # str
77
- "SOLACE_LOCAL_BROKER_VPN": "default", # str
78
- "SOLACE_LOCAL_BROKER_USERNAME": "default", # str
79
- "SOLACE_LOCAL_BROKER_PASSWORD": "default", # str
80
- "DEV_BROKER_URL": "ws://localhost:8008", # str
81
- "DEV_BROKER_VPN": "default", # str
82
- "DEV_BROKER_USERNAME": "default", # str
83
- "DEV_BROKER_PASSWORD": "default", # str
84
-
85
- # LLM Configuration
86
- "llm_endpoint_url": "YOUR_LLM_ENDPOINT_URL_HERE", # str
87
- "llm_api_key": "YOUR_LLM_API_KEY_HERE", # str
88
- "llm_planning_model_name": "YOUR_LLM_PLANNING_MODEL_NAME_HERE", # str
89
- "llm_general_model_name": "YOUR_LLM_GENERAL_MODEL_NAME_HERE", # str
90
-
91
- # Project Configuration
92
- "namespace": "solace_app/", # str - Must end with "/"
93
- "dev_mode": "false", # str - "true" | "false"
94
-
95
- # WebUI Gateway Configuration
96
- "add_webui_gateway": True, # bool
97
- "webui_session_secret_key": str, # str - From ENV_DEFAULTS
98
- "webui_fastapi_host": str, # str - From ENV_DEFAULTS
99
- "webui_fastapi_port": int, # int - From ENV_DEFAULTS
100
- "webui_enable_embed_resolution": bool, # bool - From ENV_DEFAULTS
101
- "webui_frontend_welcome_message": str, # str
102
- "webui_frontend_bot_name": "Solace Agent Mesh", # str
103
- "webui_frontend_collect_feedback": False, # bool
104
-
105
- # Orchestrator Configuration (flattened from ORCHESTRATOR_DEFAULTS)
106
- "agent_name": "OrchestratorAgent", # str
107
- "supports_streaming": True, # bool
108
- "session_service_type": "memory", # str - "memory" | "vertex_rag"
109
- "session_service_behavior": "PERSISTENT", # str - "PERSISTENT" | "RUN_BASED"
110
- "artifact_service_type": "filesystem", # str - "memory" | "filesystem" | "gcs"
111
- "artifact_service_base_path": "/tmp/samv2", # str
112
- "artifact_service_scope": "namespace", # str - "namespace" | "app" | "custom"
113
- "artifact_handling_mode": "embed", # str - "ignore" | "embed" | "reference"
114
- "enable_embed_resolution": True, # bool
115
- "enable_artifact_content_instruction": True, # bool
116
- "agent_card_description": str, # str
117
- "agent_card_default_input_modes": str, # str - comma-separated
118
- "agent_card_default_output_modes": str, # str - comma-separated
119
- "agent_discovery_enabled": True, # bool
120
- "agent_card_publishing_interval": 10, # int - seconds
121
- "inter_agent_communication_allow_list": "*", # str - comma-separated
122
- "inter_agent_communication_deny_list": "", # str - comma-separated
123
- "inter_agent_communication_timeout": 30, # int - seconds
124
- }
125
- ```
126
-
127
- ### ORCHESTRATOR_DEFAULTS Configuration
128
- ```python
129
- ORCHESTRATOR_DEFAULTS: Dict[str, Any] = {
130
- "agent_name": "OrchestratorAgent", # str
131
- "supports_streaming": True, # bool
132
- "artifact_handling_mode": "embed", # str
133
- "enable_embed_resolution": True, # bool
134
- "enable_artifact_content_instruction": True, # bool
135
- "session_service": {
136
- "type": "memory", # str - "memory" | "vertex_rag"
137
- "default_behavior": "PERSISTENT" # str - "PERSISTENT" | "RUN_BASED"
138
- },
139
- "artifact_service": {
140
- "type": "filesystem", # str - "memory" | "filesystem" | "gcs"
141
- "base_path": "/tmp/samv2", # str
142
- "artifact_scope": "namespace" # str - "namespace" | "app" | "custom"
143
- },
144
- "agent_card": {
145
- "description": str, # str - Agent description
146
- "defaultInputModes": ["text"], # List[str]
147
- "defaultOutputModes": ["text", "file"], # List[str]
148
- "skills": [] # List[str]
149
- },
150
- "agent_card_publishing": {
151
- "interval_seconds": 10 # int
152
- },
153
- "agent_discovery": {
154
- "enabled": True # bool
155
- },
156
- "inter_agent_communication": {
157
- "allow_list": ["*"], # List[str]
158
- "request_timeout_seconds": 30 # int
159
- }
160
- }
161
- ```
162
-
163
- ### ENV_DEFAULTS Configuration
164
- ```python
165
- ENV_DEFAULTS: Dict[str, str] = {
166
- "LLM_SERVICE_ENDPOINT": "YOUR_LLM_SERVICE_ENDPOINT_HERE",
167
- "LLM_SERVICE_API_KEY": "YOUR_LLM_SERVICE_API_KEY_HERE",
168
- "LLM_SERVICE_PLANNING_MODEL_NAME": "YOUR_LLM_SERVICE_PLANNING_MODEL_NAME_HERE",
169
- "LLM_SERVICE_GENERAL_MODEL_NAME": "YOUR_LLM_SERVICE_GENERAL_MODEL_NAME_HERE",
170
- "NAMESPACE": "my_project_namespace/",
171
- "SOLACE_BROKER_URL": "ws://localhost:8008",
172
- "SOLACE_BROKER_VPN": "default",
173
- "SOLACE_BROKER_USERNAME": "default",
174
- "SOLACE_BROKER_PASSWORD": "default",
175
- "SOLACE_DEV_MODE": "false",
176
- "SESSION_SECRET_KEY": "please_change_me_in",
177
- "FASTAPI_HOST": "127.0.0.1",
178
- "FASTAPI_PORT": "8000",
179
- "ENABLE_EMBED_RESOLUTION": "true",
180
- }
181
- ```
182
-
183
- ### WEBUI_GATEWAY_DEFAULTS Configuration
184
- ```python
185
- WEBUI_GATEWAY_DEFAULTS: Dict[str, Any] = {
186
- "webui_frontend_welcome_message": "", # str
187
- "webui_frontend_bot_name": "Solace Agent Mesh", # str
188
- "webui_frontend_collect_feedback": False, # bool
189
- "webui_session_secret_key": "please_change_me_in", # str
190
- "webui_fastapi_host": "127.0.0.1", # str
191
- "webui_fastapi_port": 8000, # int
192
- "webui_enable_embed_resolution": True, # bool
193
- }
194
- ```
195
-
196
- ## 5. Step Functions
197
-
198
- ### broker_setup_step Function
199
- ```python
200
- def broker_setup_step(
201
- options: dict,
202
- default_values: dict,
203
- skip_interactive: bool
204
- ) -> dict
205
- ```
206
- **Purpose:** Configures broker connection settings
207
- **Parameters:**
208
- - `options`: Mutable configuration dictionary
209
- - `default_values`: Default values for prompts
210
- - `skip_interactive`: Skip user prompts if True
211
- **Returns:** Updated options dictionary
212
- **Side Effects:** May start Docker/Podman containers for local broker
213
-
214
- ### create_project_directories Function
215
- ```python
216
- def create_project_directories(project_root: Path) -> bool
217
- ```
218
- **Purpose:** Creates standard project directory structure
219
- **Parameters:**
220
- - `project_root`: Root directory for the project
221
- **Returns:** True on success, False on failure
222
- **Creates:**
223
- - `configs/`
224
- - `configs/gateways/`
225
- - `configs/agents/`
226
- - `src/`
227
-
228
- ### create_project_files Function
229
- ```python
230
- def create_project_files(project_root: Path) -> bool
231
- ```
232
- **Purpose:** Creates standard project files
233
- **Parameters:**
234
- - `project_root`: Root directory for the project
235
- **Returns:** True on success, False on failure
236
- **Creates:**
237
- - `src/__init__.py`
238
- - `requirements.txt` (with solace-agent-mesh dependency)
239
-
240
- ### create_env_file Function
241
- ```python
242
- def create_env_file(
243
- project_root: Path,
244
- options: dict,
245
- skip_interactive: bool
246
- ) -> bool
247
- ```
248
- **Purpose:** Creates .env file with environment variables
249
- **Parameters:**
250
- - `project_root`: Root directory for the project
251
- - `options`: Configuration values
252
- - `skip_interactive`: Skip user prompts if True
253
- **Returns:** True on success, False on failure
254
- **Creates:** `.env` file with all necessary environment variables
255
-
256
- ### create_orchestrator_config Function
257
- ```python
258
- def create_orchestrator_config(
259
- project_root: Path,
260
- options: dict,
261
- skip_interactive: bool
262
- ) -> bool
263
- ```
264
- **Purpose:** Creates orchestrator agent configuration files
265
- **Parameters:**
266
- - `project_root`: Root directory for the project
267
- - `options`: Configuration values
268
- - `skip_interactive`: Skip user prompts if True
269
- **Returns:** True on success, False on failure
270
- **Creates:**
271
- - `configs/shared_config.yaml`
272
- - `configs/agents/main_orchestrator.yaml`
273
-
274
- ### create_webui_gateway_config Function
275
- ```python
276
- def create_webui_gateway_config(
277
- project_root: Path,
278
- options: dict,
279
- skip_interactive: bool,
280
- default_values: dict
281
- ) -> bool
282
- ```
283
- **Purpose:** Creates WebUI gateway configuration
284
- **Parameters:**
285
- - `project_root`: Root directory for the project
286
- - `options`: Configuration values
287
- - `skip_interactive`: Skip user prompts if True
288
- - `default_values`: Default values for prompts
289
- **Returns:** True on success, False on failure
290
- **Creates:** `configs/gateways/webui.yaml` (if enabled)
291
-
292
- ### perform_web_init Function
293
- ```python
294
- def perform_web_init(current_cli_params: dict) -> dict
295
- ```
296
- **Purpose:** Launches web-based configuration interface
297
- **Parameters:**
298
- - `current_cli_params`: Current CLI parameter values
299
- **Returns:** Updated configuration dictionary with web form values
300
- **Side Effects:**
301
- - Starts Flask server on port 5002
302
- - Opens browser to configuration portal
303
- - Blocks until configuration is complete
304
-
305
- ## 6. Architecture Patterns Used
306
-
307
- ### Step-Based Pipeline Pattern
308
- The initialization process follows a sequential step pattern where each step:
309
- - Receives an options dictionary
310
- - Performs its specific configuration task
311
- - Updates the options dictionary for subsequent steps
312
- - Returns success/failure status
313
-
314
- ### Template-Based Configuration Generation
315
- Configuration files are generated using template replacement:
316
- - Templates contain `__PLACEHOLDER__` markers
317
- - Values from options dictionary replace placeholders
318
- - Supports both simple string replacement and YAML anchor references
319
-
320
- ### Multi-Modal Interface Pattern
321
- Supports both CLI and web-based configuration:
322
- - CLI mode: Interactive prompts with defaults
323
- - Web mode: Browser-based form interface
324
- - Skip mode: Non-interactive using defaults/CLI args
325
-
326
- ### Hierarchical Defaults Pattern
327
- Configuration values are resolved in priority order:
328
- 1. CLI arguments (highest priority)
329
- 2. Web form values
330
- 3. Interactive prompts
331
- 4. Default values (lowest priority)
332
-
333
- ## 7. Integration Points with Other Systems
334
-
335
- ### CLI Framework Integration
336
- - Integrates with Click command framework
337
- - Inherits from parent CLI structure
338
- - Uses shared utility functions from `...utils`
339
-
340
- ### Template System Integration
341
- - Uses `load_template()` utility to load YAML templates
342
- - Templates stored in CLI package template directory
343
- - Supports dynamic placeholder replacement
344
-
345
- ### Container Runtime Integration
346
- - Detects and uses Docker or Podman for local broker setup
347
- - Executes container commands via `os.system()`
348
- - Validates container runtime availability
349
-
350
- ### Web Portal Integration
351
- - Launches separate Flask process for web configuration
352
- - Uses multiprocessing for inter-process communication
353
- - Automatically opens browser to configuration URL
354
-
355
- ### File System Integration
356
- - Creates project directory structure
357
- - Generates configuration files in standard locations
358
- - Creates environment files with proper formatting
359
-
360
- ### Environment Variable Integration
361
- - Generates `.env` files for runtime configuration
362
- - Maps CLI options to environment variable names
363
- - Supports secure handling of sensitive values (passwords, API keys)
364
-
365
- The init_cmd system provides a comprehensive, user-friendly way to bootstrap new Solace Agent Mesh projects with proper configuration, directory structure, and integration setup.