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,330 +0,0 @@
|
|
|
1
|
-
# DEVELOPER GUIDE: schemas
|
|
2
|
-
|
|
3
|
-
## Quick Summary
|
|
4
|
-
This directory contains JSON Schema definitions for various agent-to-agent (A2A) communication signals in the Solace Agent Mesh. These schemas define the structure and validation rules for different types of progress updates, tool invocations, and LLM interactions that agents can send to each other.
|
|
5
|
-
|
|
6
|
-
## Files Overview
|
|
7
|
-
- `agent_progress_update.json` - Schema for general agent progress status messages
|
|
8
|
-
- `artifact_creation_progress.json` - Schema for tracking file/artifact creation progress with chunked data
|
|
9
|
-
- `llm_invocation.json` - Schema for LLM model invocation signals with usage tracking
|
|
10
|
-
- `tool_invocation_start.json` - Schema for tool execution start notifications
|
|
11
|
-
- `tool_result.json` - Schema for tool execution completion results with optional LLM usage
|
|
12
|
-
|
|
13
|
-
## Developer API Reference
|
|
14
|
-
|
|
15
|
-
### agent_progress_update.json
|
|
16
|
-
**Purpose:** Defines the schema for agent progress update signals that communicate human-readable status messages between agents.
|
|
17
|
-
|
|
18
|
-
**Import:** Load as JSON schema for validation
|
|
19
|
-
```python
|
|
20
|
-
import json
|
|
21
|
-
from jsonschema import validate
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**Schema Structure:**
|
|
25
|
-
```json
|
|
26
|
-
{
|
|
27
|
-
"type": "agent_progress_update",
|
|
28
|
-
"status_text": "string"
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**Properties:**
|
|
33
|
-
- `type: "agent_progress_update"` - Constant identifier for this signal type (required)
|
|
34
|
-
- `status_text: string` - Human-readable progress message (required)
|
|
35
|
-
|
|
36
|
-
**Usage Examples:**
|
|
37
|
-
```python
|
|
38
|
-
import json
|
|
39
|
-
from jsonschema import validate
|
|
40
|
-
|
|
41
|
-
# Load and use schema
|
|
42
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/agent_progress_update.json') as f:
|
|
43
|
-
schema = json.load(f)
|
|
44
|
-
|
|
45
|
-
# Valid data example
|
|
46
|
-
data = {
|
|
47
|
-
"type": "agent_progress_update",
|
|
48
|
-
"status_text": "Analyzing the report..."
|
|
49
|
-
}
|
|
50
|
-
validate(instance=data, schema=schema)
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### artifact_creation_progress.json
|
|
54
|
-
**Purpose:** Defines the schema for tracking progress during file or artifact creation operations with status tracking and chunked data transfer.
|
|
55
|
-
|
|
56
|
-
**Import:** Load as JSON schema for validation
|
|
57
|
-
```python
|
|
58
|
-
import json
|
|
59
|
-
from jsonschema import validate
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Schema Structure:**
|
|
63
|
-
```json
|
|
64
|
-
{
|
|
65
|
-
"type": "artifact_creation_progress",
|
|
66
|
-
"filename": "string",
|
|
67
|
-
"description": "string",
|
|
68
|
-
"status": "in-progress|completed|failed",
|
|
69
|
-
"bytes_transferred": "integer",
|
|
70
|
-
"artifact_chunk": "string",
|
|
71
|
-
"mime_type": "string"
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
**Properties:**
|
|
76
|
-
- `type: "artifact_creation_progress"` - Constant identifier for this signal type (required)
|
|
77
|
-
- `filename: string` - Name of the artifact being created (required)
|
|
78
|
-
- `description: string` - Optional description of the artifact being created (optional)
|
|
79
|
-
- `status: string` - Status of artifact creation: "in-progress", "completed", or "failed" (required)
|
|
80
|
-
- `bytes_transferred: integer` - Number of bytes transferred so far (required)
|
|
81
|
-
- `artifact_chunk: string` - Chunk of artifact data transferred in this update (optional, only for 'in-progress')
|
|
82
|
-
- `mime_type: string` - MIME type of the artifact (optional, only for 'completed')
|
|
83
|
-
|
|
84
|
-
**Usage Examples:**
|
|
85
|
-
```python
|
|
86
|
-
import json
|
|
87
|
-
from jsonschema import validate
|
|
88
|
-
|
|
89
|
-
# Load and use schema
|
|
90
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/artifact_creation_progress.json') as f:
|
|
91
|
-
schema = json.load(f)
|
|
92
|
-
|
|
93
|
-
# In-progress example
|
|
94
|
-
data = {
|
|
95
|
-
"type": "artifact_creation_progress",
|
|
96
|
-
"filename": "report.pdf",
|
|
97
|
-
"description": "Monthly sales report",
|
|
98
|
-
"status": "in-progress",
|
|
99
|
-
"bytes_transferred": 1024,
|
|
100
|
-
"artifact_chunk": "JVBERi0xLjQKJcOkw7zDtsO..."
|
|
101
|
-
}
|
|
102
|
-
validate(instance=data, schema=schema)
|
|
103
|
-
|
|
104
|
-
# Completed example
|
|
105
|
-
completed_data = {
|
|
106
|
-
"type": "artifact_creation_progress",
|
|
107
|
-
"filename": "report.pdf",
|
|
108
|
-
"status": "completed",
|
|
109
|
-
"bytes_transferred": 5120,
|
|
110
|
-
"mime_type": "application/pdf"
|
|
111
|
-
}
|
|
112
|
-
validate(instance=completed_data, schema=schema)
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### llm_invocation.json
|
|
116
|
-
**Purpose:** Defines the schema for LLM invocation signals that communicate when an agent is calling a language model, including token usage tracking.
|
|
117
|
-
|
|
118
|
-
**Import:** Load as JSON schema for validation
|
|
119
|
-
```python
|
|
120
|
-
import json
|
|
121
|
-
from jsonschema import validate
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
**Schema Structure:**
|
|
125
|
-
```json
|
|
126
|
-
{
|
|
127
|
-
"type": "llm_invocation",
|
|
128
|
-
"request": "object",
|
|
129
|
-
"usage": {
|
|
130
|
-
"input_tokens": "integer",
|
|
131
|
-
"output_tokens": "integer",
|
|
132
|
-
"cached_input_tokens": "integer",
|
|
133
|
-
"model": "string"
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
**Properties:**
|
|
139
|
-
- `type: "llm_invocation"` - Constant identifier for this signal type (required)
|
|
140
|
-
- `request: object` - Sanitized representation of the LlmRequest object sent to the model (required)
|
|
141
|
-
- `usage: object` - Token usage information for this LLM call (optional)
|
|
142
|
-
- `input_tokens: integer` - Number of input/prompt tokens (required in usage)
|
|
143
|
-
- `output_tokens: integer` - Number of output/completion tokens (required in usage)
|
|
144
|
-
- `cached_input_tokens: integer` - Number of cached input tokens (optional)
|
|
145
|
-
- `model: string` - Model identifier used for this call (required in usage)
|
|
146
|
-
|
|
147
|
-
**Usage Examples:**
|
|
148
|
-
```python
|
|
149
|
-
import json
|
|
150
|
-
from jsonschema import validate
|
|
151
|
-
|
|
152
|
-
# Load and use schema
|
|
153
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/llm_invocation.json') as f:
|
|
154
|
-
schema = json.load(f)
|
|
155
|
-
|
|
156
|
-
# Valid data example with usage tracking
|
|
157
|
-
data = {
|
|
158
|
-
"type": "llm_invocation",
|
|
159
|
-
"request": {
|
|
160
|
-
"model": "gpt-4",
|
|
161
|
-
"messages": [{"role": "user", "content": "Analyze this data"}],
|
|
162
|
-
"temperature": 0.7
|
|
163
|
-
},
|
|
164
|
-
"usage": {
|
|
165
|
-
"input_tokens": 150,
|
|
166
|
-
"output_tokens": 75,
|
|
167
|
-
"cached_input_tokens": 50,
|
|
168
|
-
"model": "gpt-4"
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
validate(instance=data, schema=schema)
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### tool_invocation_start.json
|
|
175
|
-
**Purpose:** Defines the schema for tool invocation start signals that notify when an agent begins executing a tool.
|
|
176
|
-
|
|
177
|
-
**Import:** Load as JSON schema for validation
|
|
178
|
-
```python
|
|
179
|
-
import json
|
|
180
|
-
from jsonschema import validate
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
**Schema Structure:**
|
|
184
|
-
```json
|
|
185
|
-
{
|
|
186
|
-
"type": "tool_invocation_start",
|
|
187
|
-
"tool_name": "string",
|
|
188
|
-
"tool_args": "object",
|
|
189
|
-
"function_call_id": "string"
|
|
190
|
-
}
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
**Properties:**
|
|
194
|
-
- `type: "tool_invocation_start"` - Constant identifier for this signal type (required)
|
|
195
|
-
- `tool_name: string` - Name of the tool being called (required)
|
|
196
|
-
- `tool_args: object` - Arguments passed to the tool (required)
|
|
197
|
-
- `function_call_id: string` - ID from the LLM's function call (required)
|
|
198
|
-
|
|
199
|
-
**Usage Examples:**
|
|
200
|
-
```python
|
|
201
|
-
import json
|
|
202
|
-
from jsonschema import validate
|
|
203
|
-
|
|
204
|
-
# Load and use schema
|
|
205
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/tool_invocation_start.json') as f:
|
|
206
|
-
schema = json.load(f)
|
|
207
|
-
|
|
208
|
-
# Valid data example
|
|
209
|
-
data = {
|
|
210
|
-
"type": "tool_invocation_start",
|
|
211
|
-
"tool_name": "file_reader",
|
|
212
|
-
"tool_args": {
|
|
213
|
-
"filepath": "/path/to/file.txt",
|
|
214
|
-
"encoding": "utf-8"
|
|
215
|
-
},
|
|
216
|
-
"function_call_id": "call_abc123"
|
|
217
|
-
}
|
|
218
|
-
validate(instance=data, schema=schema)
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
### tool_result.json
|
|
222
|
-
**Purpose:** Defines the schema for tool execution result signals that communicate the completion and results of tool invocations, with optional LLM usage tracking.
|
|
223
|
-
|
|
224
|
-
**Import:** Load as JSON schema for validation
|
|
225
|
-
```python
|
|
226
|
-
import json
|
|
227
|
-
from jsonschema import validate
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
**Schema Structure:**
|
|
231
|
-
```json
|
|
232
|
-
{
|
|
233
|
-
"type": "tool_result",
|
|
234
|
-
"tool_name": "string",
|
|
235
|
-
"result_data": "any",
|
|
236
|
-
"function_call_id": "string",
|
|
237
|
-
"llm_usage": {
|
|
238
|
-
"input_tokens": "integer",
|
|
239
|
-
"output_tokens": "integer",
|
|
240
|
-
"cached_input_tokens": "integer",
|
|
241
|
-
"model": "string"
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
**Properties:**
|
|
247
|
-
- `type: "tool_result"` - Constant identifier for this signal type (required)
|
|
248
|
-
- `tool_name: string` - Name of the tool that was called (required)
|
|
249
|
-
- `result_data: any` - The data returned by the tool (required, can be any type)
|
|
250
|
-
- `function_call_id: string` - ID from the LLM's function call that this result corresponds to (required)
|
|
251
|
-
- `llm_usage: object` - Token usage if this tool made LLM calls (optional)
|
|
252
|
-
- `input_tokens: integer` - Total input tokens used by tool's LLM calls (required in llm_usage)
|
|
253
|
-
- `output_tokens: integer` - Total output tokens used by tool's LLM calls (required in llm_usage)
|
|
254
|
-
- `cached_input_tokens: integer` - Number of cached input tokens (optional)
|
|
255
|
-
- `model: string` - Model identifier(s) used by the tool (required in llm_usage)
|
|
256
|
-
|
|
257
|
-
**Usage Examples:**
|
|
258
|
-
```python
|
|
259
|
-
import json
|
|
260
|
-
from jsonschema import validate
|
|
261
|
-
|
|
262
|
-
# Load and use schema
|
|
263
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/tool_result.json') as f:
|
|
264
|
-
schema = json.load(f)
|
|
265
|
-
|
|
266
|
-
# Valid data example with LLM usage
|
|
267
|
-
data = {
|
|
268
|
-
"type": "tool_result",
|
|
269
|
-
"tool_name": "web_search",
|
|
270
|
-
"result_data": {
|
|
271
|
-
"results": ["Result 1", "Result 2"],
|
|
272
|
-
"count": 2
|
|
273
|
-
},
|
|
274
|
-
"function_call_id": "call_abc123",
|
|
275
|
-
"llm_usage": {
|
|
276
|
-
"input_tokens": 200,
|
|
277
|
-
"output_tokens": 100,
|
|
278
|
-
"model": "gpt-4"
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
validate(instance=data, schema=schema)
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
**Common Usage Pattern:**
|
|
285
|
-
```python
|
|
286
|
-
import json
|
|
287
|
-
from jsonschema import validate
|
|
288
|
-
from pathlib import Path
|
|
289
|
-
from typing import Dict, Any
|
|
290
|
-
|
|
291
|
-
def validate_a2a_signal(signal_data: Dict[str, Any], schema_name: str) -> bool:
|
|
292
|
-
"""Validate A2A signal data against its schema."""
|
|
293
|
-
schema_path = Path(f"solace_agent_mesh/common/a2a_spec/schemas/{schema_name}.json")
|
|
294
|
-
|
|
295
|
-
with open(schema_path) as f:
|
|
296
|
-
schema = json.load(f)
|
|
297
|
-
|
|
298
|
-
try:
|
|
299
|
-
validate(instance=signal_data, schema=schema)
|
|
300
|
-
return True
|
|
301
|
-
except Exception as e:
|
|
302
|
-
print(f"Validation failed: {e}")
|
|
303
|
-
return False
|
|
304
|
-
|
|
305
|
-
def load_schema(schema_name: str) -> Dict[str, Any]:
|
|
306
|
-
"""Load a specific A2A signal schema."""
|
|
307
|
-
schema_path = Path(f"solace_agent_mesh/common/a2a_spec/schemas/{schema_name}.json")
|
|
308
|
-
with open(schema_path) as f:
|
|
309
|
-
return json.load(f)
|
|
310
|
-
|
|
311
|
-
# Example usage
|
|
312
|
-
progress_data = {
|
|
313
|
-
"type": "agent_progress_update",
|
|
314
|
-
"status_text": "Processing request..."
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
if validate_a2a_signal(progress_data, "agent_progress_update"):
|
|
318
|
-
print("Signal is valid!")
|
|
319
|
-
|
|
320
|
-
# Load all schemas for batch validation
|
|
321
|
-
schemas = {
|
|
322
|
-
"agent_progress": load_schema("agent_progress_update"),
|
|
323
|
-
"artifact_progress": load_schema("artifact_creation_progress"),
|
|
324
|
-
"llm_invocation": load_schema("llm_invocation"),
|
|
325
|
-
"tool_start": load_schema("tool_invocation_start"),
|
|
326
|
-
"tool_result": load_schema("tool_result")
|
|
327
|
-
}
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
# content_hash: 9b18c2ba0e0aa3d52a27ecd90f45376713fe2738cee386219f988fd84da93a51
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
# DEVELOPER GUIDE: common
|
|
2
|
-
|
|
3
|
-
## Quick Summary
|
|
4
|
-
The `common` directory provides the foundational infrastructure for Agent-to-Agent (A2A) communication within the Solace Agent Mesh. It establishes the core protocol, data types, and message translation logic that underpins all interactions between AI agents and gateways.
|
|
5
|
-
|
|
6
|
-
The architecture is designed for clarity and extensibility. Core, low-level definitions are located in **direct files**:
|
|
7
|
-
- `types.py` defines the canonical data structures (e.g., `Message`, `Task`, `AgentCard`).
|
|
8
|
-
- `a2a_protocol.py` handles the construction of Solace topics and the translation between A2A and Google ADK message formats.
|
|
9
|
-
- `agent_registry.py` provides a simple, thread-safe mechanism for discovering and tracking available agents.
|
|
10
|
-
|
|
11
|
-
This foundation is then leveraged by specialized **subdirectories**, which provide higher-level, ready-to-use components:
|
|
12
|
-
- `client/`: A complete client library for discovering and interacting with remote agents.
|
|
13
|
-
- `server/`: A stand-alone server implementation for building A2A-compliant agents.
|
|
14
|
-
- `middleware/`: A pluggable framework for customizing configuration and feature access.
|
|
15
|
-
- `services/`: A factory-based system for integrating identity and other external data sources.
|
|
16
|
-
- `utils/`: A collection of cross-cutting utilities for caching, logging, and dynamic content processing.
|
|
17
|
-
|
|
18
|
-
Together, these components form a cohesive ecosystem, enabling developers to either build new agents from scratch using the `server` components or interact with existing agents using the `client` library, all while relying on the same underlying protocol and types.
|
|
19
|
-
|
|
20
|
-
## Files and Subdirectories Overview
|
|
21
|
-
- **Direct files:**
|
|
22
|
-
- `__init__.py`: Package initialization file.
|
|
23
|
-
- `a2a_protocol.py`: Handles A2A topic construction and translation between A2A and ADK message formats.
|
|
24
|
-
- `agent_registry.py`: A thread-safe registry for managing discovered agent cards.
|
|
25
|
-
- `constants.py`: Common constants used across the system.
|
|
26
|
-
- `data_parts.py`: Pydantic models for structured data payloads used in A2A DataPart objects.
|
|
27
|
-
- `exceptions.py`: Custom exceptions for Solace Agent Mesh.
|
|
28
|
-
- `types.py`: Contains all Pydantic models for A2A protocol messages, tasks, and data structures.
|
|
29
|
-
- **Subdirectories:**
|
|
30
|
-
- `a2a/`: Comprehensive abstraction layer providing helper functions for creating, consuming, and translating A2A protocol objects.
|
|
31
|
-
- `a2a_spec/`: Complete JSON Schema specification for the A2A protocol.
|
|
32
|
-
- `client/`: Provides a high-level client for discovering and communicating with remote A2A agents.
|
|
33
|
-
- `middleware/`: A pluggable framework for configuration resolution and system extensibility.
|
|
34
|
-
- `sac/`: Base component framework for Solace Agent Mesh implementations in the Solace AI Connector.
|
|
35
|
-
- `sam_events/`: System-level event messaging for session lifecycle, agent health, and configuration changes.
|
|
36
|
-
- `server/`: A complete A2A server implementation with JSON-RPC support and task management.
|
|
37
|
-
- `services/`: Provides shared services like identity management using a factory pattern.
|
|
38
|
-
- `utils/`: Contains common utility functions and an embedded expression processing system.
|
|
39
|
-
|
|
40
|
-
## Developer API Reference
|
|
41
|
-
|
|
42
|
-
### Direct Files
|
|
43
|
-
|
|
44
|
-
#### a2a_protocol.py
|
|
45
|
-
**Purpose:** Provides the core functions for constructing Solace topics according to the A2A specification and for translating messages between the A2A format and the Google ADK format.
|
|
46
|
-
**Import:** `from solace_agent_mesh.common.a2a_protocol import get_agent_request_topic, translate_a2a_to_adk_content`
|
|
47
|
-
|
|
48
|
-
**Classes/Functions/Constants:**
|
|
49
|
-
- **Constants**:
|
|
50
|
-
- `A2A_VERSION: str`: The current version of the A2A protocol (e.g., "v1").
|
|
51
|
-
- `A2A_BASE_PATH: str`: The base path used in all A2A topics (e.g., "a2a/v1").
|
|
52
|
-
- **Topic Construction Functions**:
|
|
53
|
-
- `get_a2a_base_topic(namespace: str) -> str`: Returns the base topic prefix for all A2A communication.
|
|
54
|
-
- `get_discovery_topic(namespace: str) -> str`: Returns the topic for agent card discovery.
|
|
55
|
-
- `get_agent_request_topic(namespace: str, agent_name: str) -> str`: Returns the topic for sending requests to a specific agent.
|
|
56
|
-
- `get_gateway_status_topic(namespace: str, gateway_id: str, task_id: str) -> str`: Returns the topic for an agent to publish status updates to a gateway.
|
|
57
|
-
- `get_gateway_response_topic(namespace: str, gateway_id: str, task_id: str) -> str`: Returns the topic for an agent to publish final responses to a gateway.
|
|
58
|
-
- `get_client_response_topic(namespace: str, client_id: str) -> str`: Returns the topic for publishing final responses to a specific client.
|
|
59
|
-
- `get_client_status_topic(namespace: str, client_id: str, task_id: str) -> str`: Returns the topic for publishing status updates to a specific client.
|
|
60
|
-
- **Message Translation Functions**:
|
|
61
|
-
- `translate_a2a_to_adk_content(a2a_message: A2AMessage, log_identifier: str) -> adk_types.Content`: Translates an A2A `Message` object into the Google ADK `Content` format.
|
|
62
|
-
- `format_adk_event_as_a2a(...) -> Tuple[Optional[JSONRPCResponse], ...]`: Translates an ADK `Event` into an A2A `JSONRPCResponse` containing a `TaskStatusUpdateEvent`.
|
|
63
|
-
- `format_and_route_adk_event(...) -> Tuple[Optional[Dict], Optional[str], ...]`: A higher-level wrapper that formats an ADK event and determines the correct Solace topic to publish it to.
|
|
64
|
-
|
|
65
|
-
#### agent_registry.py
|
|
66
|
-
**Purpose:** Provides a simple, thread-safe, in-memory store for discovered `AgentCard` objects. This is useful for components that need to keep track of available agents in the network.
|
|
67
|
-
**Import:** `from solace_agent_mesh.common.agent_registry import AgentRegistry`
|
|
68
|
-
|
|
69
|
-
**Classes/Functions/Constants:**
|
|
70
|
-
- **`AgentRegistry`**: A thread-safe class for storing and managing agent cards.
|
|
71
|
-
- `add_or_update_agent(self, agent_card: AgentCard) -> bool`: Adds a new agent or updates an existing one, returns True if new.
|
|
72
|
-
- `get_agent(self, agent_name: str) -> Optional[AgentCard]`: Retrieves an agent card by its unique name.
|
|
73
|
-
- `get_agent_names(self) -> List[str]`: Returns a sorted list of all discovered agent names.
|
|
74
|
-
- `get_last_seen(self, agent_name: str) -> Optional[float]`: Returns the timestamp when the agent was last seen.
|
|
75
|
-
- `check_ttl_expired(self, agent_name: str, ttl_seconds: int) -> Tuple[bool, int]`: Checks if an agent's TTL has expired.
|
|
76
|
-
- `remove_agent(self, agent_name: str) -> bool`: Removes an agent from the registry.
|
|
77
|
-
- `clear(self)`: Clears all agents from the registry.
|
|
78
|
-
|
|
79
|
-
#### constants.py
|
|
80
|
-
**Purpose:** Defines common constants used throughout the Solace Agent Mesh system.
|
|
81
|
-
**Import:** `from solace_agent_mesh.common.constants import DEFAULT_COMMUNICATION_TIMEOUT`
|
|
82
|
-
|
|
83
|
-
**Classes/Functions/Constants:**
|
|
84
|
-
- `DEFAULT_COMMUNICATION_TIMEOUT: int`: Default timeout for communication operations (600 seconds / 10 minutes).
|
|
85
|
-
- `HEALTH_CHECK_TTL_SECONDS: int`: Time after which a health check is considered stale (60 seconds).
|
|
86
|
-
- `HEALTH_CHECK_INTERVAL_SECONDS: int`: Interval between health checks (10 seconds).
|
|
87
|
-
- `TEXT_ARTIFACT_CONTEXT_MAX_LENGTH_CAPACITY: int`: Maximum number of characters that can be loaded from a text artifact (200,000).
|
|
88
|
-
- `TEXT_ARTIFACT_CONTEXT_DEFAULT_LENGTH: int`: Default number of characters to load from a text artifact (100,000).
|
|
89
|
-
|
|
90
|
-
#### data_parts.py
|
|
91
|
-
**Purpose:** Defines Pydantic models for structured data payloads used in A2A DataPart objects, corresponding to JSON schemas for agent communication signals.
|
|
92
|
-
**Import:** `from solace_agent_mesh.common.data_parts import ToolInvocationStartData, LlmInvocationData`
|
|
93
|
-
|
|
94
|
-
**Classes/Functions/Constants:**
|
|
95
|
-
- **`ToolInvocationStartData`**: Data model for tool invocation start signals.
|
|
96
|
-
- `type: Literal["tool_invocation_start"]`: The constant type identifier.
|
|
97
|
-
- `tool_name: str`: The name of the tool being called.
|
|
98
|
-
- `tool_args: Dict[str, Any]`: The arguments passed to the tool.
|
|
99
|
-
- `function_call_id: str`: The ID from the LLM's function call.
|
|
100
|
-
- **`LlmInvocationData`**: Data model for LLM invocation signals.
|
|
101
|
-
- `type: Literal["llm_invocation"]`: The constant type identifier.
|
|
102
|
-
- `request: Dict[str, Any]`: A sanitized representation of the LlmRequest object.
|
|
103
|
-
- `usage: Optional[Dict[str, Any]]`: Token usage information for this LLM call.
|
|
104
|
-
- **`AgentProgressUpdateData`**: Data model for agent progress update signals.
|
|
105
|
-
- `type: Literal["agent_progress_update"]`: The constant type identifier.
|
|
106
|
-
- `status_text: str`: A human-readable progress message.
|
|
107
|
-
- **`ArtifactCreationProgressData`**: Data model for artifact creation progress signals.
|
|
108
|
-
- `type: Literal["artifact_creation_progress"]`: The constant type identifier.
|
|
109
|
-
- `filename: str`: The name of the artifact being created.
|
|
110
|
-
- `status: Literal["in-progress", "completed", "failed"]`: The status of the artifact creation.
|
|
111
|
-
- `bytes_transferred: int`: The number of bytes transferred so far.
|
|
112
|
-
- `description: Optional[str]`: An optional description of the artifact being created.
|
|
113
|
-
- `artifact_chunk: Optional[str]`: The chunk of artifact data that was transferred in this progress update.
|
|
114
|
-
- `mime_type: Optional[str]`: The MIME type of the artifact (for completed status).
|
|
115
|
-
- **`ToolResultData`**: Data model for tool execution result signals.
|
|
116
|
-
- `type: Literal["tool_result"]`: The constant type identifier.
|
|
117
|
-
- `tool_name: str`: The name of the tool that was called.
|
|
118
|
-
- `result_data: Any`: The data returned by the tool.
|
|
119
|
-
- `function_call_id: str`: The ID from the LLM's function call.
|
|
120
|
-
- `llm_usage: Optional[Dict[str, Any]]`: Token usage if this tool made LLM calls.
|
|
121
|
-
|
|
122
|
-
#### exceptions.py
|
|
123
|
-
**Purpose:** Defines custom exceptions specific to the Solace Agent Mesh system.
|
|
124
|
-
**Import:** `from solace_agent_mesh.common.exceptions import MessageSizeExceededError`
|
|
125
|
-
|
|
126
|
-
**Classes/Functions/Constants:**
|
|
127
|
-
- **`MessageSizeExceededError(Exception)`**: Raised when a message exceeds the maximum allowed size.
|
|
128
|
-
- `__init__(self, actual_size: int, max_size: int, message: str = None)`: Initialize with size information.
|
|
129
|
-
- `actual_size: int`: The actual size of the message in bytes.
|
|
130
|
-
- `max_size: int`: The maximum allowed size in bytes.
|
|
131
|
-
|
|
132
|
-
#### types.py
|
|
133
|
-
**Purpose:** Defines all the Pydantic data models that constitute the A2A protocol. These types ensure data consistency and provide validation across all components.
|
|
134
|
-
**Import:** `from solace_agent_mesh.common.types import Message, Task, AgentCard, JSONRPCRequest, TaskState`
|
|
135
|
-
|
|
136
|
-
**Classes/Functions/Constants:**
|
|
137
|
-
- **Core Data Structures**:
|
|
138
|
-
- `Message`: Represents a message from a user or agent, containing a list of `Part` objects.
|
|
139
|
-
- `Part`: A discriminated union of `TextPart`, `FilePart`, and `DataPart`.
|
|
140
|
-
- `Task`: The central object representing a complete task, including its ID, status, history, and artifacts.
|
|
141
|
-
- `TaskStatus`: Describes the current state of a task (e.g., `WORKING`, `COMPLETED`).
|
|
142
|
-
- `TaskState(Enum)`: An enumeration of all possible task states.
|
|
143
|
-
- `AgentCard`: A comprehensive description of an agent's identity, capabilities, and skills.
|
|
144
|
-
- `Artifact`: Represents a task output, such as a generated file or structured data.
|
|
145
|
-
- **JSON-RPC Structures**:
|
|
146
|
-
- `JSONRPCRequest`: The base model for all JSON-RPC requests.
|
|
147
|
-
- `JSONRPCResponse`: The base model for all JSON-RPC responses.
|
|
148
|
-
- `SendTaskRequest`, `GetTaskRequest`, etc.: Specific request types inheriting from `JSONRPCRequest`.
|
|
149
|
-
- **Error Structures**:
|
|
150
|
-
- `JSONRPCError`: The base model for errors.
|
|
151
|
-
- `InternalError`, `TaskNotFoundError`, etc.: Specific error types inheriting from `JSONRPCError`.
|
|
152
|
-
|
|
153
|
-
### Subdirectory APIs
|
|
154
|
-
|
|
155
|
-
#### a2a/
|
|
156
|
-
**Purpose:** Comprehensive abstraction layer providing helper functions for creating, consuming, and translating A2A protocol objects
|
|
157
|
-
**Key Exports:** Helper functions for messages, tasks, artifacts, events, and protocol operations
|
|
158
|
-
**Import Examples:**
|
|
159
|
-
```python
|
|
160
|
-
from solace_agent_mesh.common.a2a import create_agent_text_message, create_initial_task, translate_a2a_to_adk_content
|
|
161
|
-
from solace_agent_mesh.common.a2a.message import create_text_part, get_text_from_message
|
|
162
|
-
from solace_agent_mesh.common.a2a.protocol import get_agent_request_topic, create_send_message_request
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
#### a2a_spec/
|
|
166
|
-
**Purpose:** Contains the complete Agent-to-Agent (A2A) communication specification including JSON schema definitions
|
|
167
|
-
**Key Exports:** JSON Schema specifications for A2A protocol and agent communication signals
|
|
168
|
-
**Import Examples:**
|
|
169
|
-
```python
|
|
170
|
-
import json
|
|
171
|
-
from jsonschema import validate
|
|
172
|
-
|
|
173
|
-
# Load main A2A schema
|
|
174
|
-
with open('solace_agent_mesh/common/a2a_spec/a2a.json') as f:
|
|
175
|
-
a2a_schema = json.load(f)
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
#### client/
|
|
179
|
-
**Purpose:** Provides a high-level, asynchronous client library for discovering and interacting with remote A2A agents.
|
|
180
|
-
**Key Exports:** `A2AClient`, `A2ACardResolver`
|
|
181
|
-
**Import Examples:**
|
|
182
|
-
```python
|
|
183
|
-
from solace_agent_mesh.common.client import A2AClient, A2ACardResolver
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
#### middleware/
|
|
187
|
-
**Purpose:** A pluggable middleware framework for customizing system behavior, such as resolving user-specific configurations and feature flags.
|
|
188
|
-
**Key Exports:** `ConfigResolver`, `MiddlewareRegistry`
|
|
189
|
-
**Import Examples:**
|
|
190
|
-
```python
|
|
191
|
-
from solace_agent_mesh.common.middleware import ConfigResolver, MiddlewareRegistry
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
#### sac/
|
|
195
|
-
**Purpose:** Base component framework for Solace Agent Mesh implementations in the Solace AI Connector with async operations management
|
|
196
|
-
**Key Exports:** `SamComponentBase`
|
|
197
|
-
**Import Examples:**
|
|
198
|
-
```python
|
|
199
|
-
from solace_agent_mesh.common.sac.sam_component_base import SamComponentBase
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
#### sam_events/
|
|
203
|
-
**Purpose:** System-level event messaging for session lifecycle, agent health, and configuration changes separate from A2A task communication
|
|
204
|
-
**Key Exports:** `SamEventService`, `SamEvent`, `SessionDeletedEvent`
|
|
205
|
-
**Import Examples:**
|
|
206
|
-
```python
|
|
207
|
-
from solace_agent_mesh.common.sam_events import SamEventService, SamEvent, SessionDeletedEvent
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
#### server/
|
|
211
|
-
**Purpose:** A complete, stand-alone server for building A2A-compliant agents, handling HTTP requests, JSON-RPC, and task lifecycle management.
|
|
212
|
-
**Key Exports:** `A2AServer`, `TaskManager`, `InMemoryTaskManager`
|
|
213
|
-
**Import Examples:**
|
|
214
|
-
```python
|
|
215
|
-
from solace_agent_mesh.common.server import A2AServer, TaskManager, InMemoryTaskManager
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
#### services/
|
|
219
|
-
**Purpose:** A factory-based system for integrating external data sources for identity, employee information, and more.
|
|
220
|
-
**Key Exports:** `BaseIdentityService`, `create_identity_service`
|
|
221
|
-
**Import Examples:**
|
|
222
|
-
```python
|
|
223
|
-
from solace_agent_mesh.common.services.identity_service import create_identity_service, BaseIdentityService
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
#### utils/
|
|
227
|
-
**Purpose:** A collection of cross-cutting utilities for caching, logging, MIME type handling, and dynamic content processing.
|
|
228
|
-
**Key Exports:** `InMemoryCache`, `is_text_based_mime_type`, `resolve_emb
|
|
229
|
-
|
|
230
|
-
# content_hash: 6fd3be2d2c731f45200e4f3968c7ff82a85f6d57e8269b276fd56cd4444013c9
|