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,221 +0,0 @@
1
- # DEVELOPER GUIDE: entities
2
-
3
- ## Quick Summary
4
- The entities directory contains domain entities for the repository layer, providing core business objects for managing chat sessions, tasks, feedback, and events with built-in validation and business logic.
5
-
6
- ## Files Overview
7
- - `__init__.py` - Exports the main domain entities (ChatTask, Feedback, Session, Task, TaskEvent)
8
- - `chat_task.py` - ChatTask entity for managing chat conversations with JSON validation
9
- - `feedback.py` - Feedback entity for user ratings and comments on tasks
10
- - `session.py` - Session entity with name management and access control
11
- - `task.py` - Task entity for tracking user tasks with token usage metrics
12
- - `task_event.py` - TaskEvent entity for tracking events related to tasks
13
-
14
- ## Developer API Reference
15
-
16
- ### __init__.py
17
- **Purpose:** Provides centralized imports for all domain entities
18
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.entities import ChatTask, Feedback, Session, Task, TaskEvent`
19
-
20
- ### chat_task.py
21
- **Purpose:** Defines the ChatTask domain entity for managing chat conversations with JSON validation
22
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.entities import ChatTask`
23
-
24
- **Classes:**
25
- - `ChatTask(id: str, session_id: str, user_id: str, message_bubbles: str, created_time: int, user_message: str | None = None, task_metadata: str | None = None, updated_time: int | None = None)` - ChatTask domain entity with business logic
26
- - `add_feedback(feedback_type: str, feedback_text: str | None = None) -> None` - Add or update feedback for this task
27
- - `get_feedback() -> dict[str, Any] | None` - Get feedback for this task
28
- - `id: str` - Unique task identifier
29
- - `session_id: str` - Associated session identifier
30
- - `user_id: str` - User who owns the task
31
- - `user_message: str | None` - Optional user message
32
- - `message_bubbles: str` - JSON string containing message bubbles (must be non-empty JSON array)
33
- - `task_metadata: str | None` - Optional JSON string for task metadata
34
- - `created_time: int` - Task creation timestamp
35
- - `updated_time: int | None` - Last update timestamp
36
-
37
- **Usage Examples:**
38
- ```python
39
- from solace_agent_mesh.gateway.http_sse.repository.entities import ChatTask
40
- import json
41
-
42
- # Create a chat task
43
- message_bubbles = json.dumps([
44
- {"type": "user", "content": "Hello"},
45
- {"type": "agent", "content": "Hi there!"}
46
- ])
47
-
48
- chat_task = ChatTask(
49
- id="chat_123",
50
- session_id="session_456",
51
- user_id="user_789",
52
- user_message="Hello",
53
- message_bubbles=message_bubbles,
54
- created_time=1640995200000
55
- )
56
-
57
- # Add feedback
58
- chat_task.add_feedback("positive", "Great response!")
59
-
60
- # Get feedback
61
- feedback = chat_task.get_feedback()
62
- if feedback:
63
- print(f"Feedback type: {feedback['type']}")
64
- ```
65
-
66
- ### feedback.py
67
- **Purpose:** Defines the Feedback domain entity for user ratings and comments
68
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.entities import Feedback`
69
-
70
- **Classes:**
71
- - `Feedback(id: str, session_id: str, task_id: str, user_id: str, rating: str, created_time: int, comment: str | None = None)` - Feedback domain entity
72
- - `id: str` - Unique feedback identifier
73
- - `session_id: str` - Associated session identifier
74
- - `task_id: str` - Associated task identifier
75
- - `user_id: str` - User who provided feedback
76
- - `rating: str` - User rating
77
- - `comment: str | None` - Optional feedback comment
78
- - `created_time: int` - Feedback creation timestamp
79
-
80
- **Usage Examples:**
81
- ```python
82
- from solace_agent_mesh.gateway.http_sse.repository.entities import Feedback
83
-
84
- # Create feedback
85
- feedback = Feedback(
86
- id="feedback_123",
87
- session_id="session_456",
88
- task_id="task_789",
89
- user_id="user_123",
90
- rating="5",
91
- comment="Great service!",
92
- created_time=1640995200000
93
- )
94
- ```
95
-
96
- ### session.py
97
- **Purpose:** Defines the Session domain entity with business logic for chat sessions
98
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.entities import Session`
99
-
100
- **Classes:**
101
- - `Session(id: SessionId, user_id: UserId, created_time: int, name: str | None = None, agent_id: AgentId | None = None, updated_time: int | None = None)` - Session domain entity with business logic
102
- - `update_name(new_name: str) -> None` - Updates session name with validation and sets updated_time
103
- - `mark_activity() -> None` - Marks session as having recent activity by updating timestamp
104
- - `can_be_deleted_by_user(user_id: UserId) -> bool` - Checks if user can delete this session
105
- - `can_be_accessed_by_user(user_id: UserId) -> bool` - Checks if user can access this session
106
- - `id: SessionId` - Unique session identifier
107
- - `user_id: UserId` - Owner user identifier
108
- - `name: str | None` - Optional session name
109
- - `agent_id: AgentId | None` - Optional associated agent identifier
110
- - `created_time: int` - Session creation timestamp
111
- - `updated_time: int | None` - Last update timestamp
112
-
113
- **Usage Examples:**
114
- ```python
115
- from solace_agent_mesh.gateway.http_sse.repository.entities import Session
116
-
117
- # Create a new session
118
- session = Session(
119
- id="session_123",
120
- user_id="user_456",
121
- name="Customer Support Chat",
122
- agent_id="agent_789",
123
- created_time=1640995200000
124
- )
125
-
126
- # Update session name
127
- session.update_name("Updated Chat Name")
128
-
129
- # Mark activity
130
- session.mark_activity()
131
-
132
- # Check permissions
133
- if session.can_be_accessed_by_user("user_456"):
134
- print("User can access this session")
135
- ```
136
-
137
- ### task.py
138
- **Purpose:** Defines the Task domain entity for tracking user tasks with token usage metrics
139
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.entities import Task`
140
-
141
- **Classes:**
142
- - `Task(id: str, user_id: str, start_time: int, end_time: int | None = None, status: str | None = None, initial_request_text: str | None = None, total_input_tokens: int | None = None, total_output_tokens: int | None = None, total_cached_input_tokens: int | None = None, token_usage_details: dict | None = None)` - Task domain entity with token usage tracking
143
- - `id: str` - Unique task identifier
144
- - `user_id: str` - User who owns the task
145
- - `start_time: int` - Task start timestamp
146
- - `end_time: int | None` - Optional task end timestamp
147
- - `status: str | None` - Optional task status
148
- - `initial_request_text: str | None` - Optional initial request text
149
- - `total_input_tokens: int | None` - Total input tokens used
150
- - `total_output_tokens: int | None` - Total output tokens generated
151
- - `total_cached_input_tokens: int | None` - Total cached input tokens used
152
- - `token_usage_details: dict | None` - Detailed token usage information
153
-
154
- **Usage Examples:**
155
- ```python
156
- from solace_agent_mesh.gateway.http_sse.repository.entities import Task
157
-
158
- # Create a task
159
- task = Task(
160
- id="task_123",
161
- user_id="user_456",
162
- start_time=1640995200000,
163
- status="in_progress",
164
- initial_request_text="Help me with my order"
165
- )
166
-
167
- # Task with token usage tracking
168
- task_with_tokens = Task(
169
- id="task_124",
170
- user_id="user_456",
171
- start_time=1640995200000,
172
- end_time=1640995800000,
173
- status="completed",
174
- total_input_tokens=150,
175
- total_output_tokens=300,
176
- total_cached_input_tokens=50,
177
- token_usage_details={"model": "gpt-4", "cost": 0.05}
178
- )
179
- ```
180
-
181
- ### task_event.py
182
- **Purpose:** Defines the TaskEvent domain entity for tracking events related to tasks
183
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.entities import TaskEvent`
184
-
185
- **Classes:**
186
- - `TaskEvent(id: str, task_id: str, created_time: int, topic: str, direction: str, payload: dict[str, Any], user_id: str | None = None)` - TaskEvent domain entity
187
- - `id: str` - Unique event identifier
188
- - `task_id: str` - Associated task identifier
189
- - `user_id: str | None` - Optional user identifier
190
- - `created_time: int` - Event creation timestamp
191
- - `topic: str` - Event topic
192
- - `direction: str` - Event direction
193
- - `payload: dict[str, Any]` - Event payload data
194
-
195
- **Usage Examples:**
196
- ```python
197
- from solace_agent_mesh.gateway.http_sse.repository.entities import TaskEvent
198
-
199
- # Create a task event
200
- event = TaskEvent(
201
- id="event_123",
202
- task_id="task_456",
203
- user_id="user_789",
204
- created_time=1640995200000,
205
- topic="task.status.changed",
206
- direction="outbound",
207
- payload={"status": "completed", "result": "success"}
208
- )
209
-
210
- # Event without user
211
- system_event = TaskEvent(
212
- id="event_124",
213
- task_id="task_456",
214
- created_time=1640995200000,
215
- topic="task.system.notification",
216
- direction="inbound",
217
- payload={"message": "Task processing started"}
218
- )
219
- ```
220
-
221
- # content_hash: d7b07fd8577e43715a286030d4119267ddff5483180284a16dc6d8aab19fd089
@@ -1,257 +0,0 @@
1
- ## Quick Summary
2
- This directory contains SQLAlchemy ORM models and Pydantic schemas for database persistence in the HTTP SSE gateway. It provides models for managing chat sessions, tasks, task events, and user feedback with proper relationships and database schema definitions.
3
-
4
- ## Files Overview
5
- - `__init__.py` - Package initialization exposing all SQLAlchemy and Pydantic models
6
- - `base.py` - SQLAlchemy declarative base configuration
7
- - `chat_task_model.py` - ChatTaskModel for storing chat tasks with session relationships
8
- - `feedback_model.py` - FeedbackModel for storing user feedback on tasks
9
- - `session_model.py` - SessionModel and Pydantic schemas for managing chat sessions
10
- - `task_event_model.py` - TaskEventModel for storing A2A task events with task relationships
11
- - `task_model.py` - TaskModel for managing tasks with event relationships and token usage tracking
12
-
13
- ## Developer API Reference
14
-
15
- ### __init__.py
16
- **Purpose:** Package entry point that exposes all SQLAlchemy models and Pydantic schemas
17
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.models import Base, ChatTaskModel, FeedbackModel, SessionModel, CreateSessionModel, UpdateSessionModel, TaskEventModel, TaskModel`
18
-
19
- **Constants/Variables:**
20
- - `__all__: List[str]` - Public API exports including all models and schemas
21
-
22
- ### base.py
23
- **Purpose:** Provides the SQLAlchemy declarative base for all models
24
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.models.base import Base`
25
-
26
- **Constants/Variables:**
27
- - `Base: DeclarativeMeta` - SQLAlchemy declarative base class for all models
28
-
29
- **Usage Examples:**
30
- ```python
31
- from solace_agent_mesh.gateway.http_sse.repository.models.base import Base
32
- from sqlalchemy import create_engine
33
-
34
- # Create all tables
35
- engine = create_engine("sqlite:///example.db")
36
- Base.metadata.create_all(engine)
37
- ```
38
-
39
- ### chat_task_model.py
40
- **Purpose:** SQLAlchemy model for storing chat tasks with session relationships
41
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.models.chat_task_model import ChatTaskModel`
42
-
43
- **Classes:**
44
- - `ChatTaskModel(Base)` - SQLAlchemy model for chat tasks
45
- - `id: Column[String]` - Primary key task identifier
46
- - `session_id: Column[String]` - Foreign key to sessions table with CASCADE delete (indexed)
47
- - `user_id: Column[String]` - User identifier (indexed)
48
- - `user_message: Column[Text]` - Optional user message content
49
- - `message_bubbles: Column[Text]` - Required message bubbles data
50
- - `task_metadata: Column[Text]` - Optional task metadata
51
- - `created_time: Column[BigInteger]` - Creation timestamp in epoch milliseconds (indexed)
52
- - `updated_time: Column[BigInteger]` - Optional update timestamp
53
- - `session: relationship` - SQLAlchemy relationship to SessionModel
54
-
55
- **Usage Examples:**
56
- ```python
57
- from solace_agent_mesh.gateway.http_sse.repository.models.chat_task_model import ChatTaskModel
58
- from sqlalchemy.orm import sessionmaker
59
-
60
- # Create a chat task
61
- chat_task = ChatTaskModel(
62
- id="task_123",
63
- session_id="session_456",
64
- user_id="user_789",
65
- user_message="Hello, how can you help me?",
66
- message_bubbles='[{"type": "user", "content": "Hello"}]',
67
- task_metadata='{"priority": "high"}',
68
- created_time=1640995200000,
69
- updated_time=1640995260000
70
- )
71
-
72
- # Add to database
73
- Session = sessionmaker(bind=engine)
74
- db_session = Session()
75
- db_session.add(chat_task)
76
- db_session.commit()
77
-
78
- # Access related session
79
- session = chat_task.session
80
- ```
81
-
82
- ### feedback_model.py
83
- **Purpose:** SQLAlchemy model for storing user feedback on tasks
84
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.models.feedback_model import FeedbackModel`
85
-
86
- **Classes:**
87
- - `FeedbackModel(Base)` - SQLAlchemy model for user feedback
88
- - `id: Column[String]` - Primary key feedback identifier
89
- - `session_id: Column[String]` - Session identifier
90
- - `task_id: Column[String]` - Task identifier (indexed)
91
- - `user_id: Column[String]` - User identifier (indexed)
92
- - `rating: Column[String]` - Feedback rating (e.g., 'up', 'down')
93
- - `comment: Column[Text]` - Optional feedback comment
94
- - `created_time: Column[BigInteger]` - Creation timestamp in epoch milliseconds
95
-
96
- **Usage Examples:**
97
- ```python
98
- from solace_agent_mesh.gateway.http_sse.repository.models.feedback_model import FeedbackModel
99
- from sqlalchemy.orm import sessionmaker
100
-
101
- # Create feedback
102
- feedback = FeedbackModel(
103
- id="feedback_123",
104
- session_id="session_456",
105
- task_id="task_789",
106
- user_id="user_123",
107
- rating="up",
108
- comment="Great response!",
109
- created_time=1640995200000
110
- )
111
-
112
- # Add to database
113
- Session = sessionmaker(bind=engine)
114
- db_session = Session()
115
- db_session.add(feedback)
116
- db_session.commit()
117
- ```
118
-
119
- ### session_model.py
120
- **Purpose:** SQLAlchemy model and Pydantic schemas for managing chat sessions with chat task relationships
121
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.models.session_model import SessionModel, CreateSessionModel, UpdateSessionModel`
122
-
123
- **Classes:**
124
- - `SessionModel(Base)` - SQLAlchemy model for chat sessions
125
- - `id: Column[String]` - Primary key session identifier
126
- - `name: Column[String]` - Optional session name
127
- - `user_id: Column[String]` - Required user identifier
128
- - `agent_id: Column[String]` - Optional agent identifier
129
- - `created_time: Column[BigInteger]` - Creation timestamp (auto-generated)
130
- - `updated_time: Column[BigInteger]` - Last update timestamp (auto-updated)
131
- - `chat_tasks: relationship` - SQLAlchemy relationship to ChatTaskModel with cascade delete
132
-
133
- - `CreateSessionModel(BaseModel)` - Pydantic model for creating sessions
134
- - `id: str` - Session identifier
135
- - `name: str | None` - Optional session name
136
- - `user_id: str` - User identifier
137
- - `agent_id: str | None` - Optional agent identifier
138
- - `created_time: int` - Creation timestamp
139
- - `updated_time: int` - Update timestamp
140
-
141
- - `UpdateSessionModel(BaseModel)` - Pydantic model for updating sessions
142
- - `name: str | None` - Optional updated session name
143
- - `agent_id: str | None` - Optional updated agent identifier
144
- - `updated_time: int` - Update timestamp
145
-
146
- **Usage Examples:**
147
- ```python
148
- from solace_agent_mesh.gateway.http_sse.repository.models.session_model import SessionModel, CreateSessionModel
149
- from sqlalchemy.orm import sessionmaker
150
-
151
- # Create using SQLAlchemy model
152
- session = SessionModel(
153
- id="session_123",
154
- name="My Chat Session",
155
- user_id="user_456",
156
- agent_id="agent_789"
157
- )
158
-
159
- # Create using Pydantic model
160
- create_data = CreateSessionModel(
161
- id="session_124",
162
- name="Another Session",
163
- user_id="user_456",
164
- agent_id="agent_789",
165
- created_time=1640995200000,
166
- updated_time=1640995200000
167
- )
168
-
169
- # Access related chat tasks
170
- chat_tasks = session.chat_tasks # Returns list of ChatTaskModel instances
171
- ```
172
-
173
- ### task_event_model.py
174
- **Purpose:** SQLAlchemy model for storing A2A task events with task relationships
175
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.models.task_event_model import TaskEventModel`
176
-
177
- **Classes:**
178
- - `TaskEventModel(Base)` - SQLAlchemy model for A2A task events
179
- - `id: Column[String]` - Primary key event identifier
180
- - `task_id: Column[String]` - Foreign key to tasks table with CASCADE delete (indexed)
181
- - `user_id: Column[String]` - Optional user identifier (indexed)
182
- - `created_time: Column[BigInteger]` - Creation timestamp in epoch milliseconds
183
- - `topic: Column[Text]` - Event topic
184
- - `direction: Column[String]` - Event direction (max 50 chars)
185
- - `payload: Column[JSON]` - Event payload as JSON
186
- - `task: relationship` - SQLAlchemy relationship to TaskModel
187
-
188
- **Usage Examples:**
189
- ```python
190
- from solace_agent_mesh.gateway.http_sse.repository.models.task_event_model import TaskEventModel
191
- from sqlalchemy.orm import sessionmaker
192
-
193
- # Create a task event
194
- event = TaskEventModel(
195
- id="event_123",
196
- task_id="task_456",
197
- user_id="user_789",
198
- created_time=1640995200000,
199
- topic="agent/response",
200
- direction="inbound",
201
- payload={"message": "Task completed", "status": "success"}
202
- )
203
-
204
- # Add to database
205
- Session = sessionmaker(bind=engine)
206
- db_session = Session()
207
- db_session.add(event)
208
- db_session.commit()
209
- ```
210
-
211
- ### task_model.py
212
- **Purpose:** SQLAlchemy model for managing tasks with event relationships and token usage tracking
213
- **Import:** `from solace_agent_mesh.gateway.http_sse.repository.models.task_model import TaskModel`
214
-
215
- **Classes:**
216
- - `TaskModel(Base)` - SQLAlchemy model for tasks
217
- - `id: Column[String]` - Primary key task identifier
218
- - `user_id: Column[String]` - User identifier (indexed)
219
- - `start_time: Column[BigInteger]` - Task start timestamp in epoch milliseconds
220
- - `end_time: Column[BigInteger]` - Optional task end timestamp
221
- - `status: Column[String]` - Optional task status
222
- - `initial_request_text: Column[Text]` - Optional initial request text (indexed)
223
- - `total_input_tokens: Column[Integer]` - Optional total input tokens used
224
- - `total_output_tokens: Column[Integer]` - Optional total output tokens used
225
- - `total_cached_input_tokens: Column[Integer]` - Optional total cached input tokens
226
- - `token_usage_details: Column[JSON]` - Optional detailed token usage information
227
- - `events: relationship` - SQLAlchemy relationship to TaskEventModel with cascade delete
228
-
229
- **Usage Examples:**
230
- ```python
231
- from solace_agent_mesh.gateway.http_sse.repository.models.task_model import TaskModel
232
- from sqlalchemy.orm import sessionmaker
233
-
234
- # Create a new task with token tracking
235
- task = TaskModel(
236
- id="task_123",
237
- user_id="user_456",
238
- start_time=1640995200000,
239
- status="in_progress",
240
- initial_request_text="Please help me with this task",
241
- total_input_tokens=150,
242
- total_output_tokens=300,
243
- total_cached_input_tokens=50,
244
- token_usage_details={"model": "gpt-4", "breakdown": {"reasoning": 200, "response": 100}}
245
- )
246
-
247
- # Add to database
248
- Session = sessionmaker(bind=engine)
249
- db_session = Session()
250
- db_session.add(task)
251
- db_session.commit()
252
-
253
- # Access related events
254
- events = task.events # Returns list of TaskEventModel instances
255
- ```
256
-
257
- # content_hash: 65d43bc49dd561efb9955aae2fc39945567e4302c406eea9718ce797d083646c