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,64 @@
1
+ [loggers]
2
+ keys=root,LiteLLM,py_warnings,solace_ai_connector,uvicorn,uvicorn_error,uvicorn_access
3
+
4
+ [handlers]
5
+ keys=streamHandler,rotatingFileHandler
6
+
7
+ [formatters]
8
+ keys=simpleFormatter
9
+
10
+ [logger_root]
11
+ level=DEBUG
12
+ handlers=streamHandler,rotatingFileHandler
13
+ qualname=root
14
+
15
+ [handler_streamHandler]
16
+ class=StreamHandler
17
+ level=INFO
18
+ formatter=simpleFormatter
19
+ args=(sys.stdout,)
20
+
21
+ [logger_LiteLLM]
22
+ level=DEBUG
23
+ handlers=streamHandler,rotatingFileHandler
24
+ qualname=LiteLLM
25
+ propagate=0
26
+
27
+ [logger_py_warnings]
28
+ level=WARNING
29
+ handlers=streamHandler,rotatingFileHandler
30
+ qualname=py.warnings
31
+ propagate=0
32
+
33
+ [logger_solace_ai_connector]
34
+ level=DEBUG
35
+ handlers=streamHandler,rotatingFileHandler
36
+ qualname=solace_ai_connector
37
+ propagate=0
38
+
39
+ [logger_uvicorn]
40
+ level=DEBUG
41
+ handlers=streamHandler,rotatingFileHandler
42
+ qualname=uvicorn
43
+ propagate=0
44
+
45
+ [logger_uvicorn_error]
46
+ level=INFO
47
+ handlers=streamHandler,rotatingFileHandler
48
+ qualname=uvicorn.error
49
+ propagate=0
50
+
51
+ [logger_uvicorn_access]
52
+ level=INFO
53
+ handlers=streamHandler,rotatingFileHandler
54
+ qualname=uvicorn.access
55
+ propagate=0
56
+
57
+ [handler_rotatingFileHandler]
58
+ class=logging.handlers.RotatingFileHandler
59
+ level=DEBUG
60
+ formatter=simpleFormatter
61
+ args=('sam.log', 'a', 52428800, 10)
62
+
63
+ [formatter_simpleFormatter]
64
+ format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
@@ -0,0 +1,55 @@
1
+ # Solace Agent Mesh Orchestrator Agent Configurations
2
+
3
+ log:
4
+ stdout_log_level: INFO
5
+ log_file_level: INFO
6
+ log_file: __LOG_FILE_NAME__
7
+
8
+ # Shared SAM config
9
+ !include ../shared_config.yaml
10
+
11
+ apps:
12
+ - name: __APP_NAME__
13
+ app_base_path: .
14
+ app_module: solace_agent_mesh.agent.sac.app
15
+ broker:
16
+ <<: *broker_connection
17
+
18
+ app_config:
19
+ namespace: __NAMESPACE__
20
+ supports_streaming: __SUPPORTS_STREAMING__
21
+ agent_name: "__AGENT_NAME__"
22
+ display_name: "__AGENT_NAME__"
23
+ model: *planning_model
24
+
25
+ instruction: |
26
+ __INSTRUCTION__
27
+ inject_system_purpose: true
28
+ inject_response_format: true
29
+ inject_user_profile: true
30
+ session_service: __SESSION_SERVICE__
31
+ artifact_service: __ARTIFACT_SERVICE__
32
+ artifact_handling_mode: "__ARTIFACT_HANDLING_MODE__"
33
+ enable_embed_resolution: __ENABLE_EMBED_RESOLUTION__
34
+ enable_artifact_content_instruction: __ENABLE_ARTIFACT_CONTENT_INSTRUCTION__
35
+ data_tools_config: *default_data_tools_config
36
+ tools:
37
+ - group_name: artifact_management
38
+ tool_type: builtin-group
39
+ - tool_type: builtin-group
40
+ group_name: "data_analysis"
41
+
42
+ agent_card:
43
+ description: "__AGENT_CARD_DESCRIPTION__"
44
+ defaultInputModes: __DEFAULT_INPUT_MODES__
45
+ defaultOutputModes: __DEFAULT_OUTPUT_MODES__
46
+ skills: []
47
+
48
+ agent_card_publishing:
49
+ interval_seconds: __AGENT_CARD_PUBLISHING_INTERVAL__
50
+ agent_discovery:
51
+ enabled: __AGENT_DISCOVERY_ENABLED__
52
+ inter_agent_communication:
53
+ allow_list: __INTER_AGENT_COMMUNICATION_ALLOW_LIST__
54
+ __INTER_AGENT_COMMUNICATION_DENY_LIST_LINE__
55
+ request_timeout_seconds: __INTER_AGENT_COMMUNICATION_TIMEOUT__
@@ -0,0 +1,122 @@
1
+ # Plugin Metadata:
2
+ # Name: __PLUGIN_KEBAB_CASE_NAME__
3
+ # Version: __PLUGIN_VERSION__
4
+ # Description: __PLUGIN_DESCRIPTION__
5
+ # Author: __PLUGIN_AUTHOR_NAME__ <__PLUGIN_AUTHOR_EMAIL__>
6
+ #
7
+ # --- Start of Agent Configuration Template ---
8
+ # Solace Agent Mesh: Plugin Configuration Template
9
+ #
10
+ # This file serves as a template for creating new agent configurations from this plugin.
11
+ # Use placeholders like __COMPONENT_KEBAB_CASE_NAME__, __COMPONENT_PASCAL_CASE_NAME__,
12
+ # and __COMPONENT_UPPER_SNAKE_CASE_NAME__ where the specific component name should be inserted.
13
+
14
+ log:
15
+ stdout_log_level: INFO
16
+ log_file_level: DEBUG
17
+ log_file: __COMPONENT_KEBAB_CASE_NAME__.log
18
+
19
+ # To use the `shared_config.yaml` file, uncomment the following line and remove the `shared_config` section below.
20
+ # !include ../shared_config.yaml
21
+ shared_config:
22
+ - broker_connection: &broker_connection
23
+ dev_mode: ${SOLACE_DEV_MODE, false}
24
+ broker_url: ${SOLACE_BROKER_URL, ws://localhost:8080}
25
+ broker_username: ${SOLACE_BROKER_USERNAME, default}
26
+ broker_password: ${SOLACE_BROKER_PASSWORD, default}
27
+ broker_vpn: ${SOLACE_BROKER_VPN, default}
28
+ temporary_queue: ${USE_TEMPORARY_QUEUES, true}
29
+
30
+ - models:
31
+ general: &general_model
32
+ # This dictionary structure tells ADK to use the LiteLlm wrapper.
33
+ # 'model' uses the specific model identifier your endpoint expects.
34
+ model: ${LLM_SERVICE_GENERAL_MODEL_NAME} # Use env var for model name
35
+ # 'api_base' tells LiteLLM where to send the request.
36
+ api_base: ${LLM_SERVICE_ENDPOINT} # Use env var for endpoint URL
37
+ # 'api_key' provides authentication.
38
+ api_key: ${LLM_SERVICE_API_KEY} # Use env var for API key
39
+
40
+ - services:
41
+ # Default session service configuration
42
+ session_service: &default_session_service
43
+ type: "memory"
44
+ default_behavior: "PERSISTENT"
45
+
46
+ # Default artifact service configuration
47
+ artifact_service: &default_artifact_service
48
+ type: "filesystem"
49
+ base_path: "/tmp/samv2"
50
+ artifact_scope: namespace # Or "namespace", "app", "custom"
51
+
52
+ apps:
53
+ - name: __COMPONENT_KEBAB_CASE_NAME__-app
54
+ app_base_path: .
55
+ app_module: solace_agent_mesh.agent.sac.app
56
+ broker:
57
+ <<: *broker_connection
58
+
59
+ # App Level Config
60
+ app_config:
61
+ namespace: ${NAMESPACE}
62
+ supports_streaming: true
63
+ agent_name: "__COMPONENT_PASCAL_CASE_NAME__"
64
+ display_name: "__COMPONENT_PASCAL_CASE_NAME__ Agent"
65
+ model: *general_model
66
+
67
+ instruction: |
68
+ This is a component created from the __COMPONENT_PASCAL_CASE_NAME__ plugin.
69
+ Configure its specific instructions here.
70
+
71
+ tools:
72
+ - group_name: artifact_management
73
+ tool_type: builtin-group
74
+
75
+ # Example: Plugin creator should define their tools.
76
+ # - tool_type: mcp
77
+ # connection_params:
78
+ # type: stdio
79
+ # command: "my-mcp-server-command"
80
+ # args: ["--arg1", "value1"]
81
+ # timeout: 30
82
+
83
+ # --- Example Python Tools (defined in tools.py) ---
84
+ # - tool_type: python
85
+ # component_module: __PLUGIN_SNAKE_CASE_NAME__.tools
86
+ # component_base_path: . # Relative to where the agent runs
87
+ # function_name: example_text_processor_tool
88
+ # tool_config:
89
+ # prefix: "PluginProcessed: "
90
+
91
+ # - tool_type: python
92
+ # component_module: __PLUGIN_SNAKE_CASE_NAME__.tools
93
+ # component_base_path: .
94
+ # function_name: example_file_creator_tool
95
+ # tool_config: {} # Add specific config if needed by the tool
96
+
97
+ # --- Example Builtin Tools ---
98
+ # - tool_type: builtin-group
99
+ # group_name: "text_to_speech"
100
+ # tool_config: {}
101
+
102
+ session_service: *default_session_service
103
+ artifact_service: *default_artifact_service
104
+
105
+ artifact_handling_mode: "embed"
106
+ enable_embed_resolution: true
107
+ enable_artifact_content_instruction: true
108
+
109
+ agent_card:
110
+ description: "__PLUGIN_DESCRIPTION__"
111
+ defaultInputModes: ["text"]
112
+ defaultOutputModes: ["text"]
113
+ skills:
114
+ # - id: "example_tool"
115
+ # name: "Example Tool"
116
+ # description: "An example tool provided by the __PLUGIN_PASCAL_CASE_NAME__ plugin."
117
+
118
+ agent_card_publishing: { interval_seconds: 10 }
119
+ agent_discovery: { enabled: false }
120
+ inter_agent_communication:
121
+ allow_list: []
122
+ request_timeout_seconds: 30
@@ -0,0 +1,27 @@
1
+ # Plugin Metadata:
2
+ # Name: __PLUGIN_KEBAB_CASE_NAME__
3
+ # Version: __PLUGIN_VERSION__
4
+ # Description: __PLUGIN_DESCRIPTION__
5
+ # Author: __PLUGIN_AUTHOR_NAME__ <__PLUGIN_AUTHOR_EMAIL__>
6
+ #
7
+ # --- Start of Custom Configuration Template ---
8
+ # Solace Agent Mesh: Custom Configuration Template
9
+ #
10
+ # This file serves as a template for creating new custom configurations from this plugin.
11
+ # Use placeholders like __COMPONENT_KEBAB_CASE_NAME__, __COMPONENT_PASCAL_CASE_NAME__,
12
+ # and __COMPONENT_UPPER_SNAKE_CASE_NAME__ where the specific component name should be inserted.
13
+
14
+ # To use the `shared_config.yaml` file, uncomment the following line and remove the `shared_config` section below.
15
+ # !include ../shared_config.yaml
16
+
17
+ shared_config:
18
+ - broker_connection: &broker_connection
19
+ dev_mode: ${SOLACE_DEV_MODE, false}
20
+ broker_url: ${SOLACE_BROKER_URL, ws://localhost:8080}
21
+ broker_username: ${SOLACE_BROKER_USERNAME, default}
22
+ broker_password: ${SOLACE_BROKER_PASSWORD, default}
23
+ broker_vpn: ${SOLACE_BROKER_VPN, default}
24
+ temporary_queue: ${USE_TEMPORARY_QUEUES, true}
25
+
26
+
27
+ __PLUGIN_SNAKE_CASE_NAME__: {}
@@ -0,0 +1,10 @@
1
+ # Solace Agent Mesh Custom Plugin
2
+
3
+ class __COMPONENT_PASCAL_CASE_NAME__:
4
+ def template_function(self):
5
+ """
6
+ This function serves as a placeholder for custom template logic.
7
+ It can be modified to include specific functionality as needed.
8
+ """
9
+ # Custom logic goes here
10
+ print("This is a custom template function.")
@@ -0,0 +1,63 @@
1
+ # Plugin Metadata:
2
+ # Name: __PLUGIN_KEBAB_CASE_NAME__
3
+ # Version: __PLUGIN_VERSION__
4
+ # Description: __PLUGIN_DESCRIPTION__
5
+ # Author: __PLUGIN_AUTHOR_NAME__ <__PLUGIN_AUTHOR_EMAIL__>
6
+ #
7
+ # --- Start of Gateway Configuration Template ---
8
+ # Solace Agent Mesh: Gateway Configuration Template
9
+ #
10
+ # This file serves as a template for creating new gateway configurations from this plugin.
11
+ # Use placeholders like __COMPONENT_KEBAB_CASE_NAME__, __COMPONENT_PASCAL_CASE_NAME__,
12
+ # and __COMPONENT_UPPER_SNAKE_CASE_NAME__ where the specific component name should be inserted.
13
+
14
+ log:
15
+ stdout_log_level: INFO
16
+ log_file_level: DEBUG
17
+ log_file: __COMPONENT_KEBAB_CASE_NAME__.log
18
+
19
+ # To use the `shared_config.yaml` file, uncomment the following line and remove the `shared_config` section below.
20
+ # !include ../shared_config.yaml
21
+
22
+ shared_config:
23
+ - broker_connection: &broker_connection
24
+ dev_mode: ${SOLACE_DEV_MODE, false}
25
+ broker_url: ${SOLACE_BROKER_URL, ws://localhost:8080}
26
+ broker_username: ${SOLACE_BROKER_USERNAME, default}
27
+ broker_password: ${SOLACE_BROKER_PASSWORD, default}
28
+ broker_vpn: ${SOLACE_BROKER_VPN, default}
29
+ temporary_queue: ${USE_TEMPORARY_QUEUES, true}
30
+
31
+ - services:
32
+ # Default artifact service configuration
33
+ artifact_service: &default_artifact_service
34
+ type: "filesystem"
35
+ base_path: "/tmp/samv2"
36
+ artifact_scope: namespace # Or "namespace", "app", "custom"
37
+
38
+ apps:
39
+ # --- App Definition ---
40
+ - name: __COMPONENT_PASCAL_CASE_NAME____app # Unique name for this gateway app instance
41
+ app_module: __PLUGIN_SNAKE_CASE_NAME__.app # Points to the plugin's App class
42
+ broker:
43
+ <<: *broker_connection
44
+
45
+ app_config:
46
+ namespace: "${NAMESPACE}"
47
+ gateway_id: __COMPONENT_KEBAB_CASE_NAME__-gw-01
48
+ artifact_service: *default_artifact_service
49
+
50
+ authorization_service:
51
+ type: "none" # Or "default_rbac"
52
+
53
+ system_purpose: >
54
+ The system is an AI Chatbot with agentic capabilities.
55
+ It will use the agents available to provide information,
56
+ reasoning and general assistance for the users in this system.
57
+ **Always return useful artifacts and files that you create to the user.**
58
+ Provide a status update before each tool call.
59
+ Your external name is Agent Mesh.
60
+
61
+ response_format: >
62
+ Responses should be clear, concise, and professionally toned.
63
+ Format responses to the user in Markdown using appropriate formatting.
@@ -0,0 +1,33 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [tool.hatch.metadata]
6
+ allow-direct-references = true
7
+
8
+ [tool.__PLUGIN_SNAKE_CASE_NAME__.metadata]
9
+ type = "__PLUGIN_META_DATA_TYPE__"
10
+
11
+ [project]
12
+ name = "__PLUGIN_SNAKE_CASE_NAME__"
13
+ version = "__PLUGIN_VERSION__"
14
+ authors = [
15
+ { name="__PLUGIN_AUTHOR_NAME__", email="__PLUGIN_AUTHOR_EMAIL__" },
16
+ ]
17
+ description = "__PLUGIN_DESCRIPTION__"
18
+ readme = "README.md"
19
+ requires-python = ">=3.10"
20
+ dependencies = [
21
+ "solace_agent_mesh~=__SAM_VERSION__",
22
+ # Add plugin-specific dependencies here
23
+ ]
24
+
25
+ [tool.hatch.build.targets.wheel]
26
+ packages = ["src/__PLUGIN_SNAKE_CASE_NAME__"]
27
+ src-path = "src"
28
+
29
+ [tool.hatch.build.targets.wheel.force-include]
30
+ "src/__PLUGIN_SNAKE_CASE_NAME__" = "__PLUGIN_SNAKE_CASE_NAME__/"
31
+ "config.yaml" = "__PLUGIN_SNAKE_CASE_NAME__/config.yaml"
32
+ "README.md" = "__PLUGIN_SNAKE_CASE_NAME__/README.md"
33
+ "pyproject.toml" = "__PLUGIN_SNAKE_CASE_NAME__/pyproject.toml"
@@ -0,0 +1,34 @@
1
+ # __PLUGIN_KEBAB_CASE_NAME__ SAM Plugin
2
+
3
+ __PLUGIN_DESCRIPTION__
4
+
5
+ This is a plugin for the Solace Agent Mesh (SAM).
6
+
7
+ ## Configuration (`config.yaml`)
8
+
9
+ The `config.yaml` in this plugin serves as a template. When you use `sam plugin add <component_name> --plugin __PLUGIN_KEBAB_CASE_NAME__`, the following placeholders in the YAML structure will be replaced with variations of `<component_name>`:
10
+ - `__COMPONENT_UPPER_SNAKE_CASE_NAME__`
11
+ - `__COMPONENT_KEBAB_CASE_NAME__`
12
+ - `__COMPONENT_PASCAL_CASE_NAME__`
13
+
14
+ Customize the `config.yaml` in this plugin directory to define the base configuration for components created from it.
15
+
16
+ ## Source Code (`src/`)
17
+ The `src/` directory contains the Python source code for your plugin.
18
+
19
+ ## Installation (as a developer of this plugin)
20
+
21
+ To build and install this plugin locally for testing:
22
+ ```bash
23
+ sam plugin build
24
+ pip install dist/*.whl
25
+ ```
26
+ (Or `pip install .` if preferred, `sam plugin build` is for creating the distributable wheel)
27
+
28
+ ## Usage (as a user of this plugin)
29
+
30
+ Once the plugin is installed (e.g., from PyPI or a local wheel file):
31
+ ```bash
32
+ sam plugin add <your-new-component-name> --plugin __PLUGIN_KEBAB_CASE_NAME__
33
+ ```
34
+ This will create a new component configuration at `configs/plugins/<your-new-component-name-kebab-case>.yaml`.
@@ -0,0 +1,224 @@
1
+ import asyncio
2
+ import uuid
3
+ from datetime import datetime, timezone
4
+ from typing import Any, Dict, Optional
5
+
6
+ from google.adk.tools import ToolContext
7
+ from solace_ai_connector.common.log import log
8
+ from solace_agent_mesh.agent.utils.artifact_helpers import (
9
+ save_artifact_with_metadata,
10
+ DEFAULT_SCHEMA_MAX_KEYS,
11
+ )
12
+ from solace_agent_mesh.agent.utils.context_helpers import get_original_session_id
13
+
14
+
15
+ async def example_text_processor_tool(
16
+ text_input: str,
17
+ uppercase: bool = False, # Example of a boolean parameter
18
+ tool_context: Optional[ToolContext] = None,
19
+ tool_config: Optional[Dict[str, Any]] = None,
20
+ ) -> Dict[str, Any]:
21
+ """
22
+ An example tool that processes input text, optionally converts it to uppercase,
23
+ and adds a prefix from tool_config.
24
+ """
25
+ plugin_name = "__PLUGIN_SPACED_NAME__"
26
+ log_identifier = f"[{plugin_name}:example_text_processor_tool]"
27
+ log.info(f"{log_identifier} Received text: '{text_input}', uppercase: {uppercase}")
28
+
29
+ current_tool_config = tool_config if tool_config is not None else {}
30
+ prefix = current_tool_config.get("prefix", "Processed: ")
31
+
32
+ processed_text = text_input
33
+ if uppercase:
34
+ processed_text = processed_text.upper()
35
+
36
+ final_text = f"{prefix}{processed_text}"
37
+
38
+ log.info(f"{log_identifier} Processed text: '{final_text}'")
39
+ return {
40
+ "status": "success",
41
+ "message": "Text processed successfully by example_text_processor_tool.",
42
+ "original_input": text_input,
43
+ "processed_text": final_text,
44
+ "was_uppercased": uppercase,
45
+ }
46
+
47
+
48
+ async def example_text_file_creator_tool(
49
+ filename: str,
50
+ content: str,
51
+ tool_context: Optional[ToolContext] = None,
52
+ tool_config: Optional[Dict[str, Any]] = None,
53
+ ) -> Dict[str, Any]:
54
+ """
55
+ An example tool that creates a text file and saves it as an artifact
56
+ using the Solace Agent Mesh artifact service.
57
+ """
58
+ plugin_name = "__PLUGIN_SPACED_NAME__"
59
+ log_identifier = f"[{plugin_name}:example_text_file_creator_tool]"
60
+ log.info(
61
+ f"{log_identifier} Received request to create file: '{filename}' with content starting: '{content[:50]}...'"
62
+ )
63
+
64
+ if not tool_context or not tool_context._invocation_context:
65
+ log.error(
66
+ f"{log_identifier} ToolContext or InvocationContext is missing. Cannot save artifact."
67
+ )
68
+ return {
69
+ "status": "error",
70
+ "message": "ToolContext or InvocationContext is missing.",
71
+ }
72
+
73
+ inv_context = tool_context._invocation_context
74
+ app_name = getattr(inv_context, "app_name", None)
75
+ user_id = getattr(inv_context, "user_id", None)
76
+ session_id = get_original_session_id(inv_context)
77
+ artifact_service = getattr(inv_context, "artifact_service", None)
78
+
79
+ if not all([app_name, user_id, session_id, artifact_service]):
80
+ missing_parts = [
81
+ part
82
+ for part, val in [
83
+ ("app_name", app_name),
84
+ ("user_id", user_id),
85
+ ("session_id", session_id),
86
+ ("artifact_service", artifact_service),
87
+ ]
88
+ if not val
89
+ ]
90
+ log.error(
91
+ f"{log_identifier} Missing required context parts for artifact saving: {', '.join(missing_parts)}"
92
+ )
93
+ return {
94
+ "status": "error",
95
+ "message": f"Missing required context parts for artifact saving: {', '.join(missing_parts)}",
96
+ }
97
+
98
+ output_filename = filename
99
+ if not output_filename.lower().endswith(".txt"):
100
+ output_filename += ".txt"
101
+
102
+ content_bytes = content.encode("utf-8")
103
+ mime_type = "text/plain"
104
+ timestamp = datetime.now(timezone.utc)
105
+
106
+ metadata_dict = {
107
+ "description": f"Text file created by {plugin_name}'s example_text_file_creator_tool.",
108
+ "source_tool": "example_text_file_creator_tool",
109
+ "original_requested_filename": filename,
110
+ "creation_timestamp_iso": timestamp.isoformat(),
111
+ "content_character_count": len(content),
112
+ }
113
+
114
+ log.info(
115
+ f"{log_identifier} Attempting to save artifact '{output_filename}' via artifact_service."
116
+ )
117
+ try:
118
+ save_result = await save_artifact_with_metadata(
119
+ artifact_service=artifact_service,
120
+ app_name=app_name,
121
+ user_id=user_id,
122
+ session_id=session_id,
123
+ filename=output_filename,
124
+ content_bytes=content_bytes,
125
+ mime_type=mime_type,
126
+ metadata_dict=metadata_dict,
127
+ timestamp=timestamp,
128
+ schema_max_keys=DEFAULT_SCHEMA_MAX_KEYS,
129
+ tool_context=tool_context,
130
+ )
131
+ if save_result.get("status") == "error":
132
+ log.error(
133
+ f"{log_identifier} Failed to save artifact: {save_result.get('message')}"
134
+ )
135
+ return {
136
+ "status": "error",
137
+ "message": f"Failed to save artifact: {save_result.get('message')}",
138
+ }
139
+
140
+ log.info(
141
+ f"{log_identifier} Artifact '{output_filename}' v{save_result['data_version']} saved successfully."
142
+ )
143
+ return {
144
+ "status": "success",
145
+ "message": f"File '{output_filename}' created and saved as artifact v{save_result['data_version']}.",
146
+ "output_filename": output_filename,
147
+ "output_version": save_result["data_version"],
148
+ }
149
+ except Exception as e:
150
+ log.exception(f"{log_identifier} Unexpected error during artifact saving: {e}")
151
+ return {
152
+ "status": "error",
153
+ "message": f"An unexpected error occurred during artifact saving: {e}",
154
+ }
155
+
156
+
157
+ # Example of how these might be tested or run if this file was executed directly.
158
+ # This assumes the script is run in an environment where solace_agent_mesh is importable,
159
+ # or the imports at the top will fail.
160
+ if __name__ == "__main__":
161
+
162
+ async def run_tests():
163
+ print("--- Testing example_text_processor_tool ---")
164
+ # For standalone testing, ToolContext might be minimal or None if ADK is not fully available.
165
+ # The tool should handle tool_context=None gracefully if it's designed to be testable standalone.
166
+
167
+ # A more complete mock for standalone testing if needed:
168
+ class MockArtifactService:
169
+ async def save_artifact(
170
+ self, **kwargs
171
+ ): # Match expected signature elements
172
+ log.info(
173
+ f"MockArtifactService.save_artifact called with filename: {kwargs.get('filename')}"
174
+ )
175
+ return {
176
+ "uri": f"mock://{kwargs.get('filename')}",
177
+ "version": 1,
178
+ } # Simulate ADK response
179
+
180
+ async def save_artifact_metadata(self, **kwargs):
181
+ log.info(
182
+ f"MockArtifactService.save_artifact_metadata called for: {kwargs.get('filename')}"
183
+ )
184
+ return {
185
+ "uri": f"mock://{kwargs.get('filename')}.metadata",
186
+ "version": 1,
187
+ }
188
+
189
+ class MockInvocationContext:
190
+ def __init__(self):
191
+ self.app_name = "test_app"
192
+ self.user_id = "test_user"
193
+ self.session_id = "test_session_123"
194
+ self.artifact_service = MockArtifactService()
195
+ # Add other attributes if your tool or helpers expect them
196
+
197
+ class MockToolContext:
198
+ def __init__(self):
199
+ self._invocation_context = MockInvocationContext()
200
+
201
+ mock_context = MockToolContext()
202
+
203
+ text_result1 = await example_text_processor_tool(
204
+ "hello world",
205
+ uppercase=True,
206
+ tool_context=mock_context,
207
+ tool_config={"prefix": "TestPrefix: "},
208
+ )
209
+ print(f"Text tool result 1: {text_result1}")
210
+
211
+ text_result2 = await example_text_processor_tool(
212
+ "another test", tool_context=mock_context
213
+ )
214
+ print(f"Text tool result 2: {text_result2}")
215
+
216
+ print("\n--- Testing example_text_file_creator_tool ---")
217
+ file_result = await example_text_file_creator_tool(
218
+ "my_example_file.txt",
219
+ "This is the content of the example file created by the plugin template.",
220
+ tool_context=mock_context, # Using the mock context with a mock artifact service
221
+ )
222
+ print(f"File tool result: {file_result}")
223
+
224
+ asyncio.run(run_tests())