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.
- solace_agent_mesh/agent/adk/callbacks.py +177 -10
- solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +3 -0
- solace_agent_mesh/agent/adk/models/lite_llm.py +34 -16
- solace_agent_mesh/agent/adk/runner.py +66 -8
- solace_agent_mesh/agent/adk/setup.py +61 -26
- solace_agent_mesh/agent/protocol/event_handlers.py +48 -0
- solace_agent_mesh/agent/proxies/a2a/component.py +27 -0
- solace_agent_mesh/agent/sac/component.py +84 -2
- solace_agent_mesh/agent/tools/builtin_artifact_tools.py +41 -22
- solace_agent_mesh/agent/tools/peer_agent_tool.py +19 -12
- solace_agent_mesh/agent/tools/tool_config_types.py +21 -1
- solace_agent_mesh/agent/utils/artifact_helpers.py +54 -0
- solace_agent_mesh/assets/docs/404.html +3 -3
- solace_agent_mesh/assets/docs/assets/js/15ba94aa.e186750d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/240a0364.83e37aa8.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2e32b5e0.2f0db237.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3a6c6137.7e61915d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{3ac1795d.28b7c67b.js → 3ac1795d.dc006e20.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/3ff0015d.f08618fb.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4667dc50.bf2ad456.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/547e15cc.8e6da617.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5b8d9c11.d4eb37b8.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5c2bd65f.1ee87753.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/64195356.09dbd087.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/66d4869e.30340bd3.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/729898df.7249e9fd.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/7e294c01.7c5f6906.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8024126c.e3467286.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/81a99df0.95be65d4.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9bb13469.4523ae20.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/a7d42657.a956689d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ab9708a8.3e563275.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e04b235d.06d23db6.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e1b6eeb4.deb2b62e.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e6f9706b.acc800d3.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e92d0134.c147a429.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ee0c2fe7.94d0a351.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/f284c35a.08fab659.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/main.b241af3e.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/runtime~main.4ca7d2e2.js +1 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/agents/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/artifact-management/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/audio-tools/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/data-analysis-tools/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/embeds/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/image-tools/index.html +81 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/index.html +14 -12
- solace_agent_mesh/assets/docs/docs/documentation/components/cli/index.html +30 -9
- solace_agent_mesh/assets/docs/docs/documentation/components/gateways/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/index.html +6 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/orchestrator/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/platform-service/index.html +33 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/plugins/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/projects/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/prompts/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/proxies/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/speech/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deploying/debugging/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deploying/deployment-options/index.html +5 -5
- solace_agent_mesh/assets/docs/docs/documentation/deploying/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deploying/{kubernetes-deployment → kubernetes}/index.html +6 -6
- solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide/index.html +197 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/logging/index.html +11 -6
- solace_agent_mesh/assets/docs/docs/documentation/deploying/observability/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deploying/proxy_configuration/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/create-agents/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/create-gateways/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/creating-python-tools/index.html +23 -5
- solace_agent_mesh/assets/docs/docs/documentation/developing/creating-service-providers/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/evaluations/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/structure/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/bedrock-agents/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/custom-agent/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/event-mesh-gateway/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mcp-integration/index.html +17 -8
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/mongodb-integration/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rag-integration/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/rest-gateway/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/slack-integration/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/sql-database/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/developing/tutorials/teams-integration/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/agent-builder/index.html +5 -5
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/connectors/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/installation/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/openapi-tools/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/rbac-setup-guide/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/secure-user-delegated-access/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/single-sign-on/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/wheel-installation/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/architecture/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/index.html +6 -5
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/try-agent-mesh/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/vibe_coding/index.html +62 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/artifact-storage/index.html +25 -4
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/configurations/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/installation/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/large_language_models/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/run-project/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/session-storage/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/user-feedback/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/migrations/platform-service-split/index.html +85 -0
- solace_agent_mesh/assets/docs/lunr-index-1767712284328.json +1 -0
- solace_agent_mesh/assets/docs/lunr-index.json +1 -1
- solace_agent_mesh/assets/docs/search-doc-1767712284328.json +1 -0
- solace_agent_mesh/assets/docs/search-doc.json +1 -1
- solace_agent_mesh/assets/docs/sitemap.xml +1 -1
- solace_agent_mesh/cli/__init__.py +1 -1
- solace_agent_mesh/cli/commands/init_cmd/__init__.py +15 -0
- solace_agent_mesh/cli/commands/init_cmd/directory_step.py +1 -1
- solace_agent_mesh/cli/commands/init_cmd/env_step.py +29 -2
- solace_agent_mesh/cli/commands/init_cmd/platform_service_step.py +85 -0
- solace_agent_mesh/cli/commands/tools_cmd.py +315 -0
- solace_agent_mesh/cli/main.py +2 -0
- solace_agent_mesh/client/webui/frontend/static/assets/{authCallback-Dj3JtK42.js → authCallback-8Nihi8rv.js} +1 -1
- solace_agent_mesh/client/webui/frontend/static/assets/{client-ZKk9kEJ5.js → client-DYtZN8p-.js} +1 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-BYGUHQMk.js +435 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-D2CSH1bp.css +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/{vendor-BNV4kZN0.js → vendor-XBWAmrun.js} +106 -101
- solace_agent_mesh/client/webui/frontend/static/auth-callback.html +3 -3
- solace_agent_mesh/client/webui/frontend/static/index.html +4 -4
- solace_agent_mesh/client/webui/frontend/static/ui-version.json +1 -1
- solace_agent_mesh/common/a2a/types.py +1 -1
- solace_agent_mesh/common/agent_registry.py +38 -11
- solace_agent_mesh/common/data_parts.py +28 -0
- solace_agent_mesh/common/error_handlers.py +83 -0
- solace_agent_mesh/common/sam_events/event_service.py +2 -2
- solace_agent_mesh/config_portal/backend/common.py +2 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/_index-ZV-jX48T.js +103 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/{manifest-ba77705e.js → manifest-ce5bc5da.js} +1 -1
- solace_agent_mesh/config_portal/frontend/static/client/index.html +1 -1
- solace_agent_mesh/core_a2a/service.py +3 -2
- solace_agent_mesh/gateway/adapter/base.py +28 -1
- solace_agent_mesh/gateway/adapter/types.py +9 -0
- solace_agent_mesh/gateway/base/auth_interface.py +103 -0
- solace_agent_mesh/gateway/base/component.py +68 -1
- solace_agent_mesh/gateway/generic/component.py +195 -30
- solace_agent_mesh/gateway/http_sse/app.py +23 -6
- solace_agent_mesh/gateway/http_sse/component.py +9 -61
- solace_agent_mesh/gateway/http_sse/dependencies.py +9 -51
- solace_agent_mesh/gateway/http_sse/main.py +28 -418
- solace_agent_mesh/gateway/http_sse/repository/chat_task_repository.py +2 -2
- solace_agent_mesh/gateway/http_sse/repository/entities/project.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/entities/project_user.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/entities/session.py +2 -2
- solace_agent_mesh/gateway/http_sse/repository/feedback_repository.py +2 -2
- solace_agent_mesh/gateway/http_sse/repository/interfaces.py +2 -2
- solace_agent_mesh/gateway/http_sse/repository/models/prompt_model.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/models/session_model.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/project_repository.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/project_user_repository.py +1 -1
- solace_agent_mesh/gateway/http_sse/repository/session_repository.py +4 -4
- solace_agent_mesh/gateway/http_sse/repository/task_repository.py +2 -2
- solace_agent_mesh/gateway/http_sse/routers/artifacts.py +16 -15
- solace_agent_mesh/gateway/http_sse/routers/auth.py +61 -132
- solace_agent_mesh/gateway/http_sse/routers/config.py +12 -8
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py +1 -1
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/base_responses.py +1 -1
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py +2 -2
- solace_agent_mesh/gateway/http_sse/routers/feedback.py +2 -2
- solace_agent_mesh/gateway/http_sse/routers/people.py +2 -2
- solace_agent_mesh/gateway/http_sse/routers/projects.py +2 -1
- solace_agent_mesh/gateway/http_sse/routers/prompts.py +2 -1
- solace_agent_mesh/gateway/http_sse/routers/sessions.py +3 -3
- solace_agent_mesh/gateway/http_sse/routers/speech.py +1 -1
- solace_agent_mesh/gateway/http_sse/routers/tasks.py +3 -2
- solace_agent_mesh/gateway/http_sse/routers/users.py +1 -1
- solace_agent_mesh/gateway/http_sse/routers/visualization.py +2 -1
- solace_agent_mesh/gateway/http_sse/services/background_task_monitor.py +1 -1
- solace_agent_mesh/gateway/http_sse/services/data_retention_service.py +1 -1
- solace_agent_mesh/gateway/http_sse/services/feedback_service.py +1 -1
- solace_agent_mesh/gateway/http_sse/services/session_service.py +4 -4
- solace_agent_mesh/gateway/http_sse/services/task_logger_service.py +1 -1
- solace_agent_mesh/services/platform/__init__.py +23 -12
- solace_agent_mesh/services/platform/api/dependencies.py +23 -16
- solace_agent_mesh/services/platform/api/main.py +118 -43
- solace_agent_mesh/services/platform/api/routers/__init__.py +12 -3
- solace_agent_mesh/services/platform/api/routers/health_router.py +31 -0
- solace_agent_mesh/services/platform/app.py +101 -7
- solace_agent_mesh/services/platform/component.py +552 -33
- solace_agent_mesh/shared/__init__.py +14 -0
- solace_agent_mesh/shared/api/__init__.py +42 -0
- solace_agent_mesh/shared/auth/__init__.py +26 -0
- solace_agent_mesh/shared/auth/dependencies.py +204 -0
- solace_agent_mesh/shared/auth/middleware.py +291 -0
- solace_agent_mesh/shared/database/__init__.py +20 -0
- solace_agent_mesh/{gateway/http_sse/shared → shared/database}/base_repository.py +1 -1
- solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_exceptions.py +1 -1
- solace_agent_mesh/{gateway/http_sse/shared → shared/database}/database_helpers.py +1 -1
- solace_agent_mesh/shared/exceptions/__init__.py +36 -0
- solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exception_handlers.py +1 -1
- solace_agent_mesh/shared/utils/__init__.py +21 -0
- solace_agent_mesh/templates/platform.yaml +49 -0
- solace_agent_mesh/templates/webui.yaml +12 -3
- {solace_agent_mesh-1.11.2.dist-info → solace_agent_mesh-1.12.0.dist-info}/METADATA +2 -1
- {solace_agent_mesh-1.11.2.dist-info → solace_agent_mesh-1.12.0.dist-info}/RECORD +214 -258
- solace_agent_mesh/agent/adk/adk_llm.txt +0 -226
- solace_agent_mesh/agent/adk/adk_llm_detail.txt +0 -566
- solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +0 -171
- solace_agent_mesh/agent/adk/models/models_llm.txt +0 -189
- solace_agent_mesh/agent/agent_llm.txt +0 -369
- solace_agent_mesh/agent/agent_llm_detail.txt +0 -1702
- solace_agent_mesh/agent/protocol/protocol_llm.txt +0 -81
- solace_agent_mesh/agent/protocol/protocol_llm_detail.txt +0 -92
- solace_agent_mesh/agent/proxies/a2a/a2a_llm.txt +0 -190
- solace_agent_mesh/agent/proxies/base/base_llm.txt +0 -148
- solace_agent_mesh/agent/proxies/proxies_llm.txt +0 -283
- solace_agent_mesh/agent/sac/sac_llm.txt +0 -189
- solace_agent_mesh/agent/sac/sac_llm_detail.txt +0 -200
- solace_agent_mesh/agent/testing/testing_llm.txt +0 -58
- solace_agent_mesh/agent/testing/testing_llm_detail.txt +0 -68
- solace_agent_mesh/agent/tools/tools_llm.txt +0 -276
- solace_agent_mesh/agent/tools/tools_llm_detail.txt +0 -275
- solace_agent_mesh/agent/utils/utils_llm.txt +0 -152
- solace_agent_mesh/agent/utils/utils_llm_detail.txt +0 -149
- solace_agent_mesh/assets/docs/assets/js/15ba94aa.92fea363.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/240a0364.9ad94d1b.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/2e32b5e0.33f5d75b.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/3a6c6137.f5940cfa.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/3ff0015d.2ddc75c0.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/547e15cc.2f7790c1.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/5c2bd65f.90a87880.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/64195356.c498c4d0.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/66d4869e.b77431fc.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/8024126c.fa0e7186.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/81a99df0.2484b8d9.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/9bb13469.b2333011.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/ab9708a8.245ae0ef.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/db5d6442.3daf1696.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e04b235d.52cb25ed.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e1b6eeb4.b1068f9b.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e6f9706b.4488e34c.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e92d0134.3bda61dd.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/f284c35a.250993bf.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/main.7acf7ace.js +0 -2
- solace_agent_mesh/assets/docs/assets/js/runtime~main.9e0813a2.js +0 -1
- solace_agent_mesh/assets/docs/lunr-index-1765810064709.json +0 -1
- solace_agent_mesh/assets/docs/search-doc-1765810064709.json +0 -1
- solace_agent_mesh/cli/commands/add_cmd/add_cmd_llm.txt +0 -250
- solace_agent_mesh/cli/commands/init_cmd/init_cmd_llm.txt +0 -365
- solace_agent_mesh/cli/commands/plugin_cmd/plugin_cmd_llm.txt +0 -305
- solace_agent_mesh/client/webui/frontend/static/assets/main-BcUaNZ-Q.css +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-vjch4RYc.js +0 -435
- solace_agent_mesh/common/a2a/a2a_llm.txt +0 -175
- solace_agent_mesh/common/a2a/a2a_llm_detail.txt +0 -193
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +0 -445
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm_detail.txt +0 -736
- solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +0 -330
- solace_agent_mesh/common/common_llm.txt +0 -230
- solace_agent_mesh/common/common_llm_detail.txt +0 -2562
- solace_agent_mesh/common/middleware/middleware_llm.txt +0 -174
- solace_agent_mesh/common/middleware/middleware_llm_detail.txt +0 -185
- solace_agent_mesh/common/sac/sac_llm.txt +0 -71
- solace_agent_mesh/common/sac/sac_llm_detail.txt +0 -82
- solace_agent_mesh/common/sam_events/sam_events_llm.txt +0 -104
- solace_agent_mesh/common/sam_events/sam_events_llm_detail.txt +0 -115
- solace_agent_mesh/common/services/providers/providers_llm.txt +0 -81
- solace_agent_mesh/common/services/services_llm.txt +0 -368
- solace_agent_mesh/common/services/services_llm_detail.txt +0 -459
- solace_agent_mesh/common/utils/embeds/embeds_llm.txt +0 -220
- solace_agent_mesh/common/utils/utils_llm.txt +0 -335
- solace_agent_mesh/common/utils/utils_llm_detail.txt +0 -572
- solace_agent_mesh/config_portal/frontend/static/client/assets/_index-DiOiAjzL.js +0 -103
- solace_agent_mesh/core_a2a/core_a2a_llm.txt +0 -90
- solace_agent_mesh/core_a2a/core_a2a_llm_detail.txt +0 -101
- solace_agent_mesh/gateway/base/base_llm.txt +0 -226
- solace_agent_mesh/gateway/base/base_llm_detail.txt +0 -235
- solace_agent_mesh/gateway/gateway_llm.txt +0 -369
- solace_agent_mesh/gateway/gateway_llm_detail.txt +0 -3885
- solace_agent_mesh/gateway/http_sse/alembic/alembic_llm.txt +0 -345
- solace_agent_mesh/gateway/http_sse/alembic/versions/versions_llm.txt +0 -161
- solace_agent_mesh/gateway/http_sse/components/components_llm.txt +0 -105
- solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +0 -299
- solace_agent_mesh/gateway/http_sse/http_sse_llm_detail.txt +0 -3278
- solace_agent_mesh/gateway/http_sse/repository/entities/entities_llm.txt +0 -221
- solace_agent_mesh/gateway/http_sse/repository/models/models_llm.txt +0 -257
- solace_agent_mesh/gateway/http_sse/repository/repository_llm.txt +0 -308
- solace_agent_mesh/gateway/http_sse/routers/dto/dto_llm.txt +0 -450
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/requests_llm.txt +0 -133
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/responses_llm.txt +0 -123
- solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +0 -312
- solace_agent_mesh/gateway/http_sse/services/services_llm.txt +0 -303
- solace_agent_mesh/gateway/http_sse/shared/__init__.py +0 -146
- solace_agent_mesh/gateway/http_sse/shared/shared_llm.txt +0 -319
- solace_agent_mesh/gateway/http_sse/utils/utils_llm.txt +0 -47
- solace_agent_mesh/llm.txt +0 -228
- solace_agent_mesh/llm_detail.txt +0 -2835
- solace_agent_mesh/solace_agent_mesh_llm.txt +0 -362
- solace_agent_mesh/solace_agent_mesh_llm_detail.txt +0 -8599
- solace_agent_mesh/templates/templates_llm.txt +0 -147
- /solace_agent_mesh/assets/docs/assets/js/{main.7acf7ace.js.LICENSE.txt → main.b241af3e.js.LICENSE.txt} +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/auth_utils.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/pagination.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/api}/response_utils.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/error_dto.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/exceptions}/exceptions.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/enums.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/timestamp_utils.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/types.py +0 -0
- /solace_agent_mesh/{gateway/http_sse/shared → shared/utils}/utils.py +0 -0
- {solace_agent_mesh-1.11.2.dist-info → solace_agent_mesh-1.12.0.dist-info}/WHEEL +0 -0
- {solace_agent_mesh-1.11.2.dist-info → solace_agent_mesh-1.12.0.dist-info}/entry_points.txt +0 -0
- {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
|