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,146 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Shared Utilities and Constants
|
|
3
|
-
|
|
4
|
-
Contains common utilities, constants, enums, types, and exception handling
|
|
5
|
-
used across layers.
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
from .auth_utils import get_current_user
|
|
9
|
-
from .timestamp_utils import (
|
|
10
|
-
datetime_to_epoch_ms,
|
|
11
|
-
epoch_ms_to_datetime,
|
|
12
|
-
epoch_ms_to_iso8601,
|
|
13
|
-
iso8601_to_epoch_ms,
|
|
14
|
-
now_epoch_ms,
|
|
15
|
-
validate_epoch_ms,
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
# Exception handling exports
|
|
19
|
-
from .exceptions import (
|
|
20
|
-
WebUIBackendException,
|
|
21
|
-
ValidationError,
|
|
22
|
-
EntityNotFoundError,
|
|
23
|
-
EntityAlreadyExistsError,
|
|
24
|
-
BusinessRuleViolationError,
|
|
25
|
-
ConfigurationError,
|
|
26
|
-
DataIntegrityError,
|
|
27
|
-
ExternalServiceError,
|
|
28
|
-
EntityOperation,
|
|
29
|
-
ValidationErrorBuilder,
|
|
30
|
-
)
|
|
31
|
-
from .error_dto import EventErrorDTO
|
|
32
|
-
from .exception_handlers import (
|
|
33
|
-
register_exception_handlers,
|
|
34
|
-
create_error_response,
|
|
35
|
-
validation_error_handler,
|
|
36
|
-
entity_not_found_handler,
|
|
37
|
-
entity_already_exists_handler,
|
|
38
|
-
business_rule_violation_handler,
|
|
39
|
-
configuration_error_handler,
|
|
40
|
-
data_integrity_error_handler,
|
|
41
|
-
external_service_error_handler,
|
|
42
|
-
webui_backend_exception_handler,
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
# Repository base classes
|
|
46
|
-
from .base_repository import (
|
|
47
|
-
BaseRepository,
|
|
48
|
-
PaginatedRepository,
|
|
49
|
-
ValidationMixin,
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
# Pagination utilities
|
|
53
|
-
from .pagination import (
|
|
54
|
-
PaginationParams,
|
|
55
|
-
PaginatedResponse,
|
|
56
|
-
DataResponse,
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
# Database utilities
|
|
60
|
-
from .database_exceptions import (
|
|
61
|
-
DatabaseExceptionHandler,
|
|
62
|
-
DatabaseErrorDecorator,
|
|
63
|
-
handle_database_errors,
|
|
64
|
-
)
|
|
65
|
-
# Database helpers (SimpleJSON type only - transaction management removed)
|
|
66
|
-
from .database_helpers import SimpleJSON
|
|
67
|
-
|
|
68
|
-
# Generic utilities
|
|
69
|
-
from .utils import generate_uuid, to_snake_case, to_pascal_case
|
|
70
|
-
|
|
71
|
-
# Response utilities
|
|
72
|
-
from .response_utils import (
|
|
73
|
-
create_data_response,
|
|
74
|
-
create_paginated_response,
|
|
75
|
-
create_empty_data_response,
|
|
76
|
-
create_success_response,
|
|
77
|
-
create_list_response,
|
|
78
|
-
StandardResponseMixin,
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
__all__ = [
|
|
82
|
-
# Utilities
|
|
83
|
-
"get_current_user",
|
|
84
|
-
"now_epoch_ms",
|
|
85
|
-
"epoch_ms_to_iso8601",
|
|
86
|
-
"iso8601_to_epoch_ms",
|
|
87
|
-
"datetime_to_epoch_ms",
|
|
88
|
-
"epoch_ms_to_datetime",
|
|
89
|
-
"validate_epoch_ms",
|
|
90
|
-
|
|
91
|
-
# Exception classes
|
|
92
|
-
"WebUIBackendException",
|
|
93
|
-
"ValidationError",
|
|
94
|
-
"EntityNotFoundError",
|
|
95
|
-
"EntityAlreadyExistsError",
|
|
96
|
-
"BusinessRuleViolationError",
|
|
97
|
-
"ConfigurationError",
|
|
98
|
-
"DataIntegrityError",
|
|
99
|
-
"ExternalServiceError",
|
|
100
|
-
"EntityOperation",
|
|
101
|
-
"ValidationErrorBuilder",
|
|
102
|
-
|
|
103
|
-
# Error response DTO
|
|
104
|
-
"EventErrorDTO",
|
|
105
|
-
|
|
106
|
-
# Exception handlers
|
|
107
|
-
"register_exception_handlers",
|
|
108
|
-
"create_error_response",
|
|
109
|
-
"validation_error_handler",
|
|
110
|
-
"entity_not_found_handler",
|
|
111
|
-
"entity_already_exists_handler",
|
|
112
|
-
"business_rule_violation_handler",
|
|
113
|
-
"configuration_error_handler",
|
|
114
|
-
"data_integrity_error_handler",
|
|
115
|
-
"external_service_error_handler",
|
|
116
|
-
"webui_backend_exception_handler",
|
|
117
|
-
|
|
118
|
-
# Repository base classes
|
|
119
|
-
"BaseRepository",
|
|
120
|
-
"PaginatedRepository",
|
|
121
|
-
"ValidationMixin",
|
|
122
|
-
|
|
123
|
-
# Pagination utilities
|
|
124
|
-
"PaginationParams",
|
|
125
|
-
"PaginatedResponse",
|
|
126
|
-
"DataResponse",
|
|
127
|
-
|
|
128
|
-
# Database utilities
|
|
129
|
-
"DatabaseExceptionHandler",
|
|
130
|
-
"DatabaseErrorDecorator",
|
|
131
|
-
"handle_database_errors",
|
|
132
|
-
# Database transaction functions removed - use FastAPI dependency injection
|
|
133
|
-
|
|
134
|
-
# Generic utilities
|
|
135
|
-
"generate_uuid",
|
|
136
|
-
"to_snake_case",
|
|
137
|
-
"to_pascal_case",
|
|
138
|
-
|
|
139
|
-
# Response utilities
|
|
140
|
-
"create_data_response",
|
|
141
|
-
"create_paginated_response",
|
|
142
|
-
"create_empty_data_response",
|
|
143
|
-
"create_success_response",
|
|
144
|
-
"create_list_response",
|
|
145
|
-
"StandardResponseMixin",
|
|
146
|
-
]
|
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
# DEVELOPER GUIDE: shared
|
|
2
|
-
|
|
3
|
-
## Quick Summary
|
|
4
|
-
The `shared` directory contains common utilities, constants, enums, types, and exception handling used across all layers of the HTTP SSE gateway. It provides authentication helpers, timestamp utilities, standardized exception handling, database utilities, pagination support, and response formatting for consistent API behavior.
|
|
5
|
-
|
|
6
|
-
## Files Overview
|
|
7
|
-
- `__init__.py` - Central exports for all shared utilities and components
|
|
8
|
-
- `auth_utils.py` - Authentication utilities for FastAPI applications
|
|
9
|
-
- `timestamp_utils.py` - Epoch timestamp utilities matching Java backend patterns
|
|
10
|
-
- `exceptions.py` - Generic web exceptions for HTTP/REST APIs
|
|
11
|
-
- `error_dto.py` - Standardized error response DTOs
|
|
12
|
-
- `exception_handlers.py` - FastAPI exception handlers for consistent HTTP error responses
|
|
13
|
-
- `base_repository.py` - Base repository classes with proper transaction management
|
|
14
|
-
- `pagination.py` - Pagination utilities for API responses
|
|
15
|
-
- `database_exceptions.py` - Database exception handling and conversion
|
|
16
|
-
- `database_helpers.py` - Database utility functions and custom types
|
|
17
|
-
- `response_utils.py` - Standardized response formatting utilities
|
|
18
|
-
- `enums.py` - Enumerations for message types, task status, and validation errors
|
|
19
|
-
- `types.py` - Custom types and type aliases for better type safety
|
|
20
|
-
- `utils.py` - Generic utility functions
|
|
21
|
-
|
|
22
|
-
## Developer API Reference
|
|
23
|
-
|
|
24
|
-
### auth_utils.py
|
|
25
|
-
**Purpose:** Provides authentication utilities for FastAPI controllers
|
|
26
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import get_current_user`
|
|
27
|
-
|
|
28
|
-
**Functions:**
|
|
29
|
-
- `get_current_user(request: FastAPIRequest) -> dict` - Extracts authenticated user from request state, returns user info or anonymous default
|
|
30
|
-
|
|
31
|
-
**Usage Examples:**
|
|
32
|
-
```python
|
|
33
|
-
from fastapi import Depends
|
|
34
|
-
from solace_agent_mesh.gateway.http_sse.shared import get_current_user
|
|
35
|
-
|
|
36
|
-
@app.get("/protected")
|
|
37
|
-
async def protected_endpoint(user: dict = Depends(get_current_user)):
|
|
38
|
-
return {"user_id": user["id"], "name": user["name"]}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### timestamp_utils.py
|
|
42
|
-
**Purpose:** Provides epoch timestamp utilities for database portability and timezone handling
|
|
43
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import now_epoch_ms, epoch_ms_to_iso8601, iso8601_to_epoch_ms`
|
|
44
|
-
|
|
45
|
-
**Functions:**
|
|
46
|
-
- `now_epoch_ms() -> int` - Get current time as milliseconds since epoch
|
|
47
|
-
- `epoch_ms_to_iso8601(epoch_ms: int) -> str` - Convert epoch milliseconds to ISO 8601 string
|
|
48
|
-
- `iso8601_to_epoch_ms(iso8601_string: str) -> int` - Convert ISO 8601 string to epoch milliseconds
|
|
49
|
-
- `datetime_to_epoch_ms(dt: datetime) -> int` - Convert datetime object to epoch milliseconds
|
|
50
|
-
- `epoch_ms_to_datetime(epoch_ms: int) -> datetime` - Convert epoch milliseconds to datetime object
|
|
51
|
-
- `validate_epoch_ms(epoch_ms: int | None) -> bool` - Validate that an epoch milliseconds value is reasonable
|
|
52
|
-
|
|
53
|
-
**Usage Examples:**
|
|
54
|
-
```python
|
|
55
|
-
from solace_agent_mesh.gateway.http_sse.shared import (
|
|
56
|
-
now_epoch_ms, epoch_ms_to_iso8601, iso8601_to_epoch_ms
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
# Get current timestamp for database storage
|
|
60
|
-
created_time = now_epoch_ms()
|
|
61
|
-
|
|
62
|
-
# Convert for API response
|
|
63
|
-
iso_string = epoch_ms_to_iso8601(created_time)
|
|
64
|
-
|
|
65
|
-
# Parse from API request
|
|
66
|
-
timestamp = iso8601_to_epoch_ms("2024-01-01T00:00:00Z")
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### exceptions.py
|
|
70
|
-
**Purpose:** Generic web exceptions for HTTP/REST APIs
|
|
71
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import ValidationError, EntityNotFoundError, EntityAlreadyExistsError`
|
|
72
|
-
|
|
73
|
-
**Classes:**
|
|
74
|
-
- `WebUIBackendException(message: str, details: Optional[Dict[str, Any]] = None)` - Base exception for all web UI backend errors
|
|
75
|
-
- `ValidationError(message: str, validation_details: Optional[Dict[str, List[str]]] = None, entity_type: Optional[str] = None, entity_identifier: Optional[str] = None)` - Exception for validation errors with field-level details
|
|
76
|
-
- `EntityNotFoundError(entity_type: str, entity_id: str)` - Generic exception for when an entity is not found
|
|
77
|
-
- `EntityAlreadyExistsError(entity_type: str, identifier: str, value: Any = None)` - Exception for when an entity already exists
|
|
78
|
-
- `BusinessRuleViolationError(rule: str, message: str)` - Exception for business rule violations
|
|
79
|
-
- `ConfigurationError(component: str, message: str)` - Exception for configuration-related errors
|
|
80
|
-
- `DataIntegrityError(constraint: str, message: str)` - Exception for data integrity violations
|
|
81
|
-
- `ExternalServiceError(service: str, message: str, status_code: Optional[int] = None)` - Exception for external service communication errors
|
|
82
|
-
- `ValidationErrorBuilder()` - Builder for constructing ValidationError instances with fluent API
|
|
83
|
-
|
|
84
|
-
**Usage Examples:**
|
|
85
|
-
```python
|
|
86
|
-
from solace_agent_mesh.gateway.http_sse.shared import (
|
|
87
|
-
ValidationError, EntityNotFoundError, ValidationErrorBuilder
|
|
88
|
-
)
|
|
89
|
-
|
|
90
|
-
# Simple validation error
|
|
91
|
-
raise ValidationError("Invalid input data")
|
|
92
|
-
|
|
93
|
-
# Entity not found
|
|
94
|
-
raise EntityNotFoundError("User", "123")
|
|
95
|
-
|
|
96
|
-
# Complex validation with builder
|
|
97
|
-
error = ValidationError.builder() \
|
|
98
|
-
.message("Invalid user data") \
|
|
99
|
-
.validation_detail("email", ["Invalid email format"]) \
|
|
100
|
-
.entity_type("User") \
|
|
101
|
-
.build()
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### error_dto.py
|
|
105
|
-
**Purpose:** Standardized error response DTOs for HTTP APIs
|
|
106
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import EventErrorDTO`
|
|
107
|
-
|
|
108
|
-
**Classes:**
|
|
109
|
-
- `EventErrorDTO(message: str, validationDetails: Optional[Dict[str, List[str]]] = None)` - Simplified and standardized error response format
|
|
110
|
-
- `create(message: str, validation_details: Optional[Dict[str, List[str]]] = None) -> EventErrorDTO` - Create a new EventErrorDTO
|
|
111
|
-
- `not_found(entity_type: str, entity_id: str) -> EventErrorDTO` - Create a 404 Not Found error
|
|
112
|
-
- `validation_error(message: str, validation_details: Dict[str, List[str]]) -> EventErrorDTO` - Create a validation error
|
|
113
|
-
|
|
114
|
-
**Usage Examples:**
|
|
115
|
-
```python
|
|
116
|
-
from solace_agent_mesh.gateway.http_sse.shared import EventErrorDTO
|
|
117
|
-
|
|
118
|
-
# Simple error
|
|
119
|
-
error = EventErrorDTO.create("Something went wrong")
|
|
120
|
-
|
|
121
|
-
# Not found error
|
|
122
|
-
error = EventErrorDTO.not_found("User", "123")
|
|
123
|
-
|
|
124
|
-
# Validation error
|
|
125
|
-
error = EventErrorDTO.validation_error(
|
|
126
|
-
"Invalid data",
|
|
127
|
-
{"email": ["Invalid format"], "age": ["Must be positive"]}
|
|
128
|
-
)
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### exception_handlers.py
|
|
132
|
-
**Purpose:** FastAPI exception handlers for consistent HTTP error responses
|
|
133
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import register_exception_handlers`
|
|
134
|
-
|
|
135
|
-
**Functions:**
|
|
136
|
-
- `register_exception_handlers(app)` - Register all exception handlers with a FastAPI app
|
|
137
|
-
- `create_error_response(status_code: int, message: str, validation_details: dict = None) -> JSONResponse` - Create standardized error response
|
|
138
|
-
|
|
139
|
-
**Usage Examples:**
|
|
140
|
-
```python
|
|
141
|
-
from fastapi import FastAPI
|
|
142
|
-
from solace_agent_mesh.gateway.http_sse.shared import register_exception_handlers
|
|
143
|
-
|
|
144
|
-
app = FastAPI()
|
|
145
|
-
register_exception_handlers(app)
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### base_repository.py
|
|
149
|
-
**Purpose:** Base repository classes with proper transaction management
|
|
150
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import BaseRepository, PaginatedRepository, ValidationMixin`
|
|
151
|
-
|
|
152
|
-
**Classes:**
|
|
153
|
-
- `BaseRepository(model_class: Type[ModelType], entity_class: Type[EntityType])` - Abstract base class for repositories
|
|
154
|
-
- `create(session: Session, create_data: Dict[str, Any]) -> EntityType` - Create a new entity
|
|
155
|
-
- `get_by_id(session: Session, entity_id: Any) -> EntityType` - Get entity by ID
|
|
156
|
-
- `get_all(session: Session, limit: Optional[int] = None, offset: Optional[int] = None) -> List[EntityType]` - Get all entities
|
|
157
|
-
- `update(session: Session, entity_id: Any, update_data: Dict[str, Any]) -> EntityType` - Update an entity
|
|
158
|
-
- `delete(session: Session, entity_id: Any) -> None` - Delete an entity
|
|
159
|
-
- `PaginatedRepository(model_class: Type[ModelType], entity_class: Type[EntityType])` - Base repository with enhanced pagination support
|
|
160
|
-
- `ValidationMixin` - Mixin for repositories that need validation logic
|
|
161
|
-
|
|
162
|
-
**Usage Examples:**
|
|
163
|
-
```python
|
|
164
|
-
from solace_agent_mesh.gateway.http_sse.shared import BaseRepository
|
|
165
|
-
from sqlalchemy.orm import Session
|
|
166
|
-
|
|
167
|
-
class UserRepository(BaseRepository[UserModel, UserEntity]):
|
|
168
|
-
@property
|
|
169
|
-
def entity_name(self) -> str:
|
|
170
|
-
return "User"
|
|
171
|
-
|
|
172
|
-
# Usage
|
|
173
|
-
repo = UserRepository(UserModel, UserEntity)
|
|
174
|
-
user = repo.create(session, {"name": "John", "email": "john@example.com"})
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### pagination.py
|
|
178
|
-
**Purpose:** Pagination utilities for API responses
|
|
179
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import PaginationParams, PaginatedResponse, DataResponse`
|
|
180
|
-
|
|
181
|
-
**Classes:**
|
|
182
|
-
- `PaginationParams(page_number: int = 1, page_size: int = 20)` - Request parameters for pagination
|
|
183
|
-
- `offset: int` - Calculate the offset for database queries
|
|
184
|
-
- `PaginatedResponse[T](data: list[T], meta: Meta)` - Generic paginated response with data and metadata
|
|
185
|
-
- `create(data: list[T], total_count: int, pagination: PaginationParams) -> PaginatedResponse[T]` - Create paginated response
|
|
186
|
-
- `DataResponse[T](data: T)` - Simple data response wrapper
|
|
187
|
-
- `create(data: T) -> DataResponse[T]` - Create data response
|
|
188
|
-
|
|
189
|
-
**Constants/Variables:**
|
|
190
|
-
- `DEFAULT_PAGE_NUMBER: int` - Default page number (1)
|
|
191
|
-
- `DEFAULT_PAGE_SIZE: int` - Default page size (20)
|
|
192
|
-
- `MAX_PAGE_SIZE: int` - Maximum allowed page size (100)
|
|
193
|
-
|
|
194
|
-
**Usage Examples:**
|
|
195
|
-
```python
|
|
196
|
-
from solace_agent_mesh.gateway.http_sse.shared import PaginationParams, PaginatedResponse
|
|
197
|
-
|
|
198
|
-
# Create pagination params
|
|
199
|
-
pagination = PaginationParams(page_number=1, page_size=20)
|
|
200
|
-
|
|
201
|
-
# Create paginated response
|
|
202
|
-
response = PaginatedResponse.create(users, total_count=100, pagination=pagination)
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
### response_utils.py
|
|
206
|
-
**Purpose:** Standardized response formatting utilities
|
|
207
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import create_data_response, create_paginated_response, StandardResponseMixin`
|
|
208
|
-
|
|
209
|
-
**Functions:**
|
|
210
|
-
- `create_data_response(data: T) -> DataResponse[T]` - Create a standardized data response
|
|
211
|
-
- `create_paginated_response(data: List[T], total_count: int, pagination_params: PaginationParams) -> PaginatedResponse[T]` - Create a standardized paginated response
|
|
212
|
-
- `create_success_response(message: str = "Success") -> DataResponse[Dict[str, str]]` - Create a standardized success response
|
|
213
|
-
- `create_list_response(items: List[T]) -> DataResponse[List[T]]` - Create a standardized list response
|
|
214
|
-
|
|
215
|
-
**Classes:**
|
|
216
|
-
- `StandardResponseMixin` - Mixin class to add standard response methods to services or controllers
|
|
217
|
-
|
|
218
|
-
**Usage Examples:**
|
|
219
|
-
```python
|
|
220
|
-
from solace_agent_mesh.gateway.http_sse.shared import create_data_response, create_paginated_response
|
|
221
|
-
|
|
222
|
-
# Simple data response
|
|
223
|
-
response = create_data_response({"id": 1, "name": "test"})
|
|
224
|
-
|
|
225
|
-
# Paginated response
|
|
226
|
-
response = create_paginated_response(users, 100, pagination_params)
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
### database_exceptions.py
|
|
230
|
-
**Purpose:** Database exception handling and conversion
|
|
231
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import DatabaseExceptionHandler, handle_database_errors`
|
|
232
|
-
|
|
233
|
-
**Classes:**
|
|
234
|
-
- `DatabaseExceptionHandler` - Centralized handler for converting SQLAlchemy exceptions to domain exceptions
|
|
235
|
-
- `handle_integrity_error(e: IntegrityError, entity_type: str = "Resource") -> ValidationError` - Convert integrity constraint violations
|
|
236
|
-
- `handle_operational_error(e: OperationalError, entity_type: str = "Resource") -> DataIntegrityError` - Handle operational errors
|
|
237
|
-
- `handle_database_error(e: DatabaseError, entity_type: str = "Resource") -> DataIntegrityError` - Handle general database errors
|
|
238
|
-
- `handle_sqlalchemy_error(e: SQLAlchemyError, entity_type: str = "Resource") -> DataIntegrityError` - Handle any other SQLAlchemy errors
|
|
239
|
-
|
|
240
|
-
**Functions:**
|
|
241
|
-
- `handle_database_errors(entity_type: str = "Resource")` - Convenience decorator for database exception handling
|
|
242
|
-
|
|
243
|
-
**Usage Examples:**
|
|
244
|
-
```python
|
|
245
|
-
from solace_agent_mesh.gateway.http_sse.shared import handle_database_errors
|
|
246
|
-
|
|
247
|
-
class UserRepository:
|
|
248
|
-
@handle_database_errors("User")
|
|
249
|
-
def create_user(self, session, data):
|
|
250
|
-
# Repository method implementation
|
|
251
|
-
pass
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
### database_helpers.py
|
|
255
|
-
**Purpose:** Database utility functions and custom types
|
|
256
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared import SimpleJSON`
|
|
257
|
-
|
|
258
|
-
**Classes:**
|
|
259
|
-
- `SimpleJSON(TypeDecorator)` - Simple JSON type using Text storage for all databases
|
|
260
|
-
- `process_bind_param(value, dialect)` - Convert Python object to JSON string for storage
|
|
261
|
-
- `process_result_value(value, dialect)` - Convert JSON string back to Python object
|
|
262
|
-
|
|
263
|
-
**Usage Examples:**
|
|
264
|
-
```python
|
|
265
|
-
from sqlalchemy import Column, String
|
|
266
|
-
from solace_agent_mesh.gateway.http_sse.shared import SimpleJSON
|
|
267
|
-
|
|
268
|
-
class MyModel(Base):
|
|
269
|
-
id = Column(String, primary_key=True)
|
|
270
|
-
metadata = Column(SimpleJSON) # Stores JSON as text
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
### enums.py
|
|
274
|
-
**Purpose:** Enumerations used throughout the application
|
|
275
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared.enums import SenderType, TaskStatus, MessageType`
|
|
276
|
-
|
|
277
|
-
**Classes:**
|
|
278
|
-
- `SenderType(str, Enum)` - Types of message senders (USER, AGENT, SYSTEM)
|
|
279
|
-
- `TaskStatus(str, Enum)` - Task execution status (PENDING, RUNNING, COMPLETED, FAILED, CANCELLED)
|
|
280
|
-
- `MessageType(str, Enum)` - Types of messages (TEXT, FILE, IMAGE, DOCUMENT)
|
|
281
|
-
- `ValidationErrorType(str, Enum)` - Types of validation errors (REQUIRED_FIELD, INVALID_FORMAT, etc.)
|
|
282
|
-
|
|
283
|
-
**Usage Examples:**
|
|
284
|
-
```python
|
|
285
|
-
from solace_agent_mesh.gateway.http_sse.shared.enums import SenderType, TaskStatus
|
|
286
|
-
|
|
287
|
-
# Use in message handling
|
|
288
|
-
if sender_type == SenderType.USER:
|
|
289
|
-
process_user_message()
|
|
290
|
-
|
|
291
|
-
# Use in task management
|
|
292
|
-
task.status = TaskStatus.RUNNING
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
### types.py
|
|
296
|
-
**Purpose:** Custom types and type aliases for better type safety
|
|
297
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.shared.types import UserId, JsonDict, Timestamp`
|
|
298
|
-
|
|
299
|
-
**Type Aliases:**
|
|
300
|
-
- `UserId: str` - User identifier type
|
|
301
|
-
- `SessionId: str` - Session identifier type
|
|
302
|
-
- `MessageId: str` - Message identifier type
|
|
303
|
-
- `TaskId: str` - Task identifier type
|
|
304
|
-
- `AgentId: str` - Agent identifier type
|
|
305
|
-
- `JsonDict: dict[str, Any]` - JSON dictionary type
|
|
306
|
-
- `Headers: dict[str, str]` - HTTP headers type
|
|
307
|
-
- `QueryParams: dict[str, str | list[str]]` - Query parameters type
|
|
308
|
-
|
|
309
|
-
**Classes:**
|
|
310
|
-
- `Timestamp(BaseModel)` - Standardized timestamp representation using epoch milliseconds
|
|
311
|
-
- `created_time: int` - Creation time in epoch milliseconds
|
|
312
|
-
- `updated_time: int | None` - Update time in epoch milliseconds
|
|
313
|
-
- `SortInfo(BaseModel)` - Sorting information for list requests
|
|
314
|
-
- `field: str` - Field to sort by
|
|
315
|
-
- `direction: str` - Sort direction (asc or desc)
|
|
316
|
-
- `FilterInfo(BaseModel)` - Filtering information for list requests
|
|
317
|
-
- `field: str` - Field to filter
|
|
318
|
-
|
|
319
|
-
# content_hash: 646c6eedceab05f3b8573660906cf739cefbc0807c5b28dffe25161746299b67
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
## Quick Summary
|
|
2
|
-
The `utils` directory provides utility functions for the HTTP SSE Gateway, specifically for creating .stim file structures from task and event data.
|
|
3
|
-
|
|
4
|
-
## Files Overview
|
|
5
|
-
- `__init__.py` - Package initialization file for HTTP SSE Gateway utilities
|
|
6
|
-
- `stim_utils.py` - Utility functions for formatting task data into .stim file structures
|
|
7
|
-
|
|
8
|
-
## Developer API Reference
|
|
9
|
-
|
|
10
|
-
### __init__.py
|
|
11
|
-
**Purpose:** Package initialization for HTTP SSE Gateway utilities
|
|
12
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.utils import *`
|
|
13
|
-
|
|
14
|
-
This file serves as the package entry point and contains no public interfaces.
|
|
15
|
-
|
|
16
|
-
### stim_utils.py
|
|
17
|
-
**Purpose:** Provides utility functions for creating .stim file structures from task and event data
|
|
18
|
-
**Import:** `from solace_agent_mesh.gateway.http_sse.utils.stim_utils import create_stim_from_task_data`
|
|
19
|
-
|
|
20
|
-
**Functions:**
|
|
21
|
-
- `create_stim_from_task_data(task: Task, events: List[TaskEvent]) -> dict` - Formats a task and its events into the .stim file structure with version 2.0 format for gateway-generated logs
|
|
22
|
-
|
|
23
|
-
**Usage Examples:**
|
|
24
|
-
```python
|
|
25
|
-
from solace_agent_mesh.gateway.http_sse.utils.stim_utils import create_stim_from_task_data
|
|
26
|
-
from solace_agent_mesh.gateway.http_sse.repository.entities import Task, TaskEvent
|
|
27
|
-
|
|
28
|
-
# Create a .stim file structure from task and events
|
|
29
|
-
task = Task(
|
|
30
|
-
id="task_123",
|
|
31
|
-
user_id="user_456",
|
|
32
|
-
start_time="2024-01-01T10:00:00Z",
|
|
33
|
-
end_time="2024-01-01T10:05:00Z",
|
|
34
|
-
status="completed",
|
|
35
|
-
initial_request_text="Process this data"
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
events = [
|
|
39
|
-
TaskEvent(event_type="start", timestamp="2024-01-01T10:00:00Z"),
|
|
40
|
-
TaskEvent(event_type="complete", timestamp="2024-01-01T10:05:00Z")
|
|
41
|
-
]
|
|
42
|
-
|
|
43
|
-
stim_data = create_stim_from_task_data(task, events)
|
|
44
|
-
# Returns a dictionary with 'invocation_details' and 'invocation_flow' keys
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
# content_hash: 7fdc4ad8bbcefb07ee40f84c438f988cda4fdfb812dab55c6a064d1b38b0c83f
|