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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunksolace_agenitc_mesh_docs=self.webpackChunksolace_agenitc_mesh_docs||[]).push([[9335],{7814:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"documentation/deploying/kubernetes/kubernetes-deployment-guide","title":"Kubernetes Deployment Guide","description":"Target Audience: DevOps Engineers & Kubernetes Administrators","source":"@site/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide.md","sourceDirName":"documentation/deploying/kubernetes","slug":"/documentation/deploying/kubernetes/kubernetes-deployment-guide","permalink":"/solace-agent-mesh/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide","draft":false,"unlisted":false,"editUrl":"https://github.com/SolaceLabs/solace-agent-mesh/edit/main/docs/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docSidebar","previous":{"title":"Kubernetes","permalink":"/solace-agent-mesh/docs/documentation/deploying/kubernetes/"},"next":{"title":"Monitoring Your Agent Mesh","permalink":"/solace-agent-mesh/docs/documentation/deploying/observability"}}');var r=s(4848),i=s(8453);const o={},l="Kubernetes Deployment Guide",c={},d=[{value:"1. Kubernetes Platform Support",id:"1-kubernetes-platform-support",level:2},{value:"Supported Versions",id:"supported-versions",level:3},{value:"Distribution Support Matrix",id:"distribution-support-matrix",level:3},{value:"Constraints & Limitations",id:"constraints--limitations",level:3},{value:"2. Compute Resource Guidance",id:"2-compute-resource-guidance",level:2},{value:"Processor Architecture Support",id:"processor-architecture-support",level:3},{value:"Recommended Node Sizing",id:"recommended-node-sizing",level:3},{value:"Component Resource Specifications",id:"component-resource-specifications",level:3},{value:"Custom Mesh Components (Customer-Managed)",id:"custom-mesh-components-customer-managed",level:3},{value:"Capacity Planning (Per Agent)",id:"capacity-planning-per-agent",level:3},{value:"3. Persistence Layer Strategy",id:"3-persistence-layer-strategy",level:2},{value:"A. Production Deployments (Mandatory)",id:"a-production-deployments-mandatory",level:3},{value:"B. Dev / POC Deployments (Optional Starter Layer)",id:"b-dev--poc-deployments-optional-starter-layer",level:3},{value:"5. Network Connectivity & Prerequisites",id:"5-network-connectivity--prerequisites",level:2},{value:"A. Inbound Traffic (Web Gateway)",id:"a-inbound-traffic-web-gateway",level:3},{value:"B. Outbound Platform Access",id:"b-outbound-platform-access",level:3},{value:"C. Application & Mesh Component Connectivity",id:"c-application--mesh-component-connectivity",level:3},{value:"D. Corporate Proxy Configuration",id:"d-corporate-proxy-configuration",level:3},{value:"E. Tooling & Guides",id:"e-tooling--guides",level:3}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"kubernetes-deployment-guide",children:"Kubernetes Deployment Guide"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Target Audience:"})," DevOps Engineers & Kubernetes Administrators"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose:"})," Infrastructure prerequisites and sizing guidance for deploying Solace Agent Mesh (SAM) Enterprise in customer-managed Kubernetes environments."]}),"\n",(0,r.jsx)(n.h2,{id:"1-kubernetes-platform-support",children:"1. Kubernetes Platform Support"}),"\n",(0,r.jsx)(n.p,{children:"SAM is designed to run on standard, CNCF-compliant Kubernetes clusters. While we adhere to open standards, our Quality Assurance (QA) validation focuses on the managed services of major cloud providers."}),"\n",(0,r.jsx)(n.h3,{id:"supported-versions",children:"Supported Versions"}),"\n",(0,r.jsxs)(n.p,{children:["We support the ",(0,r.jsx)(n.strong,{children:"three (3) most recent minor versions of upstream Kubernetes"}),"."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"For Cloud Managed (EKS, AKS, GKE):"})," We validate against the provider's default release channels."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"For On-Premise (OpenShift, Rancher, etc.):"})," Compatibility is determined by the ",(0,r.jsx)(n.strong,{children:"underlying Kubernetes API version"}),", not the vendor's product version. Ensure your distribution's K8s version falls within the supported upstream window."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"distribution-support-matrix",children:"Distribution Support Matrix"}),"\n",(0,r.jsxs)("table",{children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Category"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Distributions"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Support Level"})})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{style:{verticalAlign:"top"},children:(0,r.jsx)("strong",{children:"Validated"})}),(0,r.jsxs)("td",{style:{verticalAlign:"top"},children:["\u2022 AWS EKS",(0,r.jsx)("br",{}),"\u2022 Azure AKS",(0,r.jsx)("br",{}),"\u2022 Google GKE"]}),(0,r.jsxs)("td",{style:{verticalAlign:"top"},children:[(0,r.jsx)("strong",{children:"Tier 1 Support."})," We explicitly validate SAM releases against these environments."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{style:{verticalAlign:"top"},children:(0,r.jsx)("strong",{children:"Compatible"})}),(0,r.jsxs)("td",{style:{verticalAlign:"top"},children:["\u2022 Red Hat OpenShift",(0,r.jsx)("br",{}),"\u2022 VMware Tanzu (TKG)",(0,r.jsx)("br",{}),"\u2022 SUSE Rancher (RKE2)",(0,r.jsx)("br",{}),"\u2022 Oracle Container Engine (OKE)",(0,r.jsx)("br",{}),"\u2022 Canonical Charmed Kubernetes",(0,r.jsx)("br",{}),"\u2022 Upstream K8s (kubeadm)"]}),(0,r.jsxs)("td",{style:{verticalAlign:"top"},children:[(0,r.jsx)("strong",{children:"Tier 2 Support."})," SAM is compatible with standard Kubernetes APIs. For distributions with proprietary security constraints (e.g., OpenShift SCCs, Tanzu PSPs), Solace support is limited to confirming API compatibility only. Solace does not provide setup, configuration, or troubleshooting assistance for customer-specific security policies or proprietary features\u2014these remain the customer's responsibility."]})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"constraints--limitations",children:"Constraints & Limitations"}),"\n",(0,r.jsx)(n.p,{children:"To prevent deployment failures, ensure your cluster meets the following constraints:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Node Architecture:"})," SAM requires ",(0,r.jsx)(n.strong,{children:"Standard Worker Nodes"})," backed by VMs or Bare Metal."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Not Supported:"})," Serverless or Virtual Nodes (e.g., ",(0,r.jsx)(n.strong,{children:"AWS Fargate, GKE Autopilot"}),", Azure Virtual Nodes) are not supported due to local storage and networking limitations."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Security Context:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["SAM containers run as ",(0,r.jsx)(n.strong,{children:"non-root users"})," (UID 999) by default."]}),"\n",(0,r.jsxs)(n.li,{children:["SAM ",(0,r.jsx)(n.strong,{children:"does NOT"})," require ",(0,r.jsx)(n.code,{children:"privileged: true"})," capabilities or root access."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.em,{children:"OpenShift Note:"})," You may need to add the service account to the ",(0,r.jsx)(n.code,{children:"nonroot"})," SCC if your cluster enforces ",(0,r.jsx)(n.code,{children:"restricted-v2"})," by default."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Monitoring:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["SAM ",(0,r.jsx)(n.strong,{children:"does NOT"})," deploy DaemonSets for monitoring."]}),"\n",(0,r.jsx)(n.li,{children:"Observability/Monitoring is the customer's responsibility."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"2-compute-resource-guidance",children:"2. Compute Resource Guidance"}),"\n",(0,r.jsx)(n.p,{children:"SAM workloads utilize a microservices architecture. Resource requirements scale based on the number of concurrent Agents you intend to run."}),"\n",(0,r.jsx)(n.h3,{id:"processor-architecture-support",children:"Processor Architecture Support"}),"\n",(0,r.jsx)(n.p,{children:"SAM container images are built for multi-architecture support. You may provision nodes using either architecture based on your organization's standards:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"ARM64 (Recommended):"})," Offers the best price/performance ratio (e.g., AWS Graviton, Azure Cobalt, Google Axion)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"x86_64 (Intel/AMD):"})," Fully supported for standard deployments."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"recommended-node-sizing",children:"Recommended Node Sizing"}),"\n",(0,r.jsxs)(n.p,{children:["For Production environments, we recommend using latest-generation ",(0,r.jsx)(n.strong,{children:"General Purpose"})," worker nodes to balance CPU and Memory (with a 1:4 ratio)."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Recommended Specification:"})," ",(0,r.jsx)(n.strong,{children:"4 vCPU / 16 GB RAM"})]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.em,{children:"ARM Examples:"})," AWS ",(0,r.jsx)(n.code,{children:"m8g.xlarge"}),", Azure ",(0,r.jsx)(n.code,{children:"Standard_D4ps_v6"}),", GCP ",(0,r.jsx)(n.code,{children:"c4a-standard-4"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.em,{children:"x86 Examples:"})," AWS ",(0,r.jsx)(n.code,{children:"m8i.xlarge"}),", Azure ",(0,r.jsx)(n.code,{children:"Standard_D4s_v6"}),", GCP ",(0,r.jsx)(n.code,{children:"n2-standard-4"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Minimum Specification:"})," ",(0,r.jsx)(n.strong,{children:"2 vCPU / 8 GB RAM"})," (Note: smaller nodes will limit agent density)."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.em,{children:"ARM Examples:"})," AWS ",(0,r.jsx)(n.code,{children:"m8g.large"}),", Azure ",(0,r.jsx)(n.code,{children:"Standard_D2ps_v6"}),", GCP ",(0,r.jsx)(n.code,{children:"c4a-standard-2"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.em,{children:"x86 Examples:"})," AWS ",(0,r.jsx)(n.code,{children:"m8i.large"}),", Azure ",(0,r.jsx)(n.code,{children:"Standard_D2s_v6"}),", GCP ",(0,r.jsx)(n.code,{children:"n2-standard-2"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note"}),": For AWS, Azure, and GCP, should any of these instance types be unavailable in your region of choice, we recommend choosing the next closest equivalent (e.g. ",(0,r.jsx)(n.code,{children:"m7g.large"})," instead of ",(0,r.jsx)(n.code,{children:"m8g.large"}),")."]}),"\n",(0,r.jsx)(n.h3,{id:"component-resource-specifications",children:"Component Resource Specifications"}),"\n",(0,r.jsx)(n.p,{children:"To assist with Quota planning and, if in use, Cluster Autoscaler configuration, the following table details the default Resource Requests and Limits for the mandatory core components."}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note:"})," These values represent the application container only. If your environment injects sidecars (e.g., Istio, Dapr, Splunk), ensure you calculate additional overhead to prevent scheduling failures."]}),"\n"]}),"\n",(0,r.jsxs)("table",{children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Component"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Description"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"CPU Request"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"CPU Limit"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"RAM Request"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"RAM Limit"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"QoS Class"})})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{style:{verticalAlign:"top"},children:(0,r.jsx)("strong",{children:"Agent Mesh"})}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Includes Core services, Orchestrator Agent, and Web UI Gateway."}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"175m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"200m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"625 MiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"1 GiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Burstable"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{style:{verticalAlign:"top"},children:(0,r.jsx)("strong",{children:"Deployer"})}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Responsible for dynamically deploying SAM-managed Agents, Gateways, and mesh components."}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"100m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"100m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"100 MiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"100 MiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Guaranteed"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{style:{verticalAlign:"top"},children:(0,r.jsx)("strong",{children:"Agent"})}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"The runtime for a single Agent instance (scales horizontally)."}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"175m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"200m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"625 MiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"768 MiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Burstable"})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"custom-mesh-components-customer-managed",children:"Custom Mesh Components (Customer-Managed)"}),"\n",(0,r.jsxs)(n.p,{children:["For ",(0,r.jsx)(n.strong,{children:"Custom Agents"})," or external components that are not managed/provisioned by the Deployer:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Responsibility:"})," The customer is responsible for defining the Deployment manifests and resource requirements."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Sizing:"})," We recommend starting with the ",(0,r.jsx)(n.code,{children:"SAM Agent"})," baseline (175m / 625 MiB) and adjusting based on the specific logic or model inference requirements of your custom code."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"capacity-planning-per-agent",children:"Capacity Planning (Per Agent)"}),"\n",(0,r.jsxs)(n.p,{children:["When sizing your cluster, budget the following reservations for ",(0,r.jsx)(n.em,{children:"each"})," concurrent Solace Agent you plan to deploy:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Memory Request:"})," ",(0,r.jsx)(n.strong,{children:"625 MiB"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Memory Limit:"})," ",(0,r.jsx)(n.strong,{children:"768 MiB"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"CPU Request:"})," ",(0,r.jsx)(n.strong,{children:"175m"})," (0.175 vCPU)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"CPU Limit:"})," ",(0,r.jsx)(n.strong,{children:"200m"})," (0.2 vCPU)"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"3-persistence-layer-strategy",children:"3. Persistence Layer Strategy"}),"\n",(0,r.jsx)(n.p,{children:"SAM requires a relational database (PostgreSQL) and an object store (S3-compatible) to function."}),"\n",(0,r.jsx)(n.h3,{id:"a-production-deployments-mandatory",children:"A. Production Deployments (Mandatory)"}),"\n",(0,r.jsxs)(n.p,{children:["For production environments, you ",(0,r.jsx)(n.strong,{children:"must"})," provide your own managed external persistence services. Solace does not support running stateful databases inside the SAM cluster for production traffic."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Database:"})," PostgreSQL 17+ (e.g., AWS RDS, Azure Database for PostgreSQL, Cloud SQL)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Object Store:"})," S3-Compatible API (e.g., AWS S3, Azure Blob, Google Cloud Storage)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Configuration:"})," Refer to the ",(0,r.jsx)(n.a,{href:"https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/session-storage",children:(0,r.jsx)(n.em,{children:"Session Storage"})})," ",(0,r.jsx)(n.em,{children:"and"})," ",(0,r.jsx)(n.a,{href:"https://solacelabs.github.io/solace-agent-mesh/docs/documentation/installing-and-configuring/artifact-storage",children:(0,r.jsx)(n.em,{children:"Artifact Storage"})})," to configure connection strings and secrets for your installation."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Authentication:"})," Standard Username/Password authentication via Kubernetes Secret is supported."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"b-dev--poc-deployments-optional-starter-layer",children:"B. Dev / POC Deployments (Optional Starter Layer)"}),"\n",(0,r.jsxs)(n.p,{children:["For convenience, the ",(0,r.jsx)(n.a,{href:"https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deploying/kubernetes-deployment#using-the-helm-quickstart",children:"SAM Helm Quickstart"}),' chart includes an optional "Starter Persistence Layer" (Containerized PostgreSQL + SeaweedFS).']}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case:"})," Strictly for ",(0,r.jsx)(n.strong,{children:"Evaluation, Development, and Proof of Concept (POC)"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Support Policy:"})," ",(0,r.jsx)(n.strong,{children:"Unsupported."}),' Solace provides these components "as-is" for quick startup. We do not provide patches, backups, or data recovery support for embedded persistence pods.']}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Data Persistence:"})," If the pods restart, data is preserved only if a valid StorageClass is configured."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Starter Layer Resource Requirements:"})}),"\n",(0,r.jsxs)("table",{children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Component"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Description"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"CPU Request"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"CPU Limit"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"RAM Request"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"RAM Limit"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Recommended Volume Size"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"QoS Class"})})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsxs)("td",{style:{verticalAlign:"top"},children:[(0,r.jsx)("strong",{children:"Postgres"})," (Starter)"]}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Embedded database for configuration state (Dev/POC only)."}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"175m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"175m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"625 MiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"625 MiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"30 GiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Guaranteed"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsxs)("td",{style:{verticalAlign:"top"},children:[(0,r.jsx)("strong",{children:"SeaweedFS"})," (Starter)"]}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Embedded S3-compatible object storage for artifacts (Dev/POC only)."}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"175m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"175m"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"625 MiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"625 MiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"50 GiB"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Guaranteed"})]})]})]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Storage Class Recommendations (Starter Layer Only):"})}),"\n",(0,r.jsxs)(n.p,{children:["If you choose to use the ",(0,r.jsx)(n.strong,{children:"Starter Persistence Layer"})," for development, performance is heavily dependent on the underlying disk I/O. Using slow standard disks (HDD) will cause Agent timeouts."]}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Warning:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Default StorageClasses often have ",(0,r.jsx)(n.code,{children:"reclaimPolicy: Delete"}),". If you're using SAM Helm Quickstart, uninstalling the Helm release will permanently delete your Dev data. If data persistence is required across re-installs, please configure a StorageClass with ",(0,r.jsx)(n.code,{children:"reclaimPolicy: Retain"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["For managed Kubernetes clusters (e.g., EKS, AKS, GKE), use a ",(0,r.jsx)(n.code,{children:"StorageClass"})," with ",(0,r.jsx)(n.code,{children:"volumeBindingMode: WaitForFirstConsumer"})," and ensure the underlying disk is single-zone. This avoids initial scheduling and later re-scheduling failures due to cross-zone volumes."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["We recommend using ",(0,r.jsx)(n.strong,{children:"SSD-backed Storage Classes"}),":"]}),"\n",(0,r.jsxs)("table",{children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Provider"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Recommended StorageClass"})}),(0,r.jsx)("th",{style:{textAlign:"left"},children:(0,r.jsx)("strong",{children:"Underlying Tech (Disk Type)"})})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{style:{verticalAlign:"top"},children:(0,r.jsx)("strong",{children:"AWS EKS"})}),(0,r.jsxs)("td",{style:{verticalAlign:"top"},children:["Any storage class using the ",(0,r.jsx)("code",{children:"gp3"})," disk type."]}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"EBS General Purpose SSD. EBS volumes are implicitly zoned."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{style:{verticalAlign:"top"},children:(0,r.jsx)("strong",{children:"Azure AKS"})}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Any storage class that uses zoned SSDs."}),(0,r.jsxs)("td",{style:{verticalAlign:"top"},children:["Azure Zoned Premium SSD (",(0,r.jsx)("code",{children:"Premium_LRS"}),")."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{style:{verticalAlign:"top"},children:(0,r.jsx)("strong",{children:"Google GKE"})}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Variable, depends on chosen instance type."}),(0,r.jsxs)("td",{style:{verticalAlign:"top"},children:["Variable, support depends on instance type. Search for ",(0,r.jsx)("code",{children:"Supported disk types"})," in ",(0,r.jsx)(n.a,{href:"https://docs.cloud.google.com/compute/docs/general-purpose-machines",children:"https://docs.cloud.google.com/compute/docs/general-purpose-machines"}),". Examples: hyperdisk-balanced pd-ssd"]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{style:{verticalAlign:"top"},children:(0,r.jsx)("strong",{children:"Generic"})}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"Any CSI driver supporting SSD"}),(0,r.jsx)("td",{style:{verticalAlign:"top"},children:"NVMe / SSD"})]})]})]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Node Pool Topology Recommendations (Starter Layer Only):"})}),"\n",(0,r.jsxs)(n.p,{children:["In AKS, EKS, and GKE, if nodes are available in more than one availability zone for a region, one node pool (e.g. node group, or provider-specific equivalent) must be provisioned for each availability zone. The simplest approach with the starter layer is to provision node instances for SAM deployments in ",(0,r.jsx)(n.strong,{children:"one availability zone only"})," to avoid this complexity. Official recommendations from cloud providers are as follows:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["AKS: ",(0,r.jsx)(n.a,{href:"https://learn.microsoft.com/en-us/azure/aks/cluster-autoscaler?tabs=azure-cli#re-enable-the-cluster-autoscaler-on-a-node-pool",children:"https://learn.microsoft.com/en-us/azure/aks/cluster-autoscaler?tabs=azure-cli#re-enable-the-cluster-autoscaler-on-a-node-pool"})]}),"\n",(0,r.jsxs)(n.li,{children:["EKS: ",(0,r.jsx)(n.a,{href:"https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-concepts",children:"https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-concepts"})]}),"\n",(0,r.jsx)(n.li,{children:"GKE: We recommend following the above pattern for simplicity and consistency."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"We recommend a similar approach for other cloud providers as applicable. This does not apply when using external persistence solutions (e.g. managed Postgres and S3-compatible storage) as all SAM workloads will be stateless."}),"\n",(0,r.jsx)(n.h2,{id:"5-network-connectivity--prerequisites",children:"5. Network Connectivity & Prerequisites"}),"\n",(0,r.jsx)(n.p,{children:"SAM operates as a connected application mesh. To ensure proper functionality, your network environment must allow specific inbound and outbound traffic flows."}),"\n",(0,r.jsx)(n.h3,{id:"a-inbound-traffic-web-gateway",children:"A. Inbound Traffic (Web Gateway)"}),"\n",(0,r.jsxs)(n.p,{children:["SAM provisions a ",(0,r.jsx)(n.strong,{children:"Web Gateway"})," service to handle incoming API traffic and UI access."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Ingress Controller:"})," An Ingress Controller (e.g., NGINX, ALB) must be present in the cluster to route traffic to this Gateway."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"TLS Termination:"})," Production deployments should terminate TLS at the Ingress layer. You must supply your TLS Certificate and Key as a standard Kubernetes Secret and reference it in your Helm ",(0,r.jsx)(n.code,{children:"values.yaml"}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"b-outbound-platform-access",children:"B. Outbound Platform Access"}),"\n",(0,r.jsx)(n.p,{children:"The core SAM platform requires outbound connectivity to specific infrastructure services."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Container Registry:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Direct Access:"})," Outbound access to ",(0,r.jsx)(n.code,{children:"gcr.io/gcp-maas-prod"}),". Requires a Pull Secret obtained from the Solace Cloud Console."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Private Mirror (Air-Gapped):"})," If using a private registry (e.g., Artifactory), you must mirror images from ",(0,r.jsx)(n.code,{children:"gcr.io"})," and configure ",(0,r.jsx)(n.code,{children:"global.imageRegistry"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Solace Event Broker Access:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Solace Cloud Event Broker Service:"})," Allow connectivity to ",(0,r.jsx)(n.code,{children:"*.messaging.solace.cloud"})," or your specific Solace Cloud region CNAMEs."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Self-Hosted Brokers:"})," Allow traffic to the SMF (55555) or SMF+TLS (55443) ports of your on-premise appliances/software brokers."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"LLM Providers:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The core platform (and Agents) requires access to your configured Model Providers (e.g., ",(0,r.jsx)(n.code,{children:"api.openai.com"}),", ",(0,r.jsx)(n.code,{children:"your-azure-endpoint.openai.azure.com"}),")."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Identity Provider (IdP) Access:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"The SAM Control Plane requires outbound network connectivity to your organization's IdP (e.g., Microsoft Entra ID, AWS Cognito, or any SAML/OIDC-compliant provider) for authentication and authorization."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"c-application--mesh-component-connectivity",children:"C. Application & Mesh Component Connectivity"}),"\n",(0,r.jsxs)(n.p,{children:["Beyond the core platform, the specific ",(0,r.jsx)(n.strong,{children:"Agents"})," and ",(0,r.jsx)(n.strong,{children:"Gateways"})," you deploy will require their own network paths."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Agent Integrations:"})," If you deploy Agents designed to interact with external enterprise systems (e.g., Salesforce, Jira, Snowflake, Oracle DB), you must ensure the Kubernetes worker nodes have network reachability to these target services."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Gateway Exposure:"})," If you deploy additional Mesh Gateways for specific domains or protocols, ensure your Ingress configuration allows for the necessary inbound routes, ports, and protocols."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"d-corporate-proxy-configuration",children:"D. Corporate Proxy Configuration"}),"\n",(0,r.jsxs)(n.p,{children:["For environments with strict egress filtering, SAM supports routing outbound traffic through a corporate ",(0,r.jsx)(n.strong,{children:"HTTP/HTTPS Proxy"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"e-tooling--guides",children:"E. Tooling & Guides"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Installation Tooling:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Helm v3"})," is the recommended installer."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Alternative:"})," You may use ",(0,r.jsx)(n.code,{children:"helm template"})," to render manifests for direct ",(0,r.jsx)(n.code,{children:"kubectl"})," application or integration with GitOps tools (ArgoCD, Flux)."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Documentation:"})," Please refer to the ",(0,r.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/deploying/kubernetes/#using-the-helm-quickstart",children:"SAM Kubernetes Deployment Guide"})," for detailed configuration steps regarding the Helm chart, secrets, proxies, and network rules."]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>l});var t=s(6540);const r={},i=t.createContext(r);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunksolace_agenitc_mesh_docs=self.webpackChunksolace_agenitc_mesh_docs||[]).push([[9257],{4074:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"documentation/getting-started/getting-started","title":"Getting Started","description":"Agent Mesh is an open-source framework for building event-driven multi-agent AI systems that solve complex problems through intelligent collaboration. You can use it to create teams of specialized AI agents that work together seamlessly, each bringing unique capabilities while communicating through Solace\'s proven event-driven architecture.","source":"@site/docs/documentation/getting-started/getting-started.md","sourceDirName":"documentation/getting-started","slug":"/documentation/getting-started/","permalink":"/solace-agent-mesh/docs/documentation/getting-started/","draft":false,"unlisted":false,"editUrl":"https://github.com/SolaceLabs/solace-agent-mesh/edit/main/docs/docs/documentation/getting-started/getting-started.md","tags":[],"version":"current","sidebarPosition":12,"frontMatter":{"title":"Getting Started","sidebar_position":12},"sidebar":"docSidebar","next":{"title":"What is Agent Mesh?","permalink":"/solace-agent-mesh/docs/documentation/getting-started/introduction"}}');var s=n(4848),i=n(8453);const a={title:"Getting Started",sidebar_position:12},r="Get Started with Agent Mesh",c={},l=[{value:"Understanding Agent Mesh",id:"understanding-agent-mesh",level:2},{value:"Getting Started Quickly",id:"getting-started-quickly",level:2},{value:"Building with Agent Mesh",id:"building-with-agent-mesh",level:2},{value:"Core Components",id:"core-components",level:2},{value:"Advanced Capabilities",id:"advanced-capabilities",level:2},{value:"Learning Through Examples",id:"learning-through-examples",level:2},{value:"Additional Resources",id:"additional-resources",level:2}];function d(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",p:"p",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"get-started-with-agent-mesh",children:"Get Started with Agent Mesh"})}),"\n",(0,s.jsx)(t.p,{children:"Agent Mesh is an open-source framework for building event-driven multi-agent AI systems that solve complex problems through intelligent collaboration. You can use it to create teams of specialized AI agents that work together seamlessly, each bringing unique capabilities while communicating through Solace's proven event-driven architecture."}),"\n",(0,s.jsx)(t.p,{children:"Whether you're building intelligent automation systems, creating sophisticated AI workflows, or integrating AI capabilities across your enterprise, Agent Mesh provides the foundation you need. The framework handles agent communication automatically, so you can focus on building powerful AI experiences that scale with your needs."}),"\n",(0,s.jsx)(t.h2,{id:"understanding-agent-mesh",children:"Understanding Agent Mesh"}),"\n",(0,s.jsxs)(t.p,{children:["Before diving into implementation, it's helpful to understand what makes Agent Mesh unique. The framework combines the power of Google's Agent Development Kit with Solace's event-driven messaging platform, creating a robust foundation for multi-agent AI systems. To learn about the core concepts and architectural principles that drive the framework's design, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/getting-started/introduction",children:"What is Agent Mesh?"})]}),"\n",(0,s.jsxs)(t.p,{children:["The system's event-driven architecture enables true scalability and reliability, allowing agents to communicate asynchronously while maintaining loose coupling between components. For detailed insights into how these components work together to create a cohesive AI ecosystem, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/getting-started/architecture",children:"Architecture Overview"})]}),"\n",(0,s.jsxs)(t.p,{children:["To see how all the pieces fit together, you can explore the key building blocks that make up every Agent Mesh deployment. For more information, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/components/",children:"Components Overview"})]}),"\n",(0,s.jsx)(t.h2,{id:"getting-started-quickly",children:"Getting Started Quickly"}),"\n",(0,s.jsxs)(t.p,{children:["The fastest way to experience Agent Mesh is through our pre-configured Docker setup that gets you up and running with a working system in minutes. This approach lets you explore the framework's capabilities immediately without any installation or complex configuration. To get started right away, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/getting-started/try-agent-mesh",children:"Try Agent Mesh"})]}),"\n",(0,s.jsxs)(t.p,{children:["Once you've explored the basic functionality and want to set up your own development environment, you'll need to install the CLI and framework tools. The installation process supports multiple approaches including pip, uv, and Docker, making it easy to integrate with your existing workflow. For complete setup instructions, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/installing-and-configuring/installation",children:"Installation"})]}),"\n",(0,s.jsxs)(t.p,{children:["For those ready to build their own projects from scratch, comprehensive guidance is available for creating and configuring custom deployments with full control over your agent mesh. This approach provides the flexibility needed for serious development work and production environments. To learn about project creation and configuration, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/installing-and-configuring/run-project",children:"Creating and Running an Agent Mesh Project"})]}),"\n",(0,s.jsxs)(t.p,{children:["Vibe coding is an alternative approach for learning and building projects from scratch with minimal prior knowledge of Solace Agent Mesh. To learn more about vibe coding, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/getting-started/vibe_coding",children:"Vibe Coding"})]}),"\n",(0,s.jsx)(t.h2,{id:"building-with-agent-mesh",children:"Building with Agent Mesh"}),"\n",(0,s.jsx)(t.p,{children:"Creating effective AI systems requires understanding how to design and implement the right components for your use case. The framework provides several key building blocks that you can combine and customize to meet your specific needs."}),"\n",(0,s.jsxs)(t.p,{children:["Specialized AI components can perform specific tasks, access particular data sources, or integrate with external systems, with each agent bringing its own capabilities while participating in the larger collaborative ecosystem. To learn how to build these components, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/developing/create-agents",children:"Creating Agents"})]}),"\n",(0,s.jsxs)(t.p,{children:["Interfaces that connect your agent mesh to the outside world enable integration through REST APIs, web interfaces, chat platforms, or custom integrations. For guidance on building these connection points, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/developing/create-gateways",children:"Creating Gateways"})]}),"\n",(0,s.jsxs)(t.p,{children:["Custom tools extend functionality beyond the built-in capabilities, allowing agents to interact with databases, APIs, file systems, or any other resources your applications require. To understand how to add these extensions, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/developing/creating-python-tools",children:"Creating Python Tools"})]}),"\n",(0,s.jsx)(t.h2,{id:"core-components",children:"Core Components"}),"\n",(0,s.jsx)(t.p,{children:"Agent Mesh is built around several fundamental components that work together to create intelligent, collaborative systems. Understanding these components helps you design effective solutions and troubleshoot issues when they arise."}),"\n",(0,s.jsxs)(t.p,{children:["The intelligent workers of your system are powered by AI models and equipped with specialized tools, capable of analyzing data, generating content, making decisions, and delegating tasks to other agents when needed. For more information, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/components/agents",children:"Agents"})]}),"\n",(0,s.jsxs)(t.p,{children:["Bridges between your agent mesh and external systems translate requests from users, applications, or other systems into the standardized communication protocol that agents understand. To learn about these interface components, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/components/gateways",children:"Gateways"})]}),"\n",(0,s.jsxs)(t.p,{children:["The conductor of your agent symphony breaks down complex requests into manageable tasks and coordinates the work of multiple agents to achieve sophisticated outcomes. For details about this coordination system, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/components/orchestrator",children:"Orchestrator"})]}),"\n",(0,s.jsxs)(t.p,{children:["A powerful extension mechanism lets you add new capabilities to your system without modifying core components, making it easy to integrate with existing tools and services. To understand how to extend your system, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/components/plugins",children:"Plugins"})]}),"\n",(0,s.jsxs)(t.p,{children:["Comprehensive command-line tools manage your projects from initial setup through deployment and ongoing maintenance. For information about these development tools, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/components/cli",children:"CLI"})]}),"\n",(0,s.jsx)(t.h2,{id:"advanced-capabilities",children:"Advanced Capabilities"}),"\n",(0,s.jsx)(t.p,{children:"As your AI systems grow in complexity and scale, Agent Mesh provides advanced features to support enterprise deployments and sophisticated use cases."}),"\n",(0,s.jsxs)(t.p,{children:["Various approaches for running Agent Mesh in production range from single-machine setups to distributed enterprise deployments across multiple environments. To explore your deployment options, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/deploying/deployment-options",children:"Deployment Options"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["For comprehensive guidance on deploying to Kubernetes with Helm charts and enterprise configurations, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/deploying/kubernetes/",children:"Kubernetes"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Real-time monitoring capabilities help you track performance metrics and debug issues when they occur, with the framework's event-driven architecture providing natural visibility into all system interactions. For guidance on system monitoring, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/deploying/observability",children:"Observability"})]}),"\n",(0,s.jsxs)(t.p,{children:["Organizations with specific security and governance requirements can leverage advanced capabilities including role-based access control, single sign-on integration, and enterprise-grade security features. To learn about these advanced features, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/enterprise/",children:"Enterprise Features"})]}),"\n",(0,s.jsx)(t.h2,{id:"learning-through-examples",children:"Learning Through Examples"}),"\n",(0,s.jsx)(t.p,{children:"Practical tutorials help you understand how to apply Agent Mesh to real-world scenarios. These hands-on guides walk you through building complete solutions that demonstrate the framework's capabilities."}),"\n",(0,s.jsxs)(t.p,{children:["Creating agents that can query databases and provide intelligent responses based on your organization's data demonstrates how to integrate with existing data sources. For a complete walkthrough, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/developing/tutorials/sql-database",children:"SQL Database Integration"})]}),"\n",(0,s.jsxs)(t.p,{children:["Building a gateway that lets users interact with your agent mesh directly through Slack brings AI capabilities into existing workflows and communication platforms. To learn how to set this up, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/developing/tutorials/slack-integration",children:"Slack Integration"})]}),"\n",(0,s.jsxs)(t.p,{children:["Creating a specialized agent from scratch, including tool integration and configuration, shows you the complete development process for custom components. For step-by-step guidance, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/developing/tutorials/custom-agent",children:"Custom Agent Tutorial"})]}),"\n",(0,s.jsxs)(t.p,{children:["Incorporating Model Context Protocol servers into your agent mesh extends capabilities through standardized integrations with external tools and services. To understand this integration approach, see ",(0,s.jsx)(t.a,{href:"/solace-agent-mesh/docs/documentation/developing/tutorials/mcp-integration",children:"MCP Integration"})]}),"\n",(0,s.jsx)(t.h2,{id:"additional-resources",children:"Additional Resources"}),"\n",(0,s.jsxs)(t.p,{children:["Beyond the core documentation, several resources can help you get the most out of Agent Mesh. The latest source code, example configurations, and community discussions are available in the ",(0,s.jsx)(t.a,{href:"https://github.com/SolaceLabs/solace-agent-mesh",children:"GitHub repository"})]}),"\n",(0,s.jsxs)(t.p,{children:["Pre-built functionality for common use cases provides tested integrations that you can incorporate into your own projects. You can find these extensions in the ",(0,s.jsx)(t.a,{href:"https://github.com/SolaceLabs/solace-agent-mesh-core-plugins",children:"official plugins repository"})]}),"\n",(0,s.jsxs)(t.p,{children:["Participating in the project's development is possible through reporting issues, suggesting improvements, or contributing code. To learn how you can get involved, see the ",(0,s.jsx)(t.a,{href:"https://github.com/SolaceLabs/solace-agent-mesh/blob/main/CONTRIBUTING.md",children:"Contributing Guide"})]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var o=n(6540);const s={},i=o.createContext(s);function a(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunksolace_agenitc_mesh_docs=self.webpackChunksolace_agenitc_mesh_docs||[]).push([[6840],{405:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"documentation/enterprise/agent-builder","title":"Agent Builder","description":"Agent Builder provides a visual, form-based interface for creating and managing agents without writing configuration files. This tool offers optional AI assistance that suggests initial configuration values based on a description of the agent you want to build.","source":"@site/docs/documentation/enterprise/agent-builder.md","sourceDirName":"documentation/enterprise","slug":"/documentation/enterprise/agent-builder","permalink":"/solace-agent-mesh/docs/documentation/enterprise/agent-builder","draft":false,"unlisted":false,"editUrl":"https://github.com/SolaceLabs/solace-agent-mesh/edit/main/docs/docs/documentation/enterprise/agent-builder.md","tags":[],"version":"current","sidebarPosition":8,"frontMatter":{"title":"Agent Builder","sidebar_position":8},"sidebar":"docSidebar","previous":{"title":"Running from Wheel File","permalink":"/solace-agent-mesh/docs/documentation/enterprise/wheel-installation"},"next":{"title":"Connectors","permalink":"/solace-agent-mesh/docs/documentation/enterprise/connectors/"}}');var s=t(4848),a=t(8453);const o={title:"Agent Builder",sidebar_position:8},r="Agent Builder",l={},d=[{value:"Creating Your First Agent",id:"creating-your-first-agent",level:2},{value:"AI-Assisted Creation",id:"ai-assisted-creation",level:3},{value:"Manual Creation",id:"manual-creation",level:3},{value:"Configuring the Agent",id:"configuring-the-agent",level:2},{value:"Agent Details",id:"agent-details",level:3},{value:"Instructions",id:"instructions",level:3},{value:"Toolsets",id:"toolsets",level:3},{value:"Connectors",id:"connectors",level:3},{value:"Deploying and Managing Agents",id:"deploying-and-managing-agents",level:2},{value:"How Deployment Works",id:"how-deployment-works",level:3},{value:"Agent States",id:"agent-states",level:3},{value:"Managing Deployed Agents",id:"managing-deployed-agents",level:3},{value:"Downloading Agent Configurations",id:"downloading-agent-configurations",level:2},{value:"What Downloaded YAML Files Are Designed For",id:"what-downloaded-yaml-files-are-designed-for",level:3},{value:"When to Download",id:"when-to-download",level:3},{value:"Access Control",id:"access-control",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"agent-builder",children:"Agent Builder"})}),"\n",(0,s.jsx)(n.p,{children:"Agent Builder provides a visual, form-based interface for creating and managing agents without writing configuration files. This tool offers optional AI assistance that suggests initial configuration values based on a description of the agent you want to build."}),"\n",(0,s.jsx)(n.p,{children:'When you click the "Create Agent" button from the Agents page, a dialog appears offering AI assistance. You can describe what you want the agent to do in natural language, and the AI generates initial configuration values for you to review and modify. Alternatively, you can skip AI assistance and manually enter all configuration details yourself.'}),"\n",(0,s.jsx)(n.p,{children:"After you configure the agent in the form and save it, the agent appears in the Inactive tab with Not Deployed status. At this point, you can further edit the configuration, download it as a YAML file, or deploy it to make it available for use in Chat."}),"\n",(0,s.jsx)(n.h2,{id:"creating-your-first-agent",children:"Creating Your First Agent"}),"\n",(0,s.jsx)(n.p,{children:"Agent Builder offers two paths for beginning your agent configuration."}),"\n",(0,s.jsx)(n.h3,{id:"ai-assisted-creation",children:"AI-Assisted Creation"}),"\n",(0,s.jsx)(n.p,{children:'You can provide a natural language description of what you want the agent to do. Explain the agent\'s purpose, the types of tasks it handles, and any specific capabilities it needs. For example, "An agent that helps users search company documentation and answer questions about internal policies" or "An agent that analyzes sales data and generates reports."'}),"\n",(0,s.jsx)(n.p,{children:"When you submit your description, the AI analyzes it and generates suggested values for several configuration fields. The AI creates a unique agent name, writes a description explaining the agent's purpose, drafts system instructions defining agent behavior, suggests appropriate toolsets, recommends connectors if applicable, and provides default settings for skills and communication modes."}),"\n",(0,s.jsx)(n.p,{children:"These AI-generated values serve as suggestions only. You proceed to the configuration form where you can review, modify, or completely rewrite any of these values before saving the agent."}),"\n",(0,s.jsx)(n.h3,{id:"manual-creation",children:"Manual Creation"}),"\n",(0,s.jsx)(n.p,{children:"You can skip AI assistance entirely by clicking the secondary button. The system prompts you to manually enter the agent's name and description in a simple dialog. After you provide these details and click continue, you proceed to the agent configuration form where the Agent Details section is pre-filled with your entered name and description. Other sections (instructions, toolsets, and connectors) remain empty for you to configure manually."}),"\n",(0,s.jsx)(n.h2,{id:"configuring-the-agent",children:"Configuring the Agent"}),"\n",(0,s.jsx)(n.p,{children:"The agent configuration form is where you configure all agent settings. You have complete control to manually configure or refine every setting, whether you work with AI-generated suggestions or enter values from scratch."}),"\n",(0,s.jsx)(n.h3,{id:"agent-details",children:"Agent Details"}),"\n",(0,s.jsx)(n.p,{children:"The name field provides a unique identifier that describes the agent's purpose. Names must be unique across your deployment."}),"\n",(0,s.jsx)(n.p,{children:"The description field explains what the agent does and when users should interact with it. This description helps users understand the agent's purpose and capabilities."}),"\n",(0,s.jsx)(n.h3,{id:"instructions",children:"Instructions"}),"\n",(0,s.jsx)(n.p,{children:"Instructions define how the agent behaves during interactions and form the basis of the agent system prompt. Your instructions should explain the agent's role, communication style, and any specific rules or constraints it should follow."}),"\n",(0,s.jsx)(n.p,{children:"For example, you can instruct an agent to always provide sources for information, maintain a formal or casual tone, follow specific steps when handling requests, or apply particular business rules or constraints."}),"\n",(0,s.jsx)(n.h3,{id:"toolsets",children:"Toolsets"}),"\n",(0,s.jsx)(n.p,{children:"Toolsets provide the agent with capabilities it can use to accomplish tasks. Available toolsets include Artifact Management (list, read, create, update and delete artifacts), Data Analysis (query, transform and visualize data from artifacts), and Web (perform internet searches)."}),"\n",(0,s.jsx)(n.p,{children:"You can assign multiple toolsets to a single agent, giving it access to diverse capabilities. If you select Data Analysis, you should also include Artifact Management because data analysis operations typically require artifact access."}),"\n",(0,s.jsx)(n.h3,{id:"connectors",children:"Connectors"}),"\n",(0,s.jsx)(n.p,{children:"Connectors link agents to external data sources such as databases and APIs. You assign connectors that were previously created in the Connectors section. All agents sharing a connector use the same credentials."}),"\n",(0,s.jsxs)(n.p,{children:["For detailed information about creating and configuring connectors, see ",(0,s.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/enterprise/connectors/",children:"Connectors"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"deploying-and-managing-agents",children:"Deploying and Managing Agents"}),"\n",(0,s.jsx)(n.h3,{id:"how-deployment-works",children:"How Deployment Works"}),"\n",(0,s.jsx)(n.p,{children:"When you deploy an agent through Agent Builder, the deployment process involves several components working together to create running agent instances."}),"\n",(0,s.jsx)(n.p,{children:"The Platform Service receives your deployment request and validates the agent configuration. It creates a deployment record in the database and publishes a deployment message to the Solace broker. The Deployer component (a separate containerized service) receives this message and creates a running agent instance using the configuration you provided. The Deployer sends status updates back to the Platform Service through heartbeat messages, and the Platform Service updates the deployment status you see in the UI."}),"\n",(0,s.jsx)(n.p,{children:"This architecture enables multiple Deployer instances to run independently for scalability and allows deployment operations to complete asynchronously without blocking the UI. You see status transitions (Deploying, Deployed, or Deployment Failed) as the Deployer works in the background."}),"\n",(0,s.jsxs)(n.p,{children:["Agent deployments are currently only supported through Helm. The Deployer runs as a containerized service using the ",(0,s.jsx)(n.code,{children:"sam-agent-deployer"})," image. For detailed deployment configuration and setup instructions, see the ",(0,s.jsx)(n.a,{href:"https://solaceproducts.github.io/solace-agent-mesh-helm-quickstart/docs-site/",children:"Solace Agent Mesh Helm Quickstart"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"agent-states",children:"Agent States"}),"\n",(0,s.jsx)(n.p,{children:"Agents move through distinct states as you create, edit, and deploy them."}),"\n",(0,s.jsx)(n.p,{children:"Not Deployed is the initial status for newly created agents. These agents appear in the Inactive tab where you can edit their configurations, download them as YAML files, or prepare them for deployment. Agents remain in this status until you explicitly deploy them."}),"\n",(0,s.jsx)(n.p,{children:"Deploying and Undeploying are the in-progress statuses that appear when an agent is being deployed or undeployed. You should not interact with an agent when it is in this transitory state."}),"\n",(0,s.jsx)(n.p,{children:"Deployed agents move to the Active tab and become available for user interactions. You cannot delete deployed agents\u2014you must undeploy them first to remove them from the system."}),"\n",(0,s.jsx)(n.p,{children:"Deployment Failed displays if your agent failed to deploy for any reason. You should verify all agent configuration and try again, or contact an administrator if the problem persists."}),"\n",(0,s.jsx)(n.h3,{id:"managing-deployed-agents",children:"Managing Deployed Agents"}),"\n",(0,s.jsx)(n.p,{children:'When you deploy an agent, the system records its configuration. If you later edit the agent\'s configuration in the UI, the system detects this mismatch and displays "Undeployed changes" on both the Active and Inactive agent tiles. The "Preview Updates" action in the agent side panel compares the running agent with its undeployed configuration. Changes to deployed agents require the "Deploy Updates" action to take effect in the running agent.'}),"\n",(0,s.jsx)(n.p,{children:"Downloading agents as YAML files provides portability and version control. These files support backing up agent configurations, sharing configurations between deployments, tracking configuration changes in version control systems, and deploying agents using infrastructure-as-code tools."}),"\n",(0,s.jsx)(n.h2,{id:"downloading-agent-configurations",children:"Downloading Agent Configurations"}),"\n",(0,s.jsxs)(n.p,{children:["The Download button allows you to export agent configurations as YAML files. These files are designed for the ",(0,s.jsx)(n.strong,{children:"Agent Deployer"})," running in Kubernetes/Helm environments."]}),"\n",(0,s.jsx)(n.h3,{id:"what-downloaded-yaml-files-are-designed-for",children:"What Downloaded YAML Files Are Designed For"}),"\n",(0,s.jsx)(n.p,{children:"Agent Builder generates YAML files optimized for automated deployment through the Agent Deployer. These files:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Use S3-compatible artifact storage (expects SeaweedFS or similar in K8s)"}),"\n",(0,s.jsx)(n.li,{children:"Contain environment variable placeholders for credentials and settings"}),"\n",(0,s.jsxs)(n.li,{children:["Do not reference ",(0,s.jsx)(n.code,{children:"shared_config.yaml"})," (unlike agents created with ",(0,s.jsx)(n.code,{children:"sam add agent"}),")"]}),"\n",(0,s.jsx)(n.li,{children:"Are ready to deploy through the Agent Deployer without modification"}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Agent Deployer vs Manual Deployment",type:"info",children:[(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Agent Deployer (Recommended):"}),' Click "Deploy" in Agent Builder to deploy agents directly to your Kubernetes cluster. The agent deployer handles all configuration automatically.']}),(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Download for Manual Use:"})," Download the YAML file if you need to run agents outside Kubernetes or want to review/customize the configuration."]})]}),"\n",(0,s.jsx)(n.h3,{id:"when-to-download",children:"When to Download"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Use the Download button when you need to:"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Back up agent configurations for version control"}),"\n",(0,s.jsx)(n.li,{children:"Review generated configuration before deployment"}),"\n",(0,s.jsx)(n.li,{children:"Share agent configurations between teams or environments"}),"\n",(0,s.jsx)(n.li,{children:"Run agents in workshops or demos without K8s infrastructure"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Use the Deploy button when:"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"You have Kubernetes/Helm infrastructure set up"}),"\n",(0,s.jsx)(n.li,{children:"You want automated deployment without manual configuration"}),"\n",(0,s.jsx)(n.li,{children:"You want the agent deployer to manage the agent lifecycle"}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{title:"Configuration Required",type:"warning",children:(0,s.jsxs)(n.p,{children:["Downloaded YAML files are designed for the agent deployer and require manual configuration changes to run locally. For local development, consider using ",(0,s.jsx)(n.code,{children:"sam add agent"})," instead, which generates files with ",(0,s.jsx)(n.code,{children:"shared_config"})," references."]})}),"\n",(0,s.jsx)(n.h2,{id:"access-control",children:"Access Control"}),"\n",(0,s.jsx)(n.p,{children:"Agent Builder operations require specific RBAC capabilities. The table below shows the capabilities and what they control:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Capability"}),(0,s.jsx)(n.th,{children:"Purpose"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sam:agent_builder:create"})}),(0,s.jsx)(n.td,{children:"Create new agents through Agent Builder interface"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sam:agent_builder:update"})}),(0,s.jsx)(n.td,{children:"Edit existing agent configurations"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sam:agent_builder:delete"})}),(0,s.jsx)(n.td,{children:"Delete agents (must undeploy first)"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sam:deployments:create"})}),(0,s.jsx)(n.td,{children:"Deploy agents to make them available in Chat"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sam:deployments:read"})}),(0,s.jsx)(n.td,{children:"View deployment status and history"})]})]})]}),"\n",(0,s.jsxs)(n.p,{children:["For information about connector-related capabilities, see ",(0,s.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/enterprise/connectors/#access-control",children:"Connectors"}),". For detailed information about configuring role-based access control and assigning capabilities to users, see ",(0,s.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/enterprise/rbac-setup-guide",children:"Setting Up RBAC"}),". For Kubernetes-specific RBAC configuration, see the ",(0,s.jsx)(n.a,{href:"https://solaceproducts.github.io/solace-agent-mesh-helm-quickstart/docs-site/#role-based-access-control-rbac",children:"Helm Chart RBAC documentation"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>r});var i=t(6540);const s={},a=i.createContext(s);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunksolace_agenitc_mesh_docs=self.webpackChunksolace_agenitc_mesh_docs||[]).push([[8773],{135:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"documentation/deploying/proxy_configuration","title":"Proxy Configuration","description":"When deploying Agent Mesh in environments with restricted network access, you may need to configure proxy settings to enable communication with external services. This guide explains how to configure HTTPS proxy settings for Agent Mesh.","source":"@site/docs/documentation/deploying/proxy_configuration.md","sourceDirName":"documentation/deploying","slug":"/documentation/deploying/proxy_configuration","permalink":"/solace-agent-mesh/docs/documentation/deploying/proxy_configuration","draft":false,"unlisted":false,"editUrl":"https://github.com/SolaceLabs/solace-agent-mesh/edit/main/docs/docs/documentation/deploying/proxy_configuration.md","tags":[],"version":"current","sidebarPosition":550,"frontMatter":{"title":"Proxy Configuration","sidebar_position":550},"sidebar":"docSidebar","previous":{"title":"Logging","permalink":"/solace-agent-mesh/docs/documentation/deploying/logging"},"next":{"title":"Migration to Platform Service (Enterprise v1.27.0+)","permalink":"/solace-agent-mesh/docs/documentation/migrations/platform-service-split"}}');var r=t(4848),s=t(8453);const o={title:"Proxy Configuration",sidebar_position:550},a="Proxy Configuration",c={},l=[{value:"Environment Variables for Proxy Configuration",id:"environment-variables-for-proxy-configuration",level:2},{value:"Proxy Configuration Details",id:"proxy-configuration-details",level:2},{value:"Setting Proxy Environment Variables",id:"setting-proxy-environment-variables",level:2},{value:"Linux/macOS",id:"linuxmacos",level:3},{value:"Windows",id:"windows",level:3},{value:"Docker",id:"docker",level:3},{value:"Kubernetes",id:"kubernetes",level:3},{value:"Certificate Bundle Merging",id:"certificate-bundle-merging",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"proxy-configuration",children:"Proxy Configuration"})}),"\n",(0,r.jsx)(n.p,{children:"When deploying Agent Mesh in environments with restricted network access, you may need to configure proxy settings to enable communication with external services. This guide explains how to configure HTTPS proxy settings for Agent Mesh."}),"\n",(0,r.jsx)(n.h2,{id:"environment-variables-for-proxy-configuration",children:"Environment Variables for Proxy Configuration"}),"\n",(0,r.jsx)(n.p,{children:"Agent Mesh respects standard proxy environment variables that are commonly used across many applications:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Environment Variable"}),(0,r.jsx)(n.th,{children:"Description"}),(0,r.jsx)(n.th,{children:"Format"}),(0,r.jsx)(n.th,{children:"Example"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"HTTPS_PROXY"})}),(0,r.jsx)(n.td,{children:"Specifies the proxy server for HTTPS requests"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"protocol://[username:password@]host[:port]"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"http://proxy.example.com:8080"})," or ",(0,r.jsx)(n.code,{children:"https://proxy.example.com:443"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"REQUESTS_CA_BUNDLE"})}),(0,r.jsx)(n.td,{children:"Path to a custom CA certificate file or bundle used by requests and a number of other libraries. Use alongside SSL_CERT_FILE to maximize compatibility."}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"Path to certificate"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"/path/to/certificate.crt"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"SSL_CERT_FILE"})}),(0,r.jsx)(n.td,{children:"Path to a custom CA certificate file or bundle used by requests and a number of other libraries. Use alongside REQUESTS_CA_BUNDLE to maximize compatibility."}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"Path to certificate"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"/path/to/certificate.crt"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"DISABLE_SSL_VERIFY"})}),(0,r.jsx)(n.td,{children:"When set to a true value disables SSL certificate validation for outgoing LLM requests."}),(0,r.jsx)(n.td,{children:"boolean"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"true"})})]})]})]}),"\n",(0,r.jsx)(n.p,{children:"These environment variables can be set at the system level or specifically for the Agent Mesh process."}),"\n",(0,r.jsx)(n.h2,{id:"proxy-configuration-details",children:"Proxy Configuration Details"}),"\n",(0,r.jsx)(n.p,{children:"If DISABLE_SSL_VERIFY is true \u2192 TLS verification is disabled (applies globally).\nElse if REQUESTS_CA_BUNDLE or SSL_CERT_FILE is set \u2192 the provided file is used as the trusted CA bundle for TLS validation. Recommendation: set both REQUESTS_CA_BUNDLE and SSL_CERT_FILE to the same path to maximize compatibility, because different components/libraries may read one or the other.\nElse \u2192 the system's default/trusted CA bundle is used."}),"\n",(0,r.jsx)(n.h2,{id:"setting-proxy-environment-variables",children:"Setting Proxy Environment Variables"}),"\n",(0,r.jsx)(n.h3,{id:"linuxmacos",children:"Linux/macOS"}),"\n",(0,r.jsx)(n.p,{children:"For temporary settings (current terminal session only):"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'export HTTPS_PROXY="http://proxy.example.com:8080"\nexport REQUESTS_CA_BUNDLE="/path/to/certificate.pem"\nexport SSL_CERT_FILE="$REQUESTS_CA_BUNDLE"\n'})}),"\n",(0,r.jsxs)(n.p,{children:["For persistent settings, add these lines to your ",(0,r.jsx)(n.code,{children:"~/.bashrc"}),", ",(0,r.jsx)(n.code,{children:"~/.bash_profile"}),", or ",(0,r.jsx)(n.code,{children:"~/.zshrc"})," file."]}),"\n",(0,r.jsx)(n.h3,{id:"windows",children:"Windows"}),"\n",(0,r.jsx)(n.p,{children:"For temporary settings (current command prompt session only):"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-cmd",children:'set HTTPS_PROXY=http://proxy.example.com:8080\nset REQUESTS_CA_BUNDLE="/path/to/certificate.pem"\nset SSL_CERT_FILE="/path/to/certificate.pem"\n'})}),"\n",(0,r.jsx)(n.h3,{id:"docker",children:"Docker"}),"\n",(0,r.jsx)(n.p,{children:"When running Agent Mesh in Docker, you can set environment variables in your Docker run command:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'docker run --rm \\\n -e HTTPS_PROXY="http://proxy.example.com:8080" \\\n -e REQUESTS_CA_BUNDLE="/etc/ssl/certs/custom-ca.pem" \\\n -e SSL_CERT_FILE="/etc/ssl/certs/custom-ca.pem" \\\n -v "$HOME/.mitmproxy/mitmproxy-ca.pem:/etc/ssl/certs/custom-ca.pem:ro" \\\n solace/agent-mesh:latest\n\n'})}),"\n",(0,r.jsx)(n.p,{children:"Or in your Docker Compose file:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",children:"services:\n agent-mesh:\n image: solace/agent-mesh:latest\n environment:\n - HTTPS_PROXY=http://proxy.example.com:8080\n - REQUESTS_CA_BUNDLE=/etc/ssl/certs/custom-ca.pem\n - SSL_CERT_FILE=/etc/ssl/certs/custom-ca.pem\n volumes:\n - ./certs/mitmproxy-ca.pem:/etc/ssl/certs/custom-ca.pem:ro\n....\n\n"})}),"\n",(0,r.jsx)(n.h3,{id:"kubernetes",children:"Kubernetes"}),"\n",(0,r.jsx)(n.p,{children:"For Kubernetes deployments:"}),"\n",(0,r.jsx)(n.p,{children:"Ensure configmap:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"kubectl create configmap mitm-ca \\\n --from-file=mitmproxy-ca.pem=./certs/mitmproxy-ca.pem \\\n -n my-namespace\n\n"})}),"\n",(0,r.jsx)(n.p,{children:"reference in deployment manifest:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",children:'apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: agent-mesh\n namespace: my-namespace\nspec:\n replicas: 1\n selector:\n matchLabels:\n app: agent-mesh\n template:\n metadata:\n labels:\n app: agent-mesh\n spec:\n containers:\n - name: agent-mesh\n image: solace/agent-mesh:latest\n env:\n - name: HTTPS_PROXY\n value: "http://my-proxy.example.com:8080"\n - name: REQUESTS_CA_BUNDLE\n value: "/etc/ssl/certs/mitmproxy-ca.pem"\n - name: SSL_CERT_FILE\n value: "/etc/ssl/certs/mitmproxy-ca.pem"\n volumeMounts:\n - name: mitm-ca\n mountPath: /etc/ssl/certs/mitmproxy-ca.pem\n subPath: mitmproxy-ca.pem\n readOnly: true\n volumes:\n - name: mitm-ca\n configMap:\n name: mitm-ca\n items:\n - key: mitmproxy-ca.pem\n path: mitmproxy-ca.pem\n\n'})}),"\n",(0,r.jsx)(n.h2,{id:"certificate-bundle-merging",children:"Certificate Bundle Merging"}),"\n",(0,r.jsx)(n.p,{children:"In some environments, especially when using forward or corporate proxies, you may need to add your internal CA to the default certifi trust bundle used by Python.\nThis ensures both public and internal certificates are trusted without disabling SSL verification."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-code",children:'# Path to your custom CA certificate\nCUSTOM_CA=/path/to/custom-ca.pem\n\n# Locate the default certifi bundle\nCERTIFI_BUNDLE=$(python -m certifi)\n\n# Choose output path for the merged bundle\nMERGED_BUNDLE=/tmp/combined-ca.pem\n\n# Merge the two bundles\ncat "$CERTIFI_BUNDLE" "$CUSTOM_CA" > "$MERGED_BUNDLE"\n\n# Point Python SSL libraries to the merged file\nexport REQUESTS_CA_BUNDLE="$MERGED_BUNDLE"\nexport SSL_CERT_FILE="$MERGED_BUNDLE"\n\n# (Optional) verify\npython -c "import requests; print(requests.get(\'https://example.com\').status_code)"\n\n'})}),"\n",(0,r.jsx)(n.p,{children:"This augments the existing certifi CA bundle with your custom certificate while keeping the original file intact."})]})}function m(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var i=t(6540);const r={},s=i.createContext(r);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunksolace_agenitc_mesh_docs=self.webpackChunksolace_agenitc_mesh_docs||[]).push([[520],{2104:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>c});const a=JSON.parse('{"id":"documentation/components/gateways","title":"Gateways","description":"Gateways are a crucial component of the Agent Mesh framework that expose the agent mesh to external systems through various protocols. Built on a common base gateway architecture, they provide the following functions:","source":"@site/docs/documentation/components/gateways.md","sourceDirName":"documentation/components","slug":"/documentation/components/gateways","permalink":"/solace-agent-mesh/docs/documentation/components/gateways","draft":false,"unlisted":false,"editUrl":"https://github.com/SolaceLabs/solace-agent-mesh/edit/main/docs/docs/documentation/components/gateways.md","tags":[],"version":"current","sidebarPosition":260,"frontMatter":{"title":"Gateways","sidebar_position":260},"sidebar":"docSidebar","previous":{"title":"Proxies","permalink":"/solace-agent-mesh/docs/documentation/components/proxies"},"next":{"title":"Platform Service","permalink":"/solace-agent-mesh/docs/documentation/components/platform-service"}}');var s=t(4848),o=t(8453);const i={title:"Gateways",sidebar_position:260},r="Gateways",l={},c=[{value:"Key Functions",id:"key-functions",level:2},{value:"How Gateways Work",id:"how-gateways-work",level:2},{value:"Available Gateways",id:"available-gateways",level:2},{value:"Core Gateways",id:"core-gateways",level:3},{value:"Plugin Gateways",id:"plugin-gateways",level:3},{value:"Create a Gateway",id:"create-a-gateway",level:2},{value:"Gateway from Scratch",id:"gateway-from-scratch",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",mermaid:"mermaid",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"gateways",children:"Gateways"})}),"\n",(0,s.jsx)(n.p,{children:"Gateways are a crucial component of the Agent Mesh framework that expose the agent mesh to external systems through various protocols. Built on a common base gateway architecture, they provide the following functions:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"serve as the primary interface between Agent Mesh and the outside world"}),"\n",(0,s.jsx)(n.li,{children:"manage the flow of information in and out of the system through the A2A protocol"}),"\n",(0,s.jsx)(n.li,{children:"handle authentication, user enrichment, and message processing"}),"\n",(0,s.jsx)(n.li,{children:"support multiple interface types including REST, HTTP SSE, webhooks, and event mesh connectivity"}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{title:"In one sentence",type:"tip",children:(0,s.jsx)(n.p,{children:"Gateways are the external interfaces that connect various systems to the A2A agent mesh through standardized protocols."})}),"\n",(0,s.jsx)(n.h2,{id:"key-functions",children:"Key Functions"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Entry Points"}),": Gateways act as the entry points from the outside world and translate external requests into A2A protocol messages and route them through the Solace event mesh to appropriate agents."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Authentication & Authorization"}),": Common authentication and user enrichment flow across all gateway types, with pluggable identity providers."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Configurable System Purpose"}),": Each gateway has a configurable system purpose that sets the context for all stimuli entering Agent Mesh through that gateway. This design allows for tailored processing based on the specific use case or domain."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Customizable Output Formatting"}),": Gateways have a configurable output description that controls how stimuli responses are formatted when sent back to the outside world. This configurable output description ensures that the output meets the requirements of the receiving system or user interface."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Multiple Interface Types"}),": Gateways can have different interfaces to accommodate various communication protocols and systems. Some examples include REST APIs, event meshes, Slack integrations, browser-based interfaces, and so on."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"how-gateways-work",children:"How Gateways Work"}),"\n",(0,s.jsx)(n.p,{children:"The following diagram illustrates the complete flow of information through a gateway in Agent Mesh:"}),"\n",(0,s.jsx)(n.mermaid,{value:"sequenceDiagram\n participant External as External System/User\n participant Gateway\n participant Mesh as Agent Mesh\n\n rect rgba(234, 234, 234, 1)\n Note over External,Gateway: Authentication Phase [Optional]\n External->>Gateway: Send Request\n Gateway->> Gateway: Authenticate Request\n alt Authentication Failed\n Gateway--\x3e>External: Return Error\n end\n end\n\n rect rgba(234, 234, 234, 1)\n Note over Gateway: Authorization Phase [Optional]\n end\n\n rect rgba(234, 234, 234, 1)\n Note over Gateway,Mesh: Processing Phase\n Gateway->>Gateway: Apply System Purpose\n Gateway->>Gateway: Attach Format Rules\n Gateway->>Gateway: Format Response\n Gateway->>Gateway: Transform to Stimulus\n Gateway->>Mesh: Send Stimulus\n\n alt Response Expected\n Mesh--\x3e>Gateway: Return Response\n Gateway--\x3e>External: Send Formatted Response\n end\n end\n\n %%{init: {\n 'theme': 'base',\n 'themeVariables': {\n 'actorBkg': '#00C895',\n 'actorBorder': '#00C895',\n 'actorTextColor': '#000000',\n 'noteBkgColor': '#FFF7C2',\n 'noteTextColor': '#000000',\n 'noteBorderColor': '#FFF7C2'\n }\n }}%%\n"}),"\n",(0,s.jsx)(n.h2,{id:"available-gateways",children:"Available Gateways"}),"\n",(0,s.jsx)(n.p,{children:"Agent Mesh comes with several built-in gateway types:"}),"\n",(0,s.jsx)(n.h3,{id:"core-gateways",children:"Core Gateways"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"HTTP SSE Gateway"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Real-time web interface with streaming responses"}),"\n",(0,s.jsx)(n.li,{children:"Server-sent events for live updates"}),"\n",(0,s.jsx)(n.li,{children:"Agent discovery API"}),"\n",(0,s.jsx)(n.li,{children:"File upload and download handling"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"REST Gateway"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Task submission with immediate task ID return"}),"\n",(0,s.jsx)(n.li,{children:"Polling-based result retrieval"}),"\n",(0,s.jsx)(n.li,{children:"Authentication integration"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Webhook Gateway"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Handles incoming webhook requests"}),"\n",(0,s.jsx)(n.li,{children:"Transforms webhook payloads to A2A messages"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"plugin-gateways",children:"Plugin Gateways"}),"\n",(0,s.jsx)(n.p,{children:"Additional gateway types are available through the plugin ecosystem:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Event Mesh Gateway"}),": External event mesh connectivity with message transformation"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Slack Gateway"}),": Slack bot integration for team collaboration"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Microsoft Teams Gateway"})," ",(0,s.jsx)(n.em,{children:"(Enterprise)"}),": Teams bot integration with Azure AD authentication, file sharing, and real-time streaming responses (Docker deployment only)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Custom Gateways"}),": Create your own gateway implementations"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["For more information about plugins and how to configure them, see ",(0,s.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/components/plugins",children:"Plugins"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["One of the official core plugin gateway interfaces is the ",(0,s.jsx)(n.a,{href:"https://github.com/SolaceLabs/solace-agent-mesh-core-plugins/tree/main/sam-event-mesh-gateway",children:"Solace Event Mesh Gateway"}),", which enables communication with the PubSub+ event broker directly as an input interface."]}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsx)(n.p,{children:"Each gateway type has its own configuration options and specific features. See the individual gateway documentation pages for detailed information on setup and usage."})}),"\n",(0,s.jsx)(n.h2,{id:"create-a-gateway",children:"Create a Gateway"}),"\n",(0,s.jsxs)(n.p,{children:["To create a gateway, you can either ",(0,s.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/components/plugins#use-a-plugin",children:"use one of the pre-existing plugins"})," or create yours from scratch."]}),"\n",(0,s.jsx)(n.h3,{id:"gateway-from-scratch",children:"Gateway from Scratch"}),"\n",(0,s.jsxs)(n.p,{children:["To create a gateway from scratch, you need to use the CLI ",(0,s.jsx)(n.code,{children:"add gateway"})," command without any interfaces. This command creates a ",(0,s.jsx)(n.em,{children:"python gateway template file"})," which you can then customize to your needs."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-sh",children:"sam add gateway my-interface\n"})}),"\n",(0,s.jsxs)(n.p,{children:["To learn more about creating your own gateway, see ",(0,s.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/developing/create-gateways",children:"Creating Custom Gateways"}),"."]}),"\n",(0,s.jsx)(n.admonition,{title:"Share and Reuse",type:"tip",children:(0,s.jsxs)(n.p,{children:["If you would like to share your custom gateway with the community or re-use it within other projects, you can create a plugin for it. For more information, see ",(0,s.jsx)(n.a,{href:"/solace-agent-mesh/docs/documentation/components/plugins#create-a-plugin",children:"Create Plugins"}),"."]})})]})}function d(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>r});var a=t(6540);const s={},o=a.createContext(s);function i(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunksolace_agenitc_mesh_docs=self.webpackChunksolace_agenitc_mesh_docs||[]).push([[7567],{9392:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"documentation/deploying/observability","title":"Monitoring Your Agent Mesh","description":"Understanding how your Agent Mesh system operates in real-time is crucial for maintaining optimal performance and quickly identifying issues. The platform provides a comprehensive observability suite that gives you deep insights into system behavior, message flows, and agent interactions.","source":"@site/docs/documentation/deploying/observability.md","sourceDirName":"documentation/deploying","slug":"/documentation/deploying/observability","permalink":"/solace-agent-mesh/docs/documentation/deploying/observability","draft":false,"unlisted":false,"editUrl":"https://github.com/SolaceLabs/solace-agent-mesh/edit/main/docs/docs/documentation/deploying/observability.md","tags":[],"version":"current","sidebarPosition":20,"frontMatter":{"title":"Monitoring Your Agent Mesh","sidebar_position":20},"sidebar":"docSidebar","previous":{"title":"Kubernetes Deployment Guide","permalink":"/solace-agent-mesh/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide"},"next":{"title":"Diagnosing and Resolving Problems","permalink":"/solace-agent-mesh/docs/documentation/deploying/debugging"}}');var s=t(4848),o=t(8453);const r={title:"Monitoring Your Agent Mesh",sidebar_position:20},a="Monitoring Your Agent Mesh",l={},c=[{value:"Viewing Workflows",id:"viewing-workflows",level:2},{value:"Viewing Agents",id:"viewing-agents",level:2},{value:"Monitoring Event Broker Activity",id:"monitoring-event-broker-activity",level:2},{value:"Monitoring Message Flows",id:"monitoring-message-flows",level:3},{value:"Examining Stimulus Logs",id:"examining-stimulus-logs",level:2},{value:"Understanding Stimulus Log Content",id:"understanding-stimulus-log-content",level:3},{value:"Storage Location",id:"storage-location",level:3}];function d(e){const i={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.header,{children:(0,s.jsx)(i.h1,{id:"monitoring-your-agent-mesh",children:"Monitoring Your Agent Mesh"})}),"\n",(0,s.jsx)(i.p,{children:"Understanding how your Agent Mesh system operates in real-time is crucial for maintaining optimal performance and quickly identifying issues. The platform provides a comprehensive observability suite that gives you deep insights into system behavior, message flows, and agent interactions."}),"\n",(0,s.jsx)(i.p,{children:"These observability tools work together to create a complete picture of your system's health and performance. Whether you're troubleshooting a specific issue, optimizing performance, or simply monitoring day-to-day operations, these tools provide the visibility you need to maintain a robust agent mesh."}),"\n",(0,s.jsx)(i.admonition,{title:"Complementary Tools",type:"tip",children:(0,s.jsxs)(i.p,{children:["The observability features described here focus on runtime behavior and message flows. For information about application logging, see ",(0,s.jsx)(i.a,{href:"/solace-agent-mesh/docs/documentation/deploying/logging",children:"Logging Configuration"}),"."]})}),"\n",(0,s.jsx)(i.h2,{id:"viewing-workflows",children:"Viewing Workflows"}),"\n",(0,s.jsx)(i.p,{children:"The workflow viewer serves as your primary window into how individual requests flow through your agent mesh. This interactive visualization tool transforms complex multi-agent interactions into clear, understandable diagrams that show exactly how your system processes each user query."}),"\n",(0,s.jsx)(i.p,{children:"Understanding request flow is essential because Agent Mesh operates as a distributed system where multiple agents collaborate to fulfill user requests. The workflow viewer makes these interactions transparent by providing an interactive web-based interface for each user query and its corresponding response."}),"\n",(0,s.jsx)(i.p,{children:"The workflow viewer enables you to:"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Track complete request lifecycles"}),": Follow a stimulus (request) from its initial entry point through every agent interaction until the final response is delivered to the user."]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Visualize inter-component communication"}),": See how requests and responses flow between agents, the user gateway, and language models, helping you understand the collaboration patterns in your mesh."]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Monitor real-time agent activity"}),": Observe which agents are actively participating in request processing and identify potential bottlenecks or failures."]}),"\n",(0,s.jsxs)(i.p,{children:["To access the workflow viewer for any specific interaction, click the ",(0,s.jsx)(i.strong,{children:"View Agent Workflow"})," icon located at the bottom left of the final response in the web UI. The complete workflow chart will appear in the side panel on the right, providing an immediate visual representation of the entire request processing flow."]}),"\n",(0,s.jsx)(i.h2,{id:"viewing-agents",children:"Viewing Agents"}),"\n",(0,s.jsx)(i.p,{children:"The Agents view complements the workflow viewer by providing a bird's-eye perspective of your entire agent ecosystem. While the workflow viewer focuses on individual request flows, the Agents view helps you understand the overall structure and health of your agent mesh."}),"\n",(0,s.jsx)(i.p,{children:"This real-time dashboard becomes particularly valuable as your agent mesh grows in complexity. It allows you to quickly assess which agents are available, understand their capabilities, and visualize how they relate to each other within the system hierarchy."}),"\n",(0,s.jsx)(i.p,{children:"The Agents view provides several key insights:"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Real-time agent registry"}),": See all agents currently registered and active in your system, giving you immediate visibility into system availability and health."]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Agent capabilities and descriptions"}),": Review what each agent can do, including their specific skills and the types of requests they can handle, helping you understand how work gets distributed across your mesh."]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Hierarchical topology visualization"}),": Understand the relationships between agents and how they're organized within your system architecture, which is crucial for troubleshooting and optimization."]}),"\n",(0,s.jsxs)(i.p,{children:["To access this comprehensive overview, open the web interface in your browser and switch to the ",(0,s.jsx)(i.strong,{children:"Agents"})," tab."]}),"\n",(0,s.jsx)(i.h2,{id:"monitoring-event-broker-activity",children:"Monitoring Event Broker Activity"}),"\n",(0,s.jsx)(i.p,{children:"The Solace event broker serves as the central nervous system of your agent mesh, handling all communication between components. Monitoring Solace event broker activity provides deep insights into system behavior and helps identify communication issues before they impact users."}),"\n",(0,s.jsx)(i.p,{children:"Understanding message flows at the event broker level is essential because it reveals the actual communication patterns between your agents, regardless of how they're configured. This low-level visibility complements the higher-level views provided by the workflow viewer and agents dashboard."}),"\n",(0,s.jsx)(i.p,{children:"Several specialized tools help you monitor and interact with the Solace event broker:"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Solace Broker Manager"}),": This web-based interface provides comprehensive event broker management capabilities. The ",(0,s.jsx)(i.em,{children:"Try Me!"})," tab is particularly useful for interactive message testing, allowing you to send and receive messages manually to verify system behavior."]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:(0,s.jsx)(i.a,{href:"https://marketplace.visualstudio.com/items?itemName=solace-tools.solace-try-me-vsc-extension",children:"Solace Try Me VSCode Extension"})}),": Integrates message testing directly into your development environment, making it convenient to test message flows without leaving Visual Studio Code."]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:(0,s.jsx)(i.a,{href:"https://github.com/SolaceLabs/solace-tryme-cli",children:"Solace Try Me (STM) CLI Tool"})}),": Provides command-line access to message testing capabilities, ideal for scripting and automation scenarios."]}),"\n",(0,s.jsx)(i.h3,{id:"monitoring-message-flows",children:"Monitoring Message Flows"}),"\n",(0,s.jsx)(i.p,{children:"To observe comprehensive message activity within your agent mesh, subscribe to the following topic pattern:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{children:"[NAME_SPACES]a2a/v1/>\n"})}),"\n",(0,s.jsxs)(i.p,{children:["Replace ",(0,s.jsx)(i.code,{children:"[NAME_SPACES]"})," with the namespace you are using. If you're not using namespaces, omit the ",(0,s.jsx)(i.code,{children:"[NAME_SPACES]"})," part entirely."]}),"\n",(0,s.jsx)(i.p,{children:"This subscription captures all agent-to-agent communication, providing complete visibility into your mesh's message flows."}),"\n",(0,s.jsxs)(i.admonition,{title:"Filtering Registration Messages",type:"tip",children:[(0,s.jsx)(i.p,{children:"Agents periodically send registration messages to announce their availability. These messages can clutter your monitoring interface when using tools like the STM VSCode extension. To focus on actual request/response traffic, add the following topic to your ignore list:"}),(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{children:"[NAME_SPACES]/a2a/v1/discovery/agentcards\n"})}),(0,s.jsx)(i.p,{children:"This filter removes routine registration messages while preserving visibility into meaningful agent interactions."})]}),"\n",(0,s.jsx)(i.h2,{id:"examining-stimulus-logs",children:"Examining Stimulus Logs"}),"\n",(0,s.jsx)(i.p,{children:"Stimulus logs provide the most detailed level of observability in your Agent Mesh system. While the workflow viewer gives you visual representations and the Solace event broker tools show real-time message flows, stimulus logs create permanent, comprehensive records of every request that flows through your system."}),"\n",(0,s.jsx)(i.p,{children:"These logs serve as your system's memory, capturing complete traces that you can analyze long after events occur. This persistent record becomes invaluable for performance analysis, debugging complex issues, and understanding usage patterns over time."}),"\n",(0,s.jsxs)(i.p,{children:["Agent Mesh includes a default monitor that automatically records each request (stimulus) lifecycle without requiring additional configuration. These detailed traces are stored as ",(0,s.jsx)(i.code,{children:".stim"})," files, creating a comprehensive audit trail of system activity."]}),"\n",(0,s.jsx)(i.h3,{id:"understanding-stimulus-log-content",children:"Understanding Stimulus Log Content"}),"\n",(0,s.jsxs)(i.p,{children:["Each ",(0,s.jsx)(i.code,{children:".stim"})," file contains a complete trace of a single stimulus journey through your agent mesh:"]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Component traversal paths"}),": Every agent, gateway, and service that handled the request, providing a complete map of the processing pipeline."]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Timing and sequencing details"}),": Precise timestamps showing when each component received, processed, and forwarded the request, enabling performance analysis and bottleneck identification."]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Contextual metadata"}),": Additional information about the request context, user session, and system state that influenced processing decisions."]}),"\n",(0,s.jsx)(i.p,{children:"These comprehensive logs create a valuable data source for advanced visualization tools, detailed troubleshooting sessions, and performance optimization efforts. Because they capture the complete picture of each request, they're particularly useful for understanding complex multi-agent interactions that might be difficult to trace through other observability tools."}),"\n",(0,s.jsx)(i.h3,{id:"storage-location",children:"Storage Location"}),"\n",(0,s.jsxs)(i.p,{children:["By default, ",(0,s.jsx)(i.code,{children:".stim"})," files are written to the ",(0,s.jsx)(i.code,{children:"/tmp/solace-agent-mesh/"})," directory. This location provides fast access for analysis while keeping logs separate from your application data."]})]})}function h(e={}){const{wrapper:i}={...(0,o.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,i,t)=>{t.d(i,{R:()=>r,x:()=>a});var n=t(6540);const s={},o=n.createContext(s);function r(e){const i=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(o.Provider,{value:i},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunksolace_agenitc_mesh_docs=self.webpackChunksolace_agenitc_mesh_docs||[]).push([[6298],{9630:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"documentation/getting-started/vibe_coding","title":"Vibe Coding","description":"Vibe Coding is an AI-assisted development approach that enables you to quickly create and extend Agent Mesh components\u2014including plugins, agents, gateways, and core functionality\u2014with minimal knowledge of the SAM codebase. By leveraging Context7\'s MCP integration, your coding assistant gains deep knowledge of the SAM codebase and documentation.","source":"@site/docs/documentation/getting-started/vibe_coding.md","sourceDirName":"documentation/getting-started","slug":"/documentation/getting-started/vibe_coding","permalink":"/solace-agent-mesh/docs/documentation/getting-started/vibe_coding","draft":false,"unlisted":false,"editUrl":"https://github.com/SolaceLabs/solace-agent-mesh/edit/main/docs/docs/documentation/getting-started/vibe_coding.md","tags":[],"version":"current","sidebarPosition":20,"frontMatter":{"title":"Vibe Coding","sidebar_position":20},"sidebar":"docSidebar","previous":{"title":"Architecture Overview","permalink":"/solace-agent-mesh/docs/documentation/getting-started/architecture"},"next":{"title":"Components","permalink":"/solace-agent-mesh/docs/documentation/components/"}}');var s=t(4848),o=t(8453);const r={title:"Vibe Coding",sidebar_position:20},a="Vibe Coding",c={},l=[{value:"Who Should Use Vibe Coding?",id:"who-should-use-vibe-coding",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Installation",id:"installation",level:2},{value:"Step 1: Set Up Context7",id:"step-1-set-up-context7",level:3},{value:"Step 2: Verify Integration",id:"step-2-verify-integration",level:3},{value:"Using Vibe Coding",id:"using-vibe-coding",level:2},{value:"Example Prompts",id:"example-prompts",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Best Practices",id:"best-practices",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"vibe-coding",children:"Vibe Coding"})}),"\n",(0,s.jsx)(n.p,{children:"Vibe Coding is an AI-assisted development approach that enables you to quickly create and extend Agent Mesh components\u2014including plugins, agents, gateways, and core functionality\u2014with minimal knowledge of the SAM codebase. By leveraging Context7's MCP integration, your coding assistant gains deep knowledge of the SAM codebase and documentation."}),"\n",(0,s.jsx)(n.h2,{id:"who-should-use-vibe-coding",children:"Who Should Use Vibe Coding?"}),"\n",(0,s.jsx)(n.p,{children:"Vibe Coding is ideal for:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Developers creating SAM projects with custom agents, plugins, and gateways"}),"\n",(0,s.jsx)(n.li,{children:"Contributors extending the SAM repository"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsx)(n.p,{children:"Before you begin, ensure you have:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"A standard IDE (such as VS Code)"}),"\n",(0,s.jsx)(n.li,{children:"A Context7 API key (free for anyone)"}),"\n",(0,s.jsx)(n.li,{children:"A coding assistant with MCP support (such as GitHub Copilot, Cursor, or Cline)"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsx)(n.h3,{id:"step-1-set-up-context7",children:"Step 1: Set Up Context7"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Create a free account at ",(0,s.jsx)(n.a,{href:"https://context7.com",children:"Context7"})," and generate an API key."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Follow the ",(0,s.jsx)(n.a,{href:"https://github.com/upstash/context7?tab=readme-ov-file#%EF%B8%8F-installation",children:"MCP installation instructions"})," for your IDE to connect your coding assistant to Context7 using the MCP server. You'll need your API key for this integration."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"step-2-verify-integration",children:"Step 2: Verify Integration"}),"\n",(0,s.jsx)(n.p,{children:"Test your setup by asking your coding assistant:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"Using solacelabs/solace-agent-mesh library, tell me a description of the Solace Agent Mesh project.\n"})}),"\n",(0,s.jsx)(n.p,{children:"If the integration is not properly configured, the coding agent does not connect to Context7 MCP."}),"\n",(0,s.jsx)(n.h2,{id:"using-vibe-coding",children:"Using Vibe Coding"}),"\n",(0,s.jsx)(n.p,{children:"Once configured, you can interact with your coding assistant through natural language prompts."}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsx)(n.p,{children:"You need to specify the library at least once in your chat session to activate the Context7 integration."})}),"\n",(0,s.jsx)(n.h3,{id:"example-prompts",children:"Example Prompts"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Getting Information About SAM:"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"Using solacelabs/solace-agent-mesh library, give me the broker configurations with possible data fields.\n"})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Creating a New SAM Project:"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"Using /solace/solace-agent-mesh library, initialize a SAM project called example_app.\n"})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Creating a New Plugin:"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"Using solacelabs/solace-agent-mesh library, create a calculator plugin that sums two numbers.\n"})}),"\n",(0,s.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,s.jsx)(n.p,{children:"Vibe Coding provides an interactive development environment that generates high-quality code. However, the generated code and configurations may occasionally contain bugs. Follow these best practices to resolve issues quickly:"}),"\n",(0,s.jsx)(n.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Generate Tests"}),": After code generation, ask your coding assistant to create comprehensive tests for the generated code."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Iterative Debugging"}),": If you encounter errors during execution, provide the error log to your coding assistant in the same chat session and request a fix."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Review Generated Code"}),": Review the generated code to ensure it meets your requirements and follows best practices."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var i=t(6540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunksolace_agenitc_mesh_docs=self.webpackChunksolace_agenitc_mesh_docs||[]).push([[3011],{8549:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docSidebar":[{"type":"category","label":"Getting Started","collapsible":true,"collapsed":false,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/getting-started/introduction","label":"What is Agent Mesh?","docId":"documentation/getting-started/introduction","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/getting-started/try-agent-mesh","label":"Try Agent Mesh","docId":"documentation/getting-started/try-agent-mesh","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/getting-started/architecture","label":"Architecture Overview","docId":"documentation/getting-started/architecture","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/getting-started/vibe_coding","label":"Vibe Coding","docId":"documentation/getting-started/vibe_coding","unlisted":false}],"href":"/solace-agent-mesh/docs/documentation/getting-started/"},{"type":"category","label":"Components","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/agents","label":"Agents","docId":"documentation/components/agents","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/orchestrator","label":"Orchestrator","docId":"documentation/components/orchestrator","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/proxies","label":"Proxies","docId":"documentation/components/proxies","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/gateways","label":"Gateways","docId":"documentation/components/gateways","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/platform-service","label":"Platform Service","docId":"documentation/components/platform-service","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/plugins","label":"Plugins","docId":"documentation/components/plugins","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/projects","label":"Projects","docId":"documentation/components/projects","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/cli","label":"Agent Mesh CLI","docId":"documentation/components/cli","unlisted":false},{"type":"category","label":"Built-in Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/builtin-tools/artifact-management","label":"Artifact Management Tools","docId":"documentation/components/builtin-tools/artifact-management","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/builtin-tools/data-analysis-tools","label":"Data Analysis Tools","docId":"documentation/components/builtin-tools/data-analysis-tools","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/builtin-tools/audio-tools","label":"Audio Tools","docId":"documentation/components/builtin-tools/audio-tools","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/builtin-tools/image-tools","label":"Image Tools","docId":"documentation/components/builtin-tools/image-tools","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/builtin-tools/embeds","label":"Dynamic Embeds","docId":"documentation/components/builtin-tools/embeds","unlisted":false}],"href":"/solace-agent-mesh/docs/documentation/components/builtin-tools/"},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/prompts","label":"Prompt Library","docId":"documentation/components/prompts","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/components/speech","label":"Speech Integration","docId":"documentation/components/speech","unlisted":false}],"href":"/solace-agent-mesh/docs/documentation/components/"},{"type":"category","label":"Installing and Configuring Agent Mesh","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/installing-and-configuring/installation","label":"Installing Agent Mesh","docId":"documentation/installing-and-configuring/installation","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/installing-and-configuring/run-project","label":"Creating and Running an Agent Mesh Project","docId":"documentation/installing-and-configuring/run-project","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/installing-and-configuring/configurations","label":"Configuring Agent Mesh","docId":"documentation/installing-and-configuring/configurations","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/installing-and-configuring/large_language_models","label":"Configuring LLMs","docId":"documentation/installing-and-configuring/large_language_models","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/installing-and-configuring/user-feedback","label":"User Feedback","docId":"documentation/installing-and-configuring/user-feedback","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/installing-and-configuring/session-storage","label":"Session Storage","docId":"documentation/installing-and-configuring/session-storage","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/installing-and-configuring/artifact-storage","label":"Artifact Storage","docId":"documentation/installing-and-configuring/artifact-storage","unlisted":false}],"href":"/solace-agent-mesh/docs/documentation/installing-and-configuring/"},{"type":"category","label":"Developing with Agent Mesh","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/structure","label":"Project Structure","docId":"documentation/developing/structure","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/create-agents","label":"Creating Agents","docId":"documentation/developing/create-agents","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/create-gateways","label":"Creating Custom Gateways","docId":"documentation/developing/create-gateways","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/creating-python-tools","label":"Creating Python Tools","docId":"documentation/developing/creating-python-tools","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/creating-service-providers","label":"Creating Service Providers","docId":"documentation/developing/creating-service-providers","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/evaluations","label":"Evaluating Agents","docId":"documentation/developing/evaluations","unlisted":false},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/custom-agent","label":"Build Your Own Agent","docId":"documentation/developing/tutorials/custom-agent","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/mcp-integration","label":"MCP Integration","docId":"documentation/developing/tutorials/mcp-integration","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/rest-gateway","label":"REST Gateway","docId":"documentation/developing/tutorials/rest-gateway","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/event-mesh-gateway","label":"Event Mesh Gateway","docId":"documentation/developing/tutorials/event-mesh-gateway","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/bedrock-agents","label":"Amazon Bedrock Agents","docId":"documentation/developing/tutorials/bedrock-agents","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/sql-database","label":"SQL Database Integration","docId":"documentation/developing/tutorials/sql-database","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/mongodb-integration","label":"MongoDB Integration","docId":"documentation/developing/tutorials/mongodb-integration","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/slack-integration","label":"Slack Integration","docId":"documentation/developing/tutorials/slack-integration","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/rag-integration","label":"RAG Integration","docId":"documentation/developing/tutorials/rag-integration","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/developing/tutorials/teams-integration","label":"Microsoft Teams Integration (Enterprise)","docId":"documentation/developing/tutorials/teams-integration","unlisted":false}]}],"href":"/solace-agent-mesh/docs/documentation/developing/"},{"type":"category","label":"Deploying Agent Mesh","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/deploying/deployment-options","label":"Choosing Deployment Options","docId":"documentation/deploying/deployment-options","unlisted":false},{"type":"category","label":"Kubernetes","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/deploying/kubernetes/kubernetes-deployment-guide","label":"Kubernetes Deployment Guide","docId":"documentation/deploying/kubernetes/kubernetes-deployment-guide","unlisted":false}],"href":"/solace-agent-mesh/docs/documentation/deploying/kubernetes/"},{"type":"link","href":"/solace-agent-mesh/docs/documentation/deploying/observability","label":"Monitoring Your Agent Mesh","docId":"documentation/deploying/observability","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/deploying/debugging","label":"Diagnosing and Resolving Problems","docId":"documentation/deploying/debugging","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/deploying/logging","label":"Logging","docId":"documentation/deploying/logging","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/deploying/proxy_configuration","label":"Proxy Configuration","docId":"documentation/deploying/proxy_configuration","unlisted":false}],"href":"/solace-agent-mesh/docs/documentation/deploying/"},{"type":"category","label":"Migrations","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/migrations/platform-service-split","label":"Migration to Platform Service (Enterprise v1.27.0+)","docId":"documentation/migrations/platform-service-split","unlisted":false},{"type":"category","label":"A2A Upgrade to 0.3.0","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0","label":"Migration Guide: Upgrading to the A2A SDK","docId":"documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map","label":"A2A Technical Migration Map","docId":"documentation/migrations/a2a-upgrade/a2a-technical-migration-map","unlisted":false}]}]},{"type":"category","label":"Agent Mesh Enterprise","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/solace-agent-mesh/docs/documentation/enterprise/installation","label":"Installing Agent Mesh Enterprise","docId":"documentation/enterprise/installation","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/enterprise/wheel-installation","label":"Running from Wheel File","docId":"documentation/enterprise/wheel-installation","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/enterprise/agent-builder","label":"Agent Builder","docId":"documentation/enterprise/agent-builder","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/enterprise/connectors/","label":"Connectors","docId":"documentation/enterprise/connectors/connectors","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/enterprise/rbac-setup-guide","label":"Setting Up RBAC","docId":"documentation/enterprise/rbac-setup-guide","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/enterprise/single-sign-on","label":"Enabling SSO","docId":"documentation/enterprise/single-sign-on","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/enterprise/secure-user-delegated-access","label":"Secure User Delegated Access","docId":"documentation/enterprise/secure-user-delegated-access","unlisted":false},{"type":"link","href":"/solace-agent-mesh/docs/documentation/enterprise/openapi-tools","label":"OpenAPI Tools","docId":"documentation/enterprise/openapi-tools","unlisted":false}],"href":"/solace-agent-mesh/docs/documentation/enterprise/"}]},"docs":{"documentation/components/agents":{"id":"documentation/components/agents","title":"Agents","description":"Agents are specialized processing units within the Agent Mesh framework that are built around the Google Agent Development Kit (ADK) and provide the core intelligence layer. They:","sidebar":"docSidebar"},"documentation/components/builtin-tools/artifact-management":{"id":"documentation/components/builtin-tools/artifact-management","title":"Artifact Management Tools","description":"This guide details how agents utilize built-in tools to manage file artifacts and their associated metadata. The system employs an explicit, metadata-aware methodology wherein the agent maintains full control over the lifecycle of artifacts, including their creation, listing, loading, and return.","sidebar":"docSidebar"},"documentation/components/builtin-tools/audio-tools":{"id":"documentation/components/builtin-tools/audio-tools","title":"Audio Tools","description":"This guide provides technical documentation for the text-to-speech (TTS) tools available in Agent Mesh.","sidebar":"docSidebar"},"documentation/components/builtin-tools/builtin-tools":{"id":"documentation/components/builtin-tools/builtin-tools","title":"Configuring Built-in Tools","description":"This guide provides instructions for enabling and configuring the built-in tools provided by Agent Mesh framework.","sidebar":"docSidebar"},"documentation/components/builtin-tools/data-analysis-tools":{"id":"documentation/components/builtin-tools/data-analysis-tools","title":"Data Analysis Tools","description":"Agent Mesh includes a suite of optional built-in tools that enable agents to perform data analysis tasks directly on artifacts. These tools provide functionality for SQL querying, JQ transformations, and Plotly chart generation.","sidebar":"docSidebar"},"documentation/components/builtin-tools/embeds":{"id":"documentation/components/builtin-tools/embeds","title":"Dynamic Embeds","description":"Dynamic Embeds","sidebar":"docSidebar"},"documentation/components/builtin-tools/image-tools":{"id":"documentation/components/builtin-tools/image-tools","title":"Image Tools","description":"Overview","sidebar":"docSidebar"},"documentation/components/cli":{"id":"documentation/components/cli","title":"Agent Mesh CLI","description":"Agent Mesh comes with a comprehensive CLI tool that you can use to create, and run an instance of Agent Mesh, which is referred to as an Agent Mesh application. Agent Mesh CLI also allows you to add agents and gateways, manage plugins, help you debug, and much more.","sidebar":"docSidebar"},"documentation/components/components":{"id":"documentation/components/components","title":"Components","description":"Agent Mesh provides a comprehensive set of components that work together to create a distributed AI agent ecosystem. Each component serves a specific purpose, from managing the command-line interface to orchestrating complex multi-agent workflows.","sidebar":"docSidebar"},"documentation/components/gateways":{"id":"documentation/components/gateways","title":"Gateways","description":"Gateways are a crucial component of the Agent Mesh framework that expose the agent mesh to external systems through various protocols. Built on a common base gateway architecture, they provide the following functions:","sidebar":"docSidebar"},"documentation/components/orchestrator":{"id":"documentation/components/orchestrator","title":"Orchestrator","description":"The A2A (Agent-to-Agent) protocol is the communication backbone of Agent Mesh that enables distributed agent coordination and workflow management. Unlike traditional centralized orchestration, the A2A protocol enables agents to discover each other, delegate tasks, and collaborate directly through standardized message patterns.","sidebar":"docSidebar"},"documentation/components/platform-service":{"id":"documentation/components/platform-service","title":"Platform Service","description":"The Platform Service is a backend microservice responsible for management operations in Solace Agent Mesh. It operates independently from other components, allowing it to scale separately.","sidebar":"docSidebar"},"documentation/components/plugins":{"id":"documentation/components/plugins","title":"Plugins","description":"Plugins provide a mechanism to extend the functionality of Agent Mesh in a modular, shareable, and reusable way. The current plugin ecosystem includes agents, gateways, and specialized integrations.","sidebar":"docSidebar"},"documentation/components/projects":{"id":"documentation/components/projects","title":"Projects","description":"Projects are a powerful organizational feature in Agent Mesh that enable users to group related chat sessions, manage artifacts and maintain context across multiple conversations. They provide a workspace-like environment for managing AI interactions around specific topics, tasks, or domains.","sidebar":"docSidebar"},"documentation/components/prompts":{"id":"documentation/components/prompts","title":"Prompt Library","description":"The Prompt Library is a powerful feature that enables you to create, manage, and reuse prompt templates across your AI conversations. Instead of retyping common instructions or workflows, you can save them as reusable templates with variable placeholders, making your interactions with AI agents more efficient and consistent.","sidebar":"docSidebar"},"documentation/components/proxies":{"id":"documentation/components/proxies","title":"Proxies","description":"Proxies act as protocol bridges that connect Agent Mesh to external A2A agents. By translating between A2A over Solace event mesh and A2A over HTTPS protocols, proxies enable agents within the mesh to delegate tasks to external agents and include them in collaborative workflows.","sidebar":"docSidebar"},"documentation/components/speech":{"id":"documentation/components/speech","title":"Speech Integration","description":"Agent Mesh provides speech capabilities through integrated Speech-to-Text (STT) and Text-to-Speech (TTS) services. You can enable users to interact with agents through voice input and receive spoken responses, creating more natural and accessible conversational experiences.","sidebar":"docSidebar"},"documentation/deploying/debugging":{"id":"documentation/deploying/debugging","title":"Diagnosing and Resolving Problems","description":"Effective debugging in Agent Mesh requires a systematic approach that leverages the platform\'s distributed architecture. Because your system consists of multiple agents communicating through a Solace event broker, issues can arise at various levels\u2014from individual agent logic to inter-component communication patterns.","sidebar":"docSidebar"},"documentation/deploying/deploying":{"id":"documentation/deploying/deploying","title":"Deploying Agent Mesh","description":"Moving your Agent Mesh from development to production requires careful consideration of deployment strategies, monitoring capabilities, and troubleshooting approaches. Understanding your options and having robust observability tools ensures your agent mesh operates reliably at scale.","sidebar":"docSidebar"},"documentation/deploying/deployment-options":{"id":"documentation/deploying/deployment-options","title":"Choosing Deployment Options","description":"Agent Mesh offers flexible deployment options designed to meet different operational requirements. Understanding these options helps you choose the right approach for your specific environment and scale needs.","sidebar":"docSidebar"},"documentation/deploying/kubernetes/kubernetes":{"id":"documentation/deploying/kubernetes/kubernetes","title":"Kubernetes","description":"You can deploy Agent Mesh to Kubernetes using Helm charts, which handle the complexity of creating and configuring Kubernetes resources such as deployments, services, persistent volumes, and configuration management.","sidebar":"docSidebar"},"documentation/deploying/kubernetes/kubernetes-deployment-guide":{"id":"documentation/deploying/kubernetes/kubernetes-deployment-guide","title":"Kubernetes Deployment Guide","description":"Target Audience: DevOps Engineers & Kubernetes Administrators","sidebar":"docSidebar"},"documentation/deploying/logging":{"id":"documentation/deploying/logging","title":"Logging","description":"This guide covers the essential information you need to effectively configure and manage logging in your Agent Mesh applications. Proper logging configuration is critical for troubleshooting issues, monitoring system behavior, and maintaining reliable production deployments.","sidebar":"docSidebar"},"documentation/deploying/observability":{"id":"documentation/deploying/observability","title":"Monitoring Your Agent Mesh","description":"Understanding how your Agent Mesh system operates in real-time is crucial for maintaining optimal performance and quickly identifying issues. The platform provides a comprehensive observability suite that gives you deep insights into system behavior, message flows, and agent interactions.","sidebar":"docSidebar"},"documentation/deploying/proxy_configuration":{"id":"documentation/deploying/proxy_configuration","title":"Proxy Configuration","description":"When deploying Agent Mesh in environments with restricted network access, you may need to configure proxy settings to enable communication with external services. This guide explains how to configure HTTPS proxy settings for Agent Mesh.","sidebar":"docSidebar"},"documentation/developing/create-agents":{"id":"documentation/developing/create-agents","title":"Creating Agents","description":"For a more comprehensive tutorial example, see the Build Your Own Agent guide.","sidebar":"docSidebar"},"documentation/developing/create-gateways":{"id":"documentation/developing/create-gateways","title":"Creating Custom Gateways","description":"Gateway adapters connect external systems to the Agent Mesh through custom interfaces. They translate between platform-specific formats (Slack messages, HTTP requests, webhook payloads) and the standardized A2A protocol that agents understand. Gateway adapters handle platform events, extract user identity, and deliver agent responses back to users in the appropriate format.","sidebar":"docSidebar"},"documentation/developing/creating-python-tools":{"id":"documentation/developing/creating-python-tools","title":"Creating Python Tools","description":"Agent Mesh provides a powerful and unified system for creating custom agent tools using Python. This is the primary way to extend an agent\'s capabilities with your own business logic, integrate with proprietary APIs, or perform specialized data processing.","sidebar":"docSidebar"},"documentation/developing/creating-service-providers":{"id":"documentation/developing/creating-service-providers","title":"Creating Service Providers","description":"This guide details the process for developers to create service provider plugins for integrating backend systems (for example, HR platforms, CRMs) with Agent Mesh.","sidebar":"docSidebar"},"documentation/developing/developing":{"id":"documentation/developing/developing","title":"Developing with Agent Mesh","description":"Agent Mesh provides a framework for creating distributed AI applications using an event-driven architecture. You can build agents that communicate through the A2A (Agent-to-Agent) protocol, extend them with custom tools, integrate external systems through gateways, and create reusable components as plugins.","sidebar":"docSidebar"},"documentation/developing/evaluations":{"id":"documentation/developing/evaluations","title":"Evaluating Agents","description":"The framework includes an evaluation system that helps you test your agents\' behavior in a structured way. You can define test suites, run them against your agents, and generate detailed reports to analyze the results. When running evaluations locally, you can also benchmark different language models to see how they affect your agents\' responses.","sidebar":"docSidebar"},"documentation/developing/structure":{"id":"documentation/developing/structure","title":"Project Structure","description":"Agent Mesh is built on the A2A (Agent-to-Agent) protocol architecture, powered by Solace AI Connector, and uses the Solace event broker as the communication backbone. The framework is controlled by YAML configuration files that define agents, gateways, and plugins, enabling distributed AI agent communication through event-driven messaging.","sidebar":"docSidebar"},"documentation/developing/tutorials/bedrock-agents":{"id":"documentation/developing/tutorials/bedrock-agents","title":"Amazon Bedrock Agents","description":"This tutorial walks you through the process of integrating Amazon Bedrock Agents and Flows into Agent Mesh. This integration allows you to create agents that can interact with one or multiple Bedrock Agents or Flows, extending your Agent Mesh project with powerful AI capabilities from AWS.","sidebar":"docSidebar"},"documentation/developing/tutorials/custom-agent":{"id":"documentation/developing/tutorials/custom-agent","title":"Build Your Own Agent","description":"This tutorial shows you how to build a sophisticated weather agent using the Agent Mesh framework. Learn how to integrate with external APIs, manage resources properly, and create production-ready agents.","sidebar":"docSidebar"},"documentation/developing/tutorials/event-mesh-gateway":{"id":"documentation/developing/tutorials/event-mesh-gateway","title":"Event Mesh Gateway","description":"If you already have an event mesh in place, you can integrate Agent Mesh into it. This allows you to leverage existing infrastructure while introducing intelligence and automation through Agent Mesh.","sidebar":"docSidebar"},"documentation/developing/tutorials/mcp-integration":{"id":"documentation/developing/tutorials/mcp-integration","title":"MCP Integration","description":"This tutorial walks you through the process of integrating a Model Context Protocol (MCP) Server into Agent Mesh.","sidebar":"docSidebar"},"documentation/developing/tutorials/mongodb-integration":{"id":"documentation/developing/tutorials/mongodb-integration","title":"MongoDB Integration","description":"This tutorial sets up a MongoDB agent in Agent Mesh, which allows the Agent Mesh agent to answer natural language queries about a Mongo database. The agent translates user questions into MongoDB aggregation pipelines and executes them against your database.","sidebar":"docSidebar"},"documentation/developing/tutorials/rag-integration":{"id":"documentation/developing/tutorials/rag-integration","title":"RAG Integration","description":"This tutorial guides you through setting up and configuring Agent Mesh Retrieval Augmented Generation (RAG) plugin. The RAG plugin enables your agents to answer questions by retrieving information from a knowledge base of your documents.","sidebar":"docSidebar"},"documentation/developing/tutorials/rest-gateway":{"id":"documentation/developing/tutorials/rest-gateway","title":"REST Gateway","description":"Agent Mesh REST API Gateway provides a standard, robust, and secure HTTP-based entry point for programmatic and system-to-system integrations. It allows external clients to submit tasks to Agent Mesh agents, manage files, and discover agent capabilities using a familiar RESTful interface.","sidebar":"docSidebar"},"documentation/developing/tutorials/slack-integration":{"id":"documentation/developing/tutorials/slack-integration","title":"Slack Integration","description":"This tutorial integrates a Slack interface into Agent Mesh, enabling interaction with the system directly from your Slack workspace and channels.","sidebar":"docSidebar"},"documentation/developing/tutorials/sql-database":{"id":"documentation/developing/tutorials/sql-database","title":"SQL Database Integration","description":"This tutorial sets up a SQL database agent in Agent Mesh, which allows the Agent Mesh agent to answer natural language queries about a sample coffee company database. This tutorial provides some sample data to set up an SQLite database, but you can use the same approach to connect to other database types, such as MySQL or PostgreSQL.","sidebar":"docSidebar"},"documentation/developing/tutorials/teams-integration":{"id":"documentation/developing/tutorials/teams-integration","title":"Microsoft Teams Integration (Enterprise)","description":"This tutorial shows you how to integrate Microsoft Teams with Agent Mesh Enterprise, allowing users to interact with the system directly from Teams workspaces and channels.","sidebar":"docSidebar"},"documentation/enterprise/agent-builder":{"id":"documentation/enterprise/agent-builder","title":"Agent Builder","description":"Agent Builder provides a visual, form-based interface for creating and managing agents without writing configuration files. This tool offers optional AI assistance that suggests initial configuration values based on a description of the agent you want to build.","sidebar":"docSidebar"},"documentation/enterprise/connectors/connectors":{"id":"documentation/enterprise/connectors/connectors","title":"Connectors","description":"Connectors link agents to external data sources and services. Each connector type provides access to different systems using configured credentials and connection details. Agents use connectors to retrieve information, execute queries, and interact with external platforms through natural language conversations.","sidebar":"docSidebar"},"documentation/enterprise/enterprise":{"id":"documentation/enterprise/enterprise","title":"Agent Mesh Enterprise","description":"Agent Mesh Enterprise extends the open-source framework with production-ready features that enterprise environments require. This version provides enhanced security through single sign-on integration, granular access control through role-based permissions, intelligent data management for cost optimization, and comprehensive observability tools for monitoring agent workflows and system performance.","sidebar":"docSidebar"},"documentation/enterprise/installation":{"id":"documentation/enterprise/installation","title":"Installing Agent Mesh Enterprise","description":"This guide walks you through installing and running Agent Mesh Enterprise using Docker. You will download the enterprise image, load it into Docker, and launch a container configured for either development or production use.","sidebar":"docSidebar"},"documentation/enterprise/openapi-tools":{"id":"documentation/enterprise/openapi-tools","title":"OpenAPI Tools","description":"This guide walks you through configuring OpenAPI-based tools for Agent Mesh Enterprise. You will learn how to integrate REST APIs into your agents using OpenAPI specifications, enabling them to interact with any OpenAPI-compliant service.","sidebar":"docSidebar"},"documentation/enterprise/rbac-setup-guide":{"id":"documentation/enterprise/rbac-setup-guide","title":"Setting Up RBAC","description":"Agent Mesh Enterprise now uses secure-by-default authorization. If you do not configure an authorization service, the system will deny all access by default. You must explicitly configure RBAC or another authorization type to grant access to users.","sidebar":"docSidebar"},"documentation/enterprise/secure-user-delegated-access":{"id":"documentation/enterprise/secure-user-delegated-access","title":"Secure User Delegated Access","description":"This guide walks you through configuring Secure User Delegated Access for Agent Mesh Enterprise. You will learn how to enable users to authenticate with remote MCP tools using their own credentials through OAuth2, providing enhanced security and user-specific access control.","sidebar":"docSidebar"},"documentation/enterprise/single-sign-on":{"id":"documentation/enterprise/single-sign-on","title":"Enabling SSO","description":"Overview","sidebar":"docSidebar"},"documentation/enterprise/wheel-installation":{"id":"documentation/enterprise/wheel-installation","title":"Running from Wheel File","description":"You can run Agent Mesh Enterprise directly from a Python wheel file without using Docker containers. This approach gives you direct control over your Python environment and integrates with existing Python-based deployments.","sidebar":"docSidebar"},"documentation/getting-started/architecture":{"id":"documentation/getting-started/architecture","title":"Architecture Overview","description":"Agent Mesh is an event-driven framework that creates a distributed ecosystem of collaborative AI agents. The architecture decouples agent logic from communication and orchestration, enabling you to build scalable, resilient, and modular AI systems.","sidebar":"docSidebar"},"documentation/getting-started/getting-started":{"id":"documentation/getting-started/getting-started","title":"Getting Started","description":"Agent Mesh is an open-source framework for building event-driven multi-agent AI systems that solve complex problems through intelligent collaboration. You can use it to create teams of specialized AI agents that work together seamlessly, each bringing unique capabilities while communicating through Solace\'s proven event-driven architecture.","sidebar":"docSidebar"},"documentation/getting-started/introduction":{"id":"documentation/getting-started/introduction","title":"What is Agent Mesh?","description":"Modern AI development faces a fundamental challenge: powerful AI models are readily available, but it\'s complicated to connect them to the data and systems where they can provide value. Because the data that drives these AI models often exists in isolated silos (databases, SaaS platforms, APIs, and legacy systems), it can be difficult to build AI applications that work across these boundaries.","sidebar":"docSidebar"},"documentation/getting-started/try-agent-mesh":{"id":"documentation/getting-started/try-agent-mesh","title":"Try Agent Mesh","description":"Get started quickly with Agent Mesh using our pre-configured Docker image. This approach lets you explore the capabilities of Agent Mesh without setting up a complete project.","sidebar":"docSidebar"},"documentation/getting-started/vibe_coding":{"id":"documentation/getting-started/vibe_coding","title":"Vibe Coding","description":"Vibe Coding is an AI-assisted development approach that enables you to quickly create and extend Agent Mesh components\u2014including plugins, agents, gateways, and core functionality\u2014with minimal knowledge of the SAM codebase. By leveraging Context7\'s MCP integration, your coding assistant gains deep knowledge of the SAM codebase and documentation.","sidebar":"docSidebar"},"documentation/installing-and-configuring/artifact-storage":{"id":"documentation/installing-and-configuring/artifact-storage","title":"Artifact Storage","description":"This guide explains how to configure storage for artifacts\u2014files and data created by your agents\u2014from development to production deployments.","sidebar":"docSidebar"},"documentation/installing-and-configuring/configurations":{"id":"documentation/installing-and-configuring/configurations","title":"Configuring Agent Mesh","description":"The shared_config.yaml file is used to define configurations that can be shared across multiple agents or components in Agent Mesh. This centralized approach simplifies management of common configurations such as Solace event broker connections, language model settings, and service definitions.","sidebar":"docSidebar"},"documentation/installing-and-configuring/installation":{"id":"documentation/installing-and-configuring/installation","title":"Installing Agent Mesh","description":"Before you begin, ensure you have the following:","sidebar":"docSidebar"},"documentation/installing-and-configuring/installing-and-configuring":{"id":"documentation/installing-and-configuring/installing-and-configuring","title":"Installing and Configuring Agent Mesh","description":"Getting Agent Mesh up and running involves several key steps that prepare your development environment and configure the system for your specific needs. You\'ll install the framework, create your first project, configure essential settings, and connect to the language models that power your intelligent agents.","sidebar":"docSidebar"},"documentation/installing-and-configuring/large_language_models":{"id":"documentation/installing-and-configuring/large_language_models","title":"Configuring LLMs","description":"Large Language Models (LLMs) serve as the intelligence foundation for Agent Mesh, powering everything from natural language understanding to complex reasoning and decision-making. The system provides flexible configuration options that allow you to connect with various LLM providers through a unified interface, making it easy to switch between providers or use multiple models for different purposes.","sidebar":"docSidebar"},"documentation/installing-and-configuring/run-project":{"id":"documentation/installing-and-configuring/run-project","title":"Creating and Running an Agent Mesh Project","description":"This guide walks you through creating and running a complete Agent Mesh project. This approach provides full control over your configuration and is suitable for development, testing, and production environments.","sidebar":"docSidebar"},"documentation/installing-and-configuring/session-storage":{"id":"documentation/installing-and-configuring/session-storage","title":"Session Storage","description":"This guide explains how to configure session storage in Agent Mesh, enabling user conversations to persist across restarts and providing rich conversation history for both the WebUI Gateway and individual agents.","sidebar":"docSidebar"},"documentation/installing-and-configuring/user-feedback":{"id":"documentation/installing-and-configuring/user-feedback","title":"User Feedback","description":"User Feedback allows users to provide ratings and comments on AI agent responses through the Web UI. This feature enables quality monitoring, model improvement through evaluation datasets, and user satisfaction tracking. Feedback can be stored in a database for analytics and optionally published to Solace message broker topics for integration with external systems.","sidebar":"docSidebar"},"documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0":{"id":"documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0","title":"Migration Guide: Upgrading to the A2A SDK","description":"This guide is for developers who have built or are maintaining a custom Agent Mesh gateway. A recent architectural update has aligned Agent Mesh with the official Agent-to-Agent (A2A) protocol specification by adopting the a2a-sdk. This migration requires some changes to your gateway code to ensure compatibility.","sidebar":"docSidebar"},"documentation/migrations/a2a-upgrade/a2a-technical-migration-map":{"id":"documentation/migrations/a2a-upgrade/a2a-technical-migration-map","title":"A2A Technical Migration Map","description":"This document provides a comprehensive, technical mapping for migrating Agent Mesh components from the legacy A2A implementation to the new a2a-sdk-based protocol. It is designed to be used as a reference for automated or semi-automated code refactoring.","sidebar":"docSidebar"},"documentation/migrations/platform-service-split":{"id":"documentation/migrations/platform-service-split","title":"Migration to Platform Service (Enterprise v1.27.0+)","description":"\u2705 This Guide Applies To:","sidebar":"docSidebar"}}}}')}}]);
|