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,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
|