solace-agent-mesh 1.0.2__py3-none-any.whl → 1.0.5__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/__init__.py +0 -5
- solace_agent_mesh/agent/adk/filesystem_artifact_service.py +32 -39
- solace_agent_mesh/agent/adk/services.py +140 -59
- solace_agent_mesh/agent/protocol/event_handlers.py +70 -116
- solace_agent_mesh/agent/sac/app.py +12 -2
- solace_agent_mesh/agent/sac/component.py +37 -1
- solace_agent_mesh/agent/tools/builtin_artifact_tools.py +8 -1
- solace_agent_mesh/agent/tools/peer_agent_tool.py +92 -84
- solace_agent_mesh/agent/utils/artifact_helpers.py +148 -14
- solace_agent_mesh/assets/docs/404.html +3 -3
- solace_agent_mesh/assets/docs/assets/js/{04989206.674a8007.js → 04989206.da8246cd.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/1023fc19.8e6d174c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{3d406171.f722eaf5.js → 3d406171.9b081d5f.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/75384d09.c3991823.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/9eff14a2.036c35ea.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{aba87c2f.d3e2dcc3.js → aba87c2f.a6b84da6.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/{ae4415af.8e279b5d.js → ae4415af.96189a93.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/b7006a3a.38c0cf3d.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/bb2ef573.56931473.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{cc969b05.954186d4.js → cc969b05.bd3e0d6c.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/f284c35a.5aff74ab.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{f897a61a.f8c53b0f.js → f897a61a.862b0514.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/main.946fa17b.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/runtime~main.aa687c82.js +1 -0
- solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html +8 -6
- solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html +9 -9
- 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 +5 -5
- 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 +5 -5
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/rag-integration/index.html +140 -0
- 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 +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html +5 -5
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html +3 -3
- solace_agent_mesh/assets/docs/img/solace-logo-text.svg +18 -0
- solace_agent_mesh/assets/docs/lunr-index-1755275703209.json +1 -0
- solace_agent_mesh/assets/docs/lunr-index.json +1 -1
- solace_agent_mesh/assets/docs/search-doc-1755275703209.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/orchestrator_step.py +1 -1
- solace_agent_mesh/cli/commands/run_cmd.py +46 -3
- solace_agent_mesh/cli/main.py +1 -3
- solace_agent_mesh/client/webui/frontend/static/assets/main-BCpII1-0.css +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-DzKPMTRs.js +673 -0
- solace_agent_mesh/client/webui/frontend/static/index.html +2 -2
- solace_agent_mesh/common/exceptions.py +25 -0
- solace_agent_mesh/common/utils/initializer.py +4 -3
- solace_agent_mesh/common/utils/message_utils.py +79 -0
- solace_agent_mesh/config_portal/backend/common.py +1 -1
- solace_agent_mesh/config_portal/frontend/static/client/assets/{_index-_7yox_eh.js → _index-xSu2leR8.js} +1 -1
- solace_agent_mesh/config_portal/frontend/static/client/assets/{manifest-e5c3acfe.js → manifest-950eb3be.js} +1 -1
- solace_agent_mesh/config_portal/frontend/static/client/index.html +1 -1
- solace_agent_mesh/gateway/base/component.py +15 -2
- solace_agent_mesh/gateway/http_sse/sse_manager.py +23 -1
- solace_agent_mesh/templates/plugin_agent_config_template.yaml +1 -1
- {solace_agent_mesh-1.0.2.dist-info → solace_agent_mesh-1.0.5.dist-info}/METADATA +66 -49
- {solace_agent_mesh-1.0.2.dist-info → solace_agent_mesh-1.0.5.dist-info}/RECORD +86 -82
- solace_agent_mesh/assets/docs/assets/js/1023fc19.015679ca.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/9eff14a2.1bf8f61c.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/b7006a3a.40b10c9d.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/bb2ef573.207e6990.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/f284c35a.ecc3d195.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/main.c6286d7c.js +0 -2
- solace_agent_mesh/assets/docs/assets/js/runtime~main.d5133813.js +0 -1
- solace_agent_mesh/assets/docs/img/Solace_AI_Framework_README.png +0 -0
- solace_agent_mesh/assets/docs/lunr-index-1754075282978.json +0 -1
- solace_agent_mesh/assets/docs/search-doc-1754075282978.json +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-D11Lmy9p.css +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-Gfk3BYn5.js +0 -663
- /solace_agent_mesh/assets/docs/assets/js/{main.c6286d7c.js.LICENSE.txt → main.946fa17b.js.LICENSE.txt} +0 -0
- {solace_agent_mesh-1.0.2.dist-info → solace_agent_mesh-1.0.5.dist-info}/WHEEL +0 -0
- {solace_agent_mesh-1.0.2.dist-info → solace_agent_mesh-1.0.5.dist-info}/entry_points.txt +0 -0
- {solace_agent_mesh-1.0.2.dist-info → solace_agent_mesh-1.0.5.dist-info}/licenses/LICENSE +0 -0
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/assets/favicon-BLgzUch9.ico" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Solace Agent Mesh</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/main-
|
|
8
|
+
<script type="module" crossorigin src="/assets/main-DzKPMTRs.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/client-bp6u3qVZ.js">
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/assets/main-
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/assets/main-BCpII1-0.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
13
13
|
<div id="root"></div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Custom exceptions for Solace Agent Mesh."""
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class MessageSizeExceededError(Exception):
|
|
5
|
+
"""Raised when a message exceeds the maximum allowed size."""
|
|
6
|
+
|
|
7
|
+
def __init__(self, actual_size: int, max_size: int, message: str = None):
|
|
8
|
+
"""Initialize the MessageSizeExceededError.
|
|
9
|
+
|
|
10
|
+
Args:
|
|
11
|
+
actual_size: The actual size of the message in bytes.
|
|
12
|
+
max_size: The maximum allowed size in bytes.
|
|
13
|
+
message: Optional custom error message. If None, a default message
|
|
14
|
+
will be generated.
|
|
15
|
+
"""
|
|
16
|
+
self.actual_size = actual_size
|
|
17
|
+
self.max_size = max_size
|
|
18
|
+
|
|
19
|
+
if message is None:
|
|
20
|
+
message = (
|
|
21
|
+
f"Message size {actual_size} bytes exceeds maximum limit of "
|
|
22
|
+
f"{max_size} bytes"
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
super().__init__(message)
|
|
@@ -2,6 +2,7 @@ import os
|
|
|
2
2
|
import json
|
|
3
3
|
import yaml
|
|
4
4
|
from solace_ai_connector.common.log import log
|
|
5
|
+
from solace_ai_connector.main import load_config
|
|
5
6
|
|
|
6
7
|
_has_initialized_system = False
|
|
7
8
|
|
|
@@ -13,7 +14,7 @@ def initialize():
|
|
|
13
14
|
return
|
|
14
15
|
|
|
15
16
|
try:
|
|
16
|
-
from
|
|
17
|
+
from solace_agent_mesh_enterprise.init_enterprise import initialize_enterprise_features
|
|
17
18
|
except ImportError:
|
|
18
19
|
# Community edition
|
|
19
20
|
# Contact Solace support for enterprise features
|
|
@@ -23,8 +24,7 @@ def initialize():
|
|
|
23
24
|
if enterprise_config and isinstance(enterprise_config, str):
|
|
24
25
|
if enterprise_config.endswith('.yaml') or enterprise_config.endswith('.yml'):
|
|
25
26
|
try:
|
|
26
|
-
|
|
27
|
-
enterprise_config = yaml.safe_load(file)
|
|
27
|
+
enterprise_config = load_config(enterprise_config)
|
|
28
28
|
except Exception as e:
|
|
29
29
|
log.error("Failed to load YAML config from SAM_ENTERPRISE_CONFIG: %s", e, exc_info=True)
|
|
30
30
|
raise
|
|
@@ -43,6 +43,7 @@ def initialize():
|
|
|
43
43
|
raise
|
|
44
44
|
else:
|
|
45
45
|
enterprise_config = {}
|
|
46
|
+
return
|
|
46
47
|
|
|
47
48
|
try:
|
|
48
49
|
initialize_enterprise_features(enterprise_config)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"""Message utility functions for size calculation and validation.
|
|
2
|
+
|
|
3
|
+
This module provides utilities for calculating and validating message sizes
|
|
4
|
+
to ensure they don't exceed configured limits. The size calculation matches
|
|
5
|
+
the exact serialization format used by the Solace AI Connector (JSON + UTF-8).
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import json
|
|
9
|
+
from typing import Any, Dict, Tuple
|
|
10
|
+
|
|
11
|
+
from solace_ai_connector.common.log import log
|
|
12
|
+
|
|
13
|
+
# Maximum bytes per character in UTF-8 encoding (4 bytes for full Unicode range)
|
|
14
|
+
MAX_UTF8_BYTES_PER_CHARACTER = 4
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def calculate_message_size(payload: Dict[str, Any]) -> int:
|
|
18
|
+
"""Calculate the exact size of a message payload in bytes.
|
|
19
|
+
|
|
20
|
+
Uses JSON serialization followed by UTF-8 encoding to match the exact
|
|
21
|
+
format used by the Solace AI Connector.
|
|
22
|
+
|
|
23
|
+
Args:
|
|
24
|
+
payload: The message payload dictionary to calculate size for.
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
The size of the payload in bytes.
|
|
28
|
+
|
|
29
|
+
Note:
|
|
30
|
+
If JSON serialization fails, falls back to string representation
|
|
31
|
+
for size estimation.
|
|
32
|
+
"""
|
|
33
|
+
try:
|
|
34
|
+
# Use JSON serialization + UTF-8 encoding to match Solace AI Connector
|
|
35
|
+
json_str = json.dumps(payload, separators=(",", ":"), ensure_ascii=False)
|
|
36
|
+
return len(json_str.encode("utf-8"))
|
|
37
|
+
except (TypeError, ValueError) as e:
|
|
38
|
+
# Graceful fallback if JSON serialization fails
|
|
39
|
+
log.warning(
|
|
40
|
+
f"Failed to serialize payload to JSON for size calculation: {e}. "
|
|
41
|
+
f"Using string representation fallback."
|
|
42
|
+
)
|
|
43
|
+
try:
|
|
44
|
+
return len(str(payload).encode("utf-8"))
|
|
45
|
+
except Exception as fallback_error:
|
|
46
|
+
log.error(
|
|
47
|
+
f"Fallback size calculation also failed: {fallback_error}. "
|
|
48
|
+
f"Returning conservative estimate."
|
|
49
|
+
)
|
|
50
|
+
# Conservative estimate using maximum UTF-8 bytes per character
|
|
51
|
+
return len(str(payload)) * MAX_UTF8_BYTES_PER_CHARACTER
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def validate_message_size(
|
|
55
|
+
payload: Dict[str, Any], max_size_bytes: int, component_identifier: str = "Unknown"
|
|
56
|
+
) -> Tuple[bool, int]:
|
|
57
|
+
"""Validate that a message payload doesn't exceed the maximum size limit.
|
|
58
|
+
|
|
59
|
+
Args:
|
|
60
|
+
payload: The message payload dictionary to validate.
|
|
61
|
+
max_size_bytes: The maximum allowed size in bytes.
|
|
62
|
+
component_identifier: Identifier for the component performing validation
|
|
63
|
+
(used in log messages).
|
|
64
|
+
|
|
65
|
+
Returns:
|
|
66
|
+
A tuple containing:
|
|
67
|
+
- bool: True if the payload is within size limits, False otherwise
|
|
68
|
+
- int: The actual size of the payload in bytes
|
|
69
|
+
|
|
70
|
+
Note:
|
|
71
|
+
Logs an error if size exceeds the limit.
|
|
72
|
+
"""
|
|
73
|
+
actual_size = calculate_message_size(payload)
|
|
74
|
+
|
|
75
|
+
# Check if size exceeds the limit
|
|
76
|
+
if actual_size > max_size_bytes:
|
|
77
|
+
return False, actual_size
|
|
78
|
+
|
|
79
|
+
return True, actual_size
|
|
@@ -30,7 +30,7 @@ AGENT_DEFAULTS = {
|
|
|
30
30
|
"supports_streaming": True,
|
|
31
31
|
"model_type": "general",
|
|
32
32
|
"instruction": "You are a helpful AI assistant named __AGENT_NAME__.",
|
|
33
|
-
"artifact_handling_mode": "
|
|
33
|
+
"artifact_handling_mode": "reference",
|
|
34
34
|
"enable_embed_resolution": True,
|
|
35
35
|
"enable_artifact_content_instruction": True,
|
|
36
36
|
"tools": "[]",
|