solace-agent-mesh 0.2.4__py3-none-any.whl → 1.0.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 (521) hide show
  1. solace_agent_mesh/__init__.py +5 -0
  2. solace_agent_mesh/agent/adk/adk_llm.txt +93 -0
  3. solace_agent_mesh/agent/adk/app_llm_agent.py +26 -0
  4. solace_agent_mesh/agent/adk/callbacks.py +1716 -0
  5. solace_agent_mesh/agent/adk/filesystem_artifact_service.py +381 -0
  6. solace_agent_mesh/agent/adk/invocation_monitor.py +295 -0
  7. solace_agent_mesh/agent/adk/models/lite_llm.py +872 -0
  8. solace_agent_mesh/agent/adk/models/models_llm.txt +94 -0
  9. solace_agent_mesh/agent/adk/runner.py +357 -0
  10. solace_agent_mesh/agent/adk/services.py +240 -0
  11. solace_agent_mesh/agent/adk/setup.py +751 -0
  12. solace_agent_mesh/agent/adk/stream_parser.py +214 -0
  13. solace_agent_mesh/agent/adk/tool_wrapper.py +139 -0
  14. solace_agent_mesh/agent/agent_llm.txt +41 -0
  15. solace_agent_mesh/agent/protocol/event_handlers.py +1444 -0
  16. solace_agent_mesh/agent/protocol/protocol_llm.txt +21 -0
  17. solace_agent_mesh/agent/sac/app.py +640 -0
  18. solace_agent_mesh/agent/sac/component.py +3496 -0
  19. solace_agent_mesh/agent/sac/patch_adk.py +111 -0
  20. solace_agent_mesh/agent/sac/sac_llm.txt +105 -0
  21. solace_agent_mesh/agent/sac/task_execution_context.py +185 -0
  22. solace_agent_mesh/agent/testing/__init__.py +3 -0
  23. solace_agent_mesh/agent/testing/debug_utils.py +135 -0
  24. solace_agent_mesh/agent/testing/testing_llm.txt +90 -0
  25. solace_agent_mesh/agent/tools/__init__.py +14 -0
  26. solace_agent_mesh/agent/tools/audio_tools.py +1622 -0
  27. solace_agent_mesh/agent/tools/builtin_artifact_tools.py +1954 -0
  28. solace_agent_mesh/agent/tools/builtin_data_analysis_tools.py +238 -0
  29. solace_agent_mesh/agent/tools/general_agent_tools.py +571 -0
  30. solace_agent_mesh/agent/tools/image_tools.py +1184 -0
  31. solace_agent_mesh/agent/tools/peer_agent_tool.py +290 -0
  32. solace_agent_mesh/agent/tools/registry.py +36 -0
  33. solace_agent_mesh/agent/tools/test_tools.py +135 -0
  34. solace_agent_mesh/agent/tools/tool_definition.py +45 -0
  35. solace_agent_mesh/agent/tools/tools_llm.txt +104 -0
  36. solace_agent_mesh/agent/tools/web_tools.py +381 -0
  37. solace_agent_mesh/agent/utils/artifact_helpers.py +927 -0
  38. solace_agent_mesh/agent/utils/config_parser.py +47 -0
  39. solace_agent_mesh/agent/utils/context_helpers.py +60 -0
  40. solace_agent_mesh/agent/utils/utils_llm.txt +153 -0
  41. solace_agent_mesh/assets/docs/404.html +16 -0
  42. solace_agent_mesh/assets/docs/assets/css/styles.906a1503.css +1 -0
  43. solace_agent_mesh/assets/docs/assets/images/Solace_AI_Framework_With_Broker-85f0a306a9bcdd20b390b7a949f6d862.png +0 -0
  44. solace_agent_mesh/assets/docs/assets/images/sac-flows-80d5b603c6aafd33e87945680ce0abf3.png +0 -0
  45. solace_agent_mesh/assets/docs/assets/images/sac_parts_of_a_component-cb3d0424b1d0c17734c5435cca6b4082.png +0 -0
  46. solace_agent_mesh/assets/docs/assets/js/04989206.674a8007.js +1 -0
  47. solace_agent_mesh/assets/docs/assets/js/0e682baa.79f0ab22.js +1 -0
  48. solace_agent_mesh/assets/docs/assets/js/1001.0182a8bd.js +1 -0
  49. solace_agent_mesh/assets/docs/assets/js/1023fc19.015679ca.js +1 -0
  50. solace_agent_mesh/assets/docs/assets/js/1039.0bd46aa1.js +1 -0
  51. solace_agent_mesh/assets/docs/assets/js/149.b797a808.js +1 -0
  52. solace_agent_mesh/assets/docs/assets/js/1523c6b4.91c7bc01.js +1 -0
  53. solace_agent_mesh/assets/docs/assets/js/165.6a39807d.js +2 -0
  54. solace_agent_mesh/assets/docs/assets/js/165.6a39807d.js.LICENSE.txt +9 -0
  55. solace_agent_mesh/assets/docs/assets/js/166ab619.7d97ccaf.js +1 -0
  56. solace_agent_mesh/assets/docs/assets/js/17896441.a5e82f9b.js +2 -0
  57. solace_agent_mesh/assets/docs/assets/js/17896441.a5e82f9b.js.LICENSE.txt +7 -0
  58. solace_agent_mesh/assets/docs/assets/js/1c6e87d2.a8c5ce5a.js +1 -0
  59. solace_agent_mesh/assets/docs/assets/js/2130.ab9fd314.js +1 -0
  60. solace_agent_mesh/assets/docs/assets/js/21ceee5f.614fa8dd.js +1 -0
  61. solace_agent_mesh/assets/docs/assets/js/2237.5e477fc6.js +1 -0
  62. solace_agent_mesh/assets/docs/assets/js/2334.622a6395.js +1 -0
  63. solace_agent_mesh/assets/docs/assets/js/2a9cab12.8909df92.js +1 -0
  64. solace_agent_mesh/assets/docs/assets/js/3219.adc1d663.js +1 -0
  65. solace_agent_mesh/assets/docs/assets/js/332e10b5.7a103f42.js +1 -0
  66. solace_agent_mesh/assets/docs/assets/js/3624.b524e433.js +1 -0
  67. solace_agent_mesh/assets/docs/assets/js/375.708d48db.js +1 -0
  68. solace_agent_mesh/assets/docs/assets/js/3834.b6cd790e.js +1 -0
  69. solace_agent_mesh/assets/docs/assets/js/3d406171.f722eaf5.js +1 -0
  70. solace_agent_mesh/assets/docs/assets/js/4250.95455b28.js +1 -0
  71. solace_agent_mesh/assets/docs/assets/js/42b3f8d8.36090198.js +1 -0
  72. solace_agent_mesh/assets/docs/assets/js/4356.d169ab5b.js +1 -0
  73. solace_agent_mesh/assets/docs/assets/js/442a8107.5ba94b65.js +1 -0
  74. solace_agent_mesh/assets/docs/assets/js/4458.518e66fa.js +1 -0
  75. solace_agent_mesh/assets/docs/assets/js/4488.c7cc3442.js +1 -0
  76. solace_agent_mesh/assets/docs/assets/js/4494.6ee23046.js +1 -0
  77. solace_agent_mesh/assets/docs/assets/js/4855.fc4444b6.js +1 -0
  78. solace_agent_mesh/assets/docs/assets/js/4866.22daefc0.js +1 -0
  79. solace_agent_mesh/assets/docs/assets/js/4950.ca4caeda.js +1 -0
  80. solace_agent_mesh/assets/docs/assets/js/4c2787c2.66ee00e9.js +1 -0
  81. solace_agent_mesh/assets/docs/assets/js/5388.7a136447.js +1 -0
  82. solace_agent_mesh/assets/docs/assets/js/55f47984.c484bf96.js +1 -0
  83. solace_agent_mesh/assets/docs/assets/js/5607.081356f8.js +1 -0
  84. solace_agent_mesh/assets/docs/assets/js/5864.b0d0e9de.js +1 -0
  85. solace_agent_mesh/assets/docs/assets/js/5b4258a4.bda20761.js +1 -0
  86. solace_agent_mesh/assets/docs/assets/js/5e95c892.558d5167.js +1 -0
  87. solace_agent_mesh/assets/docs/assets/js/6143.0a1464c9.js +1 -0
  88. solace_agent_mesh/assets/docs/assets/js/6395.e9c73649.js +1 -0
  89. solace_agent_mesh/assets/docs/assets/js/6796.51d2c9b7.js +1 -0
  90. solace_agent_mesh/assets/docs/assets/js/6976.379be23b.js +1 -0
  91. solace_agent_mesh/assets/docs/assets/js/6978.ee0b945c.js +1 -0
  92. solace_agent_mesh/assets/docs/assets/js/7040.cb436723.js +1 -0
  93. solace_agent_mesh/assets/docs/assets/js/7195.412f418a.js +1 -0
  94. solace_agent_mesh/assets/docs/assets/js/7280.3fb73bdb.js +1 -0
  95. solace_agent_mesh/assets/docs/assets/js/768e31b0.a12673db.js +1 -0
  96. solace_agent_mesh/assets/docs/assets/js/7845.e33e7c4c.js +1 -0
  97. solace_agent_mesh/assets/docs/assets/js/7900.69516146.js +1 -0
  98. solace_agent_mesh/assets/docs/assets/js/8356.8a379c04.js +1 -0
  99. solace_agent_mesh/assets/docs/assets/js/85387663.6bf41934.js +1 -0
  100. solace_agent_mesh/assets/docs/assets/js/8567.4732c6b7.js +1 -0
  101. solace_agent_mesh/assets/docs/assets/js/8573.cb04eda5.js +1 -0
  102. solace_agent_mesh/assets/docs/assets/js/8577.1d54e766.js +1 -0
  103. solace_agent_mesh/assets/docs/assets/js/8591.d7c16be6.js +2 -0
  104. solace_agent_mesh/assets/docs/assets/js/8591.d7c16be6.js.LICENSE.txt +61 -0
  105. solace_agent_mesh/assets/docs/assets/js/8709.7ecd4047.js +1 -0
  106. solace_agent_mesh/assets/docs/assets/js/8731.49e930c2.js +1 -0
  107. solace_agent_mesh/assets/docs/assets/js/8908.f9d1b506.js +1 -0
  108. solace_agent_mesh/assets/docs/assets/js/9157.b4093d07.js +1 -0
  109. solace_agent_mesh/assets/docs/assets/js/9278.a4fd875d.js +1 -0
  110. solace_agent_mesh/assets/docs/assets/js/945fb41e.74d728aa.js +1 -0
  111. solace_agent_mesh/assets/docs/assets/js/9616.b75c2f6d.js +1 -0
  112. solace_agent_mesh/assets/docs/assets/js/9793.c6d16376.js +1 -0
  113. solace_agent_mesh/assets/docs/assets/js/9eff14a2.1bf8f61c.js +1 -0
  114. solace_agent_mesh/assets/docs/assets/js/a3a92b25.26ca071f.js +1 -0
  115. solace_agent_mesh/assets/docs/assets/js/a7bd4aaa.2204d2f7.js +1 -0
  116. solace_agent_mesh/assets/docs/assets/js/a94703ab.0438dbc2.js +1 -0
  117. solace_agent_mesh/assets/docs/assets/js/aba21aa0.c42a534c.js +1 -0
  118. solace_agent_mesh/assets/docs/assets/js/aba87c2f.d3e2dcc3.js +1 -0
  119. solace_agent_mesh/assets/docs/assets/js/ae4415af.8e279b5d.js +1 -0
  120. solace_agent_mesh/assets/docs/assets/js/b7006a3a.40b10c9d.js +1 -0
  121. solace_agent_mesh/assets/docs/assets/js/bac0be12.f50d9bac.js +1 -0
  122. solace_agent_mesh/assets/docs/assets/js/bb2ef573.207e6990.js +1 -0
  123. solace_agent_mesh/assets/docs/assets/js/c2c06897.63b76e9e.js +1 -0
  124. solace_agent_mesh/assets/docs/assets/js/cc969b05.954186d4.js +1 -0
  125. solace_agent_mesh/assets/docs/assets/js/cd3d4052.ca6eed8c.js +1 -0
  126. solace_agent_mesh/assets/docs/assets/js/ced92a13.fb92e7ca.js +1 -0
  127. solace_agent_mesh/assets/docs/assets/js/cee5d587.f5b73ca1.js +1 -0
  128. solace_agent_mesh/assets/docs/assets/js/f284c35a.ecc3d195.js +1 -0
  129. solace_agent_mesh/assets/docs/assets/js/f897a61a.f8c53b0f.js +1 -0
  130. solace_agent_mesh/assets/docs/assets/js/fbfa3e75.aca209c9.js +1 -0
  131. solace_agent_mesh/assets/docs/assets/js/main.c6286d7c.js +2 -0
  132. solace_agent_mesh/assets/docs/assets/js/main.c6286d7c.js.LICENSE.txt +81 -0
  133. solace_agent_mesh/assets/docs/assets/js/runtime~main.d5133813.js +1 -0
  134. solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html +128 -0
  135. solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html +91 -0
  136. solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html +201 -0
  137. solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html +91 -0
  138. solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html +55 -0
  139. solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html +82 -0
  140. solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html +77 -0
  141. solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html +48 -0
  142. solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html +54 -0
  143. solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +17 -0
  144. solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html +45 -0
  145. solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html +76 -0
  146. solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +150 -0
  147. solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html +54 -0
  148. solace_agent_mesh/assets/docs/docs/documentation/tutorials/bedrock-agents/index.html +267 -0
  149. solace_agent_mesh/assets/docs/docs/documentation/tutorials/custom-agent/index.html +136 -0
  150. solace_agent_mesh/assets/docs/docs/documentation/tutorials/event-mesh-gateway/index.html +116 -0
  151. solace_agent_mesh/assets/docs/docs/documentation/tutorials/mcp-integration/index.html +80 -0
  152. solace_agent_mesh/assets/docs/docs/documentation/tutorials/mongodb-integration/index.html +164 -0
  153. solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html +57 -0
  154. solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html +72 -0
  155. solace_agent_mesh/assets/docs/docs/documentation/tutorials/sql-database/index.html +102 -0
  156. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/artifact-management/index.html +99 -0
  157. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html +90 -0
  158. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html +107 -0
  159. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html +152 -0
  160. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html +103 -0
  161. solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html +170 -0
  162. solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html +200 -0
  163. solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html +54 -0
  164. solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html +69 -0
  165. solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html +59 -0
  166. solace_agent_mesh/assets/docs/img/Solace_AI_Framework_README.png +0 -0
  167. solace_agent_mesh/assets/docs/img/Solace_AI_Framework_With_Broker.png +0 -0
  168. solace_agent_mesh/assets/docs/img/logo.png +0 -0
  169. solace_agent_mesh/assets/docs/img/sac-flows.png +0 -0
  170. solace_agent_mesh/assets/docs/img/sac_parts_of_a_component.png +0 -0
  171. solace_agent_mesh/assets/docs/img/solace-logo.png +0 -0
  172. solace_agent_mesh/assets/docs/lunr-index-1754075282978.json +1 -0
  173. solace_agent_mesh/assets/docs/lunr-index.json +1 -0
  174. solace_agent_mesh/assets/docs/search-doc-1754075282978.json +1 -0
  175. solace_agent_mesh/assets/docs/search-doc.json +1 -0
  176. solace_agent_mesh/assets/docs/sitemap.xml +1 -0
  177. solace_agent_mesh/cli/__init__.py +1 -1
  178. solace_agent_mesh/cli/commands/add_cmd/__init__.py +15 -0
  179. solace_agent_mesh/cli/commands/add_cmd/add_cmd_llm.txt +250 -0
  180. solace_agent_mesh/cli/commands/add_cmd/agent_cmd.py +659 -0
  181. solace_agent_mesh/cli/commands/add_cmd/gateway_cmd.py +322 -0
  182. solace_agent_mesh/cli/commands/add_cmd/web_add_agent_step.py +93 -0
  183. solace_agent_mesh/cli/commands/add_cmd/web_add_gateway_step.py +118 -0
  184. solace_agent_mesh/cli/commands/docs_cmd.py +57 -0
  185. solace_agent_mesh/cli/commands/eval_cmd.py +64 -0
  186. solace_agent_mesh/cli/commands/init_cmd/__init__.py +404 -0
  187. solace_agent_mesh/cli/commands/init_cmd/broker_step.py +201 -0
  188. solace_agent_mesh/cli/commands/init_cmd/directory_step.py +28 -0
  189. solace_agent_mesh/cli/commands/init_cmd/env_step.py +205 -0
  190. solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +365 -0
  191. solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +407 -0
  192. solace_agent_mesh/cli/commands/init_cmd/project_files_step.py +38 -0
  193. solace_agent_mesh/cli/commands/init_cmd/web_init_step.py +110 -0
  194. solace_agent_mesh/cli/commands/init_cmd/webui_gateway_step.py +183 -0
  195. solace_agent_mesh/cli/commands/plugin_cmd/__init__.py +18 -0
  196. solace_agent_mesh/cli/commands/plugin_cmd/add_cmd.py +372 -0
  197. solace_agent_mesh/cli/commands/plugin_cmd/build_cmd.py +86 -0
  198. solace_agent_mesh/cli/commands/plugin_cmd/catalog_cmd.py +139 -0
  199. solace_agent_mesh/cli/commands/plugin_cmd/create_cmd.py +309 -0
  200. solace_agent_mesh/cli/commands/plugin_cmd/official_registry.py +175 -0
  201. solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +305 -0
  202. solace_agent_mesh/cli/commands/run_cmd.py +158 -0
  203. solace_agent_mesh/cli/main.py +17 -294
  204. solace_agent_mesh/cli/utils.py +135 -204
  205. solace_agent_mesh/client/webui/frontend/static/assets/authCallback-DvlO62me.js +1 -0
  206. solace_agent_mesh/client/webui/frontend/static/assets/client-bp6u3qVZ.js +49 -0
  207. solace_agent_mesh/client/webui/frontend/static/assets/favicon-BLgzUch9.ico +0 -0
  208. solace_agent_mesh/client/webui/frontend/static/assets/main-D11Lmy9p.css +1 -0
  209. solace_agent_mesh/client/webui/frontend/static/assets/main-Gfk3BYn5.js +663 -0
  210. solace_agent_mesh/client/webui/frontend/static/auth-callback.html +14 -0
  211. solace_agent_mesh/client/webui/frontend/static/index.html +15 -0
  212. solace_agent_mesh/common/__init__.py +1 -0
  213. solace_agent_mesh/common/a2a_protocol.py +564 -0
  214. solace_agent_mesh/common/agent_registry.py +42 -0
  215. solace_agent_mesh/common/client/__init__.py +4 -0
  216. solace_agent_mesh/common/client/card_resolver.py +21 -0
  217. solace_agent_mesh/common/client/client.py +85 -0
  218. solace_agent_mesh/common/client/client_llm.txt +133 -0
  219. solace_agent_mesh/common/common_llm.txt +144 -0
  220. solace_agent_mesh/common/constants.py +1 -14
  221. solace_agent_mesh/common/middleware/__init__.py +12 -0
  222. solace_agent_mesh/common/middleware/config_resolver.py +130 -0
  223. solace_agent_mesh/common/middleware/middleware_llm.txt +174 -0
  224. solace_agent_mesh/common/middleware/registry.py +125 -0
  225. solace_agent_mesh/common/server/__init__.py +4 -0
  226. solace_agent_mesh/common/server/server.py +122 -0
  227. solace_agent_mesh/common/server/server_llm.txt +169 -0
  228. solace_agent_mesh/common/server/task_manager.py +291 -0
  229. solace_agent_mesh/common/server/utils.py +28 -0
  230. solace_agent_mesh/common/services/__init__.py +4 -0
  231. solace_agent_mesh/common/services/employee_service.py +162 -0
  232. solace_agent_mesh/common/services/identity_service.py +129 -0
  233. solace_agent_mesh/common/services/providers/__init__.py +4 -0
  234. solace_agent_mesh/common/services/providers/local_file_identity_service.py +148 -0
  235. solace_agent_mesh/common/services/providers/providers_llm.txt +113 -0
  236. solace_agent_mesh/common/services/services_llm.txt +132 -0
  237. solace_agent_mesh/common/types.py +411 -0
  238. solace_agent_mesh/common/utils/__init__.py +7 -0
  239. solace_agent_mesh/common/utils/asyncio_macos_fix.py +86 -0
  240. solace_agent_mesh/common/utils/embeds/__init__.py +33 -0
  241. solace_agent_mesh/common/utils/embeds/constants.py +55 -0
  242. solace_agent_mesh/common/utils/embeds/converter.py +452 -0
  243. solace_agent_mesh/common/utils/embeds/embeds_llm.txt +124 -0
  244. solace_agent_mesh/common/utils/embeds/evaluators.py +394 -0
  245. solace_agent_mesh/common/utils/embeds/modifiers.py +816 -0
  246. solace_agent_mesh/common/utils/embeds/resolver.py +865 -0
  247. solace_agent_mesh/common/utils/embeds/types.py +14 -0
  248. solace_agent_mesh/common/utils/in_memory_cache.py +108 -0
  249. solace_agent_mesh/common/utils/initializer.py +51 -0
  250. solace_agent_mesh/common/utils/log_formatters.py +44 -0
  251. solace_agent_mesh/common/utils/mime_helpers.py +106 -0
  252. solace_agent_mesh/common/utils/push_notification_auth.py +134 -0
  253. solace_agent_mesh/common/utils/utils_llm.txt +67 -0
  254. solace_agent_mesh/config_portal/backend/common.py +66 -24
  255. solace_agent_mesh/config_portal/backend/plugin_catalog/constants.py +24 -0
  256. solace_agent_mesh/config_portal/backend/plugin_catalog/models.py +49 -0
  257. solace_agent_mesh/config_portal/backend/plugin_catalog/registry_manager.py +164 -0
  258. solace_agent_mesh/config_portal/backend/plugin_catalog/scraper.py +521 -0
  259. solace_agent_mesh/config_portal/backend/plugin_catalog_server.py +217 -0
  260. solace_agent_mesh/config_portal/backend/server.py +551 -181
  261. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-_7yox_eh.js +48 -0
  262. solace_agent_mesh/config_portal/frontend/static/client/assets/components-B7lKcHVY.js +140 -0
  263. solace_agent_mesh/config_portal/frontend/static/client/assets/{entry.client-DX1misIU.js → entry.client-CEumGClk.js} +3 -3
  264. solace_agent_mesh/config_portal/frontend/static/client/assets/index-DSo1AH_7.js +68 -0
  265. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-e5c3acfe.js +1 -0
  266. solace_agent_mesh/config_portal/frontend/static/client/assets/{root-BApq5dPK.js → root-C4XmHinv.js} +2 -2
  267. solace_agent_mesh/config_portal/frontend/static/client/assets/root-DxRwaWiE.css +1 -0
  268. solace_agent_mesh/config_portal/frontend/static/client/index.html +3 -3
  269. solace_agent_mesh/core_a2a/__init__.py +1 -0
  270. solace_agent_mesh/core_a2a/core_a2a_llm.txt +88 -0
  271. solace_agent_mesh/core_a2a/service.py +331 -0
  272. solace_agent_mesh/evaluation/config_loader.py +657 -0
  273. solace_agent_mesh/evaluation/evaluator.py +667 -0
  274. solace_agent_mesh/evaluation/message_organizer.py +568 -0
  275. solace_agent_mesh/evaluation/report/benchmark_info.html +35 -0
  276. solace_agent_mesh/evaluation/report/chart_section.html +141 -0
  277. solace_agent_mesh/evaluation/report/detailed_breakdown.html +28 -0
  278. solace_agent_mesh/evaluation/report/modal.html +59 -0
  279. solace_agent_mesh/evaluation/report/modal_chart_functions.js +411 -0
  280. solace_agent_mesh/evaluation/report/modal_script.js +296 -0
  281. solace_agent_mesh/evaluation/report/modal_styles.css +340 -0
  282. solace_agent_mesh/evaluation/report/performance_metrics_styles.css +93 -0
  283. solace_agent_mesh/evaluation/report/templates/footer.html +2 -0
  284. solace_agent_mesh/evaluation/report/templates/header.html +340 -0
  285. solace_agent_mesh/evaluation/report_data_processor.py +972 -0
  286. solace_agent_mesh/evaluation/report_generator.py +613 -0
  287. solace_agent_mesh/evaluation/run.py +613 -0
  288. solace_agent_mesh/evaluation/subscriber.py +872 -0
  289. solace_agent_mesh/evaluation/summary_builder.py +775 -0
  290. solace_agent_mesh/evaluation/test_case_loader.py +714 -0
  291. solace_agent_mesh/gateway/base/__init__.py +1 -0
  292. solace_agent_mesh/gateway/base/app.py +266 -0
  293. solace_agent_mesh/gateway/base/base_llm.txt +119 -0
  294. solace_agent_mesh/gateway/base/component.py +1542 -0
  295. solace_agent_mesh/gateway/base/task_context.py +74 -0
  296. solace_agent_mesh/gateway/gateway_llm.txt +125 -0
  297. solace_agent_mesh/gateway/http_sse/app.py +190 -0
  298. solace_agent_mesh/gateway/http_sse/component.py +1602 -0
  299. solace_agent_mesh/gateway/http_sse/components/__init__.py +7 -0
  300. solace_agent_mesh/gateway/http_sse/components/components_llm.txt +65 -0
  301. solace_agent_mesh/gateway/http_sse/components/visualization_forwarder_component.py +108 -0
  302. solace_agent_mesh/gateway/http_sse/dependencies.py +316 -0
  303. solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +63 -0
  304. solace_agent_mesh/gateway/http_sse/main.py +442 -0
  305. solace_agent_mesh/gateway/http_sse/routers/__init__.py +4 -0
  306. solace_agent_mesh/gateway/http_sse/routers/agents.py +41 -0
  307. solace_agent_mesh/gateway/http_sse/routers/artifacts.py +827 -0
  308. solace_agent_mesh/gateway/http_sse/routers/auth.py +212 -0
  309. solace_agent_mesh/gateway/http_sse/routers/config.py +55 -0
  310. solace_agent_mesh/gateway/http_sse/routers/people.py +69 -0
  311. solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +37 -0
  312. solace_agent_mesh/gateway/http_sse/routers/sessions.py +80 -0
  313. solace_agent_mesh/gateway/http_sse/routers/sse.py +138 -0
  314. solace_agent_mesh/gateway/http_sse/routers/tasks.py +294 -0
  315. solace_agent_mesh/gateway/http_sse/routers/users.py +59 -0
  316. solace_agent_mesh/gateway/http_sse/routers/visualization.py +1131 -0
  317. solace_agent_mesh/gateway/http_sse/services/__init__.py +4 -0
  318. solace_agent_mesh/gateway/http_sse/services/agent_service.py +69 -0
  319. solace_agent_mesh/gateway/http_sse/services/people_service.py +158 -0
  320. solace_agent_mesh/gateway/http_sse/services/services_llm.txt +179 -0
  321. solace_agent_mesh/gateway/http_sse/services/task_service.py +121 -0
  322. solace_agent_mesh/gateway/http_sse/session_manager.py +187 -0
  323. solace_agent_mesh/gateway/http_sse/sse_manager.py +328 -0
  324. solace_agent_mesh/llm.txt +228 -0
  325. solace_agent_mesh/llm_detail.txt +2835 -0
  326. solace_agent_mesh/templates/agent_template.yaml +53 -0
  327. solace_agent_mesh/templates/eval_backend_template.yaml +54 -0
  328. solace_agent_mesh/templates/gateway_app_template.py +73 -0
  329. solace_agent_mesh/templates/gateway_component_template.py +431 -0
  330. solace_agent_mesh/templates/gateway_config_template.yaml +43 -0
  331. solace_agent_mesh/templates/logging_config_template.ini +64 -0
  332. solace_agent_mesh/templates/main_orchestrator.yaml +55 -0
  333. solace_agent_mesh/templates/plugin_agent_config_template.yaml +122 -0
  334. solace_agent_mesh/templates/plugin_custom_config_template.yaml +27 -0
  335. solace_agent_mesh/templates/plugin_custom_template.py +10 -0
  336. solace_agent_mesh/templates/plugin_gateway_config_template.yaml +63 -0
  337. solace_agent_mesh/templates/plugin_pyproject_template.toml +33 -0
  338. solace_agent_mesh/templates/plugin_readme_template.md +34 -0
  339. solace_agent_mesh/templates/plugin_tools_template.py +224 -0
  340. solace_agent_mesh/templates/shared_config.yaml +66 -0
  341. solace_agent_mesh/templates/templates_llm.txt +147 -0
  342. solace_agent_mesh/templates/webui.yaml +53 -0
  343. solace_agent_mesh-1.0.2.dist-info/METADATA +432 -0
  344. solace_agent_mesh-1.0.2.dist-info/RECORD +361 -0
  345. solace_agent_mesh-1.0.2.dist-info/entry_points.txt +3 -0
  346. {solace_agent_mesh-0.2.4.dist-info → solace_agent_mesh-1.0.2.dist-info}/licenses/LICENSE +1 -1
  347. solace_agent_mesh/agents/base_agent_component.py +0 -256
  348. solace_agent_mesh/agents/global/actions/agent_state_change.py +0 -54
  349. solace_agent_mesh/agents/global/actions/clear_history.py +0 -32
  350. solace_agent_mesh/agents/global/actions/convert_file_to_markdown.py +0 -160
  351. solace_agent_mesh/agents/global/actions/create_file.py +0 -70
  352. solace_agent_mesh/agents/global/actions/error_action.py +0 -45
  353. solace_agent_mesh/agents/global/actions/plantuml_diagram.py +0 -163
  354. solace_agent_mesh/agents/global/actions/plotly_graph.py +0 -152
  355. solace_agent_mesh/agents/global/actions/retrieve_file.py +0 -51
  356. solace_agent_mesh/agents/global/global_agent_component.py +0 -38
  357. solace_agent_mesh/agents/image_processing/actions/create_image.py +0 -75
  358. solace_agent_mesh/agents/image_processing/actions/describe_image.py +0 -115
  359. solace_agent_mesh/agents/image_processing/image_processing_agent_component.py +0 -23
  360. solace_agent_mesh/agents/slack/__init__.py +0 -1
  361. solace_agent_mesh/agents/slack/actions/__init__.py +0 -1
  362. solace_agent_mesh/agents/slack/actions/post_message.py +0 -177
  363. solace_agent_mesh/agents/slack/slack_agent_component.py +0 -59
  364. solace_agent_mesh/agents/web_request/actions/do_image_search.py +0 -84
  365. solace_agent_mesh/agents/web_request/actions/do_news_search.py +0 -47
  366. solace_agent_mesh/agents/web_request/actions/do_suggestion_search.py +0 -34
  367. solace_agent_mesh/agents/web_request/actions/do_web_request.py +0 -135
  368. solace_agent_mesh/agents/web_request/actions/download_file.py +0 -69
  369. solace_agent_mesh/agents/web_request/web_request_agent_component.py +0 -33
  370. solace_agent_mesh/assets/web-visualizer/assets/index-D0qORgkg.css +0 -1
  371. solace_agent_mesh/assets/web-visualizer/assets/index-DnDr1pnu.js +0 -109
  372. solace_agent_mesh/assets/web-visualizer/index.html +0 -14
  373. solace_agent_mesh/assets/web-visualizer/vite.svg +0 -1
  374. solace_agent_mesh/cli/commands/add/__init__.py +0 -3
  375. solace_agent_mesh/cli/commands/add/add.py +0 -88
  376. solace_agent_mesh/cli/commands/add/agent.py +0 -110
  377. solace_agent_mesh/cli/commands/add/copy_from_plugin.py +0 -92
  378. solace_agent_mesh/cli/commands/add/gateway.py +0 -374
  379. solace_agent_mesh/cli/commands/build.py +0 -670
  380. solace_agent_mesh/cli/commands/chat/__init__.py +0 -3
  381. solace_agent_mesh/cli/commands/chat/chat.py +0 -361
  382. solace_agent_mesh/cli/commands/config.py +0 -29
  383. solace_agent_mesh/cli/commands/init/__init__.py +0 -3
  384. solace_agent_mesh/cli/commands/init/ai_provider_step.py +0 -93
  385. solace_agent_mesh/cli/commands/init/broker_step.py +0 -99
  386. solace_agent_mesh/cli/commands/init/builtin_agent_step.py +0 -83
  387. solace_agent_mesh/cli/commands/init/check_if_already_done.py +0 -13
  388. solace_agent_mesh/cli/commands/init/create_config_file_step.py +0 -65
  389. solace_agent_mesh/cli/commands/init/create_other_project_files_step.py +0 -147
  390. solace_agent_mesh/cli/commands/init/file_service_step.py +0 -73
  391. solace_agent_mesh/cli/commands/init/init.py +0 -92
  392. solace_agent_mesh/cli/commands/init/project_structure_step.py +0 -16
  393. solace_agent_mesh/cli/commands/init/web_init_step.py +0 -32
  394. solace_agent_mesh/cli/commands/plugin/__init__.py +0 -3
  395. solace_agent_mesh/cli/commands/plugin/add.py +0 -100
  396. solace_agent_mesh/cli/commands/plugin/build.py +0 -268
  397. solace_agent_mesh/cli/commands/plugin/create.py +0 -117
  398. solace_agent_mesh/cli/commands/plugin/plugin.py +0 -124
  399. solace_agent_mesh/cli/commands/plugin/remove.py +0 -73
  400. solace_agent_mesh/cli/commands/run.py +0 -68
  401. solace_agent_mesh/cli/commands/visualizer.py +0 -138
  402. solace_agent_mesh/cli/config.py +0 -85
  403. solace_agent_mesh/common/action.py +0 -91
  404. solace_agent_mesh/common/action_list.py +0 -37
  405. solace_agent_mesh/common/action_response.py +0 -340
  406. solace_agent_mesh/common/mysql_database.py +0 -40
  407. solace_agent_mesh/common/postgres_database.py +0 -85
  408. solace_agent_mesh/common/prompt_templates.py +0 -28
  409. solace_agent_mesh/common/stimulus_utils.py +0 -152
  410. solace_agent_mesh/common/time.py +0 -24
  411. solace_agent_mesh/common/utils.py +0 -712
  412. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-a-zJ6rLx.js +0 -46
  413. solace_agent_mesh/config_portal/frontend/static/client/assets/components-ZIfdTbrV.js +0 -191
  414. solace_agent_mesh/config_portal/frontend/static/client/assets/index-BJHAE5s4.js +0 -17
  415. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-44c41103.js +0 -1
  416. solace_agent_mesh/config_portal/frontend/static/client/assets/root-DX4gQ516.css +0 -1
  417. solace_agent_mesh/configs/agent_global.yaml +0 -74
  418. solace_agent_mesh/configs/agent_image_processing.yaml +0 -82
  419. solace_agent_mesh/configs/agent_slack.yaml +0 -64
  420. solace_agent_mesh/configs/agent_web_request.yaml +0 -75
  421. solace_agent_mesh/configs/conversation_to_file.yaml +0 -56
  422. solace_agent_mesh/configs/error_catcher.yaml +0 -56
  423. solace_agent_mesh/configs/monitor.yaml +0 -0
  424. solace_agent_mesh/configs/monitor_stim_and_errors_to_slack.yaml +0 -109
  425. solace_agent_mesh/configs/monitor_user_feedback.yaml +0 -58
  426. solace_agent_mesh/configs/orchestrator.yaml +0 -241
  427. solace_agent_mesh/configs/service_embedding.yaml +0 -81
  428. solace_agent_mesh/configs/service_llm.yaml +0 -265
  429. solace_agent_mesh/configs/visualize_websocket.yaml +0 -55
  430. solace_agent_mesh/gateway/components/gateway_base.py +0 -47
  431. solace_agent_mesh/gateway/components/gateway_input.py +0 -278
  432. solace_agent_mesh/gateway/components/gateway_output.py +0 -298
  433. solace_agent_mesh/gateway/identity/bamboohr_identity.py +0 -18
  434. solace_agent_mesh/gateway/identity/identity_base.py +0 -10
  435. solace_agent_mesh/gateway/identity/identity_provider.py +0 -60
  436. solace_agent_mesh/gateway/identity/no_identity.py +0 -9
  437. solace_agent_mesh/gateway/identity/passthru_identity.py +0 -9
  438. solace_agent_mesh/monitors/base_monitor_component.py +0 -26
  439. solace_agent_mesh/monitors/feedback/user_feedback_monitor.py +0 -75
  440. solace_agent_mesh/monitors/stim_and_errors/stim_and_error_monitor.py +0 -560
  441. solace_agent_mesh/orchestrator/__init__.py +0 -0
  442. solace_agent_mesh/orchestrator/action_manager.py +0 -237
  443. solace_agent_mesh/orchestrator/components/__init__.py +0 -0
  444. solace_agent_mesh/orchestrator/components/orchestrator_action_manager_timeout_component.py +0 -58
  445. solace_agent_mesh/orchestrator/components/orchestrator_action_response_component.py +0 -179
  446. solace_agent_mesh/orchestrator/components/orchestrator_register_component.py +0 -107
  447. solace_agent_mesh/orchestrator/components/orchestrator_stimulus_processor_component.py +0 -527
  448. solace_agent_mesh/orchestrator/components/orchestrator_streaming_output_component.py +0 -260
  449. solace_agent_mesh/orchestrator/orchestrator_main.py +0 -172
  450. solace_agent_mesh/orchestrator/orchestrator_prompt.py +0 -539
  451. solace_agent_mesh/services/__init__.py +0 -0
  452. solace_agent_mesh/services/authorization/providers/base_authorization_provider.py +0 -56
  453. solace_agent_mesh/services/bamboo_hr_service/__init__.py +0 -3
  454. solace_agent_mesh/services/bamboo_hr_service/bamboo_hr.py +0 -182
  455. solace_agent_mesh/services/common/__init__.py +0 -4
  456. solace_agent_mesh/services/common/auto_expiry.py +0 -45
  457. solace_agent_mesh/services/common/singleton.py +0 -18
  458. solace_agent_mesh/services/file_service/__init__.py +0 -14
  459. solace_agent_mesh/services/file_service/file_manager/__init__.py +0 -0
  460. solace_agent_mesh/services/file_service/file_manager/bucket_file_manager.py +0 -149
  461. solace_agent_mesh/services/file_service/file_manager/file_manager_base.py +0 -162
  462. solace_agent_mesh/services/file_service/file_manager/memory_file_manager.py +0 -64
  463. solace_agent_mesh/services/file_service/file_manager/volume_file_manager.py +0 -106
  464. solace_agent_mesh/services/file_service/file_service.py +0 -437
  465. solace_agent_mesh/services/file_service/file_service_constants.py +0 -54
  466. solace_agent_mesh/services/file_service/file_transformations.py +0 -141
  467. solace_agent_mesh/services/file_service/file_utils.py +0 -324
  468. solace_agent_mesh/services/file_service/transformers/__init__.py +0 -5
  469. solace_agent_mesh/services/history_service/__init__.py +0 -3
  470. solace_agent_mesh/services/history_service/history_providers/__init__.py +0 -0
  471. solace_agent_mesh/services/history_service/history_providers/base_history_provider.py +0 -54
  472. solace_agent_mesh/services/history_service/history_providers/file_history_provider.py +0 -74
  473. solace_agent_mesh/services/history_service/history_providers/index.py +0 -40
  474. solace_agent_mesh/services/history_service/history_providers/memory_history_provider.py +0 -33
  475. solace_agent_mesh/services/history_service/history_providers/mongodb_history_provider.py +0 -66
  476. solace_agent_mesh/services/history_service/history_providers/redis_history_provider.py +0 -66
  477. solace_agent_mesh/services/history_service/history_providers/sql_history_provider.py +0 -93
  478. solace_agent_mesh/services/history_service/history_service.py +0 -413
  479. solace_agent_mesh/services/history_service/long_term_memory/__init__.py +0 -0
  480. solace_agent_mesh/services/history_service/long_term_memory/long_term_memory.py +0 -399
  481. solace_agent_mesh/services/llm_service/components/llm_request_component.py +0 -340
  482. solace_agent_mesh/services/llm_service/components/llm_service_component_base.py +0 -152
  483. solace_agent_mesh/services/middleware_service/__init__.py +0 -0
  484. solace_agent_mesh/services/middleware_service/middleware_service.py +0 -20
  485. solace_agent_mesh/templates/action.py +0 -38
  486. solace_agent_mesh/templates/agent.py +0 -29
  487. solace_agent_mesh/templates/agent.yaml +0 -70
  488. solace_agent_mesh/templates/gateway-config-template.yaml +0 -6
  489. solace_agent_mesh/templates/gateway-default-config.yaml +0 -28
  490. solace_agent_mesh/templates/gateway-flows.yaml +0 -78
  491. solace_agent_mesh/templates/gateway-header.yaml +0 -16
  492. solace_agent_mesh/templates/gateway_base.py +0 -15
  493. solace_agent_mesh/templates/gateway_input.py +0 -98
  494. solace_agent_mesh/templates/gateway_output.py +0 -71
  495. solace_agent_mesh/templates/plugin-gateway-default-config.yaml +0 -29
  496. solace_agent_mesh/templates/plugin-pyproject.toml +0 -30
  497. solace_agent_mesh/templates/rest-api-default-config.yaml +0 -31
  498. solace_agent_mesh/templates/rest-api-flows.yaml +0 -81
  499. solace_agent_mesh/templates/slack-default-config.yaml +0 -16
  500. solace_agent_mesh/templates/slack-flows.yaml +0 -81
  501. solace_agent_mesh/templates/solace-agent-mesh-default.yaml +0 -86
  502. solace_agent_mesh/templates/solace-agent-mesh-plugin-default.yaml +0 -8
  503. solace_agent_mesh/templates/web-default-config.yaml +0 -10
  504. solace_agent_mesh/templates/web-flows.yaml +0 -76
  505. solace_agent_mesh/tools/__init__.py +0 -0
  506. solace_agent_mesh/tools/components/__init__.py +0 -0
  507. solace_agent_mesh/tools/components/conversation_formatter.py +0 -111
  508. solace_agent_mesh/tools/components/file_resolver_component.py +0 -58
  509. solace_agent_mesh/tools/config/runtime_config.py +0 -26
  510. solace_agent_mesh-0.2.4.dist-info/METADATA +0 -176
  511. solace_agent_mesh-0.2.4.dist-info/RECORD +0 -193
  512. solace_agent_mesh-0.2.4.dist-info/entry_points.txt +0 -3
  513. /solace_agent_mesh/{agents → agent}/__init__.py +0 -0
  514. /solace_agent_mesh/{agents/global → agent/adk}/__init__.py +0 -0
  515. /solace_agent_mesh/{agents/global/actions → agent/protocol}/__init__.py +0 -0
  516. /solace_agent_mesh/{agents/image_processing → agent/sac}/__init__.py +0 -0
  517. /solace_agent_mesh/{agents/image_processing/actions → agent/utils}/__init__.py +0 -0
  518. /solace_agent_mesh/{agents/web_request → config_portal/backend/plugin_catalog}/__init__.py +0 -0
  519. /solace_agent_mesh/{agents/web_request/actions → evaluation}/__init__.py +0 -0
  520. /solace_agent_mesh/gateway/{components → http_sse}/__init__.py +0 -0
  521. {solace_agent_mesh-0.2.4.dist-info → solace_agent_mesh-1.0.2.dist-info}/WHEEL +0 -0
@@ -0,0 +1,404 @@
1
+ import click
2
+ from pathlib import Path
3
+
4
+ from ...utils import ask_yes_no_question
5
+ from .web_init_step import perform_web_init
6
+ from .directory_step import create_project_directories
7
+ from .project_files_step import create_project_files
8
+ from .env_step import create_env_file, ENV_DEFAULTS
9
+ from .broker_step import broker_setup_step
10
+ from .orchestrator_step import (
11
+ create_orchestrator_config,
12
+ ORCHESTRATOR_DEFAULTS as O_DEFAULTS,
13
+ )
14
+ from .webui_gateway_step import create_webui_gateway_config, WEBUI_GATEWAY_DEFAULTS
15
+
16
+
17
+ def _get_flat_orchestrator_defaults():
18
+ """Flattens and maps ORCHESTRATOR_DEFAULTS for DEFAULT_INIT_VALUES."""
19
+ flat_defaults = {}
20
+ flat_defaults["agent_name"] = O_DEFAULTS["agent_name"]
21
+ flat_defaults["supports_streaming"] = O_DEFAULTS["supports_streaming"]
22
+ flat_defaults["session_service_type"] = O_DEFAULTS["session_service"]["type"]
23
+ flat_defaults["session_service_behavior"] = O_DEFAULTS["session_service"][
24
+ "default_behavior"
25
+ ]
26
+ flat_defaults["artifact_service_type"] = O_DEFAULTS["artifact_service"]["type"]
27
+ flat_defaults["artifact_service_base_path"] = O_DEFAULTS["artifact_service"][
28
+ "base_path"
29
+ ]
30
+ flat_defaults["artifact_service_scope"] = O_DEFAULTS["artifact_service"][
31
+ "artifact_scope"
32
+ ]
33
+ flat_defaults["artifact_handling_mode"] = O_DEFAULTS["artifact_handling_mode"]
34
+ flat_defaults["enable_embed_resolution"] = O_DEFAULTS["enable_embed_resolution"]
35
+ flat_defaults["enable_artifact_content_instruction"] = O_DEFAULTS[
36
+ "enable_artifact_content_instruction"
37
+ ]
38
+ flat_defaults["agent_card_description"] = O_DEFAULTS["agent_card"]["description"]
39
+ flat_defaults["agent_card_default_input_modes"] = ",".join(
40
+ O_DEFAULTS["agent_card"]["defaultInputModes"]
41
+ )
42
+ flat_defaults["agent_card_default_output_modes"] = ",".join(
43
+ O_DEFAULTS["agent_card"]["defaultOutputModes"]
44
+ )
45
+ flat_defaults["agent_discovery_enabled"] = O_DEFAULTS["agent_discovery"]["enabled"]
46
+ flat_defaults["agent_card_publishing_interval"] = O_DEFAULTS[
47
+ "agent_card_publishing"
48
+ ]["interval_seconds"]
49
+ flat_defaults["inter_agent_communication_allow_list"] = ",".join(
50
+ O_DEFAULTS["inter_agent_communication"]["allow_list"]
51
+ )
52
+ flat_defaults["inter_agent_communication_deny_list"] = ",".join(
53
+ O_DEFAULTS["inter_agent_communication"].get("deny_list", [])
54
+ )
55
+ flat_defaults["inter_agent_communication_timeout"] = O_DEFAULTS[
56
+ "inter_agent_communication"
57
+ ]["request_timeout_seconds"]
58
+ return flat_defaults
59
+
60
+
61
+ DEFAULT_INIT_VALUES = {
62
+ "broker_type": "1",
63
+ "broker_url": "ws://localhost:8080",
64
+ "broker_vpn": "default",
65
+ "broker_username": "default",
66
+ "broker_password": "default",
67
+ "container_engine": "docker",
68
+ "SOLACE_LOCAL_BROKER_URL": "ws://localhost:8080",
69
+ "SOLACE_LOCAL_BROKER_VPN": "default",
70
+ "SOLACE_LOCAL_BROKER_USERNAME": "default",
71
+ "SOLACE_LOCAL_BROKER_PASSWORD": "default",
72
+ "DEV_BROKER_URL": "ws://localhost:8080",
73
+ "DEV_BROKER_VPN": "default",
74
+ "DEV_BROKER_USERNAME": "default",
75
+ "DEV_BROKER_PASSWORD": "default",
76
+ "llm_endpoint_url": "YOUR_LLM_ENDPOINT_URL_HERE",
77
+ "llm_api_key": "YOUR_LLM_API_KEY_HERE",
78
+ "llm_planning_model_name": "YOUR_LLM_PLANNING_MODEL_NAME_HERE",
79
+ "llm_general_model_name": "YOUR_LLM_GENERAL_MODEL_NAME_HERE",
80
+ "namespace": "solace_app/",
81
+ "dev_mode": "false",
82
+ **_get_flat_orchestrator_defaults(),
83
+ "add_webui_gateway": True,
84
+ "webui_session_secret_key": ENV_DEFAULTS.get("SESSION_SECRET_KEY"),
85
+ "webui_fastapi_host": ENV_DEFAULTS.get("FASTAPI_HOST"),
86
+ "webui_fastapi_port": int(ENV_DEFAULTS.get("FASTAPI_PORT", "8000")),
87
+ "webui_fastapi_https_port": int(ENV_DEFAULTS.get("FASTAPI_HTTPS_PORT", "8443")),
88
+ "webui_ssl_keyfile": ENV_DEFAULTS.get("SSL_KEYFILE", ""),
89
+ "webui_ssl_certfile": ENV_DEFAULTS.get("SSL_CERTFILE", ""),
90
+ "webui_ssl_keyfile_password": ENV_DEFAULTS.get("SSL_KEYFILE_PASSWORD", ""),
91
+ "webui_enable_embed_resolution": ENV_DEFAULTS.get(
92
+ "ENABLE_EMBED_RESOLUTION", "true"
93
+ ).lower()
94
+ == "true",
95
+ "webui_frontend_welcome_message": WEBUI_GATEWAY_DEFAULTS.get(
96
+ "frontend_welcome_message", "How can I assist you today?"
97
+ ),
98
+ "webui_frontend_bot_name": WEBUI_GATEWAY_DEFAULTS.get(
99
+ "frontend_bot_name", "Solace Agent Mesh"
100
+ ),
101
+ "webui_frontend_collect_feedback": WEBUI_GATEWAY_DEFAULTS.get(
102
+ "frontend_collect_feedback", False
103
+ ),
104
+ }
105
+
106
+
107
+ def run_init_flow(skip_interactive: bool, use_web_based_init_flag: bool, **cli_options):
108
+ """
109
+ Orchestrates the initialization of a new Solace application project
110
+ by running a sequence of steps.
111
+ """
112
+ click.echo(
113
+ click.style("Initializing Solace Application Project...", bold=True, fg="blue")
114
+ )
115
+ options = {k: v for k, v in cli_options.items() if v is not None}
116
+
117
+ actual_use_web_init = use_web_based_init_flag
118
+ if not skip_interactive and not use_web_based_init_flag:
119
+ actual_use_web_init = ask_yes_no_question(
120
+ "Would you like to configure your project through a web interface in your browser?",
121
+ default=True,
122
+ )
123
+
124
+ if actual_use_web_init:
125
+ if skip_interactive:
126
+ click.echo(
127
+ click.style(
128
+ "Web-based init (--gui) is not compatible with --skip. Proceeding with CLI-based init using provided options or defaults.",
129
+ fg="yellow",
130
+ )
131
+ )
132
+ else:
133
+ options = perform_web_init(options)
134
+ skip_interactive = True
135
+
136
+ project_root = Path.cwd()
137
+ click.echo(f"Project will be initialized in: {project_root}")
138
+
139
+ shared_post_data_gathering_steps = [
140
+ ("Broker Setup", broker_setup_step),
141
+ (
142
+ "Project Directory Setup",
143
+ lambda opts, defs, skip: create_project_directories(project_root),
144
+ ),
145
+ (
146
+ "Project Files Creation",
147
+ lambda opts, defs, skip: create_project_files(project_root),
148
+ ),
149
+ (
150
+ "Main Orchestrator Configuration",
151
+ lambda opts, defs, skip: create_orchestrator_config(
152
+ project_root, opts, skip
153
+ ),
154
+ ),
155
+ (
156
+ "Web UI Gateway Configuration",
157
+ lambda opts, defs, skip: create_webui_gateway_config(
158
+ project_root, opts, skip, defs
159
+ ),
160
+ ),
161
+ (
162
+ ".env File Creation",
163
+ lambda opts, defs, skip: create_env_file(project_root, opts, skip),
164
+ ),
165
+ ]
166
+
167
+ current_steps_sequence = shared_post_data_gathering_steps
168
+
169
+ step_count = 0
170
+ total_display_steps = len(
171
+ [s_name for s_name, _ in current_steps_sequence if s_name]
172
+ )
173
+
174
+ for step_name, step_function in current_steps_sequence:
175
+ if step_name:
176
+ step_count += 1
177
+ click.echo(
178
+ click.style(
179
+ f"\n--- Step {step_count} of {total_display_steps}: {step_name} ---",
180
+ bold=True,
181
+ fg="blue",
182
+ )
183
+ )
184
+
185
+ step_function(options, DEFAULT_INIT_VALUES, skip_interactive)
186
+
187
+ click.echo(click.style("\nProject initialization complete!", fg="green", bold=True))
188
+ click.echo(
189
+ click.style(
190
+ "Review the generated files, especially .env and configuration YAMLs.",
191
+ fg="yellow",
192
+ )
193
+ )
194
+ click.echo(
195
+ click.style(
196
+ "Next steps: Consider running 'solace-agent-mesh run' or 'sam run'.",
197
+ fg="blue",
198
+ )
199
+ )
200
+
201
+
202
+ @click.command(name="init")
203
+ @click.option(
204
+ "--skip",
205
+ is_flag=True,
206
+ default=False,
207
+ help="Non-interactive mode. Skip all prompts and use default values where applicable.",
208
+ )
209
+ @click.option(
210
+ "--gui",
211
+ is_flag=True,
212
+ default=False,
213
+ help="Launch the browser-based initialization interface.",
214
+ )
215
+ @click.option("--llm-service-endpoint", type=str, help="LLM Service Endpoint URL.")
216
+ @click.option("--llm-service-api-key", type=str, help="LLM Service API Key.")
217
+ @click.option(
218
+ "--llm-service-planning-model-name", type=str, help="LLM Planning Model Name."
219
+ )
220
+ @click.option(
221
+ "--llm-service-general-model-name", type=str, help="LLM General Model Name."
222
+ )
223
+ @click.option("--namespace", type=str, help="Namespace for the project.")
224
+ @click.option(
225
+ "--broker-type",
226
+ type=click.Choice(
227
+ ["1", "2", "3", "solace", "container", "dev_mode", "dev_broker", "dev"],
228
+ case_sensitive=False,
229
+ ),
230
+ help="Broker type: 1/solace (existing), 2/container (new local), 3/dev (dev mode).",
231
+ )
232
+ @click.option("--broker-url", type=str, help="Solace broker URL endpoint.")
233
+ @click.option("--broker-vpn", type=str, help="Solace broker VPN name.")
234
+ @click.option("--broker-username", type=str, help="Solace broker username.")
235
+ @click.option("--broker-password", type=str, help="Solace broker password.")
236
+ @click.option(
237
+ "--container-engine",
238
+ type=click.Choice(["podman", "docker"], case_sensitive=False),
239
+ help="Container engine for local broker.",
240
+ )
241
+ @click.option(
242
+ "--dev-mode",
243
+ "dev_mode_flag",
244
+ is_flag=True,
245
+ help="Shortcut to select dev mode for broker (equivalent to --broker-type 3/dev).",
246
+ )
247
+ @click.option("--agent-name", type=str, help="Agent name for the main orchestrator.")
248
+ @click.option(
249
+ "--supports-streaming",
250
+ is_flag=True,
251
+ help="Enable streaming support for the agent.",
252
+ default=None,
253
+ )
254
+ @click.option(
255
+ "--session-service-type",
256
+ type=click.Choice(["memory", "vertex_rag"]),
257
+ help="Session service type.",
258
+ )
259
+ @click.option(
260
+ "--session-service-behavior",
261
+ type=click.Choice(["PERSISTENT", "RUN_BASED"]),
262
+ help="Session service behavior.",
263
+ )
264
+ @click.option(
265
+ "--artifact-service-type",
266
+ type=click.Choice(["memory", "filesystem", "gcs"]),
267
+ help="Artifact service type.",
268
+ )
269
+ @click.option(
270
+ "--artifact-service-base-path",
271
+ type=str,
272
+ help="Artifact service base path (for filesystem type).",
273
+ )
274
+ @click.option(
275
+ "--artifact-service-scope",
276
+ type=click.Choice(["namespace", "app", "custom"]),
277
+ help="Artifact service scope.",
278
+ )
279
+ @click.option(
280
+ "--artifact-handling-mode",
281
+ type=click.Choice(["ignore", "embed", "reference"]),
282
+ help="Artifact handling mode.",
283
+ )
284
+ @click.option(
285
+ "--enable-embed-resolution",
286
+ is_flag=True,
287
+ help="Enable embed resolution.",
288
+ default=None,
289
+ )
290
+ @click.option(
291
+ "--enable-artifact-content-instruction",
292
+ is_flag=True,
293
+ help="Enable artifact content instruction.",
294
+ default=None,
295
+ )
296
+ @click.option(
297
+ "--enable-builtin-artifact-tools",
298
+ is_flag=True,
299
+ help="Enable built-in artifact tools.",
300
+ default=None,
301
+ )
302
+ @click.option(
303
+ "--enable-builtin-data-tools",
304
+ is_flag=True,
305
+ help="Enable built-in data tools.",
306
+ default=None,
307
+ )
308
+ @click.option("--agent-card-description", type=str, help="Agent card description.")
309
+ @click.option(
310
+ "--agent-card-default-input-modes",
311
+ type=str,
312
+ help="Agent card default input modes (comma-separated).",
313
+ )
314
+ @click.option(
315
+ "--agent-card-default-output-modes",
316
+ type=str,
317
+ help="Agent card default output modes (comma-separated).",
318
+ )
319
+ @click.option(
320
+ "--agent-discovery-enabled",
321
+ is_flag=True,
322
+ help="Enable agent discovery.",
323
+ default=None,
324
+ )
325
+ @click.option(
326
+ "--agent-card-publishing-interval",
327
+ type=int,
328
+ help="Agent card publishing interval (seconds).",
329
+ )
330
+ @click.option(
331
+ "--inter-agent-communication-allow-list",
332
+ type=str,
333
+ help="Inter-agent communication allow list (comma-separated, use * for all).",
334
+ )
335
+ @click.option(
336
+ "--inter-agent-communication-deny-list",
337
+ type=str,
338
+ help="Inter-agent communication deny list (comma-separated).",
339
+ )
340
+ @click.option(
341
+ "--inter-agent-communication-timeout",
342
+ type=int,
343
+ help="Inter-agent communication timeout (seconds).",
344
+ )
345
+ @click.option(
346
+ "--add-webui-gateway",
347
+ is_flag=True,
348
+ default=None,
349
+ help="Add a default Web UI gateway configuration.",
350
+ )
351
+ @click.option(
352
+ "--webui-session-secret-key", type=str, help="Session secret key for Web UI."
353
+ )
354
+ @click.option("--webui-fastapi-host", type=str, help="Host for Web UI FastAPI server.")
355
+ @click.option("--webui-fastapi-port", type=int, help="Port for Web UI FastAPI server.")
356
+ @click.option("--webui-fastapi-https-port", type=int, help="HTTPS port for Web UI FastAPI server.")
357
+ @click.option("--webui-ssl-keyfile", type=str, help="SSL key file path for Web UI.")
358
+ @click.option("--webui-ssl-certfile", type=str, help="SSL certificate file path for Web UI.")
359
+ @click.option("--webui-ssl-keyfile-password", type=str, help="SSL key file passphrase for Web UI.")
360
+ @click.option(
361
+ "--webui-enable-embed-resolution",
362
+ is_flag=True,
363
+ default=None,
364
+ help="Enable embed resolution for Web UI.",
365
+ )
366
+ @click.option(
367
+ "--webui-frontend-welcome-message",
368
+ type=str,
369
+ help="Frontend welcome message for Web UI.",
370
+ )
371
+ @click.option(
372
+ "--webui-frontend-bot-name", type=str, help="Frontend bot name for Web UI."
373
+ )
374
+ @click.option(
375
+ "--webui-frontend-collect-feedback",
376
+ is_flag=True,
377
+ default=None,
378
+ help="Enable feedback collection in Web UI.",
379
+ )
380
+ def init(**kwargs):
381
+ """
382
+ Initialize a new Solace application project.
383
+ Creates a directory structure, default configuration files, and a .env file.
384
+ """
385
+ if kwargs.get("dev_mode_flag"):
386
+ if kwargs.get("broker_type") is None:
387
+ kwargs["broker_type"] = "dev"
388
+ elif kwargs.get("broker_type") not in ["3", "dev", "dev_mode", "dev_broker"]:
389
+ click.echo(
390
+ click.style(
391
+ f"Warning: --dev-mode flag is set, but --broker-type is also set to '{kwargs.get('broker_type')}'. Dev mode will be used for broker configuration.",
392
+ fg="yellow",
393
+ )
394
+ )
395
+ kwargs["broker_type"] = "dev"
396
+
397
+ skip_interactive_val = kwargs.pop("skip", False)
398
+ use_web_based_init_val = kwargs.pop("gui", False)
399
+
400
+ run_init_flow(
401
+ skip_interactive=skip_interactive_val,
402
+ use_web_based_init_flag=use_web_based_init_val,
403
+ **kwargs,
404
+ )
@@ -0,0 +1,201 @@
1
+ import shutil
2
+ import click
3
+ import os
4
+ import sys
5
+
6
+ from config_portal.backend.common import (
7
+ CONTAINER_RUN_COMMAND
8
+ )
9
+
10
+ from ...utils import ask_if_not_provided
11
+
12
+
13
+ def broker_setup_step(
14
+ options: dict, default_values: dict, skip_interactive: bool
15
+ ) -> dict:
16
+ """
17
+ Handles the broker setup during initialization.
18
+ Updates the 'options' dictionary with broker configurations.
19
+ """
20
+ click.echo(click.style("Configuring Broker...", fg="blue"))
21
+
22
+ broker_type_prompt = (
23
+ "Which broker type do you want to use?\n"
24
+ " 1) Existing Solace Pub/Sub+ broker\n"
25
+ " 2) New local Solace PubSub+ broker container (requires Podman or Docker)\n"
26
+ " 3) Run in 'dev mode' (all-in-one process, not for production)\n"
27
+ "Enter the number of your choice"
28
+ )
29
+
30
+ broker_type = ask_if_not_provided(
31
+ options,
32
+ "broker_type",
33
+ broker_type_prompt,
34
+ default_values.get("broker_type", "1"),
35
+ skip_interactive,
36
+ ["1", "2", "3", "solace", "container", "dev_mode", "dev_broker", "dev"],
37
+ )
38
+ options["broker_type"] = broker_type
39
+
40
+ if broker_type in ["2", "container"]:
41
+ options["dev_mode"] = "false"
42
+ has_podman = shutil.which("podman")
43
+ has_docker = shutil.which("docker")
44
+ if not has_podman and not has_docker:
45
+ click.echo(
46
+ click.style(
47
+ "Error: Podman or Docker is required to run a local Solace broker container.",
48
+ fg="red",
49
+ ),
50
+ err=True,
51
+ )
52
+ sys.exit(1)
53
+
54
+ container_engine_default = "podman" if has_podman else "docker"
55
+ container_engine = ask_if_not_provided(
56
+ options,
57
+ "container_engine",
58
+ "Which container engine to use?",
59
+ container_engine_default,
60
+ skip_interactive,
61
+ ["podman", "docker"],
62
+ )
63
+ options["container_engine"] = container_engine
64
+
65
+ full_container_command = f"{container_engine}{CONTAINER_RUN_COMMAND}"
66
+ click.echo(
67
+ f"Attempting to run Solace PubSub+ broker container using {container_engine}:"
68
+ )
69
+ click.echo(f" Command: {full_container_command}")
70
+
71
+ if not skip_interactive:
72
+ if not click.confirm(
73
+ f"Execute this command to start the broker container?", default=True
74
+ ):
75
+ click.echo(
76
+ click.style(
77
+ "Broker container deployment skipped by user.", fg="yellow"
78
+ )
79
+ )
80
+ options["broker_url"] = ask_if_not_provided(
81
+ options,
82
+ "broker_url",
83
+ "Enter Solace broker URL endpoint",
84
+ default_values.get("broker_url"),
85
+ skip_interactive,
86
+ )
87
+ options["broker_vpn"] = ask_if_not_provided(
88
+ options,
89
+ "broker_vpn",
90
+ "Enter Solace broker VPN name",
91
+ default_values.get("broker_vpn"),
92
+ skip_interactive,
93
+ )
94
+ options["broker_username"] = ask_if_not_provided(
95
+ options,
96
+ "broker_username",
97
+ "Enter Solace broker username",
98
+ default_values.get("broker_username"),
99
+ skip_interactive,
100
+ )
101
+ options["broker_password"] = ask_if_not_provided(
102
+ options,
103
+ "broker_password",
104
+ "Enter Solace broker password",
105
+ default_values.get("broker_password"),
106
+ skip_interactive,
107
+ hide_input=True,
108
+ )
109
+ return options
110
+
111
+ try:
112
+ response_status = os.system(full_container_command)
113
+ if response_status != 0:
114
+ click.echo(
115
+ click.style(
116
+ f"Error: Failed to start Solace PubSub+ broker container (exit code: {response_status}). Check container logs.",
117
+ fg="red",
118
+ ),
119
+ err=True,
120
+ )
121
+ sys.exit(1)
122
+ click.echo(
123
+ click.style(
124
+ "Solace PubSub+ broker container started successfully (or already running).",
125
+ fg="green",
126
+ )
127
+ )
128
+ options["broker_url"] = default_values.get(
129
+ "SOLACE_LOCAL_BROKER_URL", "ws://localhost:8080"
130
+ )
131
+ options["broker_vpn"] = default_values.get(
132
+ "SOLACE_LOCAL_BROKER_VPN", "default"
133
+ )
134
+ options["broker_username"] = default_values.get(
135
+ "SOLACE_LOCAL_BROKER_USERNAME", "default"
136
+ )
137
+ options["broker_password"] = default_values.get(
138
+ "SOLACE_LOCAL_BROKER_PASSWORD", "default"
139
+ )
140
+ except Exception as e:
141
+ click.echo(
142
+ click.style(
143
+ f"An error occurred while trying to run the container: {e}",
144
+ fg="red",
145
+ ),
146
+ err=True,
147
+ )
148
+ sys.exit(1)
149
+
150
+ elif broker_type in ["1", "solace"]:
151
+ options["dev_mode"] = "false"
152
+ ask_if_not_provided(
153
+ options,
154
+ "broker_url",
155
+ "Enter Solace broker URL endpoint",
156
+ default_values.get("broker_url"),
157
+ skip_interactive,
158
+ )
159
+ ask_if_not_provided(
160
+ options,
161
+ "broker_vpn",
162
+ "Enter Solace broker VPN name",
163
+ default_values.get("broker_vpn"),
164
+ skip_interactive,
165
+ )
166
+ ask_if_not_provided(
167
+ options,
168
+ "broker_username",
169
+ "Enter Solace broker username",
170
+ default_values.get("broker_username"),
171
+ skip_interactive,
172
+ )
173
+ ask_if_not_provided(
174
+ options,
175
+ "broker_password",
176
+ "Enter Solace broker password",
177
+ default_values.get("broker_password"),
178
+ skip_interactive,
179
+ hide_input=True,
180
+ )
181
+
182
+ elif broker_type in ["3", "dev_broker", "dev_mode", "dev"]:
183
+ options["dev_mode"] = "true"
184
+ click.echo(
185
+ click.style(
186
+ "Dev mode selected. Broker configurations will be minimal or handled by the application internally.",
187
+ fg="yellow",
188
+ )
189
+ )
190
+ options["broker_url"] = default_values.get(
191
+ "DEV_BROKER_URL", "INTERNAL_DEV_BROKER"
192
+ )
193
+ options["broker_vpn"] = default_values.get("DEV_BROKER_VPN", "dev_vpn")
194
+ options["broker_username"] = default_values.get(
195
+ "DEV_BROKER_USERNAME", "dev_user"
196
+ )
197
+ options["broker_password"] = default_values.get(
198
+ "DEV_BROKER_PASSWORD", "dev_pass"
199
+ )
200
+
201
+ return options
@@ -0,0 +1,28 @@
1
+ import click
2
+ from pathlib import Path
3
+
4
+
5
+ def create_project_directories(project_root: Path) -> bool:
6
+ """
7
+ Creates the necessary directory structure for a new project.
8
+ Returns True on success, False on failure.
9
+ """
10
+ dirs_to_create = [
11
+ project_root / "configs",
12
+ project_root / "configs" / "gateways",
13
+ project_root / "configs" / "agents",
14
+ project_root / "src",
15
+ ]
16
+
17
+ click.echo("Creating directory structure...")
18
+ for dir_path in dirs_to_create:
19
+ try:
20
+ dir_path.mkdir(parents=True, exist_ok=True)
21
+ click.echo(f" Created: {dir_path.relative_to(project_root)}")
22
+ except OSError as e:
23
+ click.echo(
24
+ click.style(f"Error creating directory {dir_path}: {e}", fg="red"),
25
+ err=True,
26
+ )
27
+ return False
28
+ return True