leafmesh 2.1.0__cp314-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.
- leafmesh/__init__.pyc +0 -0
- leafmesh/_build_tier.pyc +0 -0
- leafmesh/agents/__init__.pyc +0 -0
- leafmesh/agents/base_agent.pyc +0 -0
- leafmesh/agents/human.pyc +0 -0
- leafmesh/agents/manager.pyc +0 -0
- leafmesh/agents/registry.pyc +0 -0
- leafmesh/agents/summarizer.pyc +0 -0
- leafmesh/agents/yields_validator.pyc +0 -0
- leafmesh/api_services/__init__.pyc +0 -0
- leafmesh/api_services/agent_service.pyc +0 -0
- leafmesh/api_services/api_server.pyc +0 -0
- leafmesh/api_services/auth_middleware.pyc +0 -0
- leafmesh/api_services/base_service.pyc +0 -0
- leafmesh/api_services/evolution_service.pyc +0 -0
- leafmesh/api_services/feed_service.pyc +0 -0
- leafmesh/api_services/knowledge_service.pyc +0 -0
- leafmesh/api_services/playground_service.pyc +0 -0
- leafmesh/api_services/session_service.pyc +0 -0
- leafmesh/api_services/standalone_api.pyc +0 -0
- leafmesh/api_services/stream_service.pyc +0 -0
- leafmesh/api_services/yaml_service.pyc +0 -0
- leafmesh/config/__init__.pyc +0 -0
- leafmesh/config/yaml_loader.pyc +0 -0
- leafmesh/core/__init__.pyc +0 -0
- leafmesh/core/_agent_field_schema.pyc +0 -0
- leafmesh/core/agent_state.pyc +0 -0
- leafmesh/core/config.pyc +0 -0
- leafmesh/core/context_manager.pyc +0 -0
- leafmesh/core/events.pyc +0 -0
- leafmesh/core/evolution.pyc +0 -0
- leafmesh/core/exceptions.pyc +0 -0
- leafmesh/core/sdk.pyc +0 -0
- leafmesh/core/self_healing.pyc +0 -0
- leafmesh/core/session.pyc +0 -0
- leafmesh/external/__init__.pyc +0 -0
- leafmesh/external/channels/__init__.pyc +0 -0
- leafmesh/external/channels/base_channel.pyc +0 -0
- leafmesh/external/channels/discord_adapter.pyc +0 -0
- leafmesh/external/channels/slack_adapter.pyc +0 -0
- leafmesh/external/channels/teams_adapter.pyc +0 -0
- leafmesh/external/channels/telegram_adapter.pyc +0 -0
- leafmesh/external/channels/whatsapp_adapter.pyc +0 -0
- leafmesh/external/connectors/__init__.pyc +0 -0
- leafmesh/external/connectors/a2a_connector.pyc +0 -0
- leafmesh/external/connectors/autogen_connector.pyc +0 -0
- leafmesh/external/connectors/base_connector.pyc +0 -0
- leafmesh/external/connectors/composio_connector.pyc +0 -0
- leafmesh/external/connectors/composio_helpers.pyc +0 -0
- leafmesh/external/connectors/connector_registry.pyc +0 -0
- leafmesh/external/connectors/crewai_connector.pyc +0 -0
- leafmesh/external/connectors/langgraph_connector.pyc +0 -0
- leafmesh/external/connectors/mcp_connector.pyc +0 -0
- leafmesh/external/connectors/mcp_helpers.pyc +0 -0
- leafmesh/external/connectors/n8n_connector.pyc +0 -0
- leafmesh/external/connectors/n8n_helpers.pyc +0 -0
- leafmesh/external/connectors/zapier_connector.pyc +0 -0
- leafmesh/external/connectors/zapier_helpers.pyc +0 -0
- leafmesh/external/webhook_handler.pyc +0 -0
- leafmesh/knowledge/__init__.pyc +0 -0
- leafmesh/knowledge/chunker.pyc +0 -0
- leafmesh/knowledge/connectors/__init__.pyc +0 -0
- leafmesh/knowledge/connectors/base_connector.pyc +0 -0
- leafmesh/knowledge/connectors/custom_connector.pyc +0 -0
- leafmesh/knowledge/connectors/mongo_connector.pyc +0 -0
- leafmesh/knowledge/connectors/pinecone_connector.pyc +0 -0
- leafmesh/knowledge/connectors/postgres_connector.pyc +0 -0
- leafmesh/knowledge/connectors/registry.pyc +0 -0
- leafmesh/knowledge/embedder.pyc +0 -0
- leafmesh/knowledge/manager.pyc +0 -0
- leafmesh/llm/__init__.pyc +0 -0
- leafmesh/llm/adaptive_executor.pyc +0 -0
- leafmesh/llm/base_types.pyc +0 -0
- leafmesh/llm/executor.pyc +0 -0
- leafmesh/llm/prompt_builder.pyc +0 -0
- leafmesh/llm/provider_registry.pyc +0 -0
- leafmesh/llm/providers/__init__.pyc +0 -0
- leafmesh/llm/providers/anthropic_provider.pyc +0 -0
- leafmesh/llm/providers/bedrock_provider.pyc +0 -0
- leafmesh/llm/providers/deepseek_provider.pyc +0 -0
- leafmesh/llm/providers/foundry_provider.pyc +0 -0
- leafmesh/llm/providers/google_provider.pyc +0 -0
- leafmesh/llm/providers/local_provider.pyc +0 -0
- leafmesh/llm/providers/openai_provider.pyc +0 -0
- leafmesh/llm/providers/vertex_provider.pyc +0 -0
- leafmesh/mesh/__init__.pyc +0 -0
- leafmesh/mesh/architecture_factory.pyc +0 -0
- leafmesh/mesh/communication.pyc +0 -0
- leafmesh/mesh/condition_evaluator.pyc +0 -0
- leafmesh/mesh/wait_for_evaluator.pyc +0 -0
- leafmesh/observability/__init__.pyc +0 -0
- leafmesh/observability/license.pyc +0 -0
- leafmesh/observability/observability.pyc +0 -0
- leafmesh/observability/otel_setup.pyc +0 -0
- leafmesh/observability/tracer_wrapper.pyc +0 -0
- leafmesh/redis/__init__.pyc +0 -0
- leafmesh/redis/llm_cache.pyc +0 -0
- leafmesh/redis/manager.pyc +0 -0
- leafmesh/redis/stream_manager.pyc +0 -0
- leafmesh/scheduler/__init__.pyc +0 -0
- leafmesh/scheduler/cron_parser.pyc +0 -0
- leafmesh/scheduler/scheduler.pyc +0 -0
- leafmesh/tools/__init__.pyc +0 -0
- leafmesh/tools/base_tool.pyc +0 -0
- leafmesh/tools/builtin_tools.pyc +0 -0
- leafmesh/tools/tool_executor.pyc +0 -0
- leafmesh/tools/tool_registry.pyc +0 -0
- leafmesh/utils/__init__.pyc +0 -0
- leafmesh/utils/async_helpers.pyc +0 -0
- leafmesh/utils/license_check.pyc +0 -0
- leafmesh/utils/logger.pyc +0 -0
- leafmesh/utils/parsing.pyc +0 -0
- leafmesh/utils/redact.pyc +0 -0
- leafmesh-2.1.0.dist-info/METADATA +360 -0
- leafmesh-2.1.0.dist-info/RECORD +118 -0
- leafmesh-2.1.0.dist-info/WHEEL +5 -0
- leafmesh-2.1.0.dist-info/licenses/LICENSE +296 -0
- leafmesh-2.1.0.dist-info/top_level.txt +3 -0
leafmesh/__init__.pyc
ADDED
|
Binary file
|
leafmesh/_build_tier.pyc
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
leafmesh/core/config.pyc
ADDED
|
Binary file
|
|
Binary file
|
leafmesh/core/events.pyc
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
leafmesh/core/sdk.pyc
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: leafmesh
|
|
3
|
+
Version: 2.1.0
|
|
4
|
+
Summary: LeafMesh — YAML-native multi-agent orchestration platform
|
|
5
|
+
Author-email: LeafCraft <koushik@leafcraftstudios.com>
|
|
6
|
+
Maintainer-email: LeafCraft <koushik@leafcraftstudios.com>
|
|
7
|
+
License-Expression: LicenseRef-Proprietary
|
|
8
|
+
Project-URL: Homepage, https://github.com/LeafCraftStudios/LeafMesh
|
|
9
|
+
Project-URL: Repository, https://github.com/LeafCraftStudios/LeafMesh.git
|
|
10
|
+
Project-URL: Documentation, https://github.com/LeafCraftStudios/LeafMesh/blob/main/README.md
|
|
11
|
+
Project-URL: Bug Tracker, https://github.com/LeafCraftStudios/LeafMesh/issues
|
|
12
|
+
Keywords: multi-agent,ai,orchestration,leafmesh,leafcraft,adk,swarm,human-in-the-loop,llm,automation
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
23
|
+
Classifier: Framework :: AsyncIO
|
|
24
|
+
Requires-Python: >=3.8
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
Requires-Dist: pydantic<3.0.0,>=2.0.0
|
|
28
|
+
Requires-Dist: redis>=5.0.0
|
|
29
|
+
Requires-Dist: PyYAML>=6.0.0
|
|
30
|
+
Requires-Dist: openai>=1.0.0
|
|
31
|
+
Requires-Dist: structlog>=23.0.0
|
|
32
|
+
Requires-Dist: aiohttp>=3.9.0
|
|
33
|
+
Requires-Dist: httpx>=0.25.0
|
|
34
|
+
Requires-Dist: requests>=2.28.0
|
|
35
|
+
Requires-Dist: certifi>=2023.0.0
|
|
36
|
+
Requires-Dist: composio-core>=0.5.0
|
|
37
|
+
Requires-Dist: anthropic>=0.25.0
|
|
38
|
+
Requires-Dist: google-genai>=1.0.0
|
|
39
|
+
Requires-Dist: boto3>=1.28.0
|
|
40
|
+
Requires-Dist: google-auth>=2.0.0
|
|
41
|
+
Requires-Dist: opentelemetry-api>=1.21.0
|
|
42
|
+
Requires-Dist: opentelemetry-sdk>=1.21.0
|
|
43
|
+
Requires-Dist: opentelemetry-exporter-otlp>=1.21.0
|
|
44
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.21.0
|
|
45
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.21.0
|
|
46
|
+
Requires-Dist: opentelemetry-instrumentation>=0.42b0
|
|
47
|
+
Requires-Dist: opentelemetry-instrumentation-redis>=0.42b0
|
|
48
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.42b0
|
|
49
|
+
Requires-Dist: opentelemetry-instrumentation-requests>=0.42b0
|
|
50
|
+
Requires-Dist: opentelemetry-instrumentation-aiohttp-client>=0.42b0
|
|
51
|
+
Requires-Dist: opentelemetry-instrumentation-logging>=0.42b0
|
|
52
|
+
Requires-Dist: opentelemetry-instrumentation-system-metrics>=0.42b0
|
|
53
|
+
Requires-Dist: opentelemetry-semantic-conventions>=0.42b0
|
|
54
|
+
Provides-Extra: crewai
|
|
55
|
+
Requires-Dist: crewai>=0.41.0; extra == "crewai"
|
|
56
|
+
Provides-Extra: langgraph
|
|
57
|
+
Requires-Dist: langgraph>=0.0.40; extra == "langgraph"
|
|
58
|
+
Provides-Extra: autogen
|
|
59
|
+
Requires-Dist: pyautogen>=0.2.0; extra == "autogen"
|
|
60
|
+
Provides-Extra: a2a
|
|
61
|
+
Requires-Dist: a2a-sdk>=0.2.0; extra == "a2a"
|
|
62
|
+
Provides-Extra: mcp
|
|
63
|
+
Requires-Dist: mcp>=1.0.0; extra == "mcp"
|
|
64
|
+
Provides-Extra: composio
|
|
65
|
+
Requires-Dist: composio-core>=0.5.0; extra == "composio"
|
|
66
|
+
Provides-Extra: zapier
|
|
67
|
+
Requires-Dist: httpx>=0.25.0; extra == "zapier"
|
|
68
|
+
Provides-Extra: slack
|
|
69
|
+
Requires-Dist: slack-sdk>=3.27.0; extra == "slack"
|
|
70
|
+
Provides-Extra: telegram
|
|
71
|
+
Requires-Dist: python-telegram-bot>=21.0; extra == "telegram"
|
|
72
|
+
Provides-Extra: teams
|
|
73
|
+
Requires-Dist: botframework-connector>=4.16.0; extra == "teams"
|
|
74
|
+
Provides-Extra: discord
|
|
75
|
+
Requires-Dist: pynacl>=1.5.0; extra == "discord"
|
|
76
|
+
Provides-Extra: channels
|
|
77
|
+
Requires-Dist: slack-sdk>=3.27.0; extra == "channels"
|
|
78
|
+
Requires-Dist: python-telegram-bot>=21.0; extra == "channels"
|
|
79
|
+
Requires-Dist: botbuilder-core>=4.16.0; extra == "channels"
|
|
80
|
+
Requires-Dist: botframework-connector>=4.16.0; extra == "channels"
|
|
81
|
+
Requires-Dist: pynacl>=1.5.0; extra == "channels"
|
|
82
|
+
Provides-Extra: knowledge-mongo
|
|
83
|
+
Requires-Dist: motor>=3.3.0; extra == "knowledge-mongo"
|
|
84
|
+
Provides-Extra: knowledge-postgres
|
|
85
|
+
Requires-Dist: asyncpg>=0.29.0; extra == "knowledge-postgres"
|
|
86
|
+
Provides-Extra: knowledge-pinecone
|
|
87
|
+
Requires-Dist: pinecone-client>=3.0.0; extra == "knowledge-pinecone"
|
|
88
|
+
Provides-Extra: knowledge-docs
|
|
89
|
+
Requires-Dist: PyPDF2>=3.0.0; extra == "knowledge-docs"
|
|
90
|
+
Requires-Dist: python-docx>=1.0.0; extra == "knowledge-docs"
|
|
91
|
+
Provides-Extra: knowledge
|
|
92
|
+
Requires-Dist: motor>=3.3.0; extra == "knowledge"
|
|
93
|
+
Requires-Dist: asyncpg>=0.29.0; extra == "knowledge"
|
|
94
|
+
Requires-Dist: pinecone-client>=3.0.0; extra == "knowledge"
|
|
95
|
+
Requires-Dist: PyPDF2>=3.0.0; extra == "knowledge"
|
|
96
|
+
Requires-Dist: python-docx>=1.0.0; extra == "knowledge"
|
|
97
|
+
Provides-Extra: connectors
|
|
98
|
+
Requires-Dist: crewai>=0.41.0; extra == "connectors"
|
|
99
|
+
Requires-Dist: langgraph>=0.0.40; extra == "connectors"
|
|
100
|
+
Requires-Dist: pyautogen>=0.2.0; extra == "connectors"
|
|
101
|
+
Requires-Dist: a2a-sdk>=0.2.0; extra == "connectors"
|
|
102
|
+
Requires-Dist: mcp>=1.0.0; extra == "connectors"
|
|
103
|
+
Requires-Dist: composio-core>=0.5.0; extra == "connectors"
|
|
104
|
+
Requires-Dist: httpx>=0.25.0; extra == "connectors"
|
|
105
|
+
Provides-Extra: dev
|
|
106
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
107
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
108
|
+
Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
|
|
109
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
110
|
+
Requires-Dist: isort>=5.12.0; extra == "dev"
|
|
111
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
112
|
+
Dynamic: license-file
|
|
113
|
+
|
|
114
|
+
# LeafMesh — Multi-Agent AI Orchestration Platform
|
|
115
|
+
|
|
116
|
+
[](LICENSE)
|
|
117
|
+
[](https://www.python.org/downloads/)
|
|
118
|
+
[](https://github.com/LeafCraftStudios/LeafMesh/releases)
|
|
119
|
+
[](https://redis.io/)
|
|
120
|
+
|
|
121
|
+
> **YAML-native multi-agent AI platform with self-healing and evolutionary capabilities**
|
|
122
|
+
|
|
123
|
+
LeafMesh transforms multi-agent AI development through declarative YAML configuration that becomes executable intelligence. Built on the MANAGED_MESH architecture with production-ready coordination and persistence.
|
|
124
|
+
|
|
125
|
+
## Core Features
|
|
126
|
+
|
|
127
|
+
- **YAML-Native Intelligence** - Zero-code agent creation with AST-parsed configuration
|
|
128
|
+
- **Built-in Coordination** - Manager and Summarizer agents provide automatic oversight
|
|
129
|
+
- **MANAGED_MESH Architecture** - Direct agent communication with conditional routing
|
|
130
|
+
- **Redis-Powered Persistence** - Automatic session management and conversation history
|
|
131
|
+
- **Enterprise Tool Ecosystem** - 15+ built-in tools with OpenAI-compatible function calling
|
|
132
|
+
- **Advanced Parallel Processing** - Multi-session threading with intelligent coordination
|
|
133
|
+
|
|
134
|
+
### Production Features
|
|
135
|
+
|
|
136
|
+
- **Self-Healing Networks** - 6 autonomous healing actions with failure detection
|
|
137
|
+
- **Evolutionary Optimization** - Genetic algorithms with real fitness testing
|
|
138
|
+
- **Adaptive Model Intelligence** - ML-powered model selection with performance prediction
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Quick Start
|
|
143
|
+
|
|
144
|
+
### 1. Installation
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
pip install leafmesh
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 2. Environment Setup
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Required: OpenAI API key
|
|
154
|
+
export OPENAI_API_KEY="your-openai-key"
|
|
155
|
+
|
|
156
|
+
# Optional: Additional providers
|
|
157
|
+
export ANTHROPIC_API_KEY="your-anthropic-key"
|
|
158
|
+
export GOOGLE_API_KEY="your-google-key"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### 3. Redis Setup
|
|
162
|
+
|
|
163
|
+
**Local Redis:**
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# macOS
|
|
167
|
+
brew install redis && brew services start redis
|
|
168
|
+
|
|
169
|
+
# Ubuntu/Debian
|
|
170
|
+
sudo apt install redis-server && sudo systemctl start redis
|
|
171
|
+
|
|
172
|
+
# Docker
|
|
173
|
+
docker run -d -p 6379:6379 redis:alpine
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 4. Basic Usage
|
|
177
|
+
|
|
178
|
+
```python
|
|
179
|
+
from leafmesh import LeafMesh
|
|
180
|
+
|
|
181
|
+
# Initialize from YAML configuration
|
|
182
|
+
sdk = LeafMesh.from_yaml("config.yaml")
|
|
183
|
+
|
|
184
|
+
# Start the mesh
|
|
185
|
+
await sdk.start()
|
|
186
|
+
|
|
187
|
+
# Process requests
|
|
188
|
+
response = await sdk.process_request(
|
|
189
|
+
session_id="user_session",
|
|
190
|
+
input_data={"message": "Hello, how can you help me?"}
|
|
191
|
+
)
|
|
192
|
+
|
|
193
|
+
print(response)
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Example YAML Configuration:**
|
|
197
|
+
|
|
198
|
+
```yaml
|
|
199
|
+
name: "my_mesh"
|
|
200
|
+
architecture: "managed_mesh"
|
|
201
|
+
|
|
202
|
+
# Built-in coordination
|
|
203
|
+
manager:
|
|
204
|
+
enabled: true
|
|
205
|
+
model: "gpt-4o"
|
|
206
|
+
|
|
207
|
+
summarizer:
|
|
208
|
+
enabled: true
|
|
209
|
+
model: "gpt-4o-mini"
|
|
210
|
+
|
|
211
|
+
# User-defined agents
|
|
212
|
+
agents:
|
|
213
|
+
conversation_agent:
|
|
214
|
+
name: "conversation_agent"
|
|
215
|
+
model: "gpt-4o-mini"
|
|
216
|
+
prompt: "You are a helpful AI assistant."
|
|
217
|
+
yields:
|
|
218
|
+
response: "string"
|
|
219
|
+
confidence: "number"
|
|
220
|
+
tools: ["calculator", "current_time"]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Architecture Overview
|
|
226
|
+
|
|
227
|
+
LeafMesh implements a **MANAGED_MESH** architecture with:
|
|
228
|
+
|
|
229
|
+
- **LLM Agents** - YAML-defined with optional Python enhancement
|
|
230
|
+
- **Manager Agent** - Built-in coordination and rule enforcement
|
|
231
|
+
- **Summarizer Agent** - Omnipresent monitoring and analysis
|
|
232
|
+
- **Redis Persistence** - Automatic session and conversation storage
|
|
233
|
+
- **Event System** - All communication flows through events
|
|
234
|
+
- **Tool System** - OpenAI-compatible function calling
|
|
235
|
+
|
|
236
|
+
**For detailed architecture information, see [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)**
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Agent Enhancement
|
|
241
|
+
|
|
242
|
+
Add Python logic to YAML-defined agents:
|
|
243
|
+
|
|
244
|
+
```python
|
|
245
|
+
@sdk.intelligence("conversation_agent")
|
|
246
|
+
async def enhance_conversation(llm_response, input_data, context):
|
|
247
|
+
"""Add business logic to agent responses"""
|
|
248
|
+
|
|
249
|
+
# Access conversation history
|
|
250
|
+
history = context.get("conversation_history", [])
|
|
251
|
+
|
|
252
|
+
# Enhance the LLM response
|
|
253
|
+
enhanced_response = add_context(llm_response, history)
|
|
254
|
+
|
|
255
|
+
# Trigger other agents conditionally
|
|
256
|
+
if needs_specialist(enhanced_response):
|
|
257
|
+
await sdk.trigger_agents(data={"analysis": enhanced_response})
|
|
258
|
+
|
|
259
|
+
return {
|
|
260
|
+
"response": enhanced_response,
|
|
261
|
+
"confidence": calculate_confidence(enhanced_response)
|
|
262
|
+
}
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Revolutionary Features
|
|
268
|
+
|
|
269
|
+
### Self-Healing Networks
|
|
270
|
+
|
|
271
|
+
```python
|
|
272
|
+
# Enable automatic failure recovery
|
|
273
|
+
await sdk.enable_self_healing()
|
|
274
|
+
|
|
275
|
+
# Monitor agent health
|
|
276
|
+
health = await sdk.get_agent_health_status()
|
|
277
|
+
stats = await sdk.get_healing_statistics()
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Evolutionary Optimization
|
|
281
|
+
|
|
282
|
+
```python
|
|
283
|
+
# Optimize mesh configuration automatically
|
|
284
|
+
test_scenarios = [
|
|
285
|
+
{"input": "Test case 1", "agents": ["conversation_agent"]},
|
|
286
|
+
{"input": "Test case 2", "agents": ["technical_agent"]}
|
|
287
|
+
]
|
|
288
|
+
|
|
289
|
+
best_genome = await sdk.evolve_swarm_architecture(test_scenarios)
|
|
290
|
+
await sdk.apply_evolved_configuration()
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Adaptive Model Selection
|
|
294
|
+
|
|
295
|
+
```python
|
|
296
|
+
# Automatic model selection based on request characteristics
|
|
297
|
+
response = await sdk.adaptive_execute(
|
|
298
|
+
prompt="Analyze this complex scenario",
|
|
299
|
+
preferred_models=["gpt-4o", "claude-3.5-sonnet"]
|
|
300
|
+
)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Documentation
|
|
306
|
+
|
|
307
|
+
- **[Architecture Guide](docs/ARCHITECTURE.md)** - Technical implementation details
|
|
308
|
+
- **[Debugging Guide](docs/DEBUGGING.md)** - Troubleshooting and monitoring
|
|
309
|
+
- **Getting Started** - Run `create-leafmesh my-project` to scaffold a complete example project
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Use Cases
|
|
314
|
+
|
|
315
|
+
LeafMesh excels at:
|
|
316
|
+
|
|
317
|
+
- **Customer Service Systems** - Multi-tier workflows with self-healing
|
|
318
|
+
- **Data Analysis Pipelines** - Collaborative analytical workflows
|
|
319
|
+
- **Content Creation** - Coordinated writing and editing
|
|
320
|
+
- **Decision Support** - Complex decision-making with oversight
|
|
321
|
+
- **Workflow Automation** - Business process automation
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Framework Comparison
|
|
326
|
+
|
|
327
|
+
| Feature | LeafMesh | LangGraph | CrewAI | AutoGen |
|
|
328
|
+
| ----------------------------- | ------------------ | ---------- | ---------- | ---------- |
|
|
329
|
+
| **YAML Configuration** | Primary | Code-based | Code-based | Code-based |
|
|
330
|
+
| **Built-in Coordination** | Manager/Summarizer | Manual | Manual | Manual |
|
|
331
|
+
| **Auto-Persistence** | Redis | Manual | Manual | Manual |
|
|
332
|
+
| **Self-Healing** | Production | None | None | None |
|
|
333
|
+
| **Evolutionary Optimization** | Genetic Algorithm | None | None | None |
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Licensing
|
|
338
|
+
|
|
339
|
+
**LeafMesh is commercial software owned by LeafCraft.**
|
|
340
|
+
|
|
341
|
+
- **Evaluation**: 30-day free evaluation for research/development
|
|
342
|
+
- **Commercial**: Requires valid commercial license for revenue-generating use
|
|
343
|
+
- **Enterprise**: Custom enterprise licensing available
|
|
344
|
+
|
|
345
|
+
**Licensing**: info@leafcraftstudios.com
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## Getting Started
|
|
350
|
+
|
|
351
|
+
1. **[Install LeafMesh](#installation)** and set up Redis
|
|
352
|
+
2. **Create your first YAML configuration** with basic agents
|
|
353
|
+
3. **[Add Python enhancements](#agent-enhancement)** for custom logic
|
|
354
|
+
4. **[Enable revolutionary features](#revolutionary-features)** for production
|
|
355
|
+
|
|
356
|
+
**LeafMesh: Production-ready multi-agent AI with YAML-driven simplicity**
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
**Copyright 2025 LeafCraft. All rights reserved.**
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
leafmesh/__init__.pyc,sha256=XocEW3_OQxUJTYeVaPPA6UvL8WGVNw3St15HZuHSAL8,4805
|
|
2
|
+
leafmesh/_build_tier.pyc,sha256=fGf-MgaBQdnkOWDNbcACwdFnb0iITFbw8g_U6JQjdLk,1014
|
|
3
|
+
leafmesh/agents/__init__.pyc,sha256=ezfUm3UyyRDqO7PL7VJXPROR5uMrfzkfkDpIOD2se0Y,424
|
|
4
|
+
leafmesh/agents/base_agent.pyc,sha256=rFM6DsiT0eZxUJFFHZkJeOUAyDBv5WkjyT_tjczsauc,29246
|
|
5
|
+
leafmesh/agents/human.pyc,sha256=kfiHLRPFL9HrT8pQAQl6MqkYTqrnaX3XrAWPomnR4uM,103618
|
|
6
|
+
leafmesh/agents/manager.pyc,sha256=LGTHIHnQ6lK73oye20zXqECyVXh6WMfQWxv0ZdpmAx4,250439
|
|
7
|
+
leafmesh/agents/registry.pyc,sha256=Ur18j5XPsXVomdGJ6mOpNFjas0AGSKyNAk80VJzW4MQ,59239
|
|
8
|
+
leafmesh/agents/summarizer.pyc,sha256=6elZJGuCiK88PtDJakSAnHBJr8rU_Ks2Kcjiuac5wUs,94182
|
|
9
|
+
leafmesh/agents/yields_validator.pyc,sha256=_URqWQDd9QQP6mljTdZlrKwS9qJDCRz7j5Rat5JV7kE,6608
|
|
10
|
+
leafmesh/api_services/__init__.pyc,sha256=9JOMHF4VeMnHZfJ9Ewa5yhWaaqLv5sjBdwjFwE1onXw,645
|
|
11
|
+
leafmesh/api_services/agent_service.pyc,sha256=SM0uyGqbLYPmZ1-NXbHdkYn_ON79AqWyOcjLNtuBXnM,34782
|
|
12
|
+
leafmesh/api_services/api_server.pyc,sha256=53eRyAOgp_00x-C3klENz8UB-aiSsPdDb3KK_xEySus,72785
|
|
13
|
+
leafmesh/api_services/auth_middleware.pyc,sha256=_2sSKLlUH58vih2qJpOCeeiF9Bf_z5U1jGeaRWGc3aY,22055
|
|
14
|
+
leafmesh/api_services/base_service.pyc,sha256=fzdZ_0UlJqpN8Cw5hmIyYoSJ_vG5QNiAEButbJJRRFI,5916
|
|
15
|
+
leafmesh/api_services/evolution_service.pyc,sha256=D7R9X6JMHIWivPSGKPz2a1BVD8eMzALi9orDCjd7QoA,25940
|
|
16
|
+
leafmesh/api_services/feed_service.pyc,sha256=KXj7rE07xB3NzHg689YyV4ds7DOtXgqOID7Fxy2WA3g,24452
|
|
17
|
+
leafmesh/api_services/knowledge_service.pyc,sha256=YipSCFmNDUP27Noe8PHyjwVPuLUZhBrsqvoi0fazwSU,65266
|
|
18
|
+
leafmesh/api_services/playground_service.pyc,sha256=Ng5CInI5C52Eab6kvicnTzP9rPRqSJkI9BCbmHbslbU,96683
|
|
19
|
+
leafmesh/api_services/session_service.pyc,sha256=pRSxrdU9Tnk0Rd54rANgP0DLoMeTe7JSyivXROQdmRQ,73246
|
|
20
|
+
leafmesh/api_services/standalone_api.pyc,sha256=Zt3MV5k_PsqiG0jvmvIvVwfkAkgZAR-6odqzqO2pwHo,9672
|
|
21
|
+
leafmesh/api_services/stream_service.pyc,sha256=OZNbS1x-UV9aNqsJ_6AaBq_goUxeddXTs0lrIuSSPQw,25857
|
|
22
|
+
leafmesh/api_services/yaml_service.pyc,sha256=ANbBrIast-e8c-OlkmulzHPHsKovLTsTKmFcGkQee5E,95490
|
|
23
|
+
leafmesh/config/__init__.pyc,sha256=fYFsE71yMlCex3kh8Gqz4anU_iHVjCXUqVNJFhQi1bM,218
|
|
24
|
+
leafmesh/config/yaml_loader.pyc,sha256=7HjmwTRnPaPv7Jwo6MdrfFWltXXeTQneggy73PcnMig,18142
|
|
25
|
+
leafmesh/core/__init__.pyc,sha256=Ck7e8cMqBpk40uRdxMwnicJzHLI3Tab27j5d8834h7A,788
|
|
26
|
+
leafmesh/core/_agent_field_schema.pyc,sha256=gsttD171EPz5o-pGJaj8DM75yX6_rNt_5ZVYAD1V2K4,4091
|
|
27
|
+
leafmesh/core/agent_state.pyc,sha256=riTE8DRPaLEC79ApIFjPR8M-4EvepU48cEjRwNo7R-8,19036
|
|
28
|
+
leafmesh/core/config.pyc,sha256=2LLfJYJzTBwlAIcEbIZPr-bsVOSKcSLFmuXwfP4U32U,95709
|
|
29
|
+
leafmesh/core/context_manager.pyc,sha256=iLzAqv0jd9G12Yk0nTTz_Z3OoGFHAXbSBnhIZJZ7JBA,7142
|
|
30
|
+
leafmesh/core/events.pyc,sha256=gX0KUBVpBZC5-7c7clqWf-i_YfEPY_ApXTe1FKgjcZA,49060
|
|
31
|
+
leafmesh/core/evolution.pyc,sha256=Qsnusq_tUggX7ZSTqWzk7dtsZfeA6-xvG_wbRkhTGsk,77361
|
|
32
|
+
leafmesh/core/exceptions.pyc,sha256=ZtsrytsWxiegRZjupPPB0QCZRxzFix2VyXaT8ISiZR8,2317
|
|
33
|
+
leafmesh/core/sdk.pyc,sha256=2f1FExAHilgpHStxEh-k3WSWgcwA0K1G22wEiXby3FM,176535
|
|
34
|
+
leafmesh/core/self_healing.pyc,sha256=VJGxnyrZ_y6Yzwm55weNBqFfGgO9VK9w6dkMsOvYTRA,53507
|
|
35
|
+
leafmesh/core/session.pyc,sha256=n-DoI0-aAxGw9qkXWTdbxtkbxJalWjfWKjvaqYESOwM,68843
|
|
36
|
+
leafmesh/external/__init__.pyc,sha256=FYFyxjbjk9brBiF6n7k6LWvkqyFYkrlJZ734zOn3uF4,805
|
|
37
|
+
leafmesh/external/webhook_handler.pyc,sha256=SzB-q52F9PQtkzCAjvMTit-YIA-naP7gXjWf3mbqW2o,40067
|
|
38
|
+
leafmesh/external/channels/__init__.pyc,sha256=wOLsSB8jBNdbHjlAzIjPWzC5w8uMZidV8YV2if26p_8,3263
|
|
39
|
+
leafmesh/external/channels/base_channel.pyc,sha256=TX_vAVpFsbK1qXwr_wQnls2AGbQoLiT4Zz3xY-KBbQI,17434
|
|
40
|
+
leafmesh/external/channels/discord_adapter.pyc,sha256=83JcQe1f2SlOV6Jtab-YgKLpYQTLPh-kzrPhZBmRoEM,15123
|
|
41
|
+
leafmesh/external/channels/slack_adapter.pyc,sha256=jMas1fvlTp4F1wCHUXH4qP0gWdJZkr7yeRc_UrLePLc,17040
|
|
42
|
+
leafmesh/external/channels/teams_adapter.pyc,sha256=Bz2w_9rXTwyodUZ1c0eOlqGL8yAYuOowKlEoYO3qtK8,21492
|
|
43
|
+
leafmesh/external/channels/telegram_adapter.pyc,sha256=uEHh2cxBAVtoCNP1-Yqft-9Z1gWTH5dVEeczEysi5FY,14593
|
|
44
|
+
leafmesh/external/channels/whatsapp_adapter.pyc,sha256=AZxx9QUO9jYM19SvCp57MX4eFjTVo12xoOpHOmnw4P8,14653
|
|
45
|
+
leafmesh/external/connectors/__init__.pyc,sha256=czVy8ts-1RxanAEzaJ_w5N99gj4LuT9JrnJb_32b-kM,2434
|
|
46
|
+
leafmesh/external/connectors/a2a_connector.pyc,sha256=6Kx5J-xiG7Q7hwVUrmnhgsXnUxyPfyKJQkSyXxVx2dM,26609
|
|
47
|
+
leafmesh/external/connectors/autogen_connector.pyc,sha256=AjS_9QRdxWF98JQNpriVY6gEjNqVoHC5z-_mXCvB49k,17235
|
|
48
|
+
leafmesh/external/connectors/base_connector.pyc,sha256=gOguHijxbYqMi1O74Iv_TEl1mf7TaueAPTQ1Gjd5ZTo,27160
|
|
49
|
+
leafmesh/external/connectors/composio_connector.pyc,sha256=lbVeDOBVKH-SzHtXTk9TrpvvOnjjUx89kT0ad0twfPk,15396
|
|
50
|
+
leafmesh/external/connectors/composio_helpers.pyc,sha256=fxTsLumshPnhCyBtDTx02OJMF64EPGtvp8sLIUJFOrg,4884
|
|
51
|
+
leafmesh/external/connectors/connector_registry.pyc,sha256=-aORai5oaJQ-FYsq3DF2M0MlB9VDCf6j08zybQK1Onw,6988
|
|
52
|
+
leafmesh/external/connectors/crewai_connector.pyc,sha256=mk5CObwzKJlLI4vTnMRyJMgWFjIWsfZA2Cf3C5FgqZk,14075
|
|
53
|
+
leafmesh/external/connectors/langgraph_connector.pyc,sha256=XiOvl5FeoQ6X_Fx1imaJD9H17d-gxm-Hakw17Gx-WHo,19578
|
|
54
|
+
leafmesh/external/connectors/mcp_connector.pyc,sha256=xBXQ2me9keMfZ5nQlzHUcxPU6IfmfuiV4UVkFXN7Ll4,26424
|
|
55
|
+
leafmesh/external/connectors/mcp_helpers.pyc,sha256=9nESwMFDiVETqv_LYJsurjVVajrH7wpUElDYN_4T5fA,5380
|
|
56
|
+
leafmesh/external/connectors/n8n_connector.pyc,sha256=pifUPERN2y0PnW77yL_YbeNpDD-E82xJDO9KWVpWi00,15441
|
|
57
|
+
leafmesh/external/connectors/n8n_helpers.pyc,sha256=tZB3Q_IQjXrqqFyvUtwB9Nf0kgBRpt_sjfC1EdOSp3s,4780
|
|
58
|
+
leafmesh/external/connectors/zapier_connector.pyc,sha256=o1_no-GhjIA8HNKrOZWuFIqf37WgXqZ9TX2WpIH47-Y,20158
|
|
59
|
+
leafmesh/external/connectors/zapier_helpers.pyc,sha256=_av-JHEM08tDarmicUSlQA-g2SZ7LVWwtERdYSvasFI,5264
|
|
60
|
+
leafmesh/knowledge/__init__.pyc,sha256=BFd1eRfEv30HWyXhvARYs5MKDk1fxP8OzodHFMHNiGY,677
|
|
61
|
+
leafmesh/knowledge/chunker.pyc,sha256=DyvLjNd2vRbwg6_jsKsD03rx6ESU-xFzgHuuOjHsq9w,17361
|
|
62
|
+
leafmesh/knowledge/embedder.pyc,sha256=bYvtfa41DN1HGfO_-Uc2ub06I3FYzzGyOIyPpw5guNI,13785
|
|
63
|
+
leafmesh/knowledge/manager.pyc,sha256=XL58MLZCIhvtnt_lc0w7NQ5Qt9iAf3JDJJH0VUi7-so,43269
|
|
64
|
+
leafmesh/knowledge/connectors/__init__.pyc,sha256=YsA6y9nQUQgCpyAlt2-jHGFk41ZZ4fNzBXZcGUXGMl4,1041
|
|
65
|
+
leafmesh/knowledge/connectors/base_connector.pyc,sha256=mw0CQ7ZZUvxZmtdjWDSVmdYxYS9D57b4zG0RJFm-8-g,7973
|
|
66
|
+
leafmesh/knowledge/connectors/custom_connector.pyc,sha256=ERZiQ8Ne5vq21V2lZlBNs2DbPbg8wRdfhjLiDxF3CZs,14426
|
|
67
|
+
leafmesh/knowledge/connectors/mongo_connector.pyc,sha256=Sd2BG6wcEIse_j3X8F8Jxpml1MekMz9LD-gzGvX5hgo,16208
|
|
68
|
+
leafmesh/knowledge/connectors/pinecone_connector.pyc,sha256=8yG4px69mjYjbPSw0o-Ty4D-ephvaAg6xZ9uvPkt-Vs,12186
|
|
69
|
+
leafmesh/knowledge/connectors/postgres_connector.pyc,sha256=13AQgChn0UnUCVjlfm5DoLw5X316hPrknYjcG8qQU2c,19768
|
|
70
|
+
leafmesh/knowledge/connectors/registry.pyc,sha256=kWC37-IgOB19RBp24LFcphNjMLNK-BGzGOYe6ia4Vfw,3111
|
|
71
|
+
leafmesh/llm/__init__.pyc,sha256=ISKOT5OCTbc7lETvM37TNkvEAwnGB1RhQ8OUm1LRp3o,738
|
|
72
|
+
leafmesh/llm/adaptive_executor.pyc,sha256=uEl6NpctXVeJjAvkWeREltvvqFcFRj2I80q1ISmilEg,55850
|
|
73
|
+
leafmesh/llm/base_types.pyc,sha256=Z-LoC1HjvC90wJdbOOoBe2974KlR7XIkZgT0bUj2TRc,25272
|
|
74
|
+
leafmesh/llm/executor.pyc,sha256=f2i6vTB5b2ciCnQ-nWjK2nS0DGXjKMIMGqRlDkoBd4s,123858
|
|
75
|
+
leafmesh/llm/prompt_builder.pyc,sha256=8jyAEIOO-tZYVtGLRBPDAV4m57ThvWgNKQCk0kRXeFU,51588
|
|
76
|
+
leafmesh/llm/provider_registry.pyc,sha256=DD2YEIY6yNDa5CWXevH6NlAJ-XJdbrKQeZSkrkKQ45I,7347
|
|
77
|
+
leafmesh/llm/providers/__init__.pyc,sha256=IEsgBhBYAtu6ZgfuL_mcfC-AlKbFAHVnhzlyRKyrYK0,1628
|
|
78
|
+
leafmesh/llm/providers/anthropic_provider.pyc,sha256=GZzCaMIn8IWfOoCmn01WIPUs-QFiprGJJKFDdF4qP0I,29179
|
|
79
|
+
leafmesh/llm/providers/bedrock_provider.pyc,sha256=ZAO63QJapb7QFvgzKo--GR2BcYZ55yME8dGcOOWSK2A,31317
|
|
80
|
+
leafmesh/llm/providers/deepseek_provider.pyc,sha256=dS4_Km0x69Ogh0GSBo_NgUSbeUAdBMGATDqhZe0U0d0,21881
|
|
81
|
+
leafmesh/llm/providers/foundry_provider.pyc,sha256=BYdllLt6KnXFrzZjiQCKIeG3EOx3jOKD2rTgPFyn_ec,20683
|
|
82
|
+
leafmesh/llm/providers/google_provider.pyc,sha256=4RG192bUtxiVt-ftzyJhlIBQ-dechTfwqeBcztCJWhc,38119
|
|
83
|
+
leafmesh/llm/providers/local_provider.pyc,sha256=FnxQurTD1bVJwhG4V2Y582wd_LjZ-yYXF2oC2jZFNnw,19452
|
|
84
|
+
leafmesh/llm/providers/openai_provider.pyc,sha256=gUBA6-Nym78EBPm2zrrRNRqAzmhN__SOUNCcpAp747Y,29798
|
|
85
|
+
leafmesh/llm/providers/vertex_provider.pyc,sha256=e-P3VWQsdPltx7ytG87p3F2rwuvXGg0AVjGq6eobFS4,54074
|
|
86
|
+
leafmesh/mesh/__init__.pyc,sha256=IaUsBeUTmbqwRaXDmlfiQZ45lMU5dxpksVj5PFSz7Ac,473
|
|
87
|
+
leafmesh/mesh/architecture_factory.pyc,sha256=_oSbgP-9v8wuhfjc2abZkBw9r95TotuVYTevJ208e3o,7936
|
|
88
|
+
leafmesh/mesh/communication.pyc,sha256=VU6DjtKP1RDJQoocbGNdMdcm-wGW-c7yoqYwGoWyzoc,159653
|
|
89
|
+
leafmesh/mesh/condition_evaluator.pyc,sha256=HODjlcDZYpf-zNdyEd_5gTQ2RF2RCCn8ldckA9nbkbE,22175
|
|
90
|
+
leafmesh/mesh/wait_for_evaluator.pyc,sha256=w5WY9MBf3OhLp6MAwFzZgyJQkfG6Eq5LFXMw14VhtUU,12860
|
|
91
|
+
leafmesh/observability/__init__.pyc,sha256=RwScfD-leas5vnd9CcaM5SozUeUryQABbE2LJX7i5Mk,412
|
|
92
|
+
leafmesh/observability/license.pyc,sha256=91GHko6EDCC5lFR60syHM58cobanGp-tyAfqIwHqY-c,21321
|
|
93
|
+
leafmesh/observability/observability.pyc,sha256=SZ0_bLhew1htCSt6bcJBMi_IAubQI-N1_X3hx5RAKhY,6245
|
|
94
|
+
leafmesh/observability/otel_setup.pyc,sha256=adVGteGKoIpaOZLJkOOncWQiKyslw4QA95SCfNu1K4w,26105
|
|
95
|
+
leafmesh/observability/tracer_wrapper.pyc,sha256=AMC9DC1Dz8yjvqtfqKgoVdoNa97XrwLONYQId1Zmnsg,44498
|
|
96
|
+
leafmesh/redis/__init__.pyc,sha256=MXdSz3BAU-yoPgmiF_Z5jSJbsHj2BWF9BREBxI9wpkY,373
|
|
97
|
+
leafmesh/redis/llm_cache.pyc,sha256=ntBYIUlnU4v4uZeZBlBMMVwanozdZ67xI__pDcs1RNs,16962
|
|
98
|
+
leafmesh/redis/manager.pyc,sha256=bvTTsecw3vSKPCB_2ERmjxFr0RkARHN2-mq_ScNpDvE,140324
|
|
99
|
+
leafmesh/redis/stream_manager.pyc,sha256=_l_h3TRnNq4IcyEdpkAo5vQIq2xrhsyTnqUWDzKyPYk,66474
|
|
100
|
+
leafmesh/scheduler/__init__.pyc,sha256=6rO2hiJ15WB7hu0nM_eJnmkHM3qJ9UZdWdUuBwc58yE,234
|
|
101
|
+
leafmesh/scheduler/cron_parser.pyc,sha256=VzrpUOkx-cKGIbCDTXIrBXIJOAeolvihLDbY7KecIaQ,10856
|
|
102
|
+
leafmesh/scheduler/scheduler.pyc,sha256=f9K89feCsWKEDrVlvUgT40Xv1rT07g8_JE2qhW_IURQ,22867
|
|
103
|
+
leafmesh/tools/__init__.pyc,sha256=Rm1aIaeHOgHvUTv3aiSkVRAmlDh4F7fVsvGRXpBhdaI,456
|
|
104
|
+
leafmesh/tools/base_tool.pyc,sha256=NKzlIjO0P4rDmoQu-KYaGB1vsf-ujsIozjQxM-aGu84,24822
|
|
105
|
+
leafmesh/tools/builtin_tools.pyc,sha256=ypLFn2Pqn0Spl6OBoZ1bY_-mp8jRL5e9Vhs2POt0BWk,71558
|
|
106
|
+
leafmesh/tools/tool_executor.pyc,sha256=PoT1k3Mka0uE4uMM-xG-b2Sa7mq8u1OKZXIge_UNshU,21143
|
|
107
|
+
leafmesh/tools/tool_registry.pyc,sha256=Y8lHFBsJhfF4Wn7c5lqERdeinIKpmiHugMHbohjewKc,17431
|
|
108
|
+
leafmesh/utils/__init__.pyc,sha256=0VgUklYj9rZ92wv6PtzKw_6aIY7svK6TLz15zucJlK4,208
|
|
109
|
+
leafmesh/utils/async_helpers.pyc,sha256=XaAmTjVGGImgLgW3KQiWJCYgoeR768ekGK431c-RtAQ,4795
|
|
110
|
+
leafmesh/utils/license_check.pyc,sha256=G4opcrmfNzstAyAQJ0ZV3TYmxQvj6JnxZ6aDVknORho,10145
|
|
111
|
+
leafmesh/utils/logger.pyc,sha256=ERSzkF3K7tfYtDgf5o7gJinUKoj4UmFKiakqdxm3QUQ,18260
|
|
112
|
+
leafmesh/utils/parsing.pyc,sha256=MvzploZPifd8MjiCnRkrL3XRgmUgucxu09QZPOl6IxU,3784
|
|
113
|
+
leafmesh/utils/redact.pyc,sha256=D7Vk053mx1l9-rDHxFclRdnpTQtDTarnPZmQZlNrH28,5793
|
|
114
|
+
leafmesh-2.1.0.dist-info/licenses/LICENSE,sha256=2-dE_Qdwh7ZPwLb_gCTwK142wA9jLNemPvIiis_CZMw,13218
|
|
115
|
+
leafmesh-2.1.0.dist-info/METADATA,sha256=Y4I5bsTa4ZFpu2EORllJf3r1-_xIMkcoIOZ-1yiHI14,12260
|
|
116
|
+
leafmesh-2.1.0.dist-info/WHEEL,sha256=5b67EAUoBHKJhSqzMFuu_FP91TmKHEjFWtKkqKN3IMo,93
|
|
117
|
+
leafmesh-2.1.0.dist-info/top_level.txt,sha256=QDuXLrEmO7KODDD--Ajl0jhb0iAHZ0uqHZgCJeNMz8o,19
|
|
118
|
+
leafmesh-2.1.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
================================================================================
|
|
2
|
+
SWARMSDK COMMERCIAL LICENSE AGREEMENT
|
|
3
|
+
================================================================================
|
|
4
|
+
|
|
5
|
+
THIS SOFTWARE LICENSE AGREEMENT ("AGREEMENT") IS A LEGAL AGREEMENT BETWEEN YOU
|
|
6
|
+
(EITHER AN INDIVIDUAL OR A SINGLE ENTITY) AND LeafCraft ("LEAFCRAFT",
|
|
7
|
+
"COMPANY", "WE", "US", OR "OUR") FOR THE SWARMSDK SOFTWARE PRODUCT INCLUDING
|
|
8
|
+
COMPUTER SOFTWARE AND ASSOCIATED MEDIA AND PRINTED MATERIALS, AND MAY INCLUDE
|
|
9
|
+
ONLINE OR ELECTRONIC DOCUMENTATION ("SOFTWARE").
|
|
10
|
+
|
|
11
|
+
BY INSTALLING, COPYING, DOWNLOADING, ACCESSING, OR OTHERWISE USING THE SOFTWARE,
|
|
12
|
+
YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE
|
|
13
|
+
TERMS OF THIS AGREEMENT, DO NOT INSTALL, COPY, DOWNLOAD, ACCESS, OR USE THE SOFTWARE.
|
|
14
|
+
|
|
15
|
+
================================================================================
|
|
16
|
+
DEFINITIONS
|
|
17
|
+
================================================================================
|
|
18
|
+
|
|
19
|
+
"Affiliate" means any entity that directly or indirectly controls, is controlled
|
|
20
|
+
by, or is under common control with a party to this Agreement.
|
|
21
|
+
|
|
22
|
+
"Commercial Use" means any use of the Software for commercial, business, or
|
|
23
|
+
revenue-generating purposes, including but not limited to:
|
|
24
|
+
(a) Use in connection with business operations or commercial activities
|
|
25
|
+
(b) Integration into products or services offered to third parties
|
|
26
|
+
(c) Use to provide services to customers or clients for compensation
|
|
27
|
+
(d) Use in enterprise environments or business organizations
|
|
28
|
+
(e) Use that generates revenue directly or indirectly
|
|
29
|
+
|
|
30
|
+
"Documentation" means any written or electronic materials provided by LeafCraft
|
|
31
|
+
relating to the Software.
|
|
32
|
+
|
|
33
|
+
"Evaluation Period" means a period of thirty (30) calendar days from first use
|
|
34
|
+
of the Software for evaluation purposes only.
|
|
35
|
+
|
|
36
|
+
"Intellectual Property Rights" means all intellectual property rights worldwide,
|
|
37
|
+
including patents, copyrights, trademarks, trade secrets, moral rights, and any
|
|
38
|
+
other proprietary rights.
|
|
39
|
+
|
|
40
|
+
"Licensed Software" means the SwarmSDK software package, including all components,
|
|
41
|
+
libraries, documentation, and related materials.
|
|
42
|
+
|
|
43
|
+
================================================================================
|
|
44
|
+
LICENSE GRANT AND SCOPE
|
|
45
|
+
================================================================================
|
|
46
|
+
|
|
47
|
+
1. EVALUATION LICENSE
|
|
48
|
+
Subject to the terms of this Agreement, LeafCraft grants you a limited,
|
|
49
|
+
non-exclusive, non-transferable license to use the Software solely for
|
|
50
|
+
evaluation, testing, and development purposes for the Evaluation Period.
|
|
51
|
+
|
|
52
|
+
2. COMMERCIAL LICENSE REQUIRED
|
|
53
|
+
Any Commercial Use of the Software requires a separate written commercial
|
|
54
|
+
license agreement with LeafCraft. Contact info@leafcraftstudios.com
|
|
55
|
+
to obtain appropriate commercial licensing.
|
|
56
|
+
|
|
57
|
+
3. ACADEMIC AND RESEARCH USE
|
|
58
|
+
Educational institutions and non-profit research organizations may use the
|
|
59
|
+
Software for non-commercial research and educational purposes beyond the
|
|
60
|
+
Evaluation Period, subject to written approval from LeafCraft.
|
|
61
|
+
|
|
62
|
+
4. SCOPE OF LICENSE
|
|
63
|
+
The license granted herein is limited to the specific version of the Software
|
|
64
|
+
provided. Updates, upgrades, and new versions may require separate licensing.
|
|
65
|
+
|
|
66
|
+
================================================================================
|
|
67
|
+
RESTRICTIONS
|
|
68
|
+
================================================================================
|
|
69
|
+
|
|
70
|
+
YOU MAY NOT:
|
|
71
|
+
1. Use the Software for Commercial Use without a valid commercial license
|
|
72
|
+
2. Distribute, sublicense, rent, lease, or sell the Software
|
|
73
|
+
3. Modify, adapt, alter, translate, or create derivative works of the Software
|
|
74
|
+
4. Reverse engineer, decompile, disassemble, or attempt to derive source code
|
|
75
|
+
5. Remove, alter, or obscure any proprietary notices, labels, or marks
|
|
76
|
+
6. Use the Software in violation of applicable laws or regulations
|
|
77
|
+
7. Use the Software in life-critical or safety-critical applications
|
|
78
|
+
8. Benchmark the Software against competing products without prior consent
|
|
79
|
+
9. Access the Software to build a similar or competing product
|
|
80
|
+
10. Circumvent or attempt to circumvent any licensing restrictions
|
|
81
|
+
|
|
82
|
+
================================================================================
|
|
83
|
+
INTELLECTUAL PROPERTY RIGHTS
|
|
84
|
+
================================================================================
|
|
85
|
+
|
|
86
|
+
1. OWNERSHIP
|
|
87
|
+
The Software and all Intellectual Property Rights therein are and shall remain
|
|
88
|
+
the exclusive property of LeafCraft. This Agreement grants you only the limited
|
|
89
|
+
rights expressly set forth herein.
|
|
90
|
+
|
|
91
|
+
2. TRADEMARKS
|
|
92
|
+
LeafCraft, SwarmSDK, and related marks are trademarks of LeafCraft.
|
|
93
|
+
You may not use these marks without prior written consent.
|
|
94
|
+
|
|
95
|
+
3. FEEDBACK
|
|
96
|
+
Any feedback, suggestions, or improvements you provide regarding the Software
|
|
97
|
+
may be used by LeafCraft without compensation or attribution.
|
|
98
|
+
|
|
99
|
+
================================================================================
|
|
100
|
+
COMPLIANCE
|
|
101
|
+
================================================================================
|
|
102
|
+
|
|
103
|
+
1. AUDIT RIGHTS
|
|
104
|
+
LeafCraft reserves the right to audit your use of the Software to ensure
|
|
105
|
+
compliance with this Agreement. You agree to cooperate with such audits and
|
|
106
|
+
provide reasonable access to relevant records and systems.
|
|
107
|
+
|
|
108
|
+
2. REPORTING
|
|
109
|
+
You may be required to provide reports on your use of the Software as
|
|
110
|
+
specified in your commercial license agreement.
|
|
111
|
+
|
|
112
|
+
3. RECORD KEEPING
|
|
113
|
+
You shall maintain accurate records of your use of the Software and provide
|
|
114
|
+
such records to LeafCraft upon reasonable request.
|
|
115
|
+
|
|
116
|
+
================================================================================
|
|
117
|
+
PAYMENT AND FEES
|
|
118
|
+
================================================================================
|
|
119
|
+
|
|
120
|
+
1. EVALUATION USE
|
|
121
|
+
No fees are required for use during the Evaluation Period.
|
|
122
|
+
|
|
123
|
+
2. COMMERCIAL LICENSING FEES
|
|
124
|
+
Commercial use requires payment of applicable licensing fees as specified
|
|
125
|
+
in your commercial license agreement.
|
|
126
|
+
|
|
127
|
+
3. PAYMENT TERMS
|
|
128
|
+
All fees are due and payable in accordance with the terms of your commercial
|
|
129
|
+
license agreement. Late payments may incur additional charges.
|
|
130
|
+
|
|
131
|
+
================================================================================
|
|
132
|
+
SUPPORT AND MAINTENANCE
|
|
133
|
+
================================================================================
|
|
134
|
+
|
|
135
|
+
1. EVALUATION SUPPORT
|
|
136
|
+
No support or maintenance is provided during the Evaluation Period.
|
|
137
|
+
|
|
138
|
+
2. COMMERCIAL SUPPORT
|
|
139
|
+
Support and maintenance services are available under separate commercial
|
|
140
|
+
support agreements.
|
|
141
|
+
|
|
142
|
+
3. UPDATES AND UPGRADES
|
|
143
|
+
Access to updates and upgrades may require additional licensing fees.
|
|
144
|
+
|
|
145
|
+
================================================================================
|
|
146
|
+
DISCLAIMERS AND WARRANTIES
|
|
147
|
+
================================================================================
|
|
148
|
+
|
|
149
|
+
1. WARRANTY DISCLAIMER
|
|
150
|
+
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. LEAFCRAFT
|
|
151
|
+
DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
152
|
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
|
|
153
|
+
AND NON-INFRINGEMENT.
|
|
154
|
+
|
|
155
|
+
2. NO WARRANTY OF PERFORMANCE
|
|
156
|
+
LEAFCRAFT DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS
|
|
157
|
+
OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE.
|
|
158
|
+
|
|
159
|
+
3. THIRD-PARTY COMPONENTS
|
|
160
|
+
The Software may include third-party components subject to separate license
|
|
161
|
+
terms. You are responsible for complying with such terms.
|
|
162
|
+
|
|
163
|
+
================================================================================
|
|
164
|
+
LIMITATION OF LIABILITY
|
|
165
|
+
================================================================================
|
|
166
|
+
|
|
167
|
+
1. LIMITATION OF DAMAGES
|
|
168
|
+
IN NO EVENT SHALL LEAFCRAFT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
|
|
169
|
+
CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO LOSS OF
|
|
170
|
+
PROFITS, DATA, USE, GOODWILL, OR OTHER INTANGIBLE LOSSES.
|
|
171
|
+
|
|
172
|
+
2. MAXIMUM LIABILITY
|
|
173
|
+
LEAFCRAFT'S TOTAL LIABILITY FOR ALL CLAIMS RELATED TO THE SOFTWARE SHALL NOT
|
|
174
|
+
EXCEED THE AMOUNT PAID BY YOU FOR THE SOFTWARE IN THE TWELVE MONTHS PRECEDING
|
|
175
|
+
THE CLAIM.
|
|
176
|
+
|
|
177
|
+
3. ESSENTIAL PURPOSE
|
|
178
|
+
THE LIMITATIONS SET FORTH IN THIS SECTION SHALL APPLY EVEN IF THE LIMITED
|
|
179
|
+
REMEDIES PROVIDED HEREIN FAIL OF THEIR ESSENTIAL PURPOSE.
|
|
180
|
+
|
|
181
|
+
================================================================================
|
|
182
|
+
INDEMNIFICATION
|
|
183
|
+
================================================================================
|
|
184
|
+
|
|
185
|
+
You agree to indemnify, defend, and hold harmless LeafCraft and its officers,
|
|
186
|
+
directors, employees, and agents from and against any claims, liabilities,
|
|
187
|
+
damages, losses, and expenses arising out of or in any way connected with:
|
|
188
|
+
(a) Your use of the Software
|
|
189
|
+
(b) Your violation of this Agreement
|
|
190
|
+
(c) Your violation of any third-party rights
|
|
191
|
+
|
|
192
|
+
================================================================================
|
|
193
|
+
TERMINATION
|
|
194
|
+
================================================================================
|
|
195
|
+
|
|
196
|
+
1. TERMINATION BY LEAFCRAFT
|
|
197
|
+
LeafCraft may terminate this Agreement immediately upon notice if you breach
|
|
198
|
+
any term of this Agreement.
|
|
199
|
+
|
|
200
|
+
2. TERMINATION BY YOU
|
|
201
|
+
You may terminate this Agreement at any time by ceasing use of the Software
|
|
202
|
+
and destroying all copies in your possession.
|
|
203
|
+
|
|
204
|
+
3. EFFECT OF TERMINATION
|
|
205
|
+
Upon termination, all rights granted hereunder shall cease immediately, and
|
|
206
|
+
you must cease all use of the Software and destroy all copies.
|
|
207
|
+
|
|
208
|
+
4. SURVIVAL
|
|
209
|
+
Sections relating to intellectual property, disclaimers, limitation of
|
|
210
|
+
liability, indemnification, and general provisions shall survive termination.
|
|
211
|
+
|
|
212
|
+
================================================================================
|
|
213
|
+
EXPORT CONTROL
|
|
214
|
+
================================================================================
|
|
215
|
+
|
|
216
|
+
1. EXPORT COMPLIANCE
|
|
217
|
+
You acknowledge that the Software may be subject to export controls under
|
|
218
|
+
applicable laws. You agree to comply with all applicable export and import
|
|
219
|
+
laws and regulations.
|
|
220
|
+
|
|
221
|
+
2. RESTRICTED COUNTRIES
|
|
222
|
+
You represent that you are not located in, under control of, or a national
|
|
223
|
+
of any country to which export of the Software is restricted by applicable law.
|
|
224
|
+
|
|
225
|
+
================================================================================
|
|
226
|
+
GENERAL PROVISIONS
|
|
227
|
+
================================================================================
|
|
228
|
+
|
|
229
|
+
1. GOVERNING LAW
|
|
230
|
+
This Agreement shall be governed by and construed in accordance with the laws
|
|
231
|
+
of the State of Delaware, United States, without regard to conflict of law
|
|
232
|
+
principles.
|
|
233
|
+
|
|
234
|
+
2. JURISDICTION
|
|
235
|
+
Any disputes arising under this Agreement shall be subject to the exclusive
|
|
236
|
+
jurisdiction of the state and federal courts located in Delaware.
|
|
237
|
+
|
|
238
|
+
3. ENTIRE AGREEMENT
|
|
239
|
+
This Agreement constitutes the entire agreement between the parties regarding
|
|
240
|
+
the Software and supersedes all prior agreements and understandings.
|
|
241
|
+
|
|
242
|
+
4. MODIFICATION
|
|
243
|
+
This Agreement may only be modified by a written instrument signed by
|
|
244
|
+
authorized representatives of both parties.
|
|
245
|
+
|
|
246
|
+
5. SEVERABILITY
|
|
247
|
+
If any provision of this Agreement is held to be invalid or unenforceable,
|
|
248
|
+
the remainder of this Agreement shall remain in full force and effect.
|
|
249
|
+
|
|
250
|
+
6. WAIVER
|
|
251
|
+
No waiver of any provision of this Agreement shall be deemed or shall
|
|
252
|
+
constitute a waiver of any other provision.
|
|
253
|
+
|
|
254
|
+
7. ASSIGNMENT
|
|
255
|
+
You may not assign this Agreement or any rights hereunder without the prior
|
|
256
|
+
written consent of LeafCraft. LeafCraft may assign this Agreement without
|
|
257
|
+
restriction.
|
|
258
|
+
|
|
259
|
+
8. FORCE MAJEURE
|
|
260
|
+
Neither party shall be liable for any failure or delay in performance due
|
|
261
|
+
to causes beyond its reasonable control.
|
|
262
|
+
|
|
263
|
+
================================================================================
|
|
264
|
+
COMMERCIAL LICENSING CONTACT
|
|
265
|
+
================================================================================
|
|
266
|
+
|
|
267
|
+
For commercial licensing, enterprise agreements, OEM licensing, and custom
|
|
268
|
+
licensing arrangements, please contact:
|
|
269
|
+
|
|
270
|
+
LeafCraft
|
|
271
|
+
Licensing Department
|
|
272
|
+
Email: info@leafcraftstudios.com
|
|
273
|
+
Website: https://leafcraft.ai
|
|
274
|
+
Phone: +1 (XXX) XXX-XXXX
|
|
275
|
+
|
|
276
|
+
Business Address:
|
|
277
|
+
LeafCraft
|
|
278
|
+
[Street Address]
|
|
279
|
+
[City, State ZIP Code]
|
|
280
|
+
[Country]
|
|
281
|
+
|
|
282
|
+
================================================================================
|
|
283
|
+
ACKNOWLEDGMENT
|
|
284
|
+
================================================================================
|
|
285
|
+
|
|
286
|
+
BY USING THE SOFTWARE, YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT,
|
|
287
|
+
UNDERSTAND IT, AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
|
|
288
|
+
|
|
289
|
+
================================================================================
|
|
290
|
+
|
|
291
|
+
SwarmSDK Commercial License Agreement
|
|
292
|
+
Version 1.0
|
|
293
|
+
Effective Date: August 29, 2025
|
|
294
|
+
Copyright (c) 2024-2025 LeafCraft. All Rights Reserved.
|
|
295
|
+
|
|
296
|
+
Last Updated: August 29, 2025
|