solace-agent-mesh 1.6.3__py3-none-any.whl → 1.7.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.
Potentially problematic release.
This version of solace-agent-mesh might be problematic. Click here for more details.
- solace_agent_mesh/agent/adk/adk_llm.txt +12 -18
- solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +1 -1
- solace_agent_mesh/agent/adk/callbacks.py +138 -20
- solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +2 -0
- solace_agent_mesh/agent/adk/models/lite_llm.py +38 -5
- solace_agent_mesh/agent/adk/models/models_llm.txt +82 -35
- solace_agent_mesh/agent/adk/runner.py +9 -0
- solace_agent_mesh/agent/adk/stream_parser.py +6 -1
- solace_agent_mesh/agent/adk/tool_wrapper.py +3 -0
- solace_agent_mesh/agent/agent_llm.txt +61 -70
- solace_agent_mesh/agent/protocol/event_handlers.py +29 -1
- solace_agent_mesh/agent/protocol/protocol_llm.txt +1 -1
- solace_agent_mesh/agent/proxies/a2a/a2a_llm.txt +190 -0
- solace_agent_mesh/agent/proxies/base/base_llm.txt +148 -0
- solace_agent_mesh/agent/proxies/proxies_llm.txt +283 -0
- solace_agent_mesh/agent/sac/app.py +22 -0
- solace_agent_mesh/agent/sac/component.py +76 -40
- solace_agent_mesh/agent/sac/sac_llm.txt +1 -1
- solace_agent_mesh/agent/sac/task_execution_context.py +21 -0
- solace_agent_mesh/agent/testing/testing_llm.txt +2 -1
- solace_agent_mesh/agent/tools/builtin_artifact_tools.py +13 -148
- solace_agent_mesh/agent/tools/dynamic_tool.py +2 -0
- solace_agent_mesh/agent/tools/tools_llm.txt +93 -80
- solace_agent_mesh/agent/tools/tools_llm_detail.txt +3 -2
- solace_agent_mesh/agent/utils/artifact_helpers.py +4 -0
- solace_agent_mesh/agent/utils/utils_llm.txt +16 -2
- solace_agent_mesh/assets/docs/404.html +3 -3
- solace_agent_mesh/assets/docs/assets/js/05749d90.c70b2be9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/15ba94aa.92fea363.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/15e40e79.36003774.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/2987107d.a80604f9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3ac1795d.e4870a49.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3ff0015d.b63ee53a.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/547e15cc.2f7790c1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5c2bd65f.45b32c2b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/631738c7.fa471607.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/64195356.c498c4d0.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6a520c9d.b6e3f2ce.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/6ad8f0bd.a5b36a60.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/71da7b71.374b9d54.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8024126c.fa0e7186.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/8b032486.91a91afc.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/94e8668d.09ed9234.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{ab9708a8.3e6dd091.js → ab9708a8.245ae0ef.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/ad87452a.9d73dad6.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/cbe2e9ea.f902fad8.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/da0b5bad.b62f7b08.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/db5d6442.3daf1696.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/dd817ffc.c37a755e.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/dd81e2b8.b682e9c2.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/de915948.44a432bc.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e04b235d.c9c50c7b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/e3d9abda.d11c67a7.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{e6f9706b.e74a984d.js → e6f9706b.045d0fa1.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/e92d0134.3bda61dd.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/f284c35a.5099c51e.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ff4d71f2.74710fc1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/main.e6488e8b.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/runtime~main.d9606d6a.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 +18 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/builtin-tools/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/cli/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/gateways/index.html +5 -5
- solace_agent_mesh/assets/docs/docs/documentation/components/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/orchestrator/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/plugins/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/components/projects/index.html +196 -0
- solace_agent_mesh/assets/docs/docs/documentation/components/proxies/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deploying/debugging/index.html +5 -5
- solace_agent_mesh/assets/docs/docs/documentation/deploying/deployment-options/index.html +6 -7
- solace_agent_mesh/assets/docs/docs/documentation/deploying/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deploying/kubernetes-deployment/index.html +47 -0
- solace_agent_mesh/assets/docs/docs/documentation/deploying/logging/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deploying/observability/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 +160 -169
- solace_agent_mesh/assets/docs/docs/documentation/developing/creating-python-tools/index.html +4 -4
- 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 +5 -5
- 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 +4 -4
- 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/enterprise/agent-builder/index.html +59 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/connectors/index.html +62 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +10 -6
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/installation/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 +440 -0
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/single-sign-on/index.html +27 -4
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/wheel-installation/index.html +62 -0
- 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 +5 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/try-agent-mesh/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/artifact-storage/index.html +290 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/configurations/index.html +9 -9
- 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 +251 -0
- solace_agent_mesh/assets/docs/docs/documentation/installing-and-configuring/user-feedback/index.html +88 -0
- solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-gateway-upgrade-to-0.3.0/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/migrations/a2a-upgrade/a2a-technical-migration-map/index.html +3 -3
- solace_agent_mesh/assets/docs/lunr-index-1762189824009.json +1 -0
- solace_agent_mesh/assets/docs/lunr-index.json +1 -1
- solace_agent_mesh/assets/docs/search-doc-1762189824009.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/docs_cmd.py +4 -1
- solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +1 -1
- solace_agent_mesh/client/webui/frontend/static/assets/{authCallback-D4_RMYRh.js → authCallback-tcIFZLis.js} +1 -1
- solace_agent_mesh/client/webui/frontend/static/assets/{client-UZ3qU6Bq.js → client-CRYdKo2Q.js} +3 -3
- solace_agent_mesh/client/webui/frontend/static/assets/main-CojeY_1w.css +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-ILja9MCG.js +353 -0
- solace_agent_mesh/client/webui/frontend/static/assets/vendor-CINwxvwV.js +470 -0
- 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/common/a2a/a2a_llm.txt +13 -20
- solace_agent_mesh/common/a2a/protocol.py +5 -0
- solace_agent_mesh/common/a2a/types.py +1 -0
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +49 -11
- solace_agent_mesh/common/a2a_spec/schemas/artifact_creation_progress.json +23 -6
- solace_agent_mesh/common/a2a_spec/schemas/feedback_event.json +51 -0
- solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +26 -9
- solace_agent_mesh/common/common_llm.txt +13 -34
- solace_agent_mesh/common/data_parts.py +20 -4
- solace_agent_mesh/common/middleware/middleware_llm.txt +1 -1
- solace_agent_mesh/common/sac/sac_llm.txt +1 -1
- solace_agent_mesh/common/sam_events/sam_events_llm.txt +1 -1
- solace_agent_mesh/common/services/employee_service.py +1 -1
- solace_agent_mesh/common/services/providers/providers_llm.txt +3 -2
- solace_agent_mesh/common/services/services_llm.txt +9 -4
- solace_agent_mesh/common/utils/embeds/constants.py +1 -0
- solace_agent_mesh/common/utils/embeds/embeds_llm.txt +1 -1
- solace_agent_mesh/common/utils/embeds/modifiers.py +2 -1
- solace_agent_mesh/common/utils/embeds/resolver.py +58 -6
- solace_agent_mesh/common/utils/embeds/types.py +8 -0
- solace_agent_mesh/common/utils/utils_llm.txt +5 -6
- solace_agent_mesh/core_a2a/core_a2a_llm.txt +1 -1
- solace_agent_mesh/gateway/adapter/__init__.py +1 -0
- solace_agent_mesh/gateway/adapter/base.py +143 -0
- solace_agent_mesh/gateway/adapter/types.py +221 -0
- solace_agent_mesh/gateway/base/app.py +29 -2
- solace_agent_mesh/gateway/base/base_llm.txt +10 -8
- solace_agent_mesh/gateway/base/component.py +573 -142
- solace_agent_mesh/gateway/gateway_llm.txt +55 -59
- solace_agent_mesh/gateway/generic/__init__.py +1 -0
- solace_agent_mesh/gateway/generic/app.py +50 -0
- solace_agent_mesh/gateway/generic/component.py +650 -0
- solace_agent_mesh/gateway/http_sse/alembic/alembic_llm.txt +99 -49
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_fulltext_search_indexes.py +92 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_project_users_table.py +72 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251023_add_soft_delete_and_search.py +150 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_default_agent_to_projects.py +26 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251024_add_projects_table.py +135 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/versions_llm.txt +26 -20
- solace_agent_mesh/gateway/http_sse/app.py +0 -14
- solace_agent_mesh/gateway/http_sse/component.py +17 -56
- solace_agent_mesh/gateway/http_sse/components/components_llm.txt +1 -1
- solace_agent_mesh/gateway/http_sse/dependencies.py +21 -3
- solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +8 -8
- solace_agent_mesh/gateway/http_sse/main.py +23 -5
- solace_agent_mesh/gateway/http_sse/repository/__init__.py +19 -1
- solace_agent_mesh/gateway/http_sse/repository/entities/entities_llm.txt +56 -98
- solace_agent_mesh/gateway/http_sse/repository/entities/project.py +81 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/project_user.py +47 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/session.py +23 -1
- solace_agent_mesh/gateway/http_sse/repository/feedback_repository.py +47 -0
- solace_agent_mesh/gateway/http_sse/repository/interfaces.py +112 -4
- solace_agent_mesh/gateway/http_sse/repository/models/__init__.py +9 -1
- solace_agent_mesh/gateway/http_sse/repository/models/models_llm.txt +51 -60
- solace_agent_mesh/gateway/http_sse/repository/models/project_model.py +51 -0
- solace_agent_mesh/gateway/http_sse/repository/models/project_user_model.py +75 -0
- solace_agent_mesh/gateway/http_sse/repository/models/session_model.py +7 -1
- solace_agent_mesh/gateway/http_sse/repository/project_repository.py +172 -0
- solace_agent_mesh/gateway/http_sse/repository/project_user_repository.py +186 -0
- solace_agent_mesh/gateway/http_sse/repository/repository_llm.txt +125 -157
- solace_agent_mesh/gateway/http_sse/repository/session_repository.py +269 -8
- solace_agent_mesh/gateway/http_sse/routers/artifacts.py +143 -51
- solace_agent_mesh/gateway/http_sse/routers/config.py +69 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/dto_llm.txt +198 -94
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/project_requests.py +48 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/requests_llm.txt +68 -18
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py +13 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/project_responses.py +30 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/responses_llm.txt +51 -35
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py +2 -0
- solace_agent_mesh/gateway/http_sse/routers/feedback.py +133 -2
- solace_agent_mesh/gateway/http_sse/routers/projects.py +542 -0
- solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +9 -11
- solace_agent_mesh/gateway/http_sse/routers/sessions.py +154 -3
- solace_agent_mesh/gateway/http_sse/routers/tasks.py +296 -4
- solace_agent_mesh/gateway/http_sse/services/project_service.py +403 -0
- solace_agent_mesh/gateway/http_sse/services/services_llm.txt +16 -10
- solace_agent_mesh/gateway/http_sse/services/session_service.py +178 -6
- solace_agent_mesh/gateway/http_sse/shared/exception_handlers.py +2 -3
- solace_agent_mesh/gateway/http_sse/shared/shared_llm.txt +48 -14
- solace_agent_mesh/solace_agent_mesh_llm.txt +1 -1
- {solace_agent_mesh-1.6.3.dist-info → solace_agent_mesh-1.7.0.dist-info}/METADATA +3 -5
- {solace_agent_mesh-1.6.3.dist-info → solace_agent_mesh-1.7.0.dist-info}/RECORD +218 -175
- solace_agent_mesh/assets/docs/assets/js/15ba94aa.932dd2db.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/3ac1795d.76654dd9.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/3ff0015d.2be20244.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/547e15cc.2cbb060a.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/5c2bd65f.eda4bcb2.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/631738c7.7c4594c9.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/6a520c9d.ba015d81.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/6ad8f0bd.f4b15f3b.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/71da7b71.ddbdfbe2.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/8024126c.56e59919.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/94e8668d.3b883666.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/da0b5bad.d08a9466.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/dd817ffc.0aa9630a.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/dd81e2b8.d590bc9e.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/de915948.27d6b065.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e3d9abda.6b9493d0.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/e92d0134.4f395c6b.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/f284c35a.720d2ef2.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/ff4d71f2.15b02f97.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/main.ed05b14d.js +0 -2
- solace_agent_mesh/assets/docs/assets/js/runtime~main.a8a75e0b.js +0 -1
- solace_agent_mesh/assets/docs/lunr-index-1761744323675.json +0 -1
- solace_agent_mesh/assets/docs/search-doc-1761744323675.json +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main--3yJYl7S.css +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-DojKHS49.js +0 -342
- solace_agent_mesh/client/webui/frontend/static/assets/vendor-DSqhjwq_.js +0 -405
- /solace_agent_mesh/assets/docs/assets/js/{main.ed05b14d.js.LICENSE.txt → main.e6488e8b.js.LICENSE.txt} +0 -0
- {solace_agent_mesh-1.6.3.dist-info → solace_agent_mesh-1.7.0.dist-info}/WHEEL +0 -0
- {solace_agent_mesh-1.6.3.dist-info → solace_agent_mesh-1.7.0.dist-info}/entry_points.txt +0 -0
- {solace_agent_mesh-1.6.3.dist-info → solace_agent_mesh-1.7.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
I notice the content was cut off at the end. Let me provide the complete developer guide based on the available information:
|
|
2
|
-
|
|
3
1
|
# DEVELOPER GUIDE: gateway
|
|
4
2
|
|
|
5
3
|
## Quick Summary
|
|
@@ -9,10 +7,10 @@ The `gateway` directory provides a comprehensive framework for building gateways
|
|
|
9
7
|
- **Direct files:**
|
|
10
8
|
- `__init__.py`: Standard Python package initializer
|
|
11
9
|
- `gateway_llm.txt`: Documentation or configuration file for LLM-related gateway functionality
|
|
10
|
+
- `gateway_llm_detail.txt`: Comprehensive documentation combining all gateway module summaries
|
|
12
11
|
|
|
13
12
|
- **Subdirectories:**
|
|
14
13
|
- `base/`: Foundational abstract classes and utilities for building gateway implementations
|
|
15
|
-
- `slack/`: Complete Slack platform integration gateway with bot functionality
|
|
16
14
|
- `http_sse/`: HTTP/Server-Sent Events gateway for web-based user interfaces
|
|
17
15
|
|
|
18
16
|
## Developer API Reference
|
|
@@ -32,6 +30,12 @@ This file is empty and contains no direct exports.
|
|
|
32
30
|
|
|
33
31
|
**Content:** This appears to be a documentation or configuration file rather than executable code.
|
|
34
32
|
|
|
33
|
+
#### gateway_llm_detail.txt
|
|
34
|
+
**Purpose:** Comprehensive documentation combining all individual LLM summary files from the gateway directory tree
|
|
35
|
+
**Import:** Not applicable (text/documentation file)
|
|
36
|
+
|
|
37
|
+
**Content:** Contains concatenated developer guides for all gateway subdirectories and components.
|
|
38
|
+
|
|
35
39
|
### Subdirectory APIs
|
|
36
40
|
|
|
37
41
|
#### base/
|
|
@@ -44,16 +48,6 @@ from solace_agent_mesh.gateway.base.component import BaseGatewayComponent
|
|
|
44
48
|
from solace_agent_mesh.gateway.base.task_context import TaskContextManager
|
|
45
49
|
```
|
|
46
50
|
|
|
47
|
-
#### slack/
|
|
48
|
-
**Purpose:** Complete Slack platform integration with bot functionality, event handling, and A2A message translation
|
|
49
|
-
**Key Exports:** `SlackGatewayApp`, `SlackGatewayComponent`, utility functions for Slack operations
|
|
50
|
-
**Import Examples:**
|
|
51
|
-
```python
|
|
52
|
-
from solace_agent_mesh.gateway.slack.app import SlackGatewayApp
|
|
53
|
-
from solace_agent_mesh.gateway.slack.component import SlackGatewayComponent
|
|
54
|
-
from solace_agent_mesh.gateway.slack.utils import generate_a2a_session_id, send_slack_message
|
|
55
|
-
```
|
|
56
|
-
|
|
57
51
|
#### http_sse/
|
|
58
52
|
**Purpose:** HTTP/Server-Sent Events gateway for web-based user interfaces with real-time streaming
|
|
59
53
|
**Key Exports:** `WebUIBackendApp`, `WebUIBackendComponent`, `SSEManager`, `SessionManager`, routers, services
|
|
@@ -226,43 +220,7 @@ if __name__ == "__main__":
|
|
|
226
220
|
app.run()
|
|
227
221
|
```
|
|
228
222
|
|
|
229
|
-
### 2. Using the
|
|
230
|
-
|
|
231
|
-
```python
|
|
232
|
-
from solace_agent_mesh.gateway.slack.app import SlackGatewayApp
|
|
233
|
-
|
|
234
|
-
# Configure Slack gateway
|
|
235
|
-
slack_config = {
|
|
236
|
-
"name": "my-slack-bot",
|
|
237
|
-
"namespace": "/myorg/prod",
|
|
238
|
-
"gateway_id": "slack-bot-01",
|
|
239
|
-
|
|
240
|
-
# Slack credentials (get these from your Slack app)
|
|
241
|
-
"slack_bot_token": "xoxb-your-bot-token",
|
|
242
|
-
"slack_app_token": "xapp-your-app-token",
|
|
243
|
-
"slack_signing_secret": "your-signing-secret",
|
|
244
|
-
|
|
245
|
-
# Gateway settings
|
|
246
|
-
"default_agent_name": "assistant",
|
|
247
|
-
"enable_socket_mode": True,
|
|
248
|
-
"enable_file_upload": True,
|
|
249
|
-
"slack_request_timeout": 30,
|
|
250
|
-
|
|
251
|
-
# A2A system configuration
|
|
252
|
-
"solace_config": {
|
|
253
|
-
"broker_url": "tcp://localhost:55555",
|
|
254
|
-
"vpn_name": "default",
|
|
255
|
-
"username": "default",
|
|
256
|
-
"password": "default"
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
# Create and run the Slack gateway
|
|
261
|
-
slack_app = SlackGatewayApp(app_info=slack_config)
|
|
262
|
-
slack_app.run()
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### 3. Using the HTTP/SSE Gateway for Web Interfaces
|
|
223
|
+
### 2. Using the HTTP/SSE Gateway for Web Interfaces
|
|
266
224
|
|
|
267
225
|
```python
|
|
268
226
|
from solace_agent_mesh.gateway.http_sse.app import WebUIBackendApp
|
|
@@ -318,7 +276,7 @@ webui_app = WebUIBackendApp(app_info=webui_config)
|
|
|
318
276
|
webui_app.run()
|
|
319
277
|
```
|
|
320
278
|
|
|
321
|
-
###
|
|
279
|
+
### 3. Working with Task Context and Session Management
|
|
322
280
|
|
|
323
281
|
```python
|
|
324
282
|
from solace_agent_mesh.gateway.base.task_context import TaskContextManager
|
|
@@ -330,10 +288,10 @@ context_manager = TaskContextManager()
|
|
|
330
288
|
# Store context when submitting a task
|
|
331
289
|
task_id = "task-123"
|
|
332
290
|
context = {
|
|
333
|
-
"platform": "
|
|
334
|
-
"
|
|
335
|
-
"user_id": "
|
|
336
|
-
"
|
|
291
|
+
"platform": "http_sse",
|
|
292
|
+
"session_id": "session-456",
|
|
293
|
+
"user_id": "user-789",
|
|
294
|
+
"client_id": "client-abc"
|
|
337
295
|
}
|
|
338
296
|
context_manager.store_context(task_id, context)
|
|
339
297
|
|
|
@@ -341,7 +299,7 @@ context_manager.store_context(task_id, context)
|
|
|
341
299
|
retrieved_context = context_manager.get_context(task_id)
|
|
342
300
|
if retrieved_context:
|
|
343
301
|
# Send response back to original platform
|
|
344
|
-
|
|
302
|
+
session_id = retrieved_context["session_id"]
|
|
345
303
|
|
|
346
304
|
# Session management for web interfaces
|
|
347
305
|
session_manager = SessionManager(
|
|
@@ -364,10 +322,48 @@ async def get_session_info(request: Request):
|
|
|
364
322
|
}
|
|
365
323
|
```
|
|
366
324
|
|
|
367
|
-
###
|
|
325
|
+
### 4. Real-time Streaming with Server-Sent Events
|
|
368
326
|
|
|
369
327
|
```python
|
|
370
328
|
import asyncio
|
|
371
|
-
|
|
329
|
+
import httpx
|
|
330
|
+
import json
|
|
331
|
+
from solace_agent_mesh.gateway.http_sse.sse_manager import SSEManager
|
|
332
|
+
from solace_agent_mesh.gateway.http_sse.sse_event_buffer import SSEEventBuffer
|
|
333
|
+
|
|
334
|
+
# Server-side SSE management
|
|
335
|
+
sse_buffer = SSEEventBuffer(max_queue_size=100, max_age_seconds=300)
|
|
336
|
+
sse_manager = SSEManager(max_queue_size=100, event_buffer=sse_buffer)
|
|
337
|
+
|
|
338
|
+
# Create SSE connection for a task
|
|
339
|
+
task_id = "task-123"
|
|
340
|
+
sse_queue = sse_manager.create_sse_connection(task_id)
|
|
341
|
+
|
|
342
|
+
# Send events to connected clients
|
|
343
|
+
sse_manager.send_event(
|
|
344
|
+
task_id=task_id,
|
|
345
|
+
event_data={"message": "Task started", "progress": 0},
|
|
346
|
+
event_type="task_update"
|
|
347
|
+
)
|
|
348
|
+
|
|
349
|
+
# Client-side SSE consumption
|
|
350
|
+
async def listen_to_task_events(task_id: str):
|
|
351
|
+
async with httpx.AsyncClient() as client:
|
|
352
|
+
async with client.stream(
|
|
353
|
+
"GET",
|
|
354
|
+
f"http://localhost:8000/api/v1/sse/subscribe/{task_id}",
|
|
355
|
+
headers={"Accept": "text/event-stream"}
|
|
356
|
+
) as response:
|
|
357
|
+
async for line in response.aiter_lines():
|
|
358
|
+
if line.startswith("data: "):
|
|
359
|
+
event_data = line[6:] # Remove "data: " prefix
|
|
360
|
+
try:
|
|
361
|
+
parsed_data = json.loads(event_data)
|
|
362
|
+
print(f"Received event: {parsed_data}")
|
|
363
|
+
except json.JSONDecodeError:
|
|
364
|
+
print(f"Received raw data: {event_data}")
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
### 5. Database
|
|
372
368
|
|
|
373
|
-
# content_hash:
|
|
369
|
+
# content_hash: 0b7ed0154e912abecea7634ace04f072596af9b37780b6093ab5585b700d3d39
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Concrete implementation of the Generic Gateway Component and App."""
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Custom Solace AI Connector App class for the Generic Gateway.
|
|
3
|
+
This app dynamically loads a specified gateway adapter.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import logging
|
|
7
|
+
from typing import Any, Dict, List, Type
|
|
8
|
+
|
|
9
|
+
from ..base.app import BaseGatewayApp
|
|
10
|
+
from ..base.component import BaseGatewayComponent
|
|
11
|
+
|
|
12
|
+
log = logging.getLogger(__name__)
|
|
13
|
+
|
|
14
|
+
info = {
|
|
15
|
+
"class_name": "GenericGatewayApp",
|
|
16
|
+
"description": "A generic gateway app that hosts a gateway adapter plugin.",
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class GenericGatewayApp(BaseGatewayApp):
|
|
21
|
+
"""
|
|
22
|
+
Custom App class for the Generic Gateway.
|
|
23
|
+
- Extends BaseGatewayApp for common gateway functionalities.
|
|
24
|
+
- Dynamically loads a gateway adapter specified in configuration.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
SPECIFIC_APP_SCHEMA_PARAMS: List[Dict[str, Any]] = [
|
|
28
|
+
{
|
|
29
|
+
"name": "gateway_adapter",
|
|
30
|
+
"required": True,
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "The Python module path to the GatewayAdapter implementation class (e.g., 'my_gateway.adapter.MyAdapter').",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "adapter_config",
|
|
36
|
+
"required": False,
|
|
37
|
+
"type": "object",
|
|
38
|
+
"default": {},
|
|
39
|
+
"description": "A dictionary of configuration settings specific to the gateway adapter.",
|
|
40
|
+
},
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
def _get_gateway_component_class(self) -> Type[BaseGatewayComponent]:
|
|
44
|
+
"""
|
|
45
|
+
Returns the specific gateway component class for this app.
|
|
46
|
+
"""
|
|
47
|
+
# This component will be created in the next step.
|
|
48
|
+
from .component import GenericGatewayComponent
|
|
49
|
+
|
|
50
|
+
return GenericGatewayComponent
|