solace-agent-mesh 1.0.6__py3-none-any.whl → 1.0.7__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/artifacts/__init__.py +1 -0
- solace_agent_mesh/agent/adk/{filesystem_artifact_service.py → artifacts/filesystem_artifact_service.py} +14 -15
- solace_agent_mesh/agent/adk/artifacts/s3_artifact_service.py +440 -0
- solace_agent_mesh/agent/adk/callbacks.py +123 -159
- solace_agent_mesh/agent/adk/embed_resolving_mcp_toolset.py +316 -0
- solace_agent_mesh/agent/adk/intelligent_mcp_callbacks.py +414 -0
- solace_agent_mesh/agent/adk/mcp_content_processor.py +665 -0
- solace_agent_mesh/agent/adk/services.py +35 -1
- solace_agent_mesh/agent/adk/setup.py +85 -45
- solace_agent_mesh/agent/adk/tool_wrapper.py +19 -3
- solace_agent_mesh/agent/protocol/event_handlers.py +1 -1
- solace_agent_mesh/agent/sac/app.py +67 -0
- solace_agent_mesh/agent/sac/component.py +14 -86
- solace_agent_mesh/assets/docs/404.html +3 -3
- solace_agent_mesh/assets/docs/assets/js/04989206.b9dfe831.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/0e682baa.b3bbde9a.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/1023fc19.364235d5.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/1523c6b4.1b0ec6f9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/166ab619.e8f3a7c7.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/21ceee5f.3bf39250.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/3d406171.7d02a73b.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/42b3f8d8.8ccb9901.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/442a8107.b3159bb2.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/4c2787c2.fc6804f2.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/5b4258a4.0d080cd9.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/75384d09.ccd480c4.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/768e31b0.8b51cd70.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/945fb41e.c63791d1.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{9eff14a2.036c35ea.js → 9eff14a2.472b0310.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/a3a92b25.4b7fa6a2.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/aba87c2f.76376d7c.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/ae4415af.7a2f0bbf.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/b7006a3a.73a79653.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/beecea0d.ae31f6a7.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/c2c06897.587b4af5.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{cd3d4052.ca6eed8c.js → cd3d4052.b6535013.js} +1 -1
- solace_agent_mesh/assets/docs/assets/js/f284c35a.731836ad.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/f897a61a.0aa29dbb.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/main.d79f063b.js +2 -0
- solace_agent_mesh/assets/docs/assets/js/runtime~main.6415ad00.js +1 -0
- solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html +28 -4
- solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html +6 -6
- solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html +8 -8
- solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html +5 -5
- solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html +5 -5
- solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html +34 -5
- solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html +4 -4
- solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html +5 -5
- 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 +6 -6
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/configurations/index.html +72 -0
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html +5 -5
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +7 -7
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html +35 -16
- 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 +17 -11
- 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 +5 -5
- 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 +6 -6
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html +6 -6
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html +6 -6
- 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 +8 -8
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html +14 -14
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html +8 -8
- 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 +6 -6
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html +35 -23
- 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 +6 -6
- 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-1756146501924.json +1 -0
- solace_agent_mesh/assets/docs/lunr-index.json +1 -1
- solace_agent_mesh/assets/docs/search-doc-1756146501924.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/add_cmd_llm.txt +1 -1
- solace_agent_mesh/cli/commands/add_cmd/agent_cmd.py +67 -10
- solace_agent_mesh/cli/commands/add_cmd/gateway_cmd.py +2 -2
- solace_agent_mesh/cli/commands/eval_cmd.py +8 -2
- solace_agent_mesh/cli/commands/init_cmd/__init__.py +20 -2
- solace_agent_mesh/cli/commands/init_cmd/env_step.py +25 -1
- solace_agent_mesh/cli/commands/init_cmd/orchestrator_step.py +45 -1
- solace_agent_mesh/cli/utils.py +21 -12
- solace_agent_mesh/client/webui/frontend/static/assets/main-BucUdn9m.js +673 -0
- solace_agent_mesh/client/webui/frontend/static/index.html +1 -1
- solace_agent_mesh/common/a2a_protocol.py +1 -1
- solace_agent_mesh/common/utils/mime_helpers.py +60 -1
- solace_agent_mesh/config_portal/backend/server.py +1 -1
- solace_agent_mesh/config_portal/frontend/static/client/assets/{_index-xSu2leR8.js → _index-MqsrTd6g.js} +9 -9
- solace_agent_mesh/config_portal/frontend/static/client/assets/{manifest-950eb3be.js → manifest-28271392.js} +1 -1
- solace_agent_mesh/config_portal/frontend/static/client/index.html +1 -1
- solace_agent_mesh/core_a2a/core_a2a_llm.txt +1 -1
- solace_agent_mesh/core_a2a/service.py +1 -1
- solace_agent_mesh/evaluation/run.py +149 -15
- solace_agent_mesh/evaluation/summary_builder.py +5 -3
- solace_agent_mesh/gateway/http_sse/dependencies.py +1 -1
- solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +1 -1
- solace_agent_mesh/gateway/http_sse/services/task_service.py +1 -1
- solace_agent_mesh/llm_detail.txt +2 -2
- solace_agent_mesh/templates/agent_template.yaml +1 -1
- solace_agent_mesh/templates/plugin_agent_config_template.yaml +3 -3
- solace_agent_mesh/templates/plugin_readme_template.md +1 -1
- solace_agent_mesh/templates/shared_config.yaml +8 -1
- {solace_agent_mesh-1.0.6.dist-info → solace_agent_mesh-1.0.7.dist-info}/METADATA +4 -1
- {solace_agent_mesh-1.0.6.dist-info → solace_agent_mesh-1.0.7.dist-info}/RECORD +113 -108
- solace_agent_mesh/assets/docs/assets/js/04989206.da8246cd.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/0e682baa.79f0ab22.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/1023fc19.8e6d174c.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/1523c6b4.91c7bc01.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/166ab619.7d97ccaf.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/21ceee5f.614fa8dd.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/3d406171.9b081d5f.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/42b3f8d8.36090198.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/442a8107.5ba94b65.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/4c2787c2.66ee00e9.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/5b4258a4.bda20761.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/75384d09.c3991823.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/768e31b0.a12673db.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/945fb41e.74d728aa.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/a3a92b25.26ca071f.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/aba87c2f.a6b84da6.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/ae4415af.96189a93.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/b7006a3a.38c0cf3d.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/bb2ef573.56931473.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/c2c06897.63b76e9e.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/f284c35a.5aff74ab.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/f897a61a.862b0514.js +0 -1
- solace_agent_mesh/assets/docs/assets/js/main.ea9672b6.js +0 -2
- solace_agent_mesh/assets/docs/assets/js/runtime~main.aa687c82.js +0 -1
- solace_agent_mesh/assets/docs/docs/documentation/enterprise/index.html +0 -17
- solace_agent_mesh/assets/docs/lunr-index-1755285974624.json +0 -1
- solace_agent_mesh/assets/docs/search-doc-1755285974624.json +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-DzKPMTRs.js +0 -673
- /solace_agent_mesh/assets/docs/assets/js/{main.ea9672b6.js.LICENSE.txt → main.d79f063b.js.LICENSE.txt} +0 -0
- {solace_agent_mesh-1.0.6.dist-info → solace_agent_mesh-1.0.7.dist-info}/WHEEL +0 -0
- {solace_agent_mesh-1.0.6.dist-info → solace_agent_mesh-1.0.7.dist-info}/entry_points.txt +0 -0
- {solace_agent_mesh-1.0.6.dist-info → solace_agent_mesh-1.0.7.dist-info}/licenses/LICENSE +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/architecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/cli</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/gateways</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/orchestrator</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/plugins</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deployment/debugging</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deployment/deploy</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deployment/observability</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/architecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/cli</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/gateways</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/orchestrator</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/plugins</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deployment/debugging</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deployment/deploy</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deployment/observability</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/component-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/configurations</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/installation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/introduction</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/quick-start</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/bedrock-agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/custom-agent</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/event-mesh-gateway</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/mcp-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/mongodb-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/rag-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/rest-gateway</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/slack-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/sql-database</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/builtin-tools/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/builtin-tools/artifact-management</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/builtin-tools/audio-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/builtin-tools/data-analysis-tools</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/builtin-tools/embeds</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/create-agents</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/create-gateways</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/creating-service-providers</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/solace-ai-connector</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://solacelabs.github.io/solace-agent-mesh/docs/documentation/user-guide/structure</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "1.0.
|
|
1
|
+
__version__ = "1.0.7"
|
|
@@ -56,7 +56,7 @@ AGENT_DEFAULTS = {
|
|
|
56
56
|
"inter_agent_communication_allow_list": list[str], # Allow list: ["*"]
|
|
57
57
|
"inter_agent_communication_deny_list": list[str], # Deny list: []
|
|
58
58
|
"inter_agent_communication_timeout": int, # Timeout in seconds
|
|
59
|
-
"namespace": str, #
|
|
59
|
+
"namespace": str, # namespace
|
|
60
60
|
}
|
|
61
61
|
```
|
|
62
62
|
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import
|
|
1
|
+
import json
|
|
2
2
|
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
import click
|
|
3
5
|
import yaml
|
|
4
|
-
|
|
6
|
+
|
|
5
7
|
from config_portal.backend.common import (
|
|
6
8
|
AGENT_DEFAULTS,
|
|
7
9
|
USE_DEFAULT_SHARED_ARTIFACT,
|
|
8
10
|
USE_DEFAULT_SHARED_SESSION,
|
|
9
11
|
)
|
|
10
|
-
|
|
12
|
+
|
|
11
13
|
from ...utils import (
|
|
12
14
|
ask_if_not_provided,
|
|
13
15
|
get_formatted_names,
|
|
14
|
-
load_template,
|
|
15
16
|
indent_multiline_string,
|
|
17
|
+
load_template,
|
|
16
18
|
)
|
|
19
|
+
from .web_add_agent_step import launch_add_agent_web_portal
|
|
17
20
|
|
|
18
21
|
|
|
19
22
|
def _write_agent_yaml_from_data(
|
|
@@ -66,6 +69,26 @@ def _write_agent_yaml_from_data(
|
|
|
66
69
|
AGENT_DEFAULTS["artifact_service_base_path"],
|
|
67
70
|
)
|
|
68
71
|
custom_artifact_lines.append(f'base_path: "{base_path_val}"')
|
|
72
|
+
elif type_val == "s3":
|
|
73
|
+
bucket_name_val = config_options.get(
|
|
74
|
+
"artifact_service_bucket_name",
|
|
75
|
+
AGENT_DEFAULTS.get("artifact_service_bucket_name", ""),
|
|
76
|
+
)
|
|
77
|
+
custom_artifact_lines.append(f'bucket_name: "{bucket_name_val}"')
|
|
78
|
+
|
|
79
|
+
endpoint_url_val = config_options.get(
|
|
80
|
+
"artifact_service_endpoint_url",
|
|
81
|
+
AGENT_DEFAULTS.get("artifact_service_endpoint_url", ""),
|
|
82
|
+
)
|
|
83
|
+
if endpoint_url_val:
|
|
84
|
+
custom_artifact_lines.append(f'endpoint_url: "{endpoint_url_val}"')
|
|
85
|
+
|
|
86
|
+
region_val = config_options.get(
|
|
87
|
+
"artifact_service_region",
|
|
88
|
+
AGENT_DEFAULTS.get("artifact_service_region", "us-east-1"),
|
|
89
|
+
)
|
|
90
|
+
if region_val:
|
|
91
|
+
custom_artifact_lines.append(f'region: "{region_val}"')
|
|
69
92
|
custom_artifact_lines.append(f"artifact_scope: {scope_val}")
|
|
70
93
|
artifact_service_block = "\n" + "\n".join(
|
|
71
94
|
[f" {line}" for line in custom_artifact_lines]
|
|
@@ -81,7 +104,7 @@ def _write_agent_yaml_from_data(
|
|
|
81
104
|
if not isinstance(actual_tools_list, list):
|
|
82
105
|
click.echo(
|
|
83
106
|
click.style(
|
|
84
|
-
|
|
107
|
+
"Warning: Tools data was a string but not a valid JSON list. Defaulting to empty tools list.",
|
|
85
108
|
fg="yellow",
|
|
86
109
|
),
|
|
87
110
|
err=True,
|
|
@@ -164,6 +187,7 @@ def _write_agent_yaml_from_data(
|
|
|
164
187
|
|
|
165
188
|
replacements = {
|
|
166
189
|
"__AGENT_NAME__": agent_name_camel,
|
|
190
|
+
"__AGENT_SPACED_NAME__": get_formatted_names(agent_name_camel).get("SPACED_CAPITALIZED_NAME"),
|
|
167
191
|
"__NAMESPACE__": config_options.get(
|
|
168
192
|
"namespace", AGENT_DEFAULTS["namespace"]
|
|
169
193
|
),
|
|
@@ -172,7 +196,7 @@ def _write_agent_yaml_from_data(
|
|
|
172
196
|
"supports_streaming", AGENT_DEFAULTS["supports_streaming"]
|
|
173
197
|
)
|
|
174
198
|
).lower(),
|
|
175
|
-
"__MODEL_ALIAS__": f
|
|
199
|
+
"__MODEL_ALIAS__": f"*{config_options.get('model_type', AGENT_DEFAULTS['model_type'])}_model",
|
|
176
200
|
"__INSTRUCTION__": instructions,
|
|
177
201
|
"__TOOLS_CONFIG__": tools_replacement_value,
|
|
178
202
|
"__SESSION_SERVICE__": session_service_block,
|
|
@@ -302,7 +326,7 @@ def create_agent_config(
|
|
|
302
326
|
collected_options["namespace"] = ask_if_not_provided(
|
|
303
327
|
collected_options,
|
|
304
328
|
"namespace",
|
|
305
|
-
"Enter
|
|
329
|
+
"Enter namespace (e.g., myorg/dev, or leave for ${NAMESPACE})",
|
|
306
330
|
AGENT_DEFAULTS["namespace"],
|
|
307
331
|
skip_interactive,
|
|
308
332
|
)
|
|
@@ -364,7 +388,7 @@ def create_agent_config(
|
|
|
364
388
|
"Artifact service type",
|
|
365
389
|
AGENT_DEFAULTS["artifact_service_type"],
|
|
366
390
|
skip_interactive,
|
|
367
|
-
choices=[USE_DEFAULT_SHARED_ARTIFACT, "memory", "filesystem", "gcs"],
|
|
391
|
+
choices=[USE_DEFAULT_SHARED_ARTIFACT, "memory", "filesystem", "gcs", "s3"],
|
|
368
392
|
)
|
|
369
393
|
if collected_options["artifact_service_type"] != USE_DEFAULT_SHARED_ARTIFACT:
|
|
370
394
|
if collected_options.get("artifact_service_type") == "filesystem":
|
|
@@ -375,6 +399,28 @@ def create_agent_config(
|
|
|
375
399
|
AGENT_DEFAULTS["artifact_service_base_path"],
|
|
376
400
|
skip_interactive,
|
|
377
401
|
)
|
|
402
|
+
elif collected_options.get("artifact_service_type") == "s3":
|
|
403
|
+
collected_options["artifact_service_bucket_name"] = ask_if_not_provided(
|
|
404
|
+
collected_options,
|
|
405
|
+
"artifact_service_bucket_name",
|
|
406
|
+
"S3 bucket name",
|
|
407
|
+
AGENT_DEFAULTS.get("artifact_service_bucket_name", ""),
|
|
408
|
+
skip_interactive,
|
|
409
|
+
)
|
|
410
|
+
collected_options["artifact_service_endpoint_url"] = ask_if_not_provided(
|
|
411
|
+
collected_options,
|
|
412
|
+
"artifact_service_endpoint_url",
|
|
413
|
+
"S3 endpoint URL (leave empty for AWS S3)",
|
|
414
|
+
AGENT_DEFAULTS.get("artifact_service_endpoint_url", ""),
|
|
415
|
+
skip_interactive,
|
|
416
|
+
)
|
|
417
|
+
collected_options["artifact_service_region"] = ask_if_not_provided(
|
|
418
|
+
collected_options,
|
|
419
|
+
"artifact_service_region",
|
|
420
|
+
"S3 region",
|
|
421
|
+
AGENT_DEFAULTS.get("artifact_service_region", "us-east-1"),
|
|
422
|
+
skip_interactive,
|
|
423
|
+
)
|
|
378
424
|
collected_options["artifact_service_scope"] = ask_if_not_provided(
|
|
379
425
|
collected_options,
|
|
380
426
|
"artifact_service_scope",
|
|
@@ -537,7 +583,7 @@ def create_agent_config(
|
|
|
537
583
|
is_flag=True,
|
|
538
584
|
help="Skip interactive prompts and use defaults (CLI mode only).",
|
|
539
585
|
)
|
|
540
|
-
@click.option("--namespace", help="
|
|
586
|
+
@click.option("--namespace", help="namespace (e.g., myorg/dev).")
|
|
541
587
|
@click.option("--supports-streaming", type=bool, help="Enable streaming support.")
|
|
542
588
|
@click.option(
|
|
543
589
|
"--model-type",
|
|
@@ -559,12 +605,23 @@ def create_agent_config(
|
|
|
559
605
|
)
|
|
560
606
|
@click.option(
|
|
561
607
|
"--artifact-service-type",
|
|
562
|
-
type=click.Choice(["memory", "filesystem", "gcs"]),
|
|
608
|
+
type=click.Choice(["memory", "filesystem", "gcs", "s3"]),
|
|
563
609
|
help="Artifact service type.",
|
|
564
610
|
)
|
|
565
611
|
@click.option(
|
|
566
612
|
"--artifact-service-base-path", help="Base path for filesystem artifact service."
|
|
567
613
|
)
|
|
614
|
+
@click.option(
|
|
615
|
+
"--artifact-service-bucket-name",
|
|
616
|
+
help="S3 bucket name (for s3 artifact service type).",
|
|
617
|
+
)
|
|
618
|
+
@click.option(
|
|
619
|
+
"--artifact-service-endpoint-url",
|
|
620
|
+
help="S3 endpoint URL (for s3 artifact service type, optional for AWS S3).",
|
|
621
|
+
)
|
|
622
|
+
@click.option(
|
|
623
|
+
"--artifact-service-region", help="S3 region (for s3 artifact service type)."
|
|
624
|
+
)
|
|
568
625
|
@click.option(
|
|
569
626
|
"--artifact-service-scope",
|
|
570
627
|
type=click.Choice(["namespace", "app", "custom"]),
|
|
@@ -31,7 +31,7 @@ def create_gateway_files(
|
|
|
31
31
|
collected_options["namespace"] = ask_if_not_provided(
|
|
32
32
|
collected_options,
|
|
33
33
|
"namespace",
|
|
34
|
-
"Enter
|
|
34
|
+
"Enter namespace for the gateway (e.g., myorg/dev, or leave for ${NAMESPACE})",
|
|
35
35
|
GATEWAY_DEFAULTS["namespace"],
|
|
36
36
|
skip_interactive,
|
|
37
37
|
)
|
|
@@ -236,7 +236,7 @@ def create_gateway_files(
|
|
|
236
236
|
|
|
237
237
|
@click.command(name="gateway")
|
|
238
238
|
@click.argument("name", required=False)
|
|
239
|
-
@click.option("--namespace", help="
|
|
239
|
+
@click.option("--namespace", help="namespace for the gateway (e.g., myorg/dev).")
|
|
240
240
|
@click.option("--gateway-id", help="Custom Gateway ID for the gateway.")
|
|
241
241
|
@click.option(
|
|
242
242
|
"--artifact-service-type",
|
|
@@ -44,7 +44,13 @@ def _ensure_eval_backend_config_exists():
|
|
|
44
44
|
required=True,
|
|
45
45
|
metavar="<PATH>",
|
|
46
46
|
)
|
|
47
|
-
|
|
47
|
+
@click.option(
|
|
48
|
+
"-v",
|
|
49
|
+
"--verbose",
|
|
50
|
+
is_flag=True,
|
|
51
|
+
help="Enable verbose output.",
|
|
52
|
+
)
|
|
53
|
+
def eval_cmd(test_suite_config_path, verbose):
|
|
48
54
|
"""
|
|
49
55
|
Run an evaluation suite using a specified configuration file. Such as path/to/file.yaml.
|
|
50
56
|
|
|
@@ -58,7 +64,7 @@ def eval_cmd(test_suite_config_path):
|
|
|
58
64
|
)
|
|
59
65
|
_ensure_eval_backend_config_exists()
|
|
60
66
|
try:
|
|
61
|
-
run_evaluation_main(test_suite_config_path)
|
|
67
|
+
run_evaluation_main(test_suite_config_path, verbose=verbose)
|
|
62
68
|
click.echo(click.style("Evaluation completed successfully.", fg="green"))
|
|
63
69
|
except Exception as e:
|
|
64
70
|
error_exit(f"An error occurred during evaluation: {e}")
|
|
@@ -30,6 +30,9 @@ def _get_flat_orchestrator_defaults():
|
|
|
30
30
|
flat_defaults["artifact_service_scope"] = O_DEFAULTS["artifact_service"][
|
|
31
31
|
"artifact_scope"
|
|
32
32
|
]
|
|
33
|
+
flat_defaults["artifact_service_bucket_name"] = O_DEFAULTS["artifact_service"].get("bucket_name", "")
|
|
34
|
+
flat_defaults["artifact_service_endpoint_url"] = O_DEFAULTS["artifact_service"].get("endpoint_url", "")
|
|
35
|
+
flat_defaults["artifact_service_region"] = O_DEFAULTS["artifact_service"].get("region", "us-east-1")
|
|
33
36
|
flat_defaults["artifact_handling_mode"] = O_DEFAULTS["artifact_handling_mode"]
|
|
34
37
|
flat_defaults["enable_embed_resolution"] = O_DEFAULTS["enable_embed_resolution"]
|
|
35
38
|
flat_defaults["enable_artifact_content_instruction"] = O_DEFAULTS[
|
|
@@ -263,7 +266,7 @@ def run_init_flow(skip_interactive: bool, use_web_based_init_flag: bool, **cli_o
|
|
|
263
266
|
)
|
|
264
267
|
@click.option(
|
|
265
268
|
"--artifact-service-type",
|
|
266
|
-
type=click.Choice(["memory", "filesystem", "gcs"]),
|
|
269
|
+
type=click.Choice(["memory", "filesystem", "gcs", "s3"]),
|
|
267
270
|
help="Artifact service type.",
|
|
268
271
|
)
|
|
269
272
|
@click.option(
|
|
@@ -271,6 +274,21 @@ def run_init_flow(skip_interactive: bool, use_web_based_init_flag: bool, **cli_o
|
|
|
271
274
|
type=str,
|
|
272
275
|
help="Artifact service base path (for filesystem type).",
|
|
273
276
|
)
|
|
277
|
+
@click.option(
|
|
278
|
+
"--artifact-service-bucket-name",
|
|
279
|
+
type=str,
|
|
280
|
+
help="S3 bucket name (for s3 artifact service type).",
|
|
281
|
+
)
|
|
282
|
+
@click.option(
|
|
283
|
+
"--artifact-service-endpoint-url",
|
|
284
|
+
type=str,
|
|
285
|
+
help="S3 endpoint URL (for s3 artifact service type, optional for AWS S3).",
|
|
286
|
+
)
|
|
287
|
+
@click.option(
|
|
288
|
+
"--artifact-service-region",
|
|
289
|
+
type=str,
|
|
290
|
+
help="S3 region (for s3 artifact service type).",
|
|
291
|
+
)
|
|
274
292
|
@click.option(
|
|
275
293
|
"--artifact-service-scope",
|
|
276
294
|
type=click.Choice(["namespace", "app", "custom"]),
|
|
@@ -401,4 +419,4 @@ def init(**kwargs):
|
|
|
401
419
|
skip_interactive=skip_interactive_val,
|
|
402
420
|
use_web_based_init_flag=use_web_based_init_val,
|
|
403
421
|
**kwargs,
|
|
404
|
-
)
|
|
422
|
+
)
|
|
@@ -21,7 +21,10 @@ ENV_DEFAULTS = {
|
|
|
21
21
|
"SSL_KEYFILE": "",
|
|
22
22
|
"SSL_CERTFILE": "",
|
|
23
23
|
"SSL_KEYFILE_PASSWORD": "",
|
|
24
|
-
"LOGGING_CONFIG_PATH": "configs/logging_config.ini"
|
|
24
|
+
"LOGGING_CONFIG_PATH": "configs/logging_config.ini",
|
|
25
|
+
"S3_BUCKET_NAME": "",
|
|
26
|
+
"S3_ENDPOINT_URL": "",
|
|
27
|
+
"S3_REGION": "us-east-1"
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
|
|
@@ -168,6 +171,27 @@ def create_env_file(project_root: Path, options: dict, skip_interactive: bool) -
|
|
|
168
171
|
False,
|
|
169
172
|
"LOGGING_CONFIG_PATH",
|
|
170
173
|
),
|
|
174
|
+
(
|
|
175
|
+
"s3_bucket_name",
|
|
176
|
+
"S3_BUCKET_NAME",
|
|
177
|
+
"Enter S3 Bucket Name (for S3 artifact service)",
|
|
178
|
+
False,
|
|
179
|
+
"S3_BUCKET_NAME",
|
|
180
|
+
),
|
|
181
|
+
(
|
|
182
|
+
"s3_endpoint_url",
|
|
183
|
+
"S3_ENDPOINT_URL",
|
|
184
|
+
"Enter S3 Endpoint URL (for S3-compatible services, leave empty for AWS S3)",
|
|
185
|
+
False,
|
|
186
|
+
"S3_ENDPOINT_URL",
|
|
187
|
+
),
|
|
188
|
+
(
|
|
189
|
+
"s3_region",
|
|
190
|
+
"S3_REGION",
|
|
191
|
+
"Enter S3 Region (for S3 artifact service)",
|
|
192
|
+
False,
|
|
193
|
+
"S3_REGION",
|
|
194
|
+
),
|
|
171
195
|
]
|
|
172
196
|
|
|
173
197
|
env_vars_to_write = {}
|
|
@@ -16,6 +16,9 @@ ORCHESTRATOR_DEFAULTS = {
|
|
|
16
16
|
"type": "filesystem",
|
|
17
17
|
"base_path": "/tmp/samv2",
|
|
18
18
|
"artifact_scope": "namespace",
|
|
19
|
+
"bucket_name": "",
|
|
20
|
+
"endpoint_url": "",
|
|
21
|
+
"region": "us-east-1",
|
|
19
22
|
},
|
|
20
23
|
"agent_card": {
|
|
21
24
|
"description": "The Orchestrator component. It manages tasks and coordinates multi-agent workflows.",
|
|
@@ -100,10 +103,14 @@ def create_orchestrator_config(
|
|
|
100
103
|
"Enter artifact service type",
|
|
101
104
|
ORCHESTRATOR_DEFAULTS["artifact_service"]["type"],
|
|
102
105
|
skip_interactive,
|
|
103
|
-
choices=["memory", "filesystem", "gcs"],
|
|
106
|
+
choices=["memory", "filesystem", "gcs", "s3"],
|
|
104
107
|
)
|
|
105
108
|
|
|
106
109
|
artifact_base_path = None
|
|
110
|
+
s3_bucket_name = None
|
|
111
|
+
s3_endpoint_url = None
|
|
112
|
+
s3_region = None
|
|
113
|
+
|
|
107
114
|
if artifact_type == "filesystem":
|
|
108
115
|
artifact_base_path = ask_if_not_provided(
|
|
109
116
|
options,
|
|
@@ -112,6 +119,36 @@ def create_orchestrator_config(
|
|
|
112
119
|
ORCHESTRATOR_DEFAULTS["artifact_service"]["base_path"],
|
|
113
120
|
skip_interactive,
|
|
114
121
|
)
|
|
122
|
+
elif artifact_type == "s3":
|
|
123
|
+
# Map CLI artifact-service-* parameters to s3_* keys
|
|
124
|
+
if options.get("artifact_service_bucket_name"):
|
|
125
|
+
options["s3_bucket_name"] = options["artifact_service_bucket_name"]
|
|
126
|
+
if options.get("artifact_service_endpoint_url"):
|
|
127
|
+
options["s3_endpoint_url"] = options["artifact_service_endpoint_url"]
|
|
128
|
+
if options.get("artifact_service_region"):
|
|
129
|
+
options["s3_region"] = options["artifact_service_region"]
|
|
130
|
+
|
|
131
|
+
s3_bucket_name = ask_if_not_provided(
|
|
132
|
+
options,
|
|
133
|
+
"s3_bucket_name",
|
|
134
|
+
"Enter S3 bucket name",
|
|
135
|
+
ORCHESTRATOR_DEFAULTS["artifact_service"]["bucket_name"],
|
|
136
|
+
skip_interactive,
|
|
137
|
+
)
|
|
138
|
+
s3_endpoint_url = ask_if_not_provided(
|
|
139
|
+
options,
|
|
140
|
+
"s3_endpoint_url",
|
|
141
|
+
"Enter S3 endpoint URL (leave empty for AWS S3)",
|
|
142
|
+
ORCHESTRATOR_DEFAULTS["artifact_service"]["endpoint_url"],
|
|
143
|
+
skip_interactive,
|
|
144
|
+
)
|
|
145
|
+
s3_region = ask_if_not_provided(
|
|
146
|
+
options,
|
|
147
|
+
"s3_region",
|
|
148
|
+
"Enter S3 region",
|
|
149
|
+
ORCHESTRATOR_DEFAULTS["artifact_service"]["region"],
|
|
150
|
+
skip_interactive,
|
|
151
|
+
)
|
|
115
152
|
|
|
116
153
|
artifact_scope = ask_if_not_provided(
|
|
117
154
|
options,
|
|
@@ -266,6 +303,13 @@ def create_orchestrator_config(
|
|
|
266
303
|
artifact_base_path_line = ""
|
|
267
304
|
if artifact_type == "filesystem":
|
|
268
305
|
artifact_base_path_line = f'base_path: "{artifact_base_path}"'
|
|
306
|
+
elif artifact_type == "s3":
|
|
307
|
+
s3_config_lines = [f'bucket_name: "{s3_bucket_name}"']
|
|
308
|
+
if s3_endpoint_url:
|
|
309
|
+
s3_config_lines.append(f'endpoint_url: "{s3_endpoint_url}"')
|
|
310
|
+
if s3_region:
|
|
311
|
+
s3_config_lines.append(f'region: "{s3_region}"')
|
|
312
|
+
artifact_base_path_line = "\n ".join(s3_config_lines)
|
|
269
313
|
|
|
270
314
|
shared_replacements = {
|
|
271
315
|
"__DEFAULT_SESSION_SERVICE_TYPE__": session_type,
|
solace_agent_mesh/cli/utils.py
CHANGED
|
@@ -91,21 +91,30 @@ def load_template(name, parser=None, *args):
|
|
|
91
91
|
|
|
92
92
|
|
|
93
93
|
def get_formatted_names(name: str):
|
|
94
|
-
# Normalize
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
94
|
+
# Normalize separators
|
|
95
|
+
normalized = re.sub(r'[\s\-_]+', '_', name.strip())
|
|
96
|
+
|
|
97
|
+
camel_case_split = re.sub(r'([a-z0-9])([A-Z])', r'\1_\2', normalized) # fooBar -> foo_Bar
|
|
98
|
+
acronym_split = re.sub(r'([A-Z]+)([A-Z][a-z])', r'\1_\2', camel_case_split) # APIKey -> API_Key
|
|
99
|
+
|
|
100
|
+
raw_parts = [p for p in acronym_split.split('_') if p]
|
|
101
|
+
|
|
102
|
+
parts = [p.lower() for p in raw_parts]
|
|
103
|
+
|
|
104
|
+
# Spaced capitalized name:
|
|
105
|
+
# - If original was all caps, keep it all caps (API -> API)
|
|
106
|
+
# - Else capitalize normally
|
|
107
|
+
spaced_capitalized_parts = [
|
|
108
|
+
p if p.isupper() else p.capitalize() for p in raw_parts
|
|
101
109
|
]
|
|
110
|
+
|
|
102
111
|
return {
|
|
103
|
-
"KEBAB_CASE_NAME": "-".join(
|
|
104
|
-
"PASCAL_CASE_NAME": "".join(
|
|
105
|
-
"SNAKE_CASE_NAME": "_".join(
|
|
106
|
-
"SNAKE_UPPER_CASE_NAME": "_".join(
|
|
112
|
+
"KEBAB_CASE_NAME": "-".join(parts),
|
|
113
|
+
"PASCAL_CASE_NAME": "".join(word.capitalize() for word in parts),
|
|
114
|
+
"SNAKE_CASE_NAME": "_".join(parts),
|
|
115
|
+
"SNAKE_UPPER_CASE_NAME": "_".join(word.upper() for word in parts),
|
|
107
116
|
"SPACED_NAME": " ".join(parts),
|
|
108
|
-
"SPACED_CAPITALIZED_NAME": " ".join(
|
|
117
|
+
"SPACED_CAPITALIZED_NAME": " ".join(spaced_capitalized_parts),
|
|
109
118
|
}
|
|
110
119
|
|
|
111
120
|
|