solace-agent-mesh 0.2.3__py3-none-any.whl → 1.0.1__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 (518) hide show
  1. solace_agent_mesh/agent/adk/adk_llm.txt +93 -0
  2. solace_agent_mesh/agent/adk/app_llm_agent.py +26 -0
  3. solace_agent_mesh/agent/adk/callbacks.py +1694 -0
  4. solace_agent_mesh/agent/adk/filesystem_artifact_service.py +381 -0
  5. solace_agent_mesh/agent/adk/invocation_monitor.py +295 -0
  6. solace_agent_mesh/agent/adk/models/lite_llm.py +872 -0
  7. solace_agent_mesh/agent/adk/models/models_llm.txt +94 -0
  8. solace_agent_mesh/agent/adk/runner.py +353 -0
  9. solace_agent_mesh/agent/adk/services.py +240 -0
  10. solace_agent_mesh/agent/adk/setup.py +751 -0
  11. solace_agent_mesh/agent/adk/stream_parser.py +214 -0
  12. solace_agent_mesh/agent/adk/tool_wrapper.py +139 -0
  13. solace_agent_mesh/agent/agent_llm.txt +41 -0
  14. solace_agent_mesh/agent/protocol/event_handlers.py +1469 -0
  15. solace_agent_mesh/agent/protocol/protocol_llm.txt +21 -0
  16. solace_agent_mesh/agent/sac/app.py +640 -0
  17. solace_agent_mesh/agent/sac/component.py +3388 -0
  18. solace_agent_mesh/agent/sac/patch_adk.py +111 -0
  19. solace_agent_mesh/agent/sac/sac_llm.txt +105 -0
  20. solace_agent_mesh/agent/sac/task_execution_context.py +176 -0
  21. solace_agent_mesh/agent/testing/__init__.py +3 -0
  22. solace_agent_mesh/agent/testing/debug_utils.py +135 -0
  23. solace_agent_mesh/agent/testing/testing_llm.txt +90 -0
  24. solace_agent_mesh/agent/tools/__init__.py +14 -0
  25. solace_agent_mesh/agent/tools/audio_tools.py +1622 -0
  26. solace_agent_mesh/agent/tools/builtin_artifact_tools.py +1954 -0
  27. solace_agent_mesh/agent/tools/builtin_data_analysis_tools.py +238 -0
  28. solace_agent_mesh/agent/tools/general_agent_tools.py +569 -0
  29. solace_agent_mesh/agent/tools/image_tools.py +1184 -0
  30. solace_agent_mesh/agent/tools/peer_agent_tool.py +289 -0
  31. solace_agent_mesh/agent/tools/registry.py +36 -0
  32. solace_agent_mesh/agent/tools/test_tools.py +135 -0
  33. solace_agent_mesh/agent/tools/tool_definition.py +45 -0
  34. solace_agent_mesh/agent/tools/tools_llm.txt +104 -0
  35. solace_agent_mesh/agent/tools/web_tools.py +381 -0
  36. solace_agent_mesh/agent/utils/artifact_helpers.py +927 -0
  37. solace_agent_mesh/agent/utils/config_parser.py +47 -0
  38. solace_agent_mesh/agent/utils/context_helpers.py +60 -0
  39. solace_agent_mesh/agent/utils/utils_llm.txt +153 -0
  40. solace_agent_mesh/assets/docs/404.html +16 -0
  41. solace_agent_mesh/assets/docs/assets/css/styles.906a1503.css +1 -0
  42. solace_agent_mesh/assets/docs/assets/images/Solace_AI_Framework_With_Broker-85f0a306a9bcdd20b390b7a949f6d862.png +0 -0
  43. solace_agent_mesh/assets/docs/assets/images/sac-flows-80d5b603c6aafd33e87945680ce0abf3.png +0 -0
  44. solace_agent_mesh/assets/docs/assets/images/sac_parts_of_a_component-cb3d0424b1d0c17734c5435cca6b4082.png +0 -0
  45. solace_agent_mesh/assets/docs/assets/js/04989206.674a8007.js +1 -0
  46. solace_agent_mesh/assets/docs/assets/js/0e682baa.79f0ab22.js +1 -0
  47. solace_agent_mesh/assets/docs/assets/js/1001.0182a8bd.js +1 -0
  48. solace_agent_mesh/assets/docs/assets/js/1023fc19.015679ca.js +1 -0
  49. solace_agent_mesh/assets/docs/assets/js/1039.0bd46aa1.js +1 -0
  50. solace_agent_mesh/assets/docs/assets/js/149.b797a808.js +1 -0
  51. solace_agent_mesh/assets/docs/assets/js/1523c6b4.91c7bc01.js +1 -0
  52. solace_agent_mesh/assets/docs/assets/js/165.6a39807d.js +2 -0
  53. solace_agent_mesh/assets/docs/assets/js/165.6a39807d.js.LICENSE.txt +9 -0
  54. solace_agent_mesh/assets/docs/assets/js/166ab619.7d97ccaf.js +1 -0
  55. solace_agent_mesh/assets/docs/assets/js/17896441.a5e82f9b.js +2 -0
  56. solace_agent_mesh/assets/docs/assets/js/17896441.a5e82f9b.js.LICENSE.txt +7 -0
  57. solace_agent_mesh/assets/docs/assets/js/1c6e87d2.23bccffb.js +1 -0
  58. solace_agent_mesh/assets/docs/assets/js/2130.ab9fd314.js +1 -0
  59. solace_agent_mesh/assets/docs/assets/js/21ceee5f.614fa8dd.js +1 -0
  60. solace_agent_mesh/assets/docs/assets/js/2237.5e477fc6.js +1 -0
  61. solace_agent_mesh/assets/docs/assets/js/2334.622a6395.js +1 -0
  62. solace_agent_mesh/assets/docs/assets/js/2a9cab12.8909df92.js +1 -0
  63. solace_agent_mesh/assets/docs/assets/js/3219.adc1d663.js +1 -0
  64. solace_agent_mesh/assets/docs/assets/js/332e10b5.7a103f42.js +1 -0
  65. solace_agent_mesh/assets/docs/assets/js/3624.b524e433.js +1 -0
  66. solace_agent_mesh/assets/docs/assets/js/375.708d48db.js +1 -0
  67. solace_agent_mesh/assets/docs/assets/js/3834.b6cd790e.js +1 -0
  68. solace_agent_mesh/assets/docs/assets/js/3d406171.f722eaf5.js +1 -0
  69. solace_agent_mesh/assets/docs/assets/js/4250.95455b28.js +1 -0
  70. solace_agent_mesh/assets/docs/assets/js/42b3f8d8.36090198.js +1 -0
  71. solace_agent_mesh/assets/docs/assets/js/4356.d169ab5b.js +1 -0
  72. solace_agent_mesh/assets/docs/assets/js/442a8107.5ba94b65.js +1 -0
  73. solace_agent_mesh/assets/docs/assets/js/4458.518e66fa.js +1 -0
  74. solace_agent_mesh/assets/docs/assets/js/4488.c7cc3442.js +1 -0
  75. solace_agent_mesh/assets/docs/assets/js/4494.6ee23046.js +1 -0
  76. solace_agent_mesh/assets/docs/assets/js/4855.fc4444b6.js +1 -0
  77. solace_agent_mesh/assets/docs/assets/js/4866.22daefc0.js +1 -0
  78. solace_agent_mesh/assets/docs/assets/js/4950.ca4caeda.js +1 -0
  79. solace_agent_mesh/assets/docs/assets/js/4c2787c2.66ee00e9.js +1 -0
  80. solace_agent_mesh/assets/docs/assets/js/5388.7a136447.js +1 -0
  81. solace_agent_mesh/assets/docs/assets/js/55f47984.c484bf96.js +1 -0
  82. solace_agent_mesh/assets/docs/assets/js/5607.081356f8.js +1 -0
  83. solace_agent_mesh/assets/docs/assets/js/5864.b0d0e9de.js +1 -0
  84. solace_agent_mesh/assets/docs/assets/js/5b4258a4.bda20761.js +1 -0
  85. solace_agent_mesh/assets/docs/assets/js/5e95c892.558d5167.js +1 -0
  86. solace_agent_mesh/assets/docs/assets/js/6143.0a1464c9.js +1 -0
  87. solace_agent_mesh/assets/docs/assets/js/6395.e9c73649.js +1 -0
  88. solace_agent_mesh/assets/docs/assets/js/6796.51d2c9b7.js +1 -0
  89. solace_agent_mesh/assets/docs/assets/js/6976.379be23b.js +1 -0
  90. solace_agent_mesh/assets/docs/assets/js/6978.ee0b945c.js +1 -0
  91. solace_agent_mesh/assets/docs/assets/js/7040.cb436723.js +1 -0
  92. solace_agent_mesh/assets/docs/assets/js/7195.412f418a.js +1 -0
  93. solace_agent_mesh/assets/docs/assets/js/7280.3fb73bdb.js +1 -0
  94. solace_agent_mesh/assets/docs/assets/js/768e31b0.a12673db.js +1 -0
  95. solace_agent_mesh/assets/docs/assets/js/7845.e33e7c4c.js +1 -0
  96. solace_agent_mesh/assets/docs/assets/js/7900.69516146.js +1 -0
  97. solace_agent_mesh/assets/docs/assets/js/8356.8a379c04.js +1 -0
  98. solace_agent_mesh/assets/docs/assets/js/85387663.6bf41934.js +1 -0
  99. solace_agent_mesh/assets/docs/assets/js/8567.4732c6b7.js +1 -0
  100. solace_agent_mesh/assets/docs/assets/js/8573.cb04eda5.js +1 -0
  101. solace_agent_mesh/assets/docs/assets/js/8577.1d54e766.js +1 -0
  102. solace_agent_mesh/assets/docs/assets/js/8591.d7c16be6.js +2 -0
  103. solace_agent_mesh/assets/docs/assets/js/8591.d7c16be6.js.LICENSE.txt +61 -0
  104. solace_agent_mesh/assets/docs/assets/js/8709.7ecd4047.js +1 -0
  105. solace_agent_mesh/assets/docs/assets/js/8731.49e930c2.js +1 -0
  106. solace_agent_mesh/assets/docs/assets/js/8908.f9d1b506.js +1 -0
  107. solace_agent_mesh/assets/docs/assets/js/9157.b4093d07.js +1 -0
  108. solace_agent_mesh/assets/docs/assets/js/9278.a4fd875d.js +1 -0
  109. solace_agent_mesh/assets/docs/assets/js/945fb41e.74d728aa.js +1 -0
  110. solace_agent_mesh/assets/docs/assets/js/9616.b75c2f6d.js +1 -0
  111. solace_agent_mesh/assets/docs/assets/js/9793.c6d16376.js +1 -0
  112. solace_agent_mesh/assets/docs/assets/js/9eff14a2.1bf8f61c.js +1 -0
  113. solace_agent_mesh/assets/docs/assets/js/a3a92b25.26ca071f.js +1 -0
  114. solace_agent_mesh/assets/docs/assets/js/a7bd4aaa.2204d2f7.js +1 -0
  115. solace_agent_mesh/assets/docs/assets/js/a94703ab.0438dbc2.js +1 -0
  116. solace_agent_mesh/assets/docs/assets/js/aba21aa0.c42a534c.js +1 -0
  117. solace_agent_mesh/assets/docs/assets/js/aba87c2f.d3e2dcc3.js +1 -0
  118. solace_agent_mesh/assets/docs/assets/js/ae4415af.8e279b5d.js +1 -0
  119. solace_agent_mesh/assets/docs/assets/js/b7006a3a.40b10c9d.js +1 -0
  120. solace_agent_mesh/assets/docs/assets/js/bac0be12.f50d9bac.js +1 -0
  121. solace_agent_mesh/assets/docs/assets/js/bb2ef573.207e6990.js +1 -0
  122. solace_agent_mesh/assets/docs/assets/js/c2c06897.63b76e9e.js +1 -0
  123. solace_agent_mesh/assets/docs/assets/js/cc969b05.954186d4.js +1 -0
  124. solace_agent_mesh/assets/docs/assets/js/cd3d4052.ca6eed8c.js +1 -0
  125. solace_agent_mesh/assets/docs/assets/js/ced92a13.fb92e7ca.js +1 -0
  126. solace_agent_mesh/assets/docs/assets/js/cee5d587.f5b73ca1.js +1 -0
  127. solace_agent_mesh/assets/docs/assets/js/f284c35a.ecc3d195.js +1 -0
  128. solace_agent_mesh/assets/docs/assets/js/f897a61a.2c2e152c.js +1 -0
  129. solace_agent_mesh/assets/docs/assets/js/fbfa3e75.aca209c9.js +1 -0
  130. solace_agent_mesh/assets/docs/assets/js/main.7ed3319f.js +2 -0
  131. solace_agent_mesh/assets/docs/assets/js/main.7ed3319f.js.LICENSE.txt +81 -0
  132. solace_agent_mesh/assets/docs/assets/js/runtime~main.d9520ae2.js +1 -0
  133. solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html +128 -0
  134. solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html +91 -0
  135. solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html +201 -0
  136. solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html +91 -0
  137. solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html +55 -0
  138. solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html +82 -0
  139. solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html +60 -0
  140. solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html +48 -0
  141. solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html +54 -0
  142. solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +17 -0
  143. solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html +45 -0
  144. solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html +76 -0
  145. solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +150 -0
  146. solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html +54 -0
  147. solace_agent_mesh/assets/docs/docs/documentation/tutorials/bedrock-agents/index.html +267 -0
  148. solace_agent_mesh/assets/docs/docs/documentation/tutorials/custom-agent/index.html +136 -0
  149. solace_agent_mesh/assets/docs/docs/documentation/tutorials/event-mesh-gateway/index.html +116 -0
  150. solace_agent_mesh/assets/docs/docs/documentation/tutorials/mcp-integration/index.html +80 -0
  151. solace_agent_mesh/assets/docs/docs/documentation/tutorials/mongodb-integration/index.html +164 -0
  152. solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html +57 -0
  153. solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html +72 -0
  154. solace_agent_mesh/assets/docs/docs/documentation/tutorials/sql-database/index.html +102 -0
  155. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/artifact-management/index.html +99 -0
  156. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html +90 -0
  157. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html +107 -0
  158. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html +152 -0
  159. solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html +103 -0
  160. solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html +170 -0
  161. solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html +200 -0
  162. solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html +54 -0
  163. solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html +69 -0
  164. solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html +59 -0
  165. solace_agent_mesh/assets/docs/img/Solace_AI_Framework_README.png +0 -0
  166. solace_agent_mesh/assets/docs/img/Solace_AI_Framework_With_Broker.png +0 -0
  167. solace_agent_mesh/assets/docs/img/logo.png +0 -0
  168. solace_agent_mesh/assets/docs/img/sac-flows.png +0 -0
  169. solace_agent_mesh/assets/docs/img/sac_parts_of_a_component.png +0 -0
  170. solace_agent_mesh/assets/docs/img/solace-logo.png +0 -0
  171. solace_agent_mesh/assets/docs/lunr-index-1753813536522.json +1 -0
  172. solace_agent_mesh/assets/docs/lunr-index.json +1 -0
  173. solace_agent_mesh/assets/docs/search-doc-1753813536522.json +1 -0
  174. solace_agent_mesh/assets/docs/search-doc.json +1 -0
  175. solace_agent_mesh/assets/docs/sitemap.xml +1 -0
  176. solace_agent_mesh/cli/__init__.py +1 -1
  177. solace_agent_mesh/cli/commands/add_cmd/__init__.py +15 -0
  178. solace_agent_mesh/cli/commands/add_cmd/add_cmd_llm.txt +250 -0
  179. solace_agent_mesh/cli/commands/add_cmd/agent_cmd.py +659 -0
  180. solace_agent_mesh/cli/commands/add_cmd/gateway_cmd.py +322 -0
  181. solace_agent_mesh/cli/commands/add_cmd/web_add_agent_step.py +93 -0
  182. solace_agent_mesh/cli/commands/add_cmd/web_add_gateway_step.py +118 -0
  183. solace_agent_mesh/cli/commands/docs_cmd.py +57 -0
  184. solace_agent_mesh/cli/commands/eval_cmd.py +64 -0
  185. solace_agent_mesh/cli/commands/init_cmd/__init__.py +404 -0
  186. solace_agent_mesh/cli/commands/init_cmd/broker_step.py +201 -0
  187. solace_agent_mesh/cli/commands/init_cmd/directory_step.py +28 -0
  188. solace_agent_mesh/cli/commands/init_cmd/env_step.py +197 -0
  189. solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +365 -0
  190. solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +387 -0
  191. solace_agent_mesh/cli/commands/init_cmd/project_files_step.py +38 -0
  192. solace_agent_mesh/cli/commands/init_cmd/web_init_step.py +110 -0
  193. solace_agent_mesh/cli/commands/init_cmd/webui_gateway_step.py +183 -0
  194. solace_agent_mesh/cli/commands/plugin_cmd/__init__.py +18 -0
  195. solace_agent_mesh/cli/commands/plugin_cmd/add_cmd.py +372 -0
  196. solace_agent_mesh/cli/commands/plugin_cmd/build_cmd.py +86 -0
  197. solace_agent_mesh/cli/commands/plugin_cmd/catalog_cmd.py +138 -0
  198. solace_agent_mesh/cli/commands/plugin_cmd/create_cmd.py +309 -0
  199. solace_agent_mesh/cli/commands/plugin_cmd/official_registry.py +174 -0
  200. solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +305 -0
  201. solace_agent_mesh/cli/commands/run_cmd.py +158 -0
  202. solace_agent_mesh/cli/main.py +17 -294
  203. solace_agent_mesh/cli/utils.py +135 -204
  204. solace_agent_mesh/client/webui/frontend/static/assets/authCallback-DvlO62me.js +1 -0
  205. solace_agent_mesh/client/webui/frontend/static/assets/client-bp6u3qVZ.js +49 -0
  206. solace_agent_mesh/client/webui/frontend/static/assets/favicon-BLgzUch9.ico +0 -0
  207. solace_agent_mesh/client/webui/frontend/static/assets/main-An0a5j5k.js +663 -0
  208. solace_agent_mesh/client/webui/frontend/static/assets/main-Bu5-4Bac.css +1 -0
  209. solace_agent_mesh/client/webui/frontend/static/auth-callback.html +14 -0
  210. solace_agent_mesh/client/webui/frontend/static/index.html +15 -0
  211. solace_agent_mesh/common/__init__.py +1 -0
  212. solace_agent_mesh/common/a2a_protocol.py +564 -0
  213. solace_agent_mesh/common/agent_registry.py +42 -0
  214. solace_agent_mesh/common/client/__init__.py +4 -0
  215. solace_agent_mesh/common/client/card_resolver.py +21 -0
  216. solace_agent_mesh/common/client/client.py +85 -0
  217. solace_agent_mesh/common/client/client_llm.txt +133 -0
  218. solace_agent_mesh/common/common_llm.txt +144 -0
  219. solace_agent_mesh/common/constants.py +1 -14
  220. solace_agent_mesh/common/middleware/__init__.py +12 -0
  221. solace_agent_mesh/common/middleware/config_resolver.py +130 -0
  222. solace_agent_mesh/common/middleware/middleware_llm.txt +174 -0
  223. solace_agent_mesh/common/middleware/registry.py +125 -0
  224. solace_agent_mesh/common/server/__init__.py +4 -0
  225. solace_agent_mesh/common/server/server.py +122 -0
  226. solace_agent_mesh/common/server/server_llm.txt +169 -0
  227. solace_agent_mesh/common/server/task_manager.py +291 -0
  228. solace_agent_mesh/common/server/utils.py +28 -0
  229. solace_agent_mesh/common/services/__init__.py +4 -0
  230. solace_agent_mesh/common/services/employee_service.py +162 -0
  231. solace_agent_mesh/common/services/identity_service.py +129 -0
  232. solace_agent_mesh/common/services/providers/__init__.py +4 -0
  233. solace_agent_mesh/common/services/providers/local_file_identity_service.py +148 -0
  234. solace_agent_mesh/common/services/providers/providers_llm.txt +113 -0
  235. solace_agent_mesh/common/services/services_llm.txt +132 -0
  236. solace_agent_mesh/common/types.py +411 -0
  237. solace_agent_mesh/common/utils/__init__.py +7 -0
  238. solace_agent_mesh/common/utils/asyncio_macos_fix.py +86 -0
  239. solace_agent_mesh/common/utils/embeds/__init__.py +33 -0
  240. solace_agent_mesh/common/utils/embeds/constants.py +55 -0
  241. solace_agent_mesh/common/utils/embeds/converter.py +452 -0
  242. solace_agent_mesh/common/utils/embeds/embeds_llm.txt +124 -0
  243. solace_agent_mesh/common/utils/embeds/evaluators.py +394 -0
  244. solace_agent_mesh/common/utils/embeds/modifiers.py +816 -0
  245. solace_agent_mesh/common/utils/embeds/resolver.py +865 -0
  246. solace_agent_mesh/common/utils/embeds/types.py +14 -0
  247. solace_agent_mesh/common/utils/in_memory_cache.py +108 -0
  248. solace_agent_mesh/common/utils/log_formatters.py +44 -0
  249. solace_agent_mesh/common/utils/mime_helpers.py +106 -0
  250. solace_agent_mesh/common/utils/push_notification_auth.py +134 -0
  251. solace_agent_mesh/common/utils/utils_llm.txt +67 -0
  252. solace_agent_mesh/config_portal/backend/common.py +66 -24
  253. solace_agent_mesh/config_portal/backend/plugin_catalog/constants.py +23 -0
  254. solace_agent_mesh/config_portal/backend/plugin_catalog/models.py +49 -0
  255. solace_agent_mesh/config_portal/backend/plugin_catalog/registry_manager.py +160 -0
  256. solace_agent_mesh/config_portal/backend/plugin_catalog/scraper.py +525 -0
  257. solace_agent_mesh/config_portal/backend/plugin_catalog_server.py +216 -0
  258. solace_agent_mesh/config_portal/backend/server.py +550 -140
  259. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-DNxCwAGB.js +48 -0
  260. solace_agent_mesh/config_portal/frontend/static/client/assets/components-B7lKcHVY.js +140 -0
  261. solace_agent_mesh/config_portal/frontend/static/client/assets/{entry.client-DX1misIU.js → entry.client-CEumGClk.js} +3 -3
  262. solace_agent_mesh/config_portal/frontend/static/client/assets/index-DSo1AH_7.js +68 -0
  263. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-d2b54a97.js +1 -0
  264. solace_agent_mesh/config_portal/frontend/static/client/assets/{root-BApq5dPK.js → root-C4XmHinv.js} +2 -2
  265. solace_agent_mesh/config_portal/frontend/static/client/assets/root-DxRwaWiE.css +1 -0
  266. solace_agent_mesh/config_portal/frontend/static/client/index.html +3 -3
  267. solace_agent_mesh/core_a2a/__init__.py +1 -0
  268. solace_agent_mesh/core_a2a/core_a2a_llm.txt +88 -0
  269. solace_agent_mesh/core_a2a/service.py +331 -0
  270. solace_agent_mesh/evaluation/config_loader.py +657 -0
  271. solace_agent_mesh/evaluation/evaluator.py +667 -0
  272. solace_agent_mesh/evaluation/message_organizer.py +568 -0
  273. solace_agent_mesh/evaluation/report/benchmark_info.html +35 -0
  274. solace_agent_mesh/evaluation/report/chart_section.html +141 -0
  275. solace_agent_mesh/evaluation/report/detailed_breakdown.html +28 -0
  276. solace_agent_mesh/evaluation/report/modal.html +59 -0
  277. solace_agent_mesh/evaluation/report/modal_chart_functions.js +411 -0
  278. solace_agent_mesh/evaluation/report/modal_script.js +296 -0
  279. solace_agent_mesh/evaluation/report/modal_styles.css +340 -0
  280. solace_agent_mesh/evaluation/report/performance_metrics_styles.css +93 -0
  281. solace_agent_mesh/evaluation/report/templates/footer.html +2 -0
  282. solace_agent_mesh/evaluation/report/templates/header.html +340 -0
  283. solace_agent_mesh/evaluation/report_data_processor.py +972 -0
  284. solace_agent_mesh/evaluation/report_generator.py +613 -0
  285. solace_agent_mesh/evaluation/run.py +613 -0
  286. solace_agent_mesh/evaluation/subscriber.py +872 -0
  287. solace_agent_mesh/evaluation/summary_builder.py +775 -0
  288. solace_agent_mesh/evaluation/test_case_loader.py +714 -0
  289. solace_agent_mesh/gateway/base/__init__.py +1 -0
  290. solace_agent_mesh/gateway/base/app.py +266 -0
  291. solace_agent_mesh/gateway/base/base_llm.txt +119 -0
  292. solace_agent_mesh/gateway/base/component.py +1542 -0
  293. solace_agent_mesh/gateway/base/task_context.py +74 -0
  294. solace_agent_mesh/gateway/gateway_llm.txt +125 -0
  295. solace_agent_mesh/gateway/http_sse/app.py +190 -0
  296. solace_agent_mesh/gateway/http_sse/component.py +1602 -0
  297. solace_agent_mesh/gateway/http_sse/components/__init__.py +7 -0
  298. solace_agent_mesh/gateway/http_sse/components/components_llm.txt +65 -0
  299. solace_agent_mesh/gateway/http_sse/components/visualization_forwarder_component.py +108 -0
  300. solace_agent_mesh/gateway/http_sse/dependencies.py +316 -0
  301. solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +63 -0
  302. solace_agent_mesh/gateway/http_sse/main.py +442 -0
  303. solace_agent_mesh/gateway/http_sse/routers/__init__.py +4 -0
  304. solace_agent_mesh/gateway/http_sse/routers/agents.py +41 -0
  305. solace_agent_mesh/gateway/http_sse/routers/artifacts.py +821 -0
  306. solace_agent_mesh/gateway/http_sse/routers/auth.py +212 -0
  307. solace_agent_mesh/gateway/http_sse/routers/config.py +55 -0
  308. solace_agent_mesh/gateway/http_sse/routers/people.py +69 -0
  309. solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +37 -0
  310. solace_agent_mesh/gateway/http_sse/routers/sessions.py +80 -0
  311. solace_agent_mesh/gateway/http_sse/routers/sse.py +138 -0
  312. solace_agent_mesh/gateway/http_sse/routers/tasks.py +294 -0
  313. solace_agent_mesh/gateway/http_sse/routers/users.py +59 -0
  314. solace_agent_mesh/gateway/http_sse/routers/visualization.py +1131 -0
  315. solace_agent_mesh/gateway/http_sse/services/__init__.py +4 -0
  316. solace_agent_mesh/gateway/http_sse/services/agent_service.py +69 -0
  317. solace_agent_mesh/gateway/http_sse/services/people_service.py +158 -0
  318. solace_agent_mesh/gateway/http_sse/services/services_llm.txt +179 -0
  319. solace_agent_mesh/gateway/http_sse/services/task_service.py +121 -0
  320. solace_agent_mesh/gateway/http_sse/session_manager.py +187 -0
  321. solace_agent_mesh/gateway/http_sse/sse_manager.py +328 -0
  322. solace_agent_mesh/llm.txt +228 -0
  323. solace_agent_mesh/llm_detail.txt +2835 -0
  324. solace_agent_mesh/templates/agent_template.yaml +53 -0
  325. solace_agent_mesh/templates/eval_backend_template.yaml +54 -0
  326. solace_agent_mesh/templates/gateway_app_template.py +73 -0
  327. solace_agent_mesh/templates/gateway_component_template.py +400 -0
  328. solace_agent_mesh/templates/gateway_config_template.yaml +43 -0
  329. solace_agent_mesh/templates/main_orchestrator.yaml +55 -0
  330. solace_agent_mesh/templates/plugin_agent_config_template.yaml +122 -0
  331. solace_agent_mesh/templates/plugin_custom_config_template.yaml +27 -0
  332. solace_agent_mesh/templates/plugin_custom_template.py +10 -0
  333. solace_agent_mesh/templates/plugin_gateway_config_template.yaml +63 -0
  334. solace_agent_mesh/templates/plugin_pyproject_template.toml +33 -0
  335. solace_agent_mesh/templates/plugin_readme_template.md +34 -0
  336. solace_agent_mesh/templates/plugin_tools_template.py +224 -0
  337. solace_agent_mesh/templates/shared_config.yaml +66 -0
  338. solace_agent_mesh/templates/templates_llm.txt +147 -0
  339. solace_agent_mesh/templates/webui.yaml +53 -0
  340. solace_agent_mesh-1.0.1.dist-info/METADATA +432 -0
  341. solace_agent_mesh-1.0.1.dist-info/RECORD +359 -0
  342. solace_agent_mesh-1.0.1.dist-info/entry_points.txt +3 -0
  343. {solace_agent_mesh-0.2.3.dist-info → solace_agent_mesh-1.0.1.dist-info}/licenses/LICENSE +1 -1
  344. solace_agent_mesh/agents/base_agent_component.py +0 -226
  345. solace_agent_mesh/agents/global/actions/agent_state_change.py +0 -54
  346. solace_agent_mesh/agents/global/actions/clear_history.py +0 -32
  347. solace_agent_mesh/agents/global/actions/convert_file_to_markdown.py +0 -160
  348. solace_agent_mesh/agents/global/actions/create_file.py +0 -70
  349. solace_agent_mesh/agents/global/actions/error_action.py +0 -45
  350. solace_agent_mesh/agents/global/actions/plantuml_diagram.py +0 -163
  351. solace_agent_mesh/agents/global/actions/plotly_graph.py +0 -152
  352. solace_agent_mesh/agents/global/actions/retrieve_file.py +0 -51
  353. solace_agent_mesh/agents/global/global_agent_component.py +0 -38
  354. solace_agent_mesh/agents/image_processing/actions/create_image.py +0 -75
  355. solace_agent_mesh/agents/image_processing/actions/describe_image.py +0 -115
  356. solace_agent_mesh/agents/image_processing/image_processing_agent_component.py +0 -23
  357. solace_agent_mesh/agents/slack/__init__.py +0 -1
  358. solace_agent_mesh/agents/slack/actions/__init__.py +0 -1
  359. solace_agent_mesh/agents/slack/actions/post_message.py +0 -177
  360. solace_agent_mesh/agents/slack/slack_agent_component.py +0 -59
  361. solace_agent_mesh/agents/web_request/actions/do_image_search.py +0 -84
  362. solace_agent_mesh/agents/web_request/actions/do_news_search.py +0 -47
  363. solace_agent_mesh/agents/web_request/actions/do_suggestion_search.py +0 -34
  364. solace_agent_mesh/agents/web_request/actions/do_web_request.py +0 -135
  365. solace_agent_mesh/agents/web_request/actions/download_file.py +0 -69
  366. solace_agent_mesh/agents/web_request/web_request_agent_component.py +0 -33
  367. solace_agent_mesh/assets/web-visualizer/assets/index-D0qORgkg.css +0 -1
  368. solace_agent_mesh/assets/web-visualizer/assets/index-DnDr1pnu.js +0 -109
  369. solace_agent_mesh/assets/web-visualizer/index.html +0 -14
  370. solace_agent_mesh/assets/web-visualizer/vite.svg +0 -1
  371. solace_agent_mesh/cli/commands/add/__init__.py +0 -3
  372. solace_agent_mesh/cli/commands/add/add.py +0 -88
  373. solace_agent_mesh/cli/commands/add/agent.py +0 -110
  374. solace_agent_mesh/cli/commands/add/copy_from_plugin.py +0 -92
  375. solace_agent_mesh/cli/commands/add/gateway.py +0 -374
  376. solace_agent_mesh/cli/commands/build.py +0 -670
  377. solace_agent_mesh/cli/commands/chat/__init__.py +0 -3
  378. solace_agent_mesh/cli/commands/chat/chat.py +0 -361
  379. solace_agent_mesh/cli/commands/config.py +0 -29
  380. solace_agent_mesh/cli/commands/init/__init__.py +0 -3
  381. solace_agent_mesh/cli/commands/init/ai_provider_step.py +0 -93
  382. solace_agent_mesh/cli/commands/init/broker_step.py +0 -99
  383. solace_agent_mesh/cli/commands/init/builtin_agent_step.py +0 -83
  384. solace_agent_mesh/cli/commands/init/check_if_already_done.py +0 -13
  385. solace_agent_mesh/cli/commands/init/create_config_file_step.py +0 -65
  386. solace_agent_mesh/cli/commands/init/create_other_project_files_step.py +0 -147
  387. solace_agent_mesh/cli/commands/init/file_service_step.py +0 -73
  388. solace_agent_mesh/cli/commands/init/init.py +0 -92
  389. solace_agent_mesh/cli/commands/init/project_structure_step.py +0 -16
  390. solace_agent_mesh/cli/commands/init/web_init_step.py +0 -32
  391. solace_agent_mesh/cli/commands/plugin/__init__.py +0 -3
  392. solace_agent_mesh/cli/commands/plugin/add.py +0 -100
  393. solace_agent_mesh/cli/commands/plugin/build.py +0 -268
  394. solace_agent_mesh/cli/commands/plugin/create.py +0 -117
  395. solace_agent_mesh/cli/commands/plugin/plugin.py +0 -124
  396. solace_agent_mesh/cli/commands/plugin/remove.py +0 -73
  397. solace_agent_mesh/cli/commands/run.py +0 -68
  398. solace_agent_mesh/cli/commands/visualizer.py +0 -138
  399. solace_agent_mesh/cli/config.py +0 -85
  400. solace_agent_mesh/common/action.py +0 -91
  401. solace_agent_mesh/common/action_list.py +0 -37
  402. solace_agent_mesh/common/action_response.py +0 -340
  403. solace_agent_mesh/common/mysql_database.py +0 -40
  404. solace_agent_mesh/common/postgres_database.py +0 -85
  405. solace_agent_mesh/common/prompt_templates.py +0 -28
  406. solace_agent_mesh/common/stimulus_utils.py +0 -152
  407. solace_agent_mesh/common/time.py +0 -24
  408. solace_agent_mesh/common/utils.py +0 -712
  409. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-DMmCawWe.js +0 -42
  410. solace_agent_mesh/config_portal/frontend/static/client/assets/components-ZIfdTbrV.js +0 -191
  411. solace_agent_mesh/config_portal/frontend/static/client/assets/index-BJHAE5s4.js +0 -17
  412. solace_agent_mesh/config_portal/frontend/static/client/assets/manifest-dd988f05.js +0 -1
  413. solace_agent_mesh/config_portal/frontend/static/client/assets/root-DX4gQ516.css +0 -1
  414. solace_agent_mesh/configs/agent_global.yaml +0 -74
  415. solace_agent_mesh/configs/agent_image_processing.yaml +0 -82
  416. solace_agent_mesh/configs/agent_slack.yaml +0 -64
  417. solace_agent_mesh/configs/agent_web_request.yaml +0 -75
  418. solace_agent_mesh/configs/conversation_to_file.yaml +0 -56
  419. solace_agent_mesh/configs/error_catcher.yaml +0 -56
  420. solace_agent_mesh/configs/monitor.yaml +0 -0
  421. solace_agent_mesh/configs/monitor_stim_and_errors_to_slack.yaml +0 -109
  422. solace_agent_mesh/configs/monitor_user_feedback.yaml +0 -58
  423. solace_agent_mesh/configs/orchestrator.yaml +0 -241
  424. solace_agent_mesh/configs/service_embedding.yaml +0 -81
  425. solace_agent_mesh/configs/service_llm.yaml +0 -265
  426. solace_agent_mesh/configs/visualize_websocket.yaml +0 -55
  427. solace_agent_mesh/gateway/components/gateway_base.py +0 -47
  428. solace_agent_mesh/gateway/components/gateway_input.py +0 -278
  429. solace_agent_mesh/gateway/components/gateway_output.py +0 -298
  430. solace_agent_mesh/gateway/identity/bamboohr_identity.py +0 -18
  431. solace_agent_mesh/gateway/identity/identity_base.py +0 -10
  432. solace_agent_mesh/gateway/identity/identity_provider.py +0 -60
  433. solace_agent_mesh/gateway/identity/no_identity.py +0 -9
  434. solace_agent_mesh/gateway/identity/passthru_identity.py +0 -9
  435. solace_agent_mesh/monitors/base_monitor_component.py +0 -26
  436. solace_agent_mesh/monitors/feedback/user_feedback_monitor.py +0 -75
  437. solace_agent_mesh/monitors/stim_and_errors/stim_and_error_monitor.py +0 -560
  438. solace_agent_mesh/orchestrator/__init__.py +0 -0
  439. solace_agent_mesh/orchestrator/action_manager.py +0 -237
  440. solace_agent_mesh/orchestrator/components/__init__.py +0 -0
  441. solace_agent_mesh/orchestrator/components/orchestrator_action_manager_timeout_component.py +0 -58
  442. solace_agent_mesh/orchestrator/components/orchestrator_action_response_component.py +0 -179
  443. solace_agent_mesh/orchestrator/components/orchestrator_register_component.py +0 -107
  444. solace_agent_mesh/orchestrator/components/orchestrator_stimulus_processor_component.py +0 -527
  445. solace_agent_mesh/orchestrator/components/orchestrator_streaming_output_component.py +0 -260
  446. solace_agent_mesh/orchestrator/orchestrator_main.py +0 -172
  447. solace_agent_mesh/orchestrator/orchestrator_prompt.py +0 -539
  448. solace_agent_mesh/services/__init__.py +0 -0
  449. solace_agent_mesh/services/authorization/providers/base_authorization_provider.py +0 -56
  450. solace_agent_mesh/services/bamboo_hr_service/__init__.py +0 -3
  451. solace_agent_mesh/services/bamboo_hr_service/bamboo_hr.py +0 -182
  452. solace_agent_mesh/services/common/__init__.py +0 -4
  453. solace_agent_mesh/services/common/auto_expiry.py +0 -45
  454. solace_agent_mesh/services/common/singleton.py +0 -18
  455. solace_agent_mesh/services/file_service/__init__.py +0 -14
  456. solace_agent_mesh/services/file_service/file_manager/__init__.py +0 -0
  457. solace_agent_mesh/services/file_service/file_manager/bucket_file_manager.py +0 -149
  458. solace_agent_mesh/services/file_service/file_manager/file_manager_base.py +0 -162
  459. solace_agent_mesh/services/file_service/file_manager/memory_file_manager.py +0 -64
  460. solace_agent_mesh/services/file_service/file_manager/volume_file_manager.py +0 -106
  461. solace_agent_mesh/services/file_service/file_service.py +0 -437
  462. solace_agent_mesh/services/file_service/file_service_constants.py +0 -54
  463. solace_agent_mesh/services/file_service/file_transformations.py +0 -141
  464. solace_agent_mesh/services/file_service/file_utils.py +0 -324
  465. solace_agent_mesh/services/file_service/transformers/__init__.py +0 -5
  466. solace_agent_mesh/services/history_service/__init__.py +0 -3
  467. solace_agent_mesh/services/history_service/history_providers/__init__.py +0 -0
  468. solace_agent_mesh/services/history_service/history_providers/base_history_provider.py +0 -54
  469. solace_agent_mesh/services/history_service/history_providers/file_history_provider.py +0 -74
  470. solace_agent_mesh/services/history_service/history_providers/index.py +0 -40
  471. solace_agent_mesh/services/history_service/history_providers/memory_history_provider.py +0 -33
  472. solace_agent_mesh/services/history_service/history_providers/mongodb_history_provider.py +0 -66
  473. solace_agent_mesh/services/history_service/history_providers/redis_history_provider.py +0 -66
  474. solace_agent_mesh/services/history_service/history_providers/sql_history_provider.py +0 -93
  475. solace_agent_mesh/services/history_service/history_service.py +0 -413
  476. solace_agent_mesh/services/history_service/long_term_memory/__init__.py +0 -0
  477. solace_agent_mesh/services/history_service/long_term_memory/long_term_memory.py +0 -399
  478. solace_agent_mesh/services/llm_service/components/llm_request_component.py +0 -340
  479. solace_agent_mesh/services/llm_service/components/llm_service_component_base.py +0 -152
  480. solace_agent_mesh/services/middleware_service/__init__.py +0 -0
  481. solace_agent_mesh/services/middleware_service/middleware_service.py +0 -20
  482. solace_agent_mesh/templates/action.py +0 -38
  483. solace_agent_mesh/templates/agent.py +0 -29
  484. solace_agent_mesh/templates/agent.yaml +0 -70
  485. solace_agent_mesh/templates/gateway-config-template.yaml +0 -6
  486. solace_agent_mesh/templates/gateway-default-config.yaml +0 -28
  487. solace_agent_mesh/templates/gateway-flows.yaml +0 -78
  488. solace_agent_mesh/templates/gateway-header.yaml +0 -16
  489. solace_agent_mesh/templates/gateway_base.py +0 -15
  490. solace_agent_mesh/templates/gateway_input.py +0 -98
  491. solace_agent_mesh/templates/gateway_output.py +0 -71
  492. solace_agent_mesh/templates/plugin-gateway-default-config.yaml +0 -29
  493. solace_agent_mesh/templates/plugin-pyproject.toml +0 -30
  494. solace_agent_mesh/templates/rest-api-default-config.yaml +0 -31
  495. solace_agent_mesh/templates/rest-api-flows.yaml +0 -81
  496. solace_agent_mesh/templates/slack-default-config.yaml +0 -16
  497. solace_agent_mesh/templates/slack-flows.yaml +0 -81
  498. solace_agent_mesh/templates/solace-agent-mesh-default.yaml +0 -86
  499. solace_agent_mesh/templates/solace-agent-mesh-plugin-default.yaml +0 -8
  500. solace_agent_mesh/templates/web-default-config.yaml +0 -10
  501. solace_agent_mesh/templates/web-flows.yaml +0 -76
  502. solace_agent_mesh/tools/__init__.py +0 -0
  503. solace_agent_mesh/tools/components/__init__.py +0 -0
  504. solace_agent_mesh/tools/components/conversation_formatter.py +0 -111
  505. solace_agent_mesh/tools/components/file_resolver_component.py +0 -58
  506. solace_agent_mesh/tools/config/runtime_config.py +0 -26
  507. solace_agent_mesh-0.2.3.dist-info/METADATA +0 -172
  508. solace_agent_mesh-0.2.3.dist-info/RECORD +0 -193
  509. solace_agent_mesh-0.2.3.dist-info/entry_points.txt +0 -3
  510. /solace_agent_mesh/{agents → agent}/__init__.py +0 -0
  511. /solace_agent_mesh/{agents/global → agent/adk}/__init__.py +0 -0
  512. /solace_agent_mesh/{agents/global/actions → agent/protocol}/__init__.py +0 -0
  513. /solace_agent_mesh/{agents/image_processing → agent/sac}/__init__.py +0 -0
  514. /solace_agent_mesh/{agents/image_processing/actions → agent/utils}/__init__.py +0 -0
  515. /solace_agent_mesh/{agents/web_request → config_portal/backend/plugin_catalog}/__init__.py +0 -0
  516. /solace_agent_mesh/{agents/web_request/actions → evaluation}/__init__.py +0 -0
  517. /solace_agent_mesh/gateway/{components → http_sse}/__init__.py +0 -0
  518. {solace_agent_mesh-0.2.3.dist-info → solace_agent_mesh-1.0.1.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