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,445 +0,0 @@
|
|
|
1
|
-
# DEVELOPER GUIDE: a2a_spec
|
|
2
|
-
|
|
3
|
-
## Quick Summary
|
|
4
|
-
The `a2a_spec` directory contains the complete Agent-to-Agent (A2A) communication specification for the Solace Agent Mesh. It includes the main JSON schema definition (`a2a.json`) that defines all data structures, request/response types, and error codes for agent communication, plus a `schemas/` subdirectory containing specialized validation schemas for various agent signals and progress updates. Together, these provide a comprehensive framework for validating and implementing compliant agent-to-agent communication.
|
|
5
|
-
|
|
6
|
-
## Files and Subdirectories Overview
|
|
7
|
-
- **Direct files:**
|
|
8
|
-
- `a2a.json` - Complete JSON Schema specification for A2A protocol including all data types, requests, responses, and error definitions
|
|
9
|
-
- `a2a_spec_llm.txt` - Developer guide documentation for the A2A specification
|
|
10
|
-
- `a2a_spec_llm_detail.txt` - Concatenated detailed documentation from all subdirectories
|
|
11
|
-
- **Subdirectories:**
|
|
12
|
-
- `schemas/` - JSON Schema definitions for agent communication signals (progress updates, tool invocations, LLM calls, artifact creation)
|
|
13
|
-
|
|
14
|
-
## Developer API Reference
|
|
15
|
-
|
|
16
|
-
### Direct Files
|
|
17
|
-
|
|
18
|
-
#### a2a.json
|
|
19
|
-
**Purpose:** Complete JSON Schema specification defining the Agent-to-Agent communication protocol
|
|
20
|
-
**Import:** This is a JSON Schema file, typically loaded for validation purposes
|
|
21
|
-
|
|
22
|
-
**Key Schema Definitions:**
|
|
23
|
-
- **AgentCard** - Self-describing manifest for agents with capabilities, skills, and endpoints
|
|
24
|
-
- **Message** - Individual messages in agent conversations with parts (text, files, data)
|
|
25
|
-
- **Task** - Stateful operations/conversations between clients and agents
|
|
26
|
-
- **A2ARequest/A2AResponse** - All supported JSON-RPC request and response types
|
|
27
|
-
- **Security Schemes** - OAuth2, API Key, mTLS, and other authentication methods
|
|
28
|
-
- **Error Types** - Standard JSON-RPC and A2A-specific error definitions
|
|
29
|
-
|
|
30
|
-
**Core Data Structures:**
|
|
31
|
-
```typescript
|
|
32
|
-
// Agent Card - describes agent capabilities
|
|
33
|
-
AgentCard {
|
|
34
|
-
name: string
|
|
35
|
-
description: string
|
|
36
|
-
url: string
|
|
37
|
-
skills: AgentSkill[]
|
|
38
|
-
capabilities: AgentCapabilities
|
|
39
|
-
security: SecurityRequirement[]
|
|
40
|
-
// ... additional fields
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// Message - conversation content
|
|
44
|
-
Message {
|
|
45
|
-
messageId: string
|
|
46
|
-
role: "user" | "agent"
|
|
47
|
-
parts: Part[] // TextPart | FilePart | DataPart
|
|
48
|
-
taskId?: string
|
|
49
|
-
contextId?: string
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// Task - stateful operation
|
|
53
|
-
Task {
|
|
54
|
-
id: string
|
|
55
|
-
contextId: string
|
|
56
|
-
status: TaskStatus
|
|
57
|
-
history?: Message[]
|
|
58
|
-
artifacts?: Artifact[]
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
#### a2a_spec_llm.txt
|
|
63
|
-
**Purpose:** Developer documentation and usage guide for the A2A specification
|
|
64
|
-
**Import:** Documentation file for reference
|
|
65
|
-
|
|
66
|
-
#### a2a_spec_llm_detail.txt
|
|
67
|
-
**Purpose:** Comprehensive documentation combining all subdirectory guides
|
|
68
|
-
**Import:** Documentation file for reference
|
|
69
|
-
|
|
70
|
-
### Subdirectory APIs
|
|
71
|
-
|
|
72
|
-
#### schemas/
|
|
73
|
-
**Purpose:** Provides JSON Schema definitions for agent communication signals and progress updates
|
|
74
|
-
**Key Exports:** Schema definitions for progress tracking, tool invocations, LLM calls, and artifact creation
|
|
75
|
-
**Import Examples:**
|
|
76
|
-
```python
|
|
77
|
-
import json
|
|
78
|
-
from jsonschema import validate
|
|
79
|
-
|
|
80
|
-
# Load and use schemas for validation
|
|
81
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/agent_progress_update.json') as f:
|
|
82
|
-
progress_schema = json.load(f)
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
**Available Schemas:**
|
|
86
|
-
- `agent_progress_update.json` - General progress status messages
|
|
87
|
-
- `artifact_creation_progress.json` - File/artifact creation tracking with chunked data and status
|
|
88
|
-
- `llm_invocation.json` - LLM model invocation signals with usage tracking
|
|
89
|
-
- `tool_invocation_start.json` - Tool execution start notifications
|
|
90
|
-
- `tool_result.json` - Tool execution completion results with optional LLM usage
|
|
91
|
-
|
|
92
|
-
## Complete Usage Guide
|
|
93
|
-
|
|
94
|
-
### 1. Loading and Using the A2A Schema
|
|
95
|
-
|
|
96
|
-
```python
|
|
97
|
-
import json
|
|
98
|
-
from jsonschema import validate, Draft7Validator
|
|
99
|
-
|
|
100
|
-
# Load the main A2A schema
|
|
101
|
-
with open('solace_agent_mesh/common/a2a_spec/a2a.json') as f:
|
|
102
|
-
a2a_schema = json.load(f)
|
|
103
|
-
|
|
104
|
-
# Create validator for specific types
|
|
105
|
-
def validate_agent_card(card_data):
|
|
106
|
-
"""Validate an AgentCard against the schema"""
|
|
107
|
-
card_schema = a2a_schema['definitions']['AgentCard']
|
|
108
|
-
validate(instance=card_data, schema=card_schema)
|
|
109
|
-
|
|
110
|
-
def validate_message(message_data):
|
|
111
|
-
"""Validate a Message against the schema"""
|
|
112
|
-
message_schema = a2a_schema['definitions']['Message']
|
|
113
|
-
validate(instance=message_data, schema=message_schema)
|
|
114
|
-
|
|
115
|
-
def validate_request(request_data):
|
|
116
|
-
"""Validate an A2A request"""
|
|
117
|
-
request_schema = a2a_schema['definitions']['A2ARequest']
|
|
118
|
-
validate(instance=request_data, schema=request_schema)
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### 2. Creating Valid A2A Data Structures
|
|
122
|
-
|
|
123
|
-
```python
|
|
124
|
-
# Create a valid Message
|
|
125
|
-
message = {
|
|
126
|
-
"kind": "message",
|
|
127
|
-
"messageId": "msg-123",
|
|
128
|
-
"role": "user",
|
|
129
|
-
"parts": [
|
|
130
|
-
{
|
|
131
|
-
"kind": "text",
|
|
132
|
-
"text": "Hello, can you help me with a task?"
|
|
133
|
-
}
|
|
134
|
-
]
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
# Create a SendMessage request
|
|
138
|
-
send_request = {
|
|
139
|
-
"jsonrpc": "2.0",
|
|
140
|
-
"id": "req-456",
|
|
141
|
-
"method": "message/send",
|
|
142
|
-
"params": {
|
|
143
|
-
"message": message
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
# Validate the request
|
|
148
|
-
validate_request(send_request)
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### 3. Using Agent Communication Schemas
|
|
152
|
-
|
|
153
|
-
```python
|
|
154
|
-
import json
|
|
155
|
-
from jsonschema import validate
|
|
156
|
-
|
|
157
|
-
# Load and validate progress update
|
|
158
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/agent_progress_update.json') as f:
|
|
159
|
-
progress_schema = json.load(f)
|
|
160
|
-
|
|
161
|
-
progress_update = {
|
|
162
|
-
"type": "agent_progress_update",
|
|
163
|
-
"status_text": "Processing your request..."
|
|
164
|
-
}
|
|
165
|
-
validate(instance=progress_update, schema=progress_schema)
|
|
166
|
-
|
|
167
|
-
# Load and validate tool invocation
|
|
168
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/tool_invocation_start.json') as f:
|
|
169
|
-
tool_schema = json.load(f)
|
|
170
|
-
|
|
171
|
-
tool_invocation = {
|
|
172
|
-
"type": "tool_invocation_start",
|
|
173
|
-
"tool_name": "file_reader",
|
|
174
|
-
"tool_args": {"filepath": "/data/file.txt"},
|
|
175
|
-
"function_call_id": "call_123"
|
|
176
|
-
}
|
|
177
|
-
validate(instance=tool_invocation, schema=tool_schema)
|
|
178
|
-
|
|
179
|
-
# Load and validate tool result
|
|
180
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/tool_result.json') as f:
|
|
181
|
-
result_schema = json.load(f)
|
|
182
|
-
|
|
183
|
-
tool_result = {
|
|
184
|
-
"type": "tool_result",
|
|
185
|
-
"tool_name": "file_reader",
|
|
186
|
-
"result_data": {"content": "File contents...", "size": 1024},
|
|
187
|
-
"function_call_id": "call_123"
|
|
188
|
-
}
|
|
189
|
-
validate(instance=tool_result, schema=result_schema)
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### 4. Working with Agent Cards
|
|
193
|
-
|
|
194
|
-
```python
|
|
195
|
-
# Create a complete AgentCard
|
|
196
|
-
agent_card = {
|
|
197
|
-
"name": "Document Processor",
|
|
198
|
-
"description": "Agent that processes and analyzes documents",
|
|
199
|
-
"url": "https://api.example.com/agent",
|
|
200
|
-
"version": "1.0.0",
|
|
201
|
-
"protocolVersion": "0.3.0",
|
|
202
|
-
"capabilities": {
|
|
203
|
-
"streaming": True,
|
|
204
|
-
"pushNotifications": False,
|
|
205
|
-
"stateTransitionHistory": True
|
|
206
|
-
},
|
|
207
|
-
"defaultInputModes": ["text/plain", "application/pdf"],
|
|
208
|
-
"defaultOutputModes": ["text/plain", "application/json"],
|
|
209
|
-
"skills": [
|
|
210
|
-
{
|
|
211
|
-
"id": "document-analysis",
|
|
212
|
-
"name": "Document Analysis",
|
|
213
|
-
"description": "Analyze and extract information from documents",
|
|
214
|
-
"tags": ["document", "analysis", "extraction"]
|
|
215
|
-
}
|
|
216
|
-
]
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
# Validate the agent card
|
|
220
|
-
validate_agent_card(agent_card)
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
### 5. Enhanced Artifact Creation Progress Tracking
|
|
224
|
-
|
|
225
|
-
```python
|
|
226
|
-
# Load artifact creation schema
|
|
227
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/artifact_creation_progress.json') as f:
|
|
228
|
-
artifact_schema = json.load(f)
|
|
229
|
-
|
|
230
|
-
# Track artifact creation in progress with chunked data
|
|
231
|
-
artifact_progress = {
|
|
232
|
-
"type": "artifact_creation_progress",
|
|
233
|
-
"filename": "report.pdf",
|
|
234
|
-
"description": "Monthly sales report",
|
|
235
|
-
"status": "in-progress",
|
|
236
|
-
"bytes_transferred": 1024,
|
|
237
|
-
"artifact_chunk": "JVBERi0xLjQKJcOkw7zDtsO..." # Base64 encoded chunk
|
|
238
|
-
}
|
|
239
|
-
validate(instance=artifact_progress, schema=artifact_schema)
|
|
240
|
-
|
|
241
|
-
# Track artifact completion
|
|
242
|
-
artifact_completed = {
|
|
243
|
-
"type": "artifact_creation_progress",
|
|
244
|
-
"filename": "report.pdf",
|
|
245
|
-
"status": "completed",
|
|
246
|
-
"bytes_transferred": 5120,
|
|
247
|
-
"mime_type": "application/pdf"
|
|
248
|
-
}
|
|
249
|
-
validate(instance=artifact_completed, schema=artifact_schema)
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### 6. LLM Invocation Tracking
|
|
253
|
-
|
|
254
|
-
```python
|
|
255
|
-
# Load LLM invocation schema
|
|
256
|
-
with open('solace_agent_mesh/common/a2a_spec/schemas/llm_invocation.json') as f:
|
|
257
|
-
llm_schema = json.load(f)
|
|
258
|
-
|
|
259
|
-
# Track LLM calls with usage information
|
|
260
|
-
llm_invocation = {
|
|
261
|
-
"type": "llm_invocation",
|
|
262
|
-
"request": {
|
|
263
|
-
"model": "gpt-4",
|
|
264
|
-
"messages": [{"role": "user", "content": "Analyze this data"}],
|
|
265
|
-
"temperature": 0.7
|
|
266
|
-
},
|
|
267
|
-
"usage": {
|
|
268
|
-
"input_tokens": 150,
|
|
269
|
-
"output_tokens": 75,
|
|
270
|
-
"cached_input_tokens": 50,
|
|
271
|
-
"model": "gpt-4"
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
validate(instance=llm_invocation, schema=llm_schema)
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
### 7. Complete Request/Response Flow with Progress Tracking
|
|
278
|
-
|
|
279
|
-
```python
|
|
280
|
-
# 1. Create and send a message
|
|
281
|
-
message = {
|
|
282
|
-
"kind": "message",
|
|
283
|
-
"messageId": "msg-001",
|
|
284
|
-
"role": "user",
|
|
285
|
-
"parts": [{"kind": "text", "text": "Analyze this document"}]
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
request = {
|
|
289
|
-
"jsonrpc": "2.0",
|
|
290
|
-
"id": "req-001",
|
|
291
|
-
"method": "message/send",
|
|
292
|
-
"params": {
|
|
293
|
-
"message": message,
|
|
294
|
-
"configuration": {
|
|
295
|
-
"blocking": False,
|
|
296
|
-
"acceptedOutputModes": ["text/plain", "application/json"]
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
# 2. Send progress updates during processing
|
|
302
|
-
def send_progress_update(status_text):
|
|
303
|
-
progress = {
|
|
304
|
-
"type": "agent_progress_update",
|
|
305
|
-
"status_text": status_text
|
|
306
|
-
}
|
|
307
|
-
# Validate and send progress update
|
|
308
|
-
validate(instance=progress, schema=progress_schema)
|
|
309
|
-
return progress
|
|
310
|
-
|
|
311
|
-
# 3. Track tool invocations
|
|
312
|
-
def track_tool_invocation(tool_name, args, call_id):
|
|
313
|
-
invocation = {
|
|
314
|
-
"type": "tool_invocation_start",
|
|
315
|
-
"tool_name": tool_name,
|
|
316
|
-
"tool_args": args,
|
|
317
|
-
"function_call_id": call_id
|
|
318
|
-
}
|
|
319
|
-
validate(instance=invocation, schema=tool_schema)
|
|
320
|
-
return invocation
|
|
321
|
-
|
|
322
|
-
# 4. Track tool results with LLM usage
|
|
323
|
-
def track_tool_result(tool_name, result_data, call_id, llm_usage=None):
|
|
324
|
-
result = {
|
|
325
|
-
"type": "tool_result",
|
|
326
|
-
"tool_name": tool_name,
|
|
327
|
-
"result_data": result_data,
|
|
328
|
-
"function_call_id": call_id
|
|
329
|
-
}
|
|
330
|
-
if llm_usage:
|
|
331
|
-
result["llm_usage"] = llm_usage
|
|
332
|
-
validate(instance=result, schema=result_schema)
|
|
333
|
-
return result
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
### 8. Comprehensive Schema Validation Utilities
|
|
337
|
-
|
|
338
|
-
```python
|
|
339
|
-
class A2AValidator:
|
|
340
|
-
"""Utility class for A2A schema validation"""
|
|
341
|
-
|
|
342
|
-
def __init__(self, schema_dir='solace_agent_mesh/common/a2a_spec'):
|
|
343
|
-
self.schema_dir = schema_dir
|
|
344
|
-
self.main_schema = self._load_main_schema()
|
|
345
|
-
self.signal_schemas = self._load_signal_schemas()
|
|
346
|
-
|
|
347
|
-
def _load_main_schema(self):
|
|
348
|
-
with open(f'{self.schema_dir}/a2a.json') as f:
|
|
349
|
-
return json.load(f)
|
|
350
|
-
|
|
351
|
-
def _load_signal_schemas(self):
|
|
352
|
-
schemas = {}
|
|
353
|
-
schema_files = [
|
|
354
|
-
'agent_progress_update.json',
|
|
355
|
-
'artifact_creation_progress.json',
|
|
356
|
-
'llm_invocation.json',
|
|
357
|
-
'tool_invocation_start.json',
|
|
358
|
-
'tool_result.json'
|
|
359
|
-
]
|
|
360
|
-
for filename in schema_files:
|
|
361
|
-
with open(f'{self.schema_dir}/schemas/{filename}') as f:
|
|
362
|
-
schema_name = filename.replace('.json', '')
|
|
363
|
-
schemas[schema_name] = json.load(f)
|
|
364
|
-
return schemas
|
|
365
|
-
|
|
366
|
-
def validate_definition(self, data, definition_name):
|
|
367
|
-
"""Validate data against a specific A2A definition"""
|
|
368
|
-
schema = self.main_schema['definitions'][definition_name]
|
|
369
|
-
validate(instance=data, schema=schema)
|
|
370
|
-
|
|
371
|
-
def validate_signal(self, data, signal_type):
|
|
372
|
-
"""Validate agent communication signal"""
|
|
373
|
-
schema = self.signal_schemas[signal_type]
|
|
374
|
-
validate(instance=data, schema=schema)
|
|
375
|
-
|
|
376
|
-
def validate_a2a_message(self, message_data):
|
|
377
|
-
"""Validate a complete A2A message"""
|
|
378
|
-
self.validate_definition(message_data, 'Message')
|
|
379
|
-
|
|
380
|
-
def validate_agent_card(self, card_data):
|
|
381
|
-
"""Validate an agent card"""
|
|
382
|
-
self.validate_definition(card_data, 'AgentCard')
|
|
383
|
-
|
|
384
|
-
def validate_task(self, task_data):
|
|
385
|
-
"""Validate a task object"""
|
|
386
|
-
self.validate_definition(task_data, 'Task')
|
|
387
|
-
|
|
388
|
-
# Usage example
|
|
389
|
-
validator = A2AValidator()
|
|
390
|
-
|
|
391
|
-
# Validate main A2A objects
|
|
392
|
-
validator.validate_agent_card(agent_card)
|
|
393
|
-
validator.validate_a2a_message(message)
|
|
394
|
-
|
|
395
|
-
# Validate communication signals
|
|
396
|
-
validator.validate_signal(progress_update, 'agent_progress_update')
|
|
397
|
-
validator.validate_signal(tool_invocation, 'tool_invocation_start')
|
|
398
|
-
validator.validate_signal(tool_result, 'tool_result')
|
|
399
|
-
validator.validate_signal(artifact_progress, 'artifact_creation_progress')
|
|
400
|
-
validator.validate_signal(llm_invocation, 'llm_invocation')
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
### 9. Error Handling with A2A Error Types
|
|
404
|
-
|
|
405
|
-
```python
|
|
406
|
-
# Create A2A-specific errors using the schema definitions
|
|
407
|
-
task_not_found_error = {
|
|
408
|
-
"code": -32001,
|
|
409
|
-
"message": "Task not found",
|
|
410
|
-
"data": {"taskId": "task-123"}
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
content_type_error = {
|
|
414
|
-
"code": -32005,
|
|
415
|
-
"message": "Incompatible content types",
|
|
416
|
-
"data": {"requested": "image/png", "supported": ["text/plain", "application/json"]}
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
# Create error response
|
|
420
|
-
error_response = {
|
|
421
|
-
"jsonrpc": "2.0",
|
|
422
|
-
"id": "req-456",
|
|
423
|
-
"error": task_not_found_error
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
# Validate error response
|
|
427
|
-
validator.validate_definition(error_response, 'JSONRPCErrorResponse')
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
### 10. Working with Different Transport Protocols
|
|
431
|
-
|
|
432
|
-
```python
|
|
433
|
-
# Create agent card with multiple transport interfaces
|
|
434
|
-
agent_card_multi_transport = {
|
|
435
|
-
"name": "Multi-Transport Agent",
|
|
436
|
-
"description": "Agent supporting multiple transport protocols",
|
|
437
|
-
"url": "https://api.example.com/jsonrpc",
|
|
438
|
-
"preferredTransport": "JSONRPC",
|
|
439
|
-
"additionalInterfaces": [
|
|
440
|
-
{
|
|
441
|
-
"url": "https://api.example.com/jsonrpc",
|
|
442
|
-
"transport": "JSONRPC"
|
|
443
|
-
},
|
|
444
|
-
|
|
445
|
-
# content_hash: b8b4bc87e9300c50f2500efdd840bb765e107bfbc1de283800934528e8092614
|