solace-agent-mesh 1.11.2__py3-none-any.whl → 1.12.0__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.
Files changed (308) hide show
  1. solace_agent_mesh/agent/adk/callbacks.py +177 -10
  2. solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +3 -0
  3. solace_agent_mesh/agent/adk/models/lite_llm.py +34 -16
  4. solace_agent_mesh/agent/adk/runner.py +66 -8
  5. solace_agent_mesh/agent/adk/setup.py +61 -26
  6. solace_agent_mesh/agent/protocol/event_handlers.py +48 -0
  7. solace_agent_mesh/agent/proxies/a2a/component.py +27 -0
  8. solace_agent_mesh/agent/sac/component.py +84 -2
  9. solace_agent_mesh/agent/tools/builtin_artifact_tools.py +41 -22
  10. solace_agent_mesh/agent/tools/peer_agent_tool.py +19 -12
  11. solace_agent_mesh/agent/tools/tool_config_types.py +21 -1
  12. solace_agent_mesh/agent/utils/artifact_helpers.py +54 -0
  13. solace_agent_mesh/assets/docs/404.html +3 -3
  14. solace_agent_mesh/assets/docs/assets/js/15ba94aa.e186750d.js +1 -0
  15. solace_agent_mesh/assets/docs/assets/js/240a0364.83e37aa8.js +1 -0
  16. solace_agent_mesh/assets/docs/assets/js/2e32b5e0.2f0db237.js +1 -0
  17. solace_agent_mesh/assets/docs/assets/js/3a6c6137.7e61915d.js +1 -0
  18. solace_agent_mesh/assets/docs/assets/js/{3ac1795d.28b7c67b.js → 3ac1795d.dc006e20.js} +1 -1
  19. solace_agent_mesh/assets/docs/assets/js/3ff0015d.f08618fb.js +1 -0
  20. solace_agent_mesh/assets/docs/assets/js/4667dc50.bf2ad456.js +1 -0
  21. solace_agent_mesh/assets/docs/assets/js/547e15cc.8e6da617.js +1 -0
  22. solace_agent_mesh/assets/docs/assets/js/5b8d9c11.d4eb37b8.js +1 -0
  23. solace_agent_mesh/assets/docs/assets/js/5c2bd65f.1ee87753.js +1 -0
  24. solace_agent_mesh/assets/docs/assets/js/64195356.09dbd087.js +1 -0
  25. solace_agent_mesh/assets/docs/assets/js/66d4869e.30340bd3.js +1 -0
  26. solace_agent_mesh/assets/docs/assets/js/729898df.7249e9fd.js +1 -0
  27. solace_agent_mesh/assets/docs/assets/js/7e294c01.7c5f6906.js +1 -0
  28. solace_agent_mesh/assets/docs/assets/js/8024126c.e3467286.js +1 -0
  29. solace_agent_mesh/assets/docs/assets/js/81a99df0.95be65d4.js +1 -0
  30. solace_agent_mesh/assets/docs/assets/js/9bb13469.4523ae20.js +1 -0
  31. solace_agent_mesh/assets/docs/assets/js/a7d42657.a956689d.js +1 -0
  32. solace_agent_mesh/assets/docs/assets/js/ab9708a8.3e563275.js +1 -0
  33. solace_agent_mesh/assets/docs/assets/js/e04b235d.06d23db6.js +1 -0
  34. solace_agent_mesh/assets/docs/assets/js/e1b6eeb4.deb2b62e.js +1 -0
  35. solace_agent_mesh/assets/docs/assets/js/e6f9706b.acc800d3.js +1 -0
  36. solace_agent_mesh/assets/docs/assets/js/e92d0134.c147a429.js +1 -0
  37. solace_agent_mesh/assets/docs/assets/js/ee0c2fe7.94d0a351.js +1 -0
  38. solace_agent_mesh/assets/docs/assets/js/f284c35a.08fab659.js +1 -0
  39. solace_agent_mesh/assets/docs/assets/js/main.b241af3e.js +2 -0
  40. solace_agent_mesh/assets/docs/assets/js/runtime~main.4ca7d2e2.js +1 -0
  41. solace_agent_mesh/assets/docs/docs/documentation/components/agents/index.html +4 -4
  42. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/artifact-management/index.html +4 -4
  43. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/audio-tools/index.html +4 -4
  44. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/data-analysis-tools/index.html +4 -4
  45. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/embeds/index.html +4 -4
  46. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/image-tools/index.html +81 -0
  47. solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/index.html +14 -12
  48. solace_agent_mesh/assets/docs/docs/documentation/components/cli/index.html +30 -9
  49. solace_agent_mesh/assets/docs/docs/documentation/components/gateways/index.html +4 -4
  50. solace_agent_mesh/assets/docs/docs/documentation/components/index.html +6 -4
  51. solace_agent_mesh/assets/docs/docs/documentation/components/orchestrator/index.html +4 -4
  52. solace_agent_mesh/assets/docs/docs/documentation/components/platform-service/index.html +33 -0
  53. solace_agent_mesh/assets/docs/docs/documentation/components/plugins/index.html +4 -4
  54. solace_agent_mesh/assets/docs/docs/documentation/components/projects/index.html +4 -4
  55. solace_agent_mesh/assets/docs/docs/documentation/components/prompts/index.html +4 -4
  56. solace_agent_mesh/assets/docs/docs/documentation/components/proxies/index.html +4 -4
  57. solace_agent_mesh/assets/docs/docs/documentation/components/speech/index.html +4 -4
  58. solace_agent_mesh/assets/docs/docs/documentation/deploying/debugging/index.html +4 -4
  59. solace_agent_mesh/assets/docs/docs/documentation/deploying/deployment-options/index.html +5 -5
  60. solace_agent_mesh/assets/docs/docs/documentation/deploying/index.html +4 -4
  61. solace_agent_mesh/assets/docs/docs/documentation/deploying/{kubernetes-deployment → kubernetes}/index.html +6 -6
  62. solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide/index.html +197 -0
  63. solace_agent_mesh/assets/docs/docs/documentation/deploying/logging/index.html +11 -6
  64. solace_agent_mesh/assets/docs/docs/documentation/deploying/observability/index.html +4 -4
  65. solace_agent_mesh/assets/docs/docs/documentation/deploying/proxy_configuration/index.html +4 -4
  66. solace_agent_mesh/assets/docs/docs/documentation/developing/create-agents/index.html +4 -4
  67. solace_agent_mesh/assets/docs/docs/documentation/developing/create-gateways/index.html +4 -4
  68. solace_agent_mesh/assets/docs/docs/documentation/developing/creating-python-tools/index.html +23 -5
  69. solace_agent_mesh/assets/docs/docs/documentation/developing/creating-service-providers/index.html +4 -4
  70. solace_agent_mesh/assets/docs/docs/documentation/developing/evaluations/index.html +4 -4
  71. solace_agent_mesh/assets/docs/docs/documentation/developing/index.html +4 -4
  72. solace_agent_mesh/assets/docs/docs/documentation/developing/structure/index.html +4 -4
  73. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/bedrock-agents/index.html +4 -4
  74. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/custom-agent/index.html +4 -4
  75. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/event-mesh-gateway/index.html +4 -4
  76. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mcp-integration/index.html +17 -8
  77. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mongodb-integration/index.html +4 -4
  78. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rag-integration/index.html +4 -4
  79. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rest-gateway/index.html +4 -4
  80. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/slack-integration/index.html +4 -4
  81. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/sql-database/index.html +4 -4
  82. solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/teams-integration/index.html +4 -4
  83. solace_agent_mesh/assets/docs/docs/documentation/enterprise/agent-builder/index.html +5 -5
  84. solace_agent_mesh/assets/docs/docs/documentation/enterprise/connectors/index.html +4 -4
  85. solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +4 -4
  86. solace_agent_mesh/assets/docs/docs/documentation/enterprise/installation/index.html +4 -4
  87. solace_agent_mesh/assets/docs/docs/documentation/enterprise/openapi-tools/index.html +4 -4
  88. solace_agent_mesh/assets/docs/docs/documentation/enterprise/rbac-setup-guide/index.html +4 -4
  89. solace_agent_mesh/assets/docs/docs/documentation/enterprise/secure-user-delegated-access/index.html +4 -4
  90. solace_agent_mesh/assets/docs/docs/documentation/enterprise/single-sign-on/index.html +4 -4
  91. solace_agent_mesh/assets/docs/docs/documentation/enterprise/wheel-installation/index.html +4 -4
  92. solace_agent_mesh/assets/docs/docs/documentation/getting-started/architecture/index.html +4 -4
  93. solace_agent_mesh/assets/docs/docs/documentation/getting-started/index.html +6 -5
  94. solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +4 -4
  95. solace_agent_mesh/assets/docs/docs/documentation/getting-started/try-agent-mesh/index.html +4 -4
  96. solace_agent_mesh/assets/docs/docs/documentation/getting-started/vibe_coding/index.html +62 -0
  97. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/artifact-storage/index.html +25 -4
  98. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/configurations/index.html +4 -4
  99. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/index.html +4 -4
  100. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/installation/index.html +4 -4
  101. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/large_language_models/index.html +4 -4
  102. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/run-project/index.html +4 -4
  103. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/session-storage/index.html +4 -4
  104. solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/user-feedback/index.html +4 -4
  105. solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0/index.html +4 -4
  106. solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map/index.html +4 -4
  107. solace_agent_mesh/assets/docs/docs/documentation/migrations/platform-service-split/index.html +85 -0
  108. solace_agent_mesh/assets/docs/lunr-index-1767712284328.json +1 -0
  109. solace_agent_mesh/assets/docs/lunr-index.json +1 -1
  110. solace_agent_mesh/assets/docs/search-doc-1767712284328.json +1 -0
  111. solace_agent_mesh/assets/docs/search-doc.json +1 -1
  112. solace_agent_mesh/assets/docs/sitemap.xml +1 -1
  113. solace_agent_mesh/cli/__init__.py +1 -1
  114. solace_agent_mesh/cli/commands/init_cmd/__init__.py +15 -0
  115. solace_agent_mesh/cli/commands/init_cmd/directory_step.py +1 -1
  116. solace_agent_mesh/cli/commands/init_cmd/env_step.py +29 -2
  117. solace_agent_mesh/cli/commands/init_cmd/platform_service_step.py +85 -0
  118. solace_agent_mesh/cli/commands/tools_cmd.py +315 -0
  119. solace_agent_mesh/cli/main.py +2 -0
  120. solace_agent_mesh/client/webui/frontend/static/assets/{authCallback-Dj3JtK42.js → authCallback-8Nihi8rv.js} +1 -1
  121. solace_agent_mesh/client/webui/frontend/static/assets/{client-ZKk9kEJ5.js → client-DYtZN8p-.js} +1 -1
  122. solace_agent_mesh/client/webui/frontend/static/assets/main-BYGUHQMk.js +435 -0
  123. solace_agent_mesh/client/webui/frontend/static/assets/main-D2CSH1bp.css +1 -0
  124. solace_agent_mesh/client/webui/frontend/static/assets/{vendor-BNV4kZN0.js → vendor-XBWAmrun.js} +106 -101
  125. solace_agent_mesh/client/webui/frontend/static/auth-callback.html +3 -3
  126. solace_agent_mesh/client/webui/frontend/static/index.html +4 -4
  127. solace_agent_mesh/client/webui/frontend/static/ui-version.json +1 -1
  128. solace_agent_mesh/common/a2a/types.py +1 -1
  129. solace_agent_mesh/common/agent_registry.py +38 -11
  130. solace_agent_mesh/common/data_parts.py +28 -0
  131. solace_agent_mesh/common/error_handlers.py +83 -0
  132. solace_agent_mesh/common/sam_events/event_service.py +2 -2
  133. solace_agent_mesh/config_portal/backend/common.py +2 -0
  134. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-ZV-jX48T.js +103 -0
  135. solace_agent_mesh/config_portal/frontend/static/client/assets/{manifest-ba77705e.js → manifest-ce5bc5da.js} +1 -1
  136. solace_agent_mesh/config_portal/frontend/static/client/index.html +1 -1
  137. solace_agent_mesh/core_a2a/service.py +3 -2
  138. solace_agent_mesh/gateway/adapter/base.py +28 -1
  139. solace_agent_mesh/gateway/adapter/types.py +9 -0
  140. solace_agent_mesh/gateway/base/auth_interface.py +103 -0
  141. solace_agent_mesh/gateway/base/component.py +68 -1
  142. solace_agent_mesh/gateway/generic/component.py +195 -30
  143. solace_agent_mesh/gateway/http_sse/app.py +23 -6
  144. solace_agent_mesh/gateway/http_sse/component.py +9 -61
  145. solace_agent_mesh/gateway/http_sse/dependencies.py +9 -51
  146. solace_agent_mesh/gateway/http_sse/main.py +28 -418
  147. solace_agent_mesh/gateway/http_sse/repository/chat_task_repository.py +2 -2
  148. solace_agent_mesh/gateway/http_sse/repository/entities/project.py +1 -1
  149. solace_agent_mesh/gateway/http_sse/repository/entities/project_user.py +1 -1
  150. solace_agent_mesh/gateway/http_sse/repository/entities/session.py +2 -2
  151. solace_agent_mesh/gateway/http_sse/repository/feedback_repository.py +2 -2
  152. solace_agent_mesh/gateway/http_sse/repository/interfaces.py +2 -2
  153. solace_agent_mesh/gateway/http_sse/repository/models/prompt_model.py +1 -1
  154. solace_agent_mesh/gateway/http_sse/repository/models/session_model.py +1 -1
  155. solace_agent_mesh/gateway/http_sse/repository/project_repository.py +1 -1
  156. solace_agent_mesh/gateway/http_sse/repository/project_user_repository.py +1 -1
  157. solace_agent_mesh/gateway/http_sse/repository/session_repository.py +4 -4
  158. solace_agent_mesh/gateway/http_sse/repository/task_repository.py +2 -2
  159. solace_agent_mesh/gateway/http_sse/routers/artifacts.py +16 -15
  160. solace_agent_mesh/gateway/http_sse/routers/auth.py +61 -132
  161. solace_agent_mesh/gateway/http_sse/routers/config.py +12 -8
  162. solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py +1 -1
  163. solace_agent_mesh/gateway/http_sse/routers/dto/responses/base_responses.py +1 -1
  164. solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py +2 -2
  165. solace_agent_mesh/gateway/http_sse/routers/feedback.py +2 -2
  166. solace_agent_mesh/gateway/http_sse/routers/people.py +2 -2
  167. solace_agent_mesh/gateway/http_sse/routers/projects.py +2 -1
  168. solace_agent_mesh/gateway/http_sse/routers/prompts.py +2 -1
  169. solace_agent_mesh/gateway/http_sse/routers/sessions.py +3 -3
  170. solace_agent_mesh/gateway/http_sse/routers/speech.py +1 -1
  171. solace_agent_mesh/gateway/http_sse/routers/tasks.py +3 -2
  172. solace_agent_mesh/gateway/http_sse/routers/users.py +1 -1
  173. solace_agent_mesh/gateway/http_sse/routers/visualization.py +2 -1
  174. solace_agent_mesh/gateway/http_sse/services/background_task_monitor.py +1 -1
  175. solace_agent_mesh/gateway/http_sse/services/data_retention_service.py +1 -1
  176. solace_agent_mesh/gateway/http_sse/services/feedback_service.py +1 -1
  177. solace_agent_mesh/gateway/http_sse/services/session_service.py +4 -4
  178. solace_agent_mesh/gateway/http_sse/services/task_logger_service.py +1 -1
  179. solace_agent_mesh/services/platform/__init__.py +23 -12
  180. solace_agent_mesh/services/platform/api/dependencies.py +23 -16
  181. solace_agent_mesh/services/platform/api/main.py +118 -43
  182. solace_agent_mesh/services/platform/api/routers/__init__.py +12 -3
  183. solace_agent_mesh/services/platform/api/routers/health_router.py +31 -0
  184. solace_agent_mesh/services/platform/app.py +101 -7
  185. solace_agent_mesh/services/platform/component.py +552 -33
  186. solace_agent_mesh/shared/__init__.py +14 -0
  187. solace_agent_mesh/shared/api/__init__.py +42 -0
  188. solace_agent_mesh/shared/auth/__init__.py +26 -0
  189. solace_agent_mesh/shared/auth/dependencies.py +204 -0
  190. solace_agent_mesh/shared/auth/middleware.py +291 -0
  191. solace_agent_mesh/shared/database/__init__.py +20 -0
  192. solace_agent_mesh/{gateway/http_sse/shared → shared/database}/base_repository.py +1 -1
  193. solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_exceptions.py +1 -1
  194. solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_helpers.py +1 -1
  195. solace_agent_mesh/shared/exceptions/__init__.py +36 -0
  196. solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exception_handlers.py +1 -1
  197. solace_agent_mesh/shared/utils/__init__.py +21 -0
  198. solace_agent_mesh/templates/platform.yaml +49 -0
  199. solace_agent_mesh/templates/webui.yaml +12 -3
  200. {solace_agent_mesh-1.11.2.dist-info → solace_agent_mesh-1.12.0.dist-info}/METADATA +2 -1
  201. {solace_agent_mesh-1.11.2.dist-info → solace_agent_mesh-1.12.0.dist-info}/RECORD +214 -258
  202. solace_agent_mesh/agent/adk/adk_llm.txt +0 -226
  203. solace_agent_mesh/agent/adk/adk_llm_detail.txt +0 -566
  204. solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +0 -171
  205. solace_agent_mesh/agent/adk/models/models_llm.txt +0 -189
  206. solace_agent_mesh/agent/agent_llm.txt +0 -369
  207. solace_agent_mesh/agent/agent_llm_detail.txt +0 -1702
  208. solace_agent_mesh/agent/protocol/protocol_llm.txt +0 -81
  209. solace_agent_mesh/agent/protocol/protocol_llm_detail.txt +0 -92
  210. solace_agent_mesh/agent/proxies/a2a/a2a_llm.txt +0 -190
  211. solace_agent_mesh/agent/proxies/base/base_llm.txt +0 -148
  212. solace_agent_mesh/agent/proxies/proxies_llm.txt +0 -283
  213. solace_agent_mesh/agent/sac/sac_llm.txt +0 -189
  214. solace_agent_mesh/agent/sac/sac_llm_detail.txt +0 -200
  215. solace_agent_mesh/agent/testing/testing_llm.txt +0 -58
  216. solace_agent_mesh/agent/testing/testing_llm_detail.txt +0 -68
  217. solace_agent_mesh/agent/tools/tools_llm.txt +0 -276
  218. solace_agent_mesh/agent/tools/tools_llm_detail.txt +0 -275
  219. solace_agent_mesh/agent/utils/utils_llm.txt +0 -152
  220. solace_agent_mesh/agent/utils/utils_llm_detail.txt +0 -149
  221. solace_agent_mesh/assets/docs/assets/js/15ba94aa.92fea363.js +0 -1
  222. solace_agent_mesh/assets/docs/assets/js/240a0364.9ad94d1b.js +0 -1
  223. solace_agent_mesh/assets/docs/assets/js/2e32b5e0.33f5d75b.js +0 -1
  224. solace_agent_mesh/assets/docs/assets/js/3a6c6137.f5940cfa.js +0 -1
  225. solace_agent_mesh/assets/docs/assets/js/3ff0015d.2ddc75c0.js +0 -1
  226. solace_agent_mesh/assets/docs/assets/js/547e15cc.2f7790c1.js +0 -1
  227. solace_agent_mesh/assets/docs/assets/js/5c2bd65f.90a87880.js +0 -1
  228. solace_agent_mesh/assets/docs/assets/js/64195356.c498c4d0.js +0 -1
  229. solace_agent_mesh/assets/docs/assets/js/66d4869e.b77431fc.js +0 -1
  230. solace_agent_mesh/assets/docs/assets/js/8024126c.fa0e7186.js +0 -1
  231. solace_agent_mesh/assets/docs/assets/js/81a99df0.2484b8d9.js +0 -1
  232. solace_agent_mesh/assets/docs/assets/js/9bb13469.b2333011.js +0 -1
  233. solace_agent_mesh/assets/docs/assets/js/ab9708a8.245ae0ef.js +0 -1
  234. solace_agent_mesh/assets/docs/assets/js/db5d6442.3daf1696.js +0 -1
  235. solace_agent_mesh/assets/docs/assets/js/e04b235d.52cb25ed.js +0 -1
  236. solace_agent_mesh/assets/docs/assets/js/e1b6eeb4.b1068f9b.js +0 -1
  237. solace_agent_mesh/assets/docs/assets/js/e6f9706b.4488e34c.js +0 -1
  238. solace_agent_mesh/assets/docs/assets/js/e92d0134.3bda61dd.js +0 -1
  239. solace_agent_mesh/assets/docs/assets/js/f284c35a.250993bf.js +0 -1
  240. solace_agent_mesh/assets/docs/assets/js/main.7acf7ace.js +0 -2
  241. solace_agent_mesh/assets/docs/assets/js/runtime~main.9e0813a2.js +0 -1
  242. solace_agent_mesh/assets/docs/lunr-index-1765810064709.json +0 -1
  243. solace_agent_mesh/assets/docs/search-doc-1765810064709.json +0 -1
  244. solace_agent_mesh/cli/commands/add_cmd/add_cmd_llm.txt +0 -250
  245. solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +0 -365
  246. solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +0 -305
  247. solace_agent_mesh/client/webui/frontend/static/assets/main-BcUaNZ-Q.css +0 -1
  248. solace_agent_mesh/client/webui/frontend/static/assets/main-vjch4RYc.js +0 -435
  249. solace_agent_mesh/common/a2a/a2a_llm.txt +0 -175
  250. solace_agent_mesh/common/a2a/a2a_llm_detail.txt +0 -193
  251. solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +0 -445
  252. solace_agent_mesh/common/a2a_spec/a2a_spec_llm_detail.txt +0 -736
  253. solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +0 -330
  254. solace_agent_mesh/common/common_llm.txt +0 -230
  255. solace_agent_mesh/common/common_llm_detail.txt +0 -2562
  256. solace_agent_mesh/common/middleware/middleware_llm.txt +0 -174
  257. solace_agent_mesh/common/middleware/middleware_llm_detail.txt +0 -185
  258. solace_agent_mesh/common/sac/sac_llm.txt +0 -71
  259. solace_agent_mesh/common/sac/sac_llm_detail.txt +0 -82
  260. solace_agent_mesh/common/sam_events/sam_events_llm.txt +0 -104
  261. solace_agent_mesh/common/sam_events/sam_events_llm_detail.txt +0 -115
  262. solace_agent_mesh/common/services/providers/providers_llm.txt +0 -81
  263. solace_agent_mesh/common/services/services_llm.txt +0 -368
  264. solace_agent_mesh/common/services/services_llm_detail.txt +0 -459
  265. solace_agent_mesh/common/utils/embeds/embeds_llm.txt +0 -220
  266. solace_agent_mesh/common/utils/utils_llm.txt +0 -335
  267. solace_agent_mesh/common/utils/utils_llm_detail.txt +0 -572
  268. solace_agent_mesh/config_portal/frontend/static/client/assets/_index-DiOiAjzL.js +0 -103
  269. solace_agent_mesh/core_a2a/core_a2a_llm.txt +0 -90
  270. solace_agent_mesh/core_a2a/core_a2a_llm_detail.txt +0 -101
  271. solace_agent_mesh/gateway/base/base_llm.txt +0 -226
  272. solace_agent_mesh/gateway/base/base_llm_detail.txt +0 -235
  273. solace_agent_mesh/gateway/gateway_llm.txt +0 -369
  274. solace_agent_mesh/gateway/gateway_llm_detail.txt +0 -3885
  275. solace_agent_mesh/gateway/http_sse/alembic/alembic_llm.txt +0 -345
  276. solace_agent_mesh/gateway/http_sse/alembic/versions/versions_llm.txt +0 -161
  277. solace_agent_mesh/gateway/http_sse/components/components_llm.txt +0 -105
  278. solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +0 -299
  279. solace_agent_mesh/gateway/http_sse/http_sse_llm_detail.txt +0 -3278
  280. solace_agent_mesh/gateway/http_sse/repository/entities/entities_llm.txt +0 -221
  281. solace_agent_mesh/gateway/http_sse/repository/models/models_llm.txt +0 -257
  282. solace_agent_mesh/gateway/http_sse/repository/repository_llm.txt +0 -308
  283. solace_agent_mesh/gateway/http_sse/routers/dto/dto_llm.txt +0 -450
  284. solace_agent_mesh/gateway/http_sse/routers/dto/requests/requests_llm.txt +0 -133
  285. solace_agent_mesh/gateway/http_sse/routers/dto/responses/responses_llm.txt +0 -123
  286. solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +0 -312
  287. solace_agent_mesh/gateway/http_sse/services/services_llm.txt +0 -303
  288. solace_agent_mesh/gateway/http_sse/shared/__init__.py +0 -146
  289. solace_agent_mesh/gateway/http_sse/shared/shared_llm.txt +0 -319
  290. solace_agent_mesh/gateway/http_sse/utils/utils_llm.txt +0 -47
  291. solace_agent_mesh/llm.txt +0 -228
  292. solace_agent_mesh/llm_detail.txt +0 -2835
  293. solace_agent_mesh/solace_agent_mesh_llm.txt +0 -362
  294. solace_agent_mesh/solace_agent_mesh_llm_detail.txt +0 -8599
  295. solace_agent_mesh/templates/templates_llm.txt +0 -147
  296. /solace_agent_mesh/assets/docs/assets/js/{main.7acf7ace.js.LICENSE.txt → main.b241af3e.js.LICENSE.txt} +0 -0
  297. /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/auth_utils.py +0 -0
  298. /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/pagination.py +0 -0
  299. /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/response_utils.py +0 -0
  300. /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/error_dto.py +0 -0
  301. /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exceptions.py +0 -0
  302. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/enums.py +0 -0
  303. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/timestamp_utils.py +0 -0
  304. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/types.py +0 -0
  305. /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/utils.py +0 -0
  306. {solace_agent_mesh-1.11.2.dist-info → solace_agent_mesh-1.12.0.dist-info}/WHEEL +0 -0
  307. {solace_agent_mesh-1.11.2.dist-info → solace_agent_mesh-1.12.0.dist-info}/entry_points.txt +0 -0
  308. {solace_agent_mesh-1.11.2.dist-info → solace_agent_mesh-1.12.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,345 +0,0 @@
1
- # DEVELOPER GUIDE: alembic
2
-
3
- ## Quick Summary
4
- This directory contains Alembic database migration configuration and version files for the HTTP SSE gateway. It provides database schema management capabilities, including initial table creation, performance optimization through indexing, timestamp format standardization, and task management features with token usage tracking. The directory consists of the main Alembic environment configuration (`env.py`) and a versions subdirectory containing sequential migration files that handle schema evolution over time.
5
-
6
- ## Files and Subdirectories Overview
7
- - **Direct files:**
8
- - `env.py` - Alembic environment configuration for running migrations in offline/online modes
9
-
10
- - **Subdirectories:**
11
- - `versions/` - Contains sequential database migration files for schema evolution and task management
12
-
13
- ## Developer API Reference
14
-
15
- ### Direct Files
16
-
17
- #### env.py
18
- **Purpose:** Alembic environment configuration that handles migration execution in both offline and online modes with proper model registration
19
- **Import:** This is an Alembic configuration file - not directly imported by application code
20
-
21
- **Functions:**
22
- - `run_migrations_offline() -> None` - Executes migrations without database connection (generates SQL scripts)
23
- - `run_migrations_online() -> None` - Executes migrations with live database connection and proper URL handling
24
-
25
- **Constants/Variables:**
26
- - `config` - Alembic Config object providing access to .ini file values
27
- - `target_metadata` - SQLAlchemy metadata from repository Base class for autogenerate support
28
-
29
- ### Subdirectory APIs
30
-
31
- #### versions/
32
- **Purpose:** Contains sequential Alembic migration files that define database schema changes including core tables, indexes, timestamp modernization, task management, and performance optimization
33
- **Key Exports:** Migration functions for complete schema evolution (upgrade/downgrade operations)
34
- **Import Examples:**
35
- ```python
36
- # These are migration files executed by Alembic CLI, not directly imported
37
- # Access via Alembic commands:
38
- # alembic upgrade head
39
- # alembic downgrade base
40
- ```
41
-
42
- **Available Migrations:**
43
- - `d5b3f8f2e9a0` - Initial database schema (sessions and chat_messages tables)
44
- - `b1c2d3e4f5g6` - Performance indexes for query optimization
45
- - `f6e7d8c9b0a1` - Timestamp conversion to epoch milliseconds
46
- - `98882922fa59` - Task management tables (tasks, task_events, feedback, chat_tasks)
47
- - `20251015_session_idx` - Optimized composite indexes for better query performance
48
-
49
- ## Complete Usage Guide
50
-
51
- ### 1. Setting Up Alembic Environment
52
-
53
- ```python
54
- # The env.py automatically imports all repository models for metadata
55
- from solace_agent_mesh.gateway.http_sse.repository.models.base import Base
56
- from solace_agent_mesh.gateway.http_sse.repository.models.task_model import TaskModel
57
- from solace_agent_mesh.gateway.http_sse.repository.models.task_event_model import TaskEventModel
58
- from solace_agent_mesh.gateway.http_sse.repository.models.feedback_model import FeedbackModel
59
-
60
- target_metadata = Base.metadata
61
- ```
62
-
63
- ### 2. Running Migrations
64
-
65
- ```bash
66
- # Check current migration status
67
- alembic current
68
-
69
- # Run all pending migrations to latest
70
- alembic upgrade head
71
-
72
- # Run specific migration
73
- alembic upgrade d5b3f8f2e9a0
74
-
75
- # Rollback to previous migration
76
- alembic downgrade -1
77
-
78
- # Rollback to specific migration
79
- alembic downgrade b1c2d3e4f5g6
80
-
81
- # Rollback all migrations
82
- alembic downgrade base
83
-
84
- # View migration history
85
- alembic history
86
- ```
87
-
88
- ### 3. Complete Migration Sequence and Schema Evolution
89
-
90
- ```bash
91
- # Step 1: Create initial database schema
92
- alembic upgrade d5b3f8f2e9a0
93
- # Creates: sessions table, chat_messages table with relationships
94
-
95
- # Step 2: Add performance indexes
96
- alembic upgrade b1c2d3e4f5g6
97
- # Adds: indexes on user_id, timestamps, composite fields
98
-
99
- # Step 3: Modernize timestamp format
100
- alembic upgrade f6e7d8c9b0a1
101
- # Converts: datetime columns to epoch milliseconds
102
- # Renames: columns for consistency (created_at → created_time)
103
-
104
- # Step 4: Add task management features
105
- alembic upgrade 98882922fa59
106
- # Creates: tasks, task_events, feedback, chat_tasks tables
107
- # Replaces: chat_messages with chat_tasks for better task tracking
108
-
109
- # Step 5: Add optimized performance indexes
110
- alembic upgrade 20251015_session_idx
111
- # Adds: composite indexes for optimal query patterns
112
- ```
113
-
114
- ### 4. Working with Different Database Engines
115
-
116
- ```python
117
- # The env.py handles multiple database types automatically
118
- # Configure database URL in alembic.ini or environment:
119
-
120
- # PostgreSQL
121
- # sqlalchemy.url = postgresql://user:pass@localhost/dbname
122
-
123
- # SQLite
124
- # sqlalchemy.url = sqlite:///./database.db
125
-
126
- # MySQL
127
- # sqlalchemy.url = mysql://user:pass@localhost/dbname
128
- ```
129
-
130
- ### 5. Integration with Repository Layer
131
-
132
- ```python
133
- # The migrations work with the repository models
134
- from solace_agent_mesh.gateway.http_sse.repository.models.base import Base
135
- from solace_agent_mesh.gateway.http_sse.repository.models.task_model import TaskModel
136
- from solace_agent_mesh.gateway.http_sse.repository.models.task_event_model import TaskEventModel
137
- from solace_agent_mesh.gateway.http_sse.repository.models.feedback_model import FeedbackModel
138
-
139
- # After running all migrations, your models will have the updated schema:
140
- # - All timestamp fields use epoch milliseconds
141
- # - Proper indexes for performance
142
- # - Standardized column names
143
- # - Complete task management functionality
144
- # - Optimized composite indexes for query performance
145
- ```
146
-
147
- ### 6. Offline Migration Generation
148
-
149
- ```bash
150
- # Generate SQL scripts without executing (useful for production deployments)
151
- # This uses run_migrations_offline() function from env.py
152
-
153
- # Generate SQL for specific migration
154
- alembic upgrade d5b3f8f2e9a0 --sql
155
-
156
- # Generate SQL for all pending migrations
157
- alembic upgrade head --sql
158
-
159
- # Generate SQL for performance optimization
160
- alembic upgrade 20251015_session_idx --sql
161
- ```
162
-
163
- ### 7. Common Development Patterns
164
-
165
- ```bash
166
- # Development workflow:
167
- # 1. Make model changes in repository
168
- # 2. Generate new migration
169
- alembic revision --autogenerate -m "description of changes"
170
-
171
- # 3. Review generated migration file
172
- # 4. Test migration
173
- alembic upgrade head
174
-
175
- # 5. Test rollback
176
- alembic downgrade -1
177
-
178
- # Production deployment:
179
- # 1. Generate SQL scripts
180
- alembic upgrade head --sql > migration.sql
181
-
182
- # 2. Review and execute SQL manually in production
183
- ```
184
-
185
- ### 8. Database Schema After All Migrations
186
-
187
- ```sql
188
- -- Final schema structure after all migrations:
189
-
190
- -- Core tables with epoch millisecond timestamps:
191
- -- sessions table:
192
- -- id (String, Primary Key)
193
- -- name (String)
194
- -- user_id (String, Indexed)
195
- -- agent_id (String)
196
- -- created_time (BigInteger, epoch ms)
197
- -- updated_time (BigInteger, epoch ms)
198
-
199
- -- chat_tasks table (replaces chat_messages):
200
- -- id (String, Primary Key)
201
- -- session_id (String, Foreign Key to sessions.id)
202
- -- user_id (String)
203
- -- user_message (Text)
204
- -- message_bubbles (Text, JSON)
205
- -- task_metadata (Text, JSON)
206
- -- created_time (BigInteger, epoch ms)
207
- -- updated_time (BigInteger, epoch ms)
208
-
209
- -- Task management tables:
210
- -- tasks table:
211
- -- id (String, Primary Key)
212
- -- user_id (String, Indexed)
213
- -- start_time (BigInteger, epoch ms)
214
- -- end_time (BigInteger, epoch ms)
215
- -- status (String)
216
- -- initial_request_text (Text)
217
- -- total_input_tokens (Integer)
218
- -- total_output_tokens (Integer)
219
- -- total_cached_input_tokens (Integer)
220
- -- token_usage_details (Text, JSON)
221
-
222
- -- task_events table:
223
- -- id (String, Primary Key)
224
- -- task_id (String, Foreign Key to tasks.id)
225
- -- user_id (String)
226
- -- created_time (BigInteger, epoch ms)
227
- -- topic (String)
228
- -- direction (String)
229
- -- payload (Text)
230
-
231
- -- feedback table:
232
- -- id (String, Primary Key)
233
- -- session_id (String, Foreign Key to sessions.id)
234
- -- task_id (String, Foreign Key to tasks.id)
235
- -- user_id (String)
236
- -- rating (Integer)
237
- -- comment (Text)
238
- -- created_time (BigInteger, epoch ms)
239
-
240
- -- Optimized performance indexes:
241
- -- ix_sessions_user_id
242
- -- ix_sessions_user_updated (composite: user_id, updated_time)
243
- -- ix_chat_tasks_session_user_created (composite: session_id, user_id, created_time)
244
- -- ix_tasks_user_start_time (composite: user_id, start_time)
245
- -- ix_task_events_task_created (composite: task_id, created_time)
246
- -- ix_feedback_task_id
247
- -- ix_feedback_user_id
248
- -- ix_feedback_created_time
249
- ```
250
-
251
- ### 9. Cross-Platform Timestamp Handling
252
-
253
- ```python
254
- # The f6e7d8c9b0a1 migration handles database-specific timestamp conversion:
255
-
256
- # SQLite: Uses table recreation approach
257
- # - Creates new tables with epoch millisecond columns
258
- # - Migrates data with timestamp conversion
259
- # - Drops old tables and renames new ones
260
-
261
- # PostgreSQL/MySQL: Uses ALTER COLUMN approach
262
- # - Directly modifies column types
263
- # - Converts existing data in place
264
- # - More efficient for large datasets
265
- ```
266
-
267
- ### 10. Performance Optimization Features
268
-
269
- ```python
270
- # The migrations include comprehensive performance optimizations:
271
-
272
- # Single-column indexes for basic filtering:
273
- # - user_id columns for user-specific queries
274
- # - timestamp columns for time-based filtering
275
-
276
- # Composite indexes for complex queries:
277
- # - (user_id, updated_time) for recent user sessions
278
- # - (session_id, user_id, created_time) for session chat history
279
- # - (task_id, created_time) for task event chronology
280
- # - (user_id, start_time) for user task history
281
-
282
- # Usage example after all migrations:
283
- from solace_agent_mesh.gateway.http_sse.repository.models.task_model import TaskModel
284
-
285
- # Efficient queries using optimized indexes:
286
- # Get recent user sessions (uses ix_sessions_user_updated)
287
- recent_sessions = session.query(SessionModel)\
288
- .filter_by(user_id="user123")\
289
- .order_by(SessionModel.updated_time.desc())\
290
- .limit(10)
291
-
292
- # Get task events chronologically (uses ix_task_events_task_created)
293
- task_events = session.query(TaskEventModel)\
294
- .filter_by(task_id="task456")\
295
- .order_by(TaskEventModel.created_time)\
296
- .all()
297
- ```
298
-
299
- ### 11. Task Management Integration
300
-
301
- ```python
302
- # After running all migrations, the complete task management system is available:
303
-
304
- from solace_agent_mesh.gateway.http_sse.repository.models.task_model import TaskModel
305
- from solace_agent_mesh.gateway.http_sse.repository.models.task_event_model import TaskEventModel
306
- from solace_agent_mesh.gateway.http_sse.repository.models.feedback_model import FeedbackModel
307
-
308
- # Create a new task with token tracking
309
- task = TaskModel(
310
- id="task_123",
311
- user_id="user_456",
312
- start_time=1634567890000, # epoch milliseconds
313
- status="in_progress",
314
- initial_request_text="User's initial request",
315
- total_input_tokens=150,
316
- total_output_tokens=300,
317
- total_cached_input_tokens=50,
318
- token_usage_details='{"model": "gpt-4", "breakdown": {...}}'
319
- )
320
-
321
- # Add task events for tracking
322
- event = TaskEventModel(
323
- id="event_789",
324
- task_id="task_123",
325
- user_id="user_456",
326
- created_time=1634567891000,
327
- topic="ai_response",
328
- direction="outbound",
329
- payload='{"response": "AI generated response"}'
330
- )
331
-
332
- # Collect user feedback
333
- feedback = FeedbackModel(
334
- id="feedback_101",
335
- task_id="task_123",
336
- user_id="user_456",
337
- rating=5,
338
- comment="Excellent response quality",
339
- created_time=1634567892000
340
- )
341
- ```
342
-
343
- This Alembic configuration provides a comprehensive database migration system that handles schema evolution, performance optimization, cross-database compatibility, complete task management functionality, and optimized query patterns for the HTTP SSE gateway component.
344
-
345
- # content_hash: 1211a2aee2a0eb3361ee0f61e504f720c4cf454569a46c5f3991507db9a0cab9
@@ -1,161 +0,0 @@
1
- # DEVELOPER GUIDE: versions
2
-
3
- ## Quick Summary
4
- This directory contains Alembic database migration files for the HTTP SSE gateway. These migrations handle the evolution of the database schema, including initial table creation, performance optimization through indexing, timestamp format standardization, and task management features.
5
-
6
- ## Files Overview
7
- - `20250910_d5b3f8f2e9a0_create_initial_database.py` - Creates the initial database schema with sessions and chat_messages tables
8
- - `20250911_b1c2d3e4f5g6_add_database_indexes.py` - Adds performance indexes for common query patterns
9
- - `20250916_f6e7d8c9b0a1_convert_timestamps_to_epoch_and_align_columns.py` - Converts datetime columns to epoch milliseconds and standardizes column names
10
- - `20251006_98882922fa59_add_tasks_events_feedback_chat_tasks.py` - Adds task management tables and replaces chat_messages with chat_tasks
11
- - `20251015_add_session_performance_indexes.py` - Adds optimized composite indexes for better query performance
12
- - `versions_llm.txt` - LLM-generated documentation for the versions directory
13
-
14
- ## Developer API Reference
15
-
16
- ### 20250910_d5b3f8f2e9a0_create_initial_database.py
17
- **Purpose:** Initial database migration that creates the core tables for session and message management
18
- **Import:** This is an Alembic migration file - not directly imported
19
-
20
- **Functions:**
21
- - `upgrade() -> None` - Creates sessions and chat_messages tables with proper relationships and foreign key constraints
22
- - `downgrade() -> None` - Drops all created tables (chat_messages first, then sessions)
23
-
24
- **Constants/Variables:**
25
- - `revision: str` - Migration identifier "d5b3f8f2e9a0"
26
- - `down_revision: Union[str, None]` - Previous migration (None for initial migration)
27
- - `branch_labels: Union[str, Sequence[str], None]` - Branch labels (None)
28
- - `depends_on: Union[str, Sequence[str], None]` - Dependencies (None)
29
-
30
- **Usage Examples:**
31
- ```bash
32
- # Run this migration
33
- alembic upgrade d5b3f8f2e9a0
34
-
35
- # Rollback this migration
36
- alembic downgrade base
37
- ```
38
-
39
- ### 20250911_b1c2d3e4f5g6_add_database_indexes.py
40
- **Purpose:** Performance optimization migration that adds indexes for efficient querying
41
- **Import:** This is an Alembic migration file - not directly imported
42
-
43
- **Functions:**
44
- - `upgrade() -> None` - Creates indexes on user_id, timestamps, agent_id, and composite fields for optimal query performance
45
- - `downgrade() -> None` - Removes all created indexes in reverse order
46
-
47
- **Constants/Variables:**
48
- - `revision: str` - Migration identifier "b1c2d3e4f5g6"
49
- - `down_revision: Union[str, None]` - Previous migration "d5b3f8f2e9a0"
50
-
51
- **Usage Examples:**
52
- ```bash
53
- # Run this migration
54
- alembic upgrade b1c2d3e4f5g6
55
-
56
- # Rollback this migration
57
- alembic downgrade d5b3f8f2e9a0
58
- ```
59
-
60
- ### 20250916_f6e7d8c9b0a1_convert_timestamps_to_epoch_and_align_columns.py
61
- **Purpose:** Schema modernization migration that converts datetime columns to epoch milliseconds for cross-platform compatibility
62
- **Import:** This is an Alembic migration file - not directly imported
63
-
64
- **Functions:**
65
- - `upgrade() -> None` - Converts datetime columns to epoch milliseconds and renames columns (created_at → created_time, updated_at → updated_time)
66
- - `downgrade() -> None` - Reverts back to datetime columns with original names
67
- - `_upgrade_sqlite(current_time_ms: int) -> None` - SQLite-specific upgrade logic using table recreation
68
- - `_upgrade_standard_sql(current_time_ms: int) -> None` - PostgreSQL/MySQL upgrade logic using ALTER COLUMN
69
- - `_downgrade_sqlite() -> None` - SQLite-specific downgrade logic
70
- - `_downgrade_standard_sql() -> None` - PostgreSQL/MySQL downgrade logic
71
- - `_create_updated_indexes() -> None` - Creates indexes on new timestamp columns
72
- - `_create_indexes_safe(index_name: str, table_name: str, columns: list) -> None` - Safely creates indexes (ignores if exists)
73
- - `_drop_index_safe(index_name: str, table_name: str) -> None` - Safely drops indexes (ignores if not exists)
74
-
75
- **Constants/Variables:**
76
- - `revision: str` - Migration identifier "f6e7d8c9b0a1"
77
- - `down_revision: str | None` - Previous migration "b1c2d3e4f5g6"
78
-
79
- **Usage Examples:**
80
- ```bash
81
- # Run this migration
82
- alembic upgrade f6e7d8c9b0a1
83
-
84
- # Rollback this migration
85
- alembic downgrade b1c2d3e4f5g6
86
- ```
87
-
88
- ### 20251006_98882922fa59_add_tasks_events_feedback_chat_tasks.py
89
- **Purpose:** Major schema update that adds task management functionality and replaces chat_messages with chat_tasks
90
- **Import:** This is an Alembic migration file - not directly imported
91
-
92
- **Functions:**
93
- - `upgrade() -> None` - Creates tasks, task_events, feedback, and chat_tasks tables; drops old chat_messages table and indexes
94
- - `downgrade() -> None` - Recreates chat_messages table and drops all task-related tables
95
-
96
- **Constants/Variables:**
97
- - `revision: str` - Migration identifier "98882922fa59"
98
- - `down_revision: Union[str, Sequence[str], None]` - Previous migration "f6e7d8c9b0a1"
99
-
100
- **Usage Examples:**
101
- ```bash
102
- # Run this migration
103
- alembic upgrade 98882922fa59
104
-
105
- # Rollback this migration
106
- alembic downgrade f6e7d8c9b0a1
107
- ```
108
-
109
- ### 20251015_add_session_performance_indexes.py
110
- **Purpose:** Performance optimization migration that adds composite indexes for optimal query patterns
111
- **Import:** This is an Alembic migration file - not directly imported
112
-
113
- **Functions:**
114
- - `upgrade() -> None` - Creates optimized composite indexes for user sessions, chat tasks, and task events; removes unused text index
115
- - `downgrade() -> None` - Removes performance indexes and recreates the original text index
116
-
117
- **Constants/Variables:**
118
- - `revision: str` - Migration identifier "20251015_session_idx"
119
- - `down_revision: str | Sequence[str] | None` - Previous migration "98882922fa59"
120
-
121
- **Usage Examples:**
122
- ```bash
123
- # Run this migration
124
- alembic upgrade 20251015_session_idx
125
-
126
- # Rollback this migration
127
- alembic downgrade 98882922fa59
128
-
129
- # Run all migrations to latest
130
- alembic upgrade head
131
-
132
- # Check current migration status
133
- alembic current
134
-
135
- # View migration history
136
- alembic history
137
-
138
- # Generate new migration
139
- alembic revision --autogenerate -m "description"
140
- ```
141
-
142
- **Final Database Schema After All Migrations:**
143
- ```sql
144
- -- Core tables with epoch millisecond timestamps:
145
- -- sessions: id, name, user_id, agent_id, created_time, updated_time
146
- -- chat_tasks: id, session_id, user_id, user_message, message_bubbles, task_metadata, created_time, updated_time
147
-
148
- -- Task management tables:
149
- -- tasks: id, user_id, start_time, end_time, status, initial_request_text,
150
- -- total_input_tokens, total_output_tokens, total_cached_input_tokens, token_usage_details
151
- -- task_events: id, task_id, user_id, created_time, topic, direction, payload
152
- -- feedback: id, session_id, task_id, user_id, rating, comment, created_time
153
-
154
- -- Performance indexes:
155
- -- ix_sessions_user_id, ix_sessions_user_updated
156
- -- ix_chat_tasks_session_user_created
157
- -- ix_tasks_user_start_time, ix_task_events_task_created
158
- -- ix_feedback_task_id, ix_feedback_user_id, ix_feedback_created_time
159
- ```
160
-
161
- # content_hash: c1d3d7f6855eba76bdabdb5cc0c7253756faf1583ef349dc503418c611a23bd2
@@ -1,105 +0,0 @@
1
- # DEVELOPER GUIDE: components
2
-
3
- ## Quick Summary
4
- This directory contains SAC (Solace AI Connector) components for the HTTP SSE (Server-Sent Events) gateway. These components forward messages from Solace broker inputs to internal Python queues, enabling real-time visualization and task logging in web-based user interfaces.
5
-
6
- ## Files Overview
7
- - `__init__.py` - Makes the `VisualizationForwarderComponent` class directly importable from the components package
8
- - `components_llm.txt` - Developer guide documentation for this directory
9
- - `task_logger_forwarder.py` - SAC component that forwards messages to a task logging queue
10
- - `visualization_forwarder_component.py` - SAC component that forwards messages to a visualization queue
11
-
12
- ## Developer API Reference
13
-
14
- ### __init__.py
15
- **Purpose:** Exposes the public components of this directory for easy importing
16
- **Import:** `from solace_agent_mesh.gateway.http_sse.components import VisualizationForwarderComponent`
17
-
18
- **Exports:**
19
- - `VisualizationForwarderComponent` - The main component class for forwarding messages to a visualization queue
20
-
21
- ### task_logger_forwarder.py
22
- **Purpose:** A SAC component that forwards messages from a BrokerInput to a target queue for task logging
23
- **Import:** `from solace_agent_mesh.gateway.http_sse.components.task_logger_forwarder import TaskLoggerForwarderComponent`
24
-
25
- **Classes:**
26
- - `TaskLoggerForwarderComponent(**kwargs: Any)` - A component that forwards messages to a task logging queue, initialized with configuration parameters including `target_queue_ref`
27
- - `invoke(message: SolaceMessage, data: Dict[str, Any]) -> None` - Core method called by SAC framework for each incoming message; formats data and places it onto the target queue
28
- - `target_queue: queue.Queue` - The queue instance where messages are forwarded
29
-
30
- **Constants/Variables:**
31
- - `info: Dict` - Metadata dictionary required by SAC framework describing component configuration, input schema, and purpose
32
-
33
- **Usage Examples:**
34
- ```python
35
- import queue
36
- from solace_agent_mesh.gateway.http_sse.components.task_logger_forwarder import TaskLoggerForwarderComponent
37
- from solace_ai_connector.common.message import Message as SolaceMessage
38
-
39
- # 1. Create a target queue for task logging
40
- task_logging_queue = queue.Queue()
41
-
42
- # 2. Instantiate the component with target queue reference
43
- task_forwarder = TaskLoggerForwarderComponent(
44
- name="task_logger",
45
- target_queue_ref=task_logging_queue
46
- )
47
-
48
- # 3. The invoke method is called automatically by SAC framework
49
- # when messages arrive from connected BrokerInput component
50
-
51
- # 4. Consume forwarded messages from the queue
52
- if not task_logging_queue.empty():
53
- forwarded_data = task_logging_queue.get()
54
- print(f"Task Topic: {forwarded_data['topic']}")
55
- print(f"Task Payload: {forwarded_data['payload']}")
56
- print(f"User Properties: {forwarded_data['user_properties']}")
57
- ```
58
-
59
- ### visualization_forwarder_component.py
60
- **Purpose:** A SAC component that forwards messages from a BrokerInput to a target queue for visualization
61
- **Import:** `from solace_agent_mesh.gateway.http_sse.components.visualization_forwarder_component import VisualizationForwarderComponent`
62
-
63
- **Classes:**
64
- - `VisualizationForwarderComponent(**kwargs: Any)` - A component that forwards messages to a visualization queue, initialized with configuration parameters including `target_queue_ref`
65
- - `invoke(message: SolaceMessage, data: Dict[str, Any]) -> None` - Core method called by SAC framework for each incoming message; formats data and places it onto the target queue
66
- - `target_queue: queue.Queue` - The queue instance where messages are forwarded
67
-
68
- **Constants/Variables:**
69
- - `info: Dict` - Metadata dictionary required by SAC framework describing component configuration, input schema, and purpose
70
-
71
- **Usage Examples:**
72
- ```python
73
- import queue
74
- from solace_agent_mesh.gateway.http_sse.components import VisualizationForwarderComponent
75
- from solace_ai_connector.common.message import Message as SolaceMessage
76
-
77
- # 1. Create a target queue that will receive the forwarded messages
78
- visualization_queue = queue.Queue()
79
-
80
- # 2. Instantiate the component with target queue reference
81
- forwarder = VisualizationForwarderComponent(
82
- name="my_forwarder",
83
- target_queue_ref=visualization_queue
84
- )
85
-
86
- # 3. The invoke method is called automatically by SAC framework
87
- # when messages arrive from connected BrokerInput component
88
-
89
- # 4. Consume forwarded messages from the queue
90
- if not visualization_queue.empty():
91
- forwarded_data = visualization_queue.get()
92
- print(f"Topic: {forwarded_data['topic']}")
93
- print(f"Payload: {forwarded_data['payload']}")
94
- print(f"User Properties: {forwarded_data['user_properties']}")
95
-
96
- # Expected structure of forwarded_data:
97
- # {
98
- # "topic": "some/broker/topic",
99
- # "payload": {"key": "value"},
100
- # "user_properties": {"prop1": "value1"},
101
- # "_original_broker_message": <SolaceMessage object>
102
- # }
103
- ```
104
-
105
- # content_hash: bb6b96e24d423d56a25e3c84eb411d061ad160ea98fc2ff83da46e3f317d34fb