Skip to content

Commit 910cb18

Browse files
authored
Merge pull request #94 from SolaceLabs/dev
Release update
2 parents 7c49da0 + fd9742b commit 910cb18

File tree

81 files changed

+18958
-656
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+18958
-656
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# noqa: INP001
2+
import os
3+
import shutil
4+
import subprocess
5+
from sys import stderr
6+
7+
from hatchling.builders.hooks.plugin.interface import BuildHookInterface
8+
9+
10+
class CustomBuildHook(BuildHookInterface):
11+
def initialize(self, version, build_data):
12+
super().initialize(version, build_data)
13+
stderr.write(">>> Building Solace Agent Mesh frontend\n")
14+
npm = shutil.which("npm")
15+
if npm is None:
16+
raise RuntimeError(
17+
"NodeJS `npm` is required for building Solace Agent Mesh frontend but it was not found"
18+
)
19+
20+
os.chdir("config_portal/frontend")
21+
try:
22+
stderr.write("### npm install\n")
23+
subprocess.run([npm, "install"], check=True)
24+
stderr.write("\n### npm run build\n")
25+
subprocess.run([npm, "run", "build"], check=True)
26+
finally:
27+
os.chdir("..")

.github/workflows/ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
ci:
1919
uses: SolaceDev/solace-public-workflows/.github/workflows/hatch_ci.yml@main
2020
with:
21-
min-python-version: "3.11"
21+
min-python-version: "3.10"
2222
max-python-version: "3.13"
2323
whitesource_product_name: "solace-agent-mesh"
2424
whitesource_config_file: "wss-unified-agent.config"

README.md

Lines changed: 104 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1,152 +1,131 @@
1-
# Solace Agent Mesh
2-
3-
[![License](https://img.shields.io/github/license/SolaceLabs/solace-agent-mesh)](https://github.com/SolaceLabs/solace-agent-mesh/blob/main/LICENSE)
4-
[![GitHub issues](https://img.shields.io/github/issues/SolaceLabs/solace-agent-mesh?color=red)](https://github.com/SolaceLabs/solace-agent-mesh/issues)
5-
[![GitHub pull requests](https://img.shields.io/github/issues-pr/SolaceLabs/solace-agent-mesh?color=red)](https://github.com/SolaceLabs/solace-agent-mesh/pulls)
6-
[![GitHub stars](https://img.shields.io/github/stars/SolaceLabs/solace-agent-mesh?style=social)](https://github.com/SolaceLabs/solace-agent-mesh/stargazers)
7-
[![PyPI - Version](https://img.shields.io/pypi/v/solace-agent-mesh.svg)](https://pypi.org/project/solace-agent-mesh)
8-
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/solace-agent-mesh.svg)](https://pypi.org/project/solace-agent-mesh)
9-
10-
- [Solace Agent Mesh](#solace-agent-mesh)
11-
* [Installation](#installation)
12-
* [Quick Start](#quick-start)
13-
* [Why Use Solace Agent Mesh?](#why-use-solace-agent-mesh)
14-
* [Next Steps](#next-steps)
15-
* [Contributing](#contributing)
16-
* [Authors](#authors)
17-
* [Release Notes](#release-notes)
18-
* [License](#license)
19-
20-
The Solace Agent Mesh (SAM) is an open-source platform that tackles a fundamental challenge in modern AI development: while powerful AI models are readily available, the real complexity lies in connecting them to the data and systems where they can provide value. Data is often siloed across databases, SaaS platforms, APIs, and legacy systems, making it difficult to build AI applications that operate seamlessly across these boundaries. SAM provides a flexible foundation for AI applications where multiple agents can collaborate, each bringing their own specialized capabilities and data access. Whether you're an AI enthusiast experimenting with new models, or an enterprise developer building production systems, SAM gives you the tools to:
21-
22-
- Connect AI agents to real-world data sources and systems.
23-
- Add SAM Gateways to provide event-based integrations or interactive UI connections.
24-
- Monitor and debug AI interactions in real-time.
25-
- Deploy solutions that scale from prototype to production.
26-
27-
Rather than trying to be a monolithic AI platform, SAM focuses on being an excellent integration layer. It brings together specialized agents - whether they're using local databases, accessing cloud APIs, or interfacing with enterprise systems - and helps them collaborate to solve complex problems.
28-
29-
Built on event-driven architecture technology from Solace, SAM provides the robust foundation needed for both experimental and production deployments.
30-
31-
![Solace Agent Mesh Overview](./docs/static/img/Solace_AI_Framework_With_Broker.png)
32-
33-
## Installation
34-
35-
1. [Optional] Set up Python Virtual Environment using `virtualenv` and activate it
36-
37-
```sh
38-
## Install virtualenv if not already installed
39-
python3 -m pip install --user virtualenv
40-
## Setup python virtual environment
1+
<p align="center">
2+
<img src="./docs/static/img/logo.png" alt="Solace Agent Mesh Logo" width="100"/>
3+
</p>
4+
<h2 align="center">
5+
Solace Agent Mesh
6+
</h2>
7+
<h4 align="center">Open-source framework for building event driven multi-agent AI systems</h3>
8+
9+
<p align="center">
10+
<a href="https://github.com/SolaceLabs/solace-agent-mesh/blob/main/LICENSE">
11+
<img src="https://img.shields.io/github/license/SolaceLabs/solace-agent-mesh" alt="License">
12+
</a>
13+
<a href="https://pypi.org/project/solace-agent-mesh">
14+
<img src="https://img.shields.io/pypi/v/solace-agent-mesh.svg" alt="PyPI - Version">
15+
</a>
16+
<a href="https://pypi.org/project/solace-agent-mesh">
17+
<img src="https://img.shields.io/pypi/pyversions/solace-agent-mesh.svg" alt="PyPI - Python Version">
18+
</a>
19+
</p>
20+
<p align="center">
21+
<a href="#-key-features">Key Features</a> •
22+
<a href="#-quick-start-5-minutes">Quickstart</a> •
23+
<a href="#️-next-steps">Next Steps</a>
24+
</p>
25+
26+
---
27+
28+
Whether you're prototyping an 🤖 AI assistant or deploying a 🌎 production-grade solution, **Solace Agent Mesh (SAM)** provides the infrastructure to:
29+
- Connect AI agents to real-world data sources and systems.
30+
- Add gateways to expose capabilities via REST, a browser-based UI, Slack, and many more.
31+
- Scale from local development to distributed, enterprise deployments.
32+
33+
![Solace Agent Mesh Overview](./docs/static/img/Solace_AI_Framework_README.png)
34+
35+
---
36+
37+
## ✨ Key Features
38+
- ⚙️ **[Modular, Event-Driven Architecture](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/component-overview)** – All components communicate via events through a central event mesh, enabling loose coupling and high scalability.
39+
- 🤖 **[Composable Agents](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/agents)** – Combine specialized AI agents to solve complex, multi-step workflows.
40+
- 🌐 **[Flexible Interfaces](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/gateways)** – Interact with SAM via the REST API, browser UI, or [Slack Integration](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/slack-integration).
41+
- 🧠 **[Built-in Orchestration](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/orchestrator)** – Tasks are automatically broken down and delegated across agents by a built-in orchestrator.
42+
- 🧩 **[Plugin-Extensible](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/plugins)** – Add your own agents, gateways, or services with minimal boilerplate.
43+
- 🏢 **[Production-Ready](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/deployment/deploy)** – Backed by [Solace’s enterprise-grade event broker](https://solace.com/products/event-broker/) for reliability and performance.
44+
- 🔧 **[Services](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/services)** – File storage, memory, and embeddings, all extensible, and built-in.
45+
46+
---
47+
48+
## 🚀 Quick Start (5 minutes)
49+
50+
Set up Solace Agent Mesh in just a few steps.
51+
52+
### ⚙️ System Requirements
53+
54+
To run Solace Agent Mesh locally, you’ll need:
55+
56+
- **Python 3.10+**
57+
- **pip** (comes with Python)
58+
- **OS**: MacOS, Linux, or Windows (with [WSL](https://learn.microsoft.com/en-us/windows/wsl/))
59+
- **LLM API key** (any major provider or custom endpoint)
60+
61+
### 💻 Setup Steps
62+
63+
```bash
64+
# 1. (Optional) Create and activate a Python virtual environment
4165
python3 -m venv venv
42-
## Activate virtual environment:
43-
### MacOS/Linux:
4466
source venv/bin/activate
45-
### Windows:
46-
venv/Scripts/activate
47-
```
48-
49-
2. The following command installs the Solace Agent Mesh CLI in your environment:
5067

51-
```sh
68+
# 2. Install the Solace Agent Mesh
5269
pip install solace-agent-mesh
53-
```
5470

55-
3. Run the following SAM CLI command (`solace-agent-mesh` or `sam`) to verify your installation:
71+
# 3. Initialize a new project
72+
mkdir my-agent-mesh && cd my-agent-mesh
73+
solace-agent-mesh init # Follow the steps in the interactive init
5674

57-
```sh
58-
solace-agent-mesh --version
75+
# 4. Build and run the project
76+
solace-agent-mesh run -b # Shortcut for build + run
5977
```
6078

61-
## Quick Start
62-
63-
To get started with Solace Agent Mesh, follow these steps:
64-
65-
1. **Install the CLI**: Ensure `solace-agent-mesh` is installed.
66-
2. **Create a Project**:
67-
Follow the prompts to create your project.
68-
69-
```sh
70-
mkdir my-agent-mesh && cd my-agent-mesh
71-
solace-agent-mesh init
72-
```
73-
74-
_Enable the REST API interface when prompted._
75-
76-
3. **Build the Project**:
77-
78-
```sh
79-
solace-agent-mesh build
80-
```
81-
82-
4. **Run the Project**:
83-
84-
```sh
85-
solace-agent-mesh run -e
86-
```
87-
88-
_(Use `-eb` to combine build and run steps.)_
89-
90-
5. **Connect to the Web Interface**:
91-
92-
Open the web interface at [http://127.0.0.1:5001](http://127.0.0.1:5001) or with the port specified during `init`.
93-
94-
6. **Send a REST Request**:
95-
96-
Try the system by sending a request to the REST API gateway interface.
97-
98-
```sh
99-
curl --location 'http://localhost:5050/api/v1/request' \
100-
--header 'Authorization: Bearer None' \
101-
--form 'prompt="What is the capital of France?"' \
102-
--form 'stream="false"'
103-
```
104-
105-
Learn about [Agents](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/agents) and [Gateways](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/gateways) to add more functionalities to your project.
106-
107-
For full details, see the [Quick Start Guide](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/quick-start).
79+
#### Once running:
10880

109-
## Why Use Solace Agent Mesh?
81+
- Open the Web UI at [http://localhost:5001](http://localhost:5001) to talk with a chat interface.
82+
<details>
83+
<summary>Use the REST API directly via curl</summary>
11084

111-
Building production-ready AI applications presents unique challenges. While it's relatively easy to create AI prototypes, deploying them in enterprise environments requires solving complex problems around integration, scalability, and observability. The Solace Agent Mesh addresses these challenges through:
85+
```bash
86+
curl --location 'http://127.0.0.1:5050/api/v1/request' \
87+
--form 'prompt="What is the capital of France?"' \
88+
--form 'stream="false"'
89+
```
11290

113-
- **Composable Architecture**: Start with a small number of agents and gateways. You can add more over time.
91+
</details>
11492

115-
- **Add Agents to Increase Capabilities**: Each new agent adds more capabilities to the system. Adding a new agent isn't additive - it is exponential. With each agent being able to enhance all other agents as they collaborate for more and more complex tasks.
11693

117-
- **Add Gateways to Increase Use Cases**: Each new gateway opens up new use cases for the system. A new gateway can provide a new interface to the system, with a different system purpose and response rules.
118-
- **Event-Driven Design**: Built on proven event-driven architecture principles, providing complete decoupling of components. This makes the system highly flexible and resilient, while enabling real-time monitoring of every interaction.
94+
---
11995

120-
- **Enterprise-Ready**: Designed from the ground up for production deployments that incorporates the experience from Solace in building mission-critical distributed systems.
96+
## ➡️ Next Steps
12197

122-
## Next Steps
98+
Want to go further? Here are some hands-on tutorials to help you get started:
12399

124-
Check [Solace Agent Mesh Documentation](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/introduction) to learn more about the Solace Agent Mesh.
100+
| 🔧 Integration | ⏱️ Est. Time | 📘 Tutorial |
101+
|----------------|--------------|-------------|
102+
| 🌤️ **Weather Agent**<br>Build an agent that gives Solace Agent Mesh the ability to access real-time weather information. | **~5 min** | [Weather Agent Plugin](https://github.com/SolaceLabs/solace-agent-mesh-core-plugins/tree/main/sam-geo-information) |
103+
| 🗃️ **SQL Database Integration**<br>Enable Solace Agent Mesh to answer company-specific questions using a sample coffee company database.| **~10–15 min** | [SQL Database Tutorial](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/sql-database) |
104+
| 🧠 **MCP Integration**<br>Integrating a Model Context Protocol (MCP) Server into Solace Agent Mesh. | **~10–15 min** | [MCP Integration Tutorial](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/mcp-integration) |
105+
| 💬 **Slack Integration**<br>Chat with Solace Agent Mesh directly from Slack. | **~20–30 min** | [Slack Integration Tutorial](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/tutorials/slack-integration) |
125106

126-
| | |
127-
| ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------- |
128-
| [Components Overview](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/component-overview) | Learn about the components that make up the Solace Agent Mesh. |
129-
| [Gateways](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/gateways) | Understand how gateways provide interfaces to the Solace Agent Mesh. |
130-
| [Agents](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/agents) | Explore the agents that provide specialized capabilities in the Solace Agent Mesh. |
131-
| [Services](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/services) | Learn about the services that facilitate interaction within the Solace Agent Mesh. |
132-
| [Plugins](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/concepts/plugins) | Discover the plugins that extend the functionality of the Solace Agent Mesh. |
133107

134-
## Contributing
108+
📚 Want to explore more? Check out the full [Solace Agent Mesh documentation](https://solacelabs.github.io/solace-agent-mesh/docs/documentation/getting-started/introduction/).
135109

136-
Contributions are encouraged! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
110+
---
137111

138-
You can report any issues by opening an issue on the GitHub repository.
112+
## 📦 Release Notes
139113

140-
## Authors
114+
Stay up to date with the latest changes, features, and fixes.
115+
See [CHANGELOG.md](CHANGELOG.md) for a full history of updates.
141116

142-
See the list of [contributors](https://github.com/SolaceLabs/solace-agent-mesh/graphs/contributors) who participated in this project.
117+
---
143118

144-
## Release Notes
119+
## 👥 Contributors
145120

146-
Check out the [CHANGELOG](CHANGELOG.md) for details on changes in each release.
121+
Solace Agent Mesh is built with the help of our amazing community.
122+
Thanks to everyone who has contributed ideas, code, and time to make this project better.
123+
👀 View the full list of contributors → [GitHub Contributors](https://github.com/SolaceLabs/solace-agent-mesh/graphs/contributors)
124+
🤝 **Looking to contribute?** Check out [CONTRIBUTING.md](CONTRIBUTING.md) to get started and see how you can help.
147125

148-
## License
126+
---
149127

150-
The Solace Agent Mesh is licensed under the Apache-2.0 license.
128+
## 📄 License
151129

152-
See the [LICENSE](LICENSE) file for details.
130+
This project is licensed under the **Apache 2.0 License**.
131+
See the full license text in the [LICENSE](LICENSE) file.

cli/commands/build.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,22 @@ def build_solace_agent_mesh(config, build_config_dir, abort, parsers):
378378
if f.endswith(".yaml")
379379
and not any(f.startswith(prefix) for prefix in skip_prefixes)
380380
]
381+
382+
# Check if embedding service is enabled
383+
embedding_enabled = True # Default to True for backward compatibility
384+
built_in_services = config.get("built_in", {}).get("services", [])
385+
if built_in_services: # Only check if services section exists
386+
embedding_enabled = False
387+
for service in built_in_services:
388+
if service.get("name") == "embedding" and service.get("enabled"):
389+
embedding_enabled = True
390+
break
391+
381392
for config_file in config_files:
393+
# Skip embedding service if not enabled
394+
if config_file == "service_embedding.yaml" and not embedding_enabled:
395+
click.echo(f"Skipping embedding service as it is disabled.")
396+
continue
382397
try:
383398
# Read config file
384399
config_file_path = os.path.join(configs_source_path, config_file)

0 commit comments

Comments
 (0)