solace-agent-mesh 1.0.9__py3-none-any.whl → 1.3.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 +182 -42
- solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +171 -0
- solace_agent_mesh/agent/adk/callbacks.py +165 -104
- solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +0 -18
- solace_agent_mesh/agent/adk/models/models_llm.txt +104 -55
- solace_agent_mesh/agent/adk/runner.py +25 -17
- solace_agent_mesh/agent/adk/services.py +3 -3
- solace_agent_mesh/agent/adk/setup.py +11 -0
- solace_agent_mesh/agent/adk/stream_parser.py +8 -1
- solace_agent_mesh/agent/adk/tool_wrapper.py +10 -3
- solace_agent_mesh/agent/agent_llm.txt +355 -18
- solace_agent_mesh/agent/protocol/event_handlers.py +460 -317
- solace_agent_mesh/agent/protocol/protocol_llm.txt +54 -7
- solace_agent_mesh/agent/sac/app.py +2 -2
- solace_agent_mesh/agent/sac/component.py +211 -517
- solace_agent_mesh/agent/sac/sac_llm.txt +133 -63
- solace_agent_mesh/agent/testing/testing_llm.txt +25 -58
- solace_agent_mesh/agent/tools/peer_agent_tool.py +15 -11
- solace_agent_mesh/agent/tools/tools_llm.txt +234 -69
- solace_agent_mesh/agent/utils/artifact_helpers.py +35 -1
- solace_agent_mesh/agent/utils/utils_llm.txt +90 -105
- solace_agent_mesh/assets/docs/404.html +3 -3
- solace_agent_mesh/assets/docs/assets/js/6e0db977.39a79ca9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{75384d09.ccd480c4.js → 75384d09.bf78fbdb.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/90dd9cf6.88f385ea.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/f284c35a.fb68323a.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/main.08d30374.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/runtime~main.458efb1d.js +1 -0
- solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/configurations/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/migration-guides/a2a-upgrade-to-0.3.0/a2a-gateway-upgrade-to-0.3.0/index.html +105 -0
- solace_agent_mesh/assets/docs/docs/documentation/migration-guides/a2a-upgrade-to-0.3.0/a2a-technical-migration-map/index.html +53 -0
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/bedrock-agents/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/custom-agent/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/event-mesh-gateway/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/mcp-integration/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/mongodb-integration/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/rag-integration/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/sql-database/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/artifact-management/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html +4 -4
- solace_agent_mesh/assets/docs/lunr-index-1757433031159.json +1 -0
- solace_agent_mesh/assets/docs/lunr-index.json +1 -1
- solace_agent_mesh/assets/docs/search-doc-1757433031159.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/add_cmd/agent_cmd.py +125 -48
- solace_agent_mesh/cli/commands/eval_cmd.py +14 -0
- solace_agent_mesh/cli/commands/init_cmd/__init__.py +53 -31
- solace_agent_mesh/cli/commands/init_cmd/database_step.py +91 -0
- solace_agent_mesh/cli/commands/init_cmd/env_step.py +19 -8
- solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +80 -25
- solace_agent_mesh/cli/commands/init_cmd/web_init_step.py +32 -10
- solace_agent_mesh/cli/commands/init_cmd/webui_gateway_step.py +74 -15
- solace_agent_mesh/cli/commands/plugin_cmd/create_cmd.py +0 -2
- solace_agent_mesh/cli/commands/run_cmd.py +5 -3
- solace_agent_mesh/cli/utils.py +68 -12
- solace_agent_mesh/client/webui/frontend/static/assets/authCallback-vY5eu2lI.js +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/client-BeBkzgWW.js +25 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-Bjys1KQs.js +339 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-C03yrETa.css +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/vendor-CE0AeXyK.js +395 -0
- solace_agent_mesh/client/webui/frontend/static/auth-callback.html +3 -2
- solace_agent_mesh/client/webui/frontend/static/index.html +4 -3
- solace_agent_mesh/common/a2a/__init__.py +213 -0
- solace_agent_mesh/common/a2a/a2a_llm.txt +182 -0
- solace_agent_mesh/common/a2a/artifact.py +328 -0
- solace_agent_mesh/common/a2a/events.py +183 -0
- solace_agent_mesh/common/a2a/message.py +307 -0
- solace_agent_mesh/common/a2a/protocol.py +513 -0
- solace_agent_mesh/common/a2a/task.py +127 -0
- solace_agent_mesh/common/a2a/translation.py +653 -0
- solace_agent_mesh/common/a2a/types.py +54 -0
- solace_agent_mesh/common/a2a_spec/a2a.json +2576 -0
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +407 -0
- solace_agent_mesh/common/a2a_spec/schemas/agent_progress_update.json +18 -0
- solace_agent_mesh/common/a2a_spec/schemas/artifact_creation_progress.json +31 -0
- solace_agent_mesh/common/a2a_spec/schemas/llm_invocation.json +18 -0
- solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +235 -0
- solace_agent_mesh/common/a2a_spec/schemas/tool_invocation_start.json +26 -0
- solace_agent_mesh/common/a2a_spec/schemas/tool_result.json +25 -0
- solace_agent_mesh/common/agent_registry.py +1 -1
- solace_agent_mesh/common/common_llm.txt +192 -70
- solace_agent_mesh/common/data_parts.py +99 -0
- solace_agent_mesh/common/middleware/middleware_llm.txt +17 -17
- solace_agent_mesh/common/sac/__init__.py +0 -0
- solace_agent_mesh/common/sac/sac_llm.txt +71 -0
- solace_agent_mesh/common/sac/sam_component_base.py +252 -0
- solace_agent_mesh/common/services/providers/providers_llm.txt +51 -84
- solace_agent_mesh/common/services/services_llm.txt +206 -26
- solace_agent_mesh/common/utils/artifact_utils.py +29 -0
- solace_agent_mesh/common/utils/embeds/embeds_llm.txt +176 -80
- solace_agent_mesh/common/utils/embeds/resolver.py +1 -0
- solace_agent_mesh/common/utils/utils_llm.txt +323 -42
- solace_agent_mesh/config_portal/backend/common.py +2 -2
- solace_agent_mesh/config_portal/backend/plugin_catalog/constants.py +1 -1
- solace_agent_mesh/config_portal/frontend/static/client/assets/_index-bFMKlzKf.js +98 -0
- solace_agent_mesh/config_portal/frontend/static/client/assets/{manifest-d845808d.js → manifest-89db7c30.js} +1 -1
- solace_agent_mesh/config_portal/frontend/static/client/index.html +1 -1
- solace_agent_mesh/core_a2a/core_a2a_llm.txt +10 -8
- solace_agent_mesh/core_a2a/service.py +20 -44
- solace_agent_mesh/evaluation/message_organizer.py +35 -56
- solace_agent_mesh/evaluation/run.py +26 -5
- solace_agent_mesh/evaluation/subscriber.py +35 -10
- solace_agent_mesh/evaluation/summary_builder.py +27 -34
- solace_agent_mesh/gateway/base/app.py +27 -1
- solace_agent_mesh/gateway/base/base_llm.txt +177 -72
- solace_agent_mesh/gateway/base/component.py +294 -523
- solace_agent_mesh/gateway/gateway_llm.txt +299 -58
- solace_agent_mesh/gateway/http_sse/ARCHITECTURE_GUIDE.md +676 -0
- solace_agent_mesh/gateway/http_sse/alembic/env.py +85 -0
- solace_agent_mesh/gateway/http_sse/alembic/script.py.mako +28 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/b1c2d3e4f5g6_add_database_indexes.py +83 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/d5b3f8f2e9a0_create_initial_database.py +58 -0
- solace_agent_mesh/gateway/http_sse/alembic.ini +147 -0
- solace_agent_mesh/gateway/http_sse/api/__init__.py +11 -0
- solace_agent_mesh/gateway/http_sse/api/controllers/__init__.py +9 -0
- solace_agent_mesh/gateway/http_sse/api/controllers/session_controller.py +355 -0
- solace_agent_mesh/gateway/http_sse/api/controllers/task_controller.py +279 -0
- solace_agent_mesh/gateway/http_sse/api/controllers/user_controller.py +35 -0
- solace_agent_mesh/gateway/http_sse/api/dto/__init__.py +10 -0
- solace_agent_mesh/gateway/http_sse/api/dto/requests/__init__.py +37 -0
- solace_agent_mesh/gateway/http_sse/api/dto/requests/session_requests.py +49 -0
- solace_agent_mesh/gateway/http_sse/api/dto/requests/task_requests.py +66 -0
- solace_agent_mesh/gateway/http_sse/api/dto/responses/__init__.py +43 -0
- solace_agent_mesh/gateway/http_sse/api/dto/responses/session_responses.py +68 -0
- solace_agent_mesh/gateway/http_sse/api/dto/responses/task_responses.py +74 -0
- solace_agent_mesh/gateway/http_sse/app.py +31 -1
- solace_agent_mesh/gateway/http_sse/application/__init__.py +3 -0
- solace_agent_mesh/gateway/http_sse/application/services/__init__.py +3 -0
- solace_agent_mesh/gateway/http_sse/application/services/session_service.py +135 -0
- solace_agent_mesh/gateway/http_sse/component.py +371 -236
- solace_agent_mesh/gateway/http_sse/components/components_llm.txt +29 -29
- solace_agent_mesh/gateway/http_sse/dependencies.py +142 -39
- solace_agent_mesh/gateway/http_sse/domain/entities/__init__.py +3 -0
- solace_agent_mesh/gateway/http_sse/domain/entities/session.py +90 -0
- solace_agent_mesh/gateway/http_sse/domain/repositories/__init__.py +3 -0
- solace_agent_mesh/gateway/http_sse/domain/repositories/session_repository.py +54 -0
- solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +272 -36
- solace_agent_mesh/gateway/http_sse/infrastructure/__init__.py +4 -0
- solace_agent_mesh/gateway/http_sse/infrastructure/dependency_injection/__init__.py +3 -0
- solace_agent_mesh/gateway/http_sse/infrastructure/dependency_injection/container.py +123 -0
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence/__init__.py +4 -0
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence/database_persistence_service.py +16 -0
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence/database_service.py +119 -0
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence/models.py +31 -0
- solace_agent_mesh/gateway/http_sse/infrastructure/persistence_service.py +12 -0
- solace_agent_mesh/gateway/http_sse/infrastructure/repositories/__init__.py +3 -0
- solace_agent_mesh/gateway/http_sse/infrastructure/repositories/session_repository.py +174 -0
- solace_agent_mesh/gateway/http_sse/main.py +293 -91
- solace_agent_mesh/gateway/http_sse/routers/agents.py +1 -1
- solace_agent_mesh/gateway/http_sse/routers/artifacts.py +137 -56
- solace_agent_mesh/gateway/http_sse/routers/config.py +3 -1
- solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +231 -5
- solace_agent_mesh/gateway/http_sse/routers/tasks.py +199 -171
- solace_agent_mesh/gateway/http_sse/routers/visualization.py +7 -7
- solace_agent_mesh/gateway/http_sse/services/agent_service.py +1 -1
- solace_agent_mesh/gateway/http_sse/services/services_llm.txt +89 -135
- solace_agent_mesh/gateway/http_sse/services/task_service.py +2 -5
- solace_agent_mesh/gateway/http_sse/session_manager.py +64 -30
- solace_agent_mesh/gateway/http_sse/shared/__init__.py +9 -0
- solace_agent_mesh/gateway/http_sse/shared/auth_utils.py +29 -0
- solace_agent_mesh/gateway/http_sse/shared/enums.py +45 -0
- solace_agent_mesh/gateway/http_sse/shared/types.py +45 -0
- solace_agent_mesh/solace_agent_mesh_llm.txt +362 -0
- solace_agent_mesh/templates/gateway_component_template.py +149 -98
- solace_agent_mesh/templates/shared_config.yaml +4 -5
- solace_agent_mesh/templates/webui.yaml +8 -10
- {solace_agent_mesh-1.0.9.dist-info → solace_agent_mesh-1.3.0.dist-info}/METADATA +9 -6
- {solace_agent_mesh-1.0.9.dist-info → solace_agent_mesh-1.3.0.dist-info}/RECORD +197 -141
- solace_agent_mesh/assets/docs/assets/js/f284c35a.731836ad.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/main.3d0e7879.js +0 -2
- solace_agent_mesh/assets/docs/assets/js/runtime~main.05d19492.js +0 -1
- solace_agent_mesh/assets/docs/lunr-index-1757091012487.json +0 -1
- solace_agent_mesh/assets/docs/search-doc-1757091012487.json +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/authCallback-BmF2l6vg.js +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/client-D881Dttc.js +0 -49
- solace_agent_mesh/client/webui/frontend/static/assets/main-D0FnP_W4.css +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-Do32sFPX.js +0 -708
- solace_agent_mesh/common/a2a_protocol.py +0 -564
- solace_agent_mesh/common/client/__init__.py +0 -4
- solace_agent_mesh/common/client/card_resolver.py +0 -21
- solace_agent_mesh/common/client/client.py +0 -85
- solace_agent_mesh/common/client/client_llm.txt +0 -133
- solace_agent_mesh/common/server/__init__.py +0 -4
- solace_agent_mesh/common/server/server.py +0 -122
- solace_agent_mesh/common/server/server_llm.txt +0 -169
- solace_agent_mesh/common/server/task_manager.py +0 -291
- solace_agent_mesh/common/server/utils.py +0 -28
- solace_agent_mesh/common/types.py +0 -411
- solace_agent_mesh/config_portal/frontend/static/client/assets/_index-Bym6YkMd.js +0 -98
- solace_agent_mesh/gateway/http_sse/routers/sessions.py +0 -80
- solace_agent_mesh/gateway/http_sse/routers/users.py +0 -59
- /solace_agent_mesh/assets/docs/assets/js/{main.3d0e7879.js.LICENSE.txt → main.08d30374.js.LICENSE.txt} +0 -0
- {solace_agent_mesh-1.0.9.dist-info → solace_agent_mesh-1.3.0.dist-info}/WHEEL +0 -0
- {solace_agent_mesh-1.0.9.dist-info → solace_agent_mesh-1.3.0.dist-info}/entry_points.txt +0 -0
- {solace_agent_mesh-1.0.9.dist-info → solace_agent_mesh-1.3.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
# DEVELOPER GUIDE for the routers directory
|
|
2
2
|
|
|
3
3
|
## Quick Summary
|
|
4
4
|
The `routers` directory contains FastAPI `APIRouter` modules that define the REST API endpoints for the HTTP SSE Gateway. Each file groups endpoints by a specific domain of functionality, such as agent discovery, artifact management, user authentication, task submission, and real-time event streaming. These routers are the primary interface for frontend applications and other clients to interact with the gateway.
|
|
@@ -20,18 +20,244 @@ The `routers` directory contains FastAPI `APIRouter` modules that define the RES
|
|
|
20
20
|
|
|
21
21
|
### agents.py
|
|
22
22
|
**Purpose:** Provides REST endpoints for agent discovery.
|
|
23
|
-
**Import:** `from
|
|
23
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.agents import router`
|
|
24
24
|
|
|
25
25
|
**Functions:**
|
|
26
|
-
- `get_discovered_agents() -> List[AgentCard]
|
|
26
|
+
- `get_discovered_agents() -> List[AgentCard]` - Retrieves a list of all currently discovered and available A2A agents.
|
|
27
27
|
|
|
28
28
|
**Usage Examples:**
|
|
29
29
|
```python
|
|
30
30
|
# To include this router in a FastAPI application
|
|
31
31
|
from fastapi import FastAPI
|
|
32
|
-
from
|
|
32
|
+
from solace_agent_mesh.gateway.http_sse.routers.agents import router
|
|
33
33
|
|
|
34
34
|
app = FastAPI()
|
|
35
35
|
app.include_router(router, prefix="/api/v1")
|
|
36
36
|
|
|
37
|
-
# A client would make a GET request to /api/v1/agents
|
|
37
|
+
# A client would make a GET request to /api/v1/agents
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### artifacts.py
|
|
41
|
+
**Purpose:** Manages session-specific artifacts via REST endpoints (upload, download, list, delete).
|
|
42
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.artifacts import router`
|
|
43
|
+
|
|
44
|
+
**Functions:**
|
|
45
|
+
- `list_artifact_versions(filename: str) -> List[int]` - Lists available version numbers for a specific artifact.
|
|
46
|
+
- `list_artifacts() -> List[ArtifactInfo]` - Retrieves detailed information for all artifacts in the current session.
|
|
47
|
+
- `get_latest_artifact(filename: str) -> StreamingResponse` - Downloads the latest version of an artifact.
|
|
48
|
+
- `get_specific_artifact_version(filename: str, version: Union[int, str]) -> StreamingResponse` - Downloads a specific version of an artifact.
|
|
49
|
+
- `get_artifact_by_uri(uri: str) -> StreamingResponse` - Downloads an artifact using its formal artifact:// URI.
|
|
50
|
+
- `upload_artifact(filename: str, upload_file: UploadFile, metadata_json: Optional[str]) -> Dict[str, Any]` - Uploads a new artifact version with optional metadata.
|
|
51
|
+
- `delete_artifact(filename: str) -> Response` - Deletes an artifact and all its versions.
|
|
52
|
+
|
|
53
|
+
**Usage Examples:**
|
|
54
|
+
```python
|
|
55
|
+
# Include in FastAPI app
|
|
56
|
+
from fastapi import FastAPI
|
|
57
|
+
from solace_agent_mesh.gateway.http_sse.routers.artifacts import router
|
|
58
|
+
|
|
59
|
+
app = FastAPI()
|
|
60
|
+
app.include_router(router, prefix="/api/v1/artifacts")
|
|
61
|
+
|
|
62
|
+
# Client usage examples:
|
|
63
|
+
# GET /api/v1/artifacts/ - List all artifacts
|
|
64
|
+
# GET /api/v1/artifacts/myfile.txt - Download latest version
|
|
65
|
+
# GET /api/v1/artifacts/myfile.txt/versions/1 - Download specific version
|
|
66
|
+
# POST /api/v1/artifacts/myfile.txt - Upload new version
|
|
67
|
+
# DELETE /api/v1/artifacts/myfile.txt - Delete artifact
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### auth.py
|
|
71
|
+
**Purpose:** Handles user authentication flow including login, callback, and token refresh.
|
|
72
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.auth import router`
|
|
73
|
+
|
|
74
|
+
**Functions:**
|
|
75
|
+
- `initiate_login(request: FastAPIRequest) -> RedirectResponse` - Initiates the login flow by redirecting to external auth service.
|
|
76
|
+
- `get_csrf_token(response: Response) -> Dict[str, str]` - Generates and returns a CSRF token.
|
|
77
|
+
- `auth_callback(request: FastAPIRequest) -> RedirectResponse` - Handles the callback from the OIDC provider.
|
|
78
|
+
- `refresh_token(request: FastAPIRequest) -> Dict[str, str]` - Refreshes an access token using the external auth service.
|
|
79
|
+
|
|
80
|
+
**Usage Examples:**
|
|
81
|
+
```python
|
|
82
|
+
# Include in FastAPI app
|
|
83
|
+
from fastapi import FastAPI
|
|
84
|
+
from solace_agent_mesh.gateway.http_sse.routers.auth import router
|
|
85
|
+
|
|
86
|
+
app = FastAPI()
|
|
87
|
+
app.include_router(router, prefix="/api/v1")
|
|
88
|
+
|
|
89
|
+
# Client usage:
|
|
90
|
+
# GET /api/v1/auth/login - Start login flow
|
|
91
|
+
# GET /api/v1/csrf-token - Get CSRF token
|
|
92
|
+
# GET /api/v1/auth/callback - OAuth callback endpoint
|
|
93
|
+
# POST /api/v1/auth/refresh - Refresh access token
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### config.py
|
|
97
|
+
**Purpose:** Provides configuration settings needed by the frontend application.
|
|
98
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.config import router`
|
|
99
|
+
|
|
100
|
+
**Functions:**
|
|
101
|
+
- `get_app_config() -> Dict[str, Any]` - Returns frontend configuration settings including auth URLs, welcome messages, and feature flags.
|
|
102
|
+
|
|
103
|
+
**Usage Examples:**
|
|
104
|
+
```python
|
|
105
|
+
# Include in FastAPI app
|
|
106
|
+
from fastapi import FastAPI
|
|
107
|
+
from solace_agent_mesh.gateway.http_sse.routers.config import router
|
|
108
|
+
|
|
109
|
+
app = FastAPI()
|
|
110
|
+
app.include_router(router, prefix="/api/v1")
|
|
111
|
+
|
|
112
|
+
# Client usage:
|
|
113
|
+
# GET /api/v1/config - Get frontend configuration
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### people.py
|
|
117
|
+
**Purpose:** Provides user search functionality for autocomplete features.
|
|
118
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.people import router`
|
|
119
|
+
|
|
120
|
+
**Functions:**
|
|
121
|
+
- `search_people(q: str, limit: int = 10) -> List[Dict[str, Any]]` - Searches for users to populate frontend autocomplete suggestions.
|
|
122
|
+
|
|
123
|
+
**Usage Examples:**
|
|
124
|
+
```python
|
|
125
|
+
# Include in FastAPI app
|
|
126
|
+
from fastapi import FastAPI
|
|
127
|
+
from solace_agent_mesh.gateway.http_sse.routers.people import router
|
|
128
|
+
|
|
129
|
+
app = FastAPI()
|
|
130
|
+
app.include_router(router, prefix="/api/v1")
|
|
131
|
+
|
|
132
|
+
# Client usage:
|
|
133
|
+
# GET /api/v1/people/search?q=john&limit=5 - Search for users
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### sessions.py
|
|
137
|
+
**Purpose:** Manages user sessions including creation and retrieval of session information.
|
|
138
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.sessions import router`
|
|
139
|
+
|
|
140
|
+
**Functions:**
|
|
141
|
+
- `create_new_session(request: FastAPIRequest) -> JSONRPCSuccessResponse` - Forces creation of a new A2A session.
|
|
142
|
+
- `get_current_session(request: FastAPIRequest) -> JSONRPCSuccessResponse` - Returns information about the current session.
|
|
143
|
+
|
|
144
|
+
**Usage Examples:**
|
|
145
|
+
```python
|
|
146
|
+
# Include in FastAPI app
|
|
147
|
+
from fastapi import FastAPI
|
|
148
|
+
from solace_agent_mesh.gateway.http_sse.routers.sessions import router
|
|
149
|
+
|
|
150
|
+
app = FastAPI()
|
|
151
|
+
app.include_router(router, prefix="/api/v1/sessions")
|
|
152
|
+
|
|
153
|
+
# Client usage:
|
|
154
|
+
# POST /api/v1/sessions/new - Create new session
|
|
155
|
+
# GET /api/v1/sessions/current - Get current session info
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### sse.py
|
|
159
|
+
**Purpose:** Provides Server-Sent Events (SSE) endpoint for streaming real-time task updates.
|
|
160
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.sse import router`
|
|
161
|
+
|
|
162
|
+
**Functions:**
|
|
163
|
+
- `subscribe_to_task_events(task_id: str, request: FastAPIRequest) -> EventSourceResponse` - Establishes an SSE connection for real-time task updates.
|
|
164
|
+
|
|
165
|
+
**Usage Examples:**
|
|
166
|
+
```python
|
|
167
|
+
# Include in FastAPI app
|
|
168
|
+
from fastapi import FastAPI
|
|
169
|
+
from solace_agent_mesh.gateway.http_sse.routers.sse import router
|
|
170
|
+
|
|
171
|
+
app = FastAPI()
|
|
172
|
+
app.include_router(router, prefix="/api/v1/sse")
|
|
173
|
+
|
|
174
|
+
# Client usage:
|
|
175
|
+
# GET /api/v1/sse/subscribe/{task_id} - Subscribe to task events via SSE
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### tasks.py
|
|
179
|
+
**Purpose:** Handles task submission and management including cancellation.
|
|
180
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.tasks import router`
|
|
181
|
+
|
|
182
|
+
**Functions:**
|
|
183
|
+
- `send_task_to_agent(request: FastAPIRequest, payload: SendMessageRequest) -> SendMessageSuccessResponse` - Submits a non-streaming task request.
|
|
184
|
+
- `subscribe_task_from_agent(request: FastAPIRequest, payload: SendStreamingMessageRequest) -> SendStreamingMessageSuccessResponse` - Submits a streaming task request.
|
|
185
|
+
- `cancel_agent_task(request: FastAPIRequest, taskId: str, payload: CancelTaskRequest) -> Dict[str, str]` - Sends a cancellation request for a specific task.
|
|
186
|
+
|
|
187
|
+
**Usage Examples:**
|
|
188
|
+
```python
|
|
189
|
+
# Include in FastAPI app
|
|
190
|
+
from fastapi import FastAPI
|
|
191
|
+
from solace_agent_mesh.gateway.http_sse.routers.tasks import router
|
|
192
|
+
|
|
193
|
+
app = FastAPI()
|
|
194
|
+
app.include_router(router, prefix="/api/v1/tasks")
|
|
195
|
+
|
|
196
|
+
# Client usage:
|
|
197
|
+
# POST /api/v1/tasks/message:send - Submit non-streaming task
|
|
198
|
+
# POST /api/v1/tasks/message:stream - Submit streaming task
|
|
199
|
+
# POST /api/v1/tasks/{taskId}:cancel - Cancel a task
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### users.py
|
|
203
|
+
**Purpose:** Provides information about the currently authenticated user.
|
|
204
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.users import router`
|
|
205
|
+
|
|
206
|
+
**Functions:**
|
|
207
|
+
- `get_current_user(request: FastAPIRequest) -> Dict[str, Any]` - Retrieves information about the currently authenticated user.
|
|
208
|
+
|
|
209
|
+
**Usage Examples:**
|
|
210
|
+
```python
|
|
211
|
+
# Include in FastAPI app
|
|
212
|
+
from fastapi import FastAPI
|
|
213
|
+
from solace_agent_mesh.gateway.http_sse.routers.users import router
|
|
214
|
+
|
|
215
|
+
app = FastAPI()
|
|
216
|
+
app.include_router(router, prefix="/api/v1/users")
|
|
217
|
+
|
|
218
|
+
# Client usage:
|
|
219
|
+
# GET /api/v1/users/me - Get current user info
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### visualization.py
|
|
223
|
+
**Purpose:** Manages A2A message visualization streams for monitoring and debugging.
|
|
224
|
+
**Import:** `from solace_agent_mesh.gateway.http_sse.routers.visualization import router, SubscriptionTarget, VisualizationSubscribeRequest`
|
|
225
|
+
|
|
226
|
+
**Classes:**
|
|
227
|
+
- `SubscriptionTarget(BaseModel)` - Defines an abstract target for A2A message visualization.
|
|
228
|
+
- `type: str` - Type of target to monitor
|
|
229
|
+
- `identifier: Optional[str]` - Identifier for the target
|
|
230
|
+
- `VisualizationSubscribeRequest(BaseModel)` - Request body for initiating a visualization stream.
|
|
231
|
+
- `subscription_targets: Optional[List[SubscriptionTarget]]` - Targets to monitor
|
|
232
|
+
- `client_stream_id: Optional[str]` - Client-generated ID for idempotency
|
|
233
|
+
- `VisualizationSubscribeResponse(BaseModel)` - Response for successful visualization subscription.
|
|
234
|
+
- `VisualizationConfigUpdateRequest(BaseModel)` - Request for updating stream configuration.
|
|
235
|
+
- `VisualizationConfigUpdateResponse(BaseModel)` - Response for configuration updates.
|
|
236
|
+
|
|
237
|
+
**Functions:**
|
|
238
|
+
- `subscribe_to_visualization_stream(request_data: VisualizationSubscribeRequest) -> VisualizationSubscribeResponse` - Initiates a new A2A message visualization stream.
|
|
239
|
+
- `get_visualization_stream_events(stream_id: str) -> EventSourceResponse` - Establishes SSE connection for filtered A2A messages.
|
|
240
|
+
- `update_visualization_stream_config(stream_id: str, update_request: VisualizationConfigUpdateRequest) -> VisualizationConfigUpdateResponse` - Modifies stream configuration.
|
|
241
|
+
- `unsubscribe_from_visualization_stream(stream_id: str) -> Response` - Terminates an active visualization stream.
|
|
242
|
+
|
|
243
|
+
**Usage Examples:**
|
|
244
|
+
```python
|
|
245
|
+
# Include in FastAPI app
|
|
246
|
+
from fastapi import FastAPI
|
|
247
|
+
from solace_agent_mesh.gateway.http_sse.routers.visualization import router, SubscriptionTarget, VisualizationSubscribeRequest
|
|
248
|
+
|
|
249
|
+
app = FastAPI()
|
|
250
|
+
app.include_router(router, prefix="/api/v1/visualization")
|
|
251
|
+
|
|
252
|
+
# Client usage:
|
|
253
|
+
# POST /api/v1/visualization/subscribe - Start visualization stream
|
|
254
|
+
# GET /api/v1/visualization/{stream_id}/events - SSE endpoint for events
|
|
255
|
+
# PUT /api/v1/visualization/{stream_id}/config - Update stream config
|
|
256
|
+
# DELETE /api/v1/visualization/{stream_id}/unsubscribe - Stop stream
|
|
257
|
+
|
|
258
|
+
# Example subscription request:
|
|
259
|
+
targets = [SubscriptionTarget(type="current_namespace_a2a_messages")]
|
|
260
|
+
request = VisualizationSubscribeRequest(subscription_targets=targets)
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
# content_hash: cd51f2d84ce27b9939390065e8505a44c131798ac8296e1ad69ae55133cab7d5
|