bodai 0.1.1__tar.gz
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.
- bodai-0.1.1/.claude/settings.local.json +18 -0
- bodai-0.1.1/.complexipy_cache/be4373305c912bdc9ab0e94e53284782.json +175 -0
- bodai-0.1.1/.coverage +0 -0
- bodai-0.1.1/.envrc +1 -0
- bodai-0.1.1/.gitignore +1 -0
- bodai-0.1.1/.oneiric_cache/domain_activity.sqlite +0 -0
- bodai-0.1.1/.oneiric_cache/workflow_checkpoints.sqlite +0 -0
- bodai-0.1.1/.python-version +1 -0
- bodai-0.1.1/CLAUDE.md +112 -0
- bodai-0.1.1/LICENSE +29 -0
- bodai-0.1.1/PKG-INFO +150 -0
- bodai-0.1.1/README.md +129 -0
- bodai-0.1.1/bodai/__init__.py +3 -0
- bodai-0.1.1/bodai/admin/__init__.py +1 -0
- bodai-0.1.1/bodai/admin/shell.py +68 -0
- bodai-0.1.1/bodai/admin/shell.py.backup +66 -0
- bodai-0.1.1/bodai/cli.py +192 -0
- bodai-0.1.1/bodai/core/__init__.py +1 -0
- bodai-0.1.1/bodai/core/config.py +76 -0
- bodai-0.1.1/bodai/core/health.py +82 -0
- bodai-0.1.1/bodai/models/__init__.py +10 -0
- bodai-0.1.1/bodai/models/config.py +18 -0
- bodai-0.1.1/bodai/models/ecosystem.py +60 -0
- bodai-0.1.1/bodai/tui/__init__.py +1 -0
- bodai-0.1.1/bodai/tui/dashboard.css +35 -0
- bodai-0.1.1/bodai/tui/dashboard.py +91 -0
- bodai-0.1.1/complexipy_results_2026_02_20__11-04-30.json +170 -0
- bodai-0.1.1/complexipy_results_2026_02_20__11-40-25.json +170 -0
- bodai-0.1.1/config/ecosystem.yaml +43 -0
- bodai-0.1.1/config/portmap.yaml +17 -0
- bodai-0.1.1/config/storage-map.yaml +35 -0
- bodai-0.1.1/docs/architecture.md +181 -0
- bodai-0.1.1/docs/plans/2026-02-20-bodai-design.md +415 -0
- bodai-0.1.1/docs/plans/2026-02-20-bodai-implementation.md +1721 -0
- bodai-0.1.1/docs/portmap.md +269 -0
- bodai-0.1.1/docs/roles.md +200 -0
- bodai-0.1.1/docs/symbiosis.md +450 -0
- bodai-0.1.1/main.py +7 -0
- bodai-0.1.1/pyproject.toml +146 -0
- bodai-0.1.1/tests/__init__.py +1 -0
- bodai-0.1.1/tests/test_cli.py +26 -0
- bodai-0.1.1/tests/test_config.py +26 -0
- bodai-0.1.1/tests/test_health.py +37 -0
- bodai-0.1.1/tests/test_models.py +205 -0
- bodai-0.1.1/uv.lock +4450 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(git commit:*)",
|
|
5
|
+
"Bash(.venv/bin/ruff check:*)",
|
|
6
|
+
"Bash(.venv/bin/ruff format:*)",
|
|
7
|
+
"Bash(git -C /Users/les/Projects/bodai status)",
|
|
8
|
+
"Bash(git -C /Users/les/Projects/bodai diff)",
|
|
9
|
+
"Bash(git -C /Users/les/Projects/bodai log --oneline -3)",
|
|
10
|
+
"Bash(git -C /Users/les/Projects/bodai add:*)",
|
|
11
|
+
"Bash(git -C:*)",
|
|
12
|
+
"Bash(mcp__crackerjack__init_crackerjack:*)",
|
|
13
|
+
"Bash(git push)",
|
|
14
|
+
"mcp__session-buddy__start_app_monitoring",
|
|
15
|
+
"mcp__session-buddy__start_conscious_agent"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
{
|
|
2
|
+
"functions": [
|
|
3
|
+
{
|
|
4
|
+
"complexity": 0,
|
|
5
|
+
"file_name": "shell.py",
|
|
6
|
+
"function_name": "launch_shell",
|
|
7
|
+
"path": "bodai/admin/shell.py"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"complexity": 0,
|
|
11
|
+
"file_name": "cli.py",
|
|
12
|
+
"function_name": "health",
|
|
13
|
+
"path": "bodai/cli.py"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"complexity": 0,
|
|
17
|
+
"file_name": "cli.py",
|
|
18
|
+
"function_name": "status",
|
|
19
|
+
"path": "bodai/cli.py"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"complexity": 1,
|
|
23
|
+
"file_name": "cli.py",
|
|
24
|
+
"function_name": "_display_health_table",
|
|
25
|
+
"path": "bodai/cli.py"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"complexity": 1,
|
|
29
|
+
"file_name": "cli.py",
|
|
30
|
+
"function_name": "config_show",
|
|
31
|
+
"path": "bodai/cli.py"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"complexity": 1,
|
|
35
|
+
"file_name": "cli.py",
|
|
36
|
+
"function_name": "dashboard",
|
|
37
|
+
"path": "bodai/cli.py"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"complexity": 1,
|
|
41
|
+
"file_name": "cli.py",
|
|
42
|
+
"function_name": "shell",
|
|
43
|
+
"path": "bodai/cli.py"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"complexity": 2,
|
|
47
|
+
"file_name": "cli.py",
|
|
48
|
+
"function_name": "restart",
|
|
49
|
+
"path": "bodai/cli.py"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"complexity": 2,
|
|
53
|
+
"file_name": "cli.py",
|
|
54
|
+
"function_name": "start",
|
|
55
|
+
"path": "bodai/cli.py"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"complexity": 2,
|
|
59
|
+
"file_name": "cli.py",
|
|
60
|
+
"function_name": "stop",
|
|
61
|
+
"path": "bodai/cli.py"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"complexity": 3,
|
|
65
|
+
"file_name": "cli.py",
|
|
66
|
+
"function_name": "config_validate",
|
|
67
|
+
"path": "bodai/cli.py"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"complexity": 0,
|
|
71
|
+
"file_name": "config.py",
|
|
72
|
+
"function_name": "load_storage_map",
|
|
73
|
+
"path": "bodai/core/config.py"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"complexity": 1,
|
|
77
|
+
"file_name": "config.py",
|
|
78
|
+
"function_name": "load_ecosystem",
|
|
79
|
+
"path": "bodai/core/config.py"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"complexity": 10,
|
|
83
|
+
"file_name": "config.py",
|
|
84
|
+
"function_name": "load_portmap",
|
|
85
|
+
"path": "bodai/core/config.py"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"complexity": 0,
|
|
89
|
+
"file_name": "health.py",
|
|
90
|
+
"function_name": "check_component",
|
|
91
|
+
"path": "bodai/core/health.py"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"complexity": 2,
|
|
95
|
+
"file_name": "health.py",
|
|
96
|
+
"function_name": "check_all",
|
|
97
|
+
"path": "bodai/core/health.py"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"complexity": 4,
|
|
101
|
+
"file_name": "health.py",
|
|
102
|
+
"function_name": "check_port",
|
|
103
|
+
"path": "bodai/core/health.py"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"complexity": 0,
|
|
107
|
+
"file_name": "ecosystem.py",
|
|
108
|
+
"function_name": "Component::role_display",
|
|
109
|
+
"path": "bodai/models/ecosystem.py"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"complexity": 3,
|
|
113
|
+
"file_name": "ecosystem.py",
|
|
114
|
+
"function_name": "Ecosystem::get_by_port",
|
|
115
|
+
"path": "bodai/models/ecosystem.py"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"complexity": 3,
|
|
119
|
+
"file_name": "ecosystem.py",
|
|
120
|
+
"function_name": "Ecosystem::get_by_role",
|
|
121
|
+
"path": "bodai/models/ecosystem.py"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"complexity": 0,
|
|
125
|
+
"file_name": "dashboard.py",
|
|
126
|
+
"function_name": "BodaiDashboard::action_refresh",
|
|
127
|
+
"path": "bodai/tui/dashboard.py"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"complexity": 0,
|
|
131
|
+
"file_name": "dashboard.py",
|
|
132
|
+
"function_name": "BodaiDashboard::compose",
|
|
133
|
+
"path": "bodai/tui/dashboard.py"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"complexity": 0,
|
|
137
|
+
"file_name": "dashboard.py",
|
|
138
|
+
"function_name": "ComponentList::__init__",
|
|
139
|
+
"path": "bodai/tui/dashboard.py"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"complexity": 0,
|
|
143
|
+
"file_name": "dashboard.py",
|
|
144
|
+
"function_name": "ComponentList::_load_components",
|
|
145
|
+
"path": "bodai/tui/dashboard.py"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"complexity": 0,
|
|
149
|
+
"file_name": "dashboard.py",
|
|
150
|
+
"function_name": "ComponentWidget::__init__",
|
|
151
|
+
"path": "bodai/tui/dashboard.py"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"complexity": 1,
|
|
155
|
+
"file_name": "dashboard.py",
|
|
156
|
+
"function_name": "ComponentList::compose",
|
|
157
|
+
"path": "bodai/tui/dashboard.py"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"complexity": 1,
|
|
161
|
+
"file_name": "dashboard.py",
|
|
162
|
+
"function_name": "ComponentWidget::compose",
|
|
163
|
+
"path": "bodai/tui/dashboard.py"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"complexity": 2,
|
|
167
|
+
"file_name": "dashboard.py",
|
|
168
|
+
"function_name": "ComponentList::refresh_health",
|
|
169
|
+
"path": "bodai/tui/dashboard.py"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"targets": [
|
|
173
|
+
"/Users/les/Projects/bodai/bodai"
|
|
174
|
+
]
|
|
175
|
+
}
|
bodai-0.1.1/.coverage
ADDED
|
Binary file
|
bodai-0.1.1/.envrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
layout uv
|
bodai-0.1.1/.gitignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__pycache__/
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.13
|
bodai-0.1.1/CLAUDE.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
Bodai (The Orb) is a meta-project for the Bodai ecosystem. It provides configuration, documentation, and operational tooling for managing interconnected components. The project serves as a central hub for ecosystem-wide operations, health monitoring, and configuration management.
|
|
8
|
+
|
|
9
|
+
## Ecosystem Components
|
|
10
|
+
|
|
11
|
+
| Component | Role | Port |
|
|
12
|
+
|-----------|------|------|
|
|
13
|
+
| Mahavishnu | Orchestrator | 8680 |
|
|
14
|
+
| Akosha | Seer | 8682 |
|
|
15
|
+
| Dhruva | Curator | 8683 |
|
|
16
|
+
| Session-Buddy | Builder | 8678 |
|
|
17
|
+
| Crackerjack | Inspector | 8676 |
|
|
18
|
+
|
|
19
|
+
## Development Commands
|
|
20
|
+
|
|
21
|
+
### Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
uv sync --group dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Testing
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Run all tests
|
|
31
|
+
pytest
|
|
32
|
+
|
|
33
|
+
# Run specific test file
|
|
34
|
+
pytest tests/test_health.py
|
|
35
|
+
|
|
36
|
+
# Run tests with coverage
|
|
37
|
+
pytest --cov=bodai
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Code Quality
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Linting
|
|
44
|
+
crackerjack lint
|
|
45
|
+
|
|
46
|
+
# Type checking
|
|
47
|
+
crackerjack typecheck
|
|
48
|
+
|
|
49
|
+
# Security scanning
|
|
50
|
+
crackerjack security
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Running CLI
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Health check command
|
|
57
|
+
python -m bodai.cli health
|
|
58
|
+
|
|
59
|
+
# Dashboard command
|
|
60
|
+
python -m bodai.cli dashboard
|
|
61
|
+
|
|
62
|
+
# Interactive shell
|
|
63
|
+
python -m bodai.cli shell
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Architecture
|
|
67
|
+
|
|
68
|
+
The Bodai project is organized into three primary layers:
|
|
69
|
+
|
|
70
|
+
### 1. Config Layer
|
|
71
|
+
|
|
72
|
+
- Configuration management for ecosystem components
|
|
73
|
+
- YAML-based configuration files for each component
|
|
74
|
+
- Environment-specific settings management
|
|
75
|
+
|
|
76
|
+
### 2. Models Layer
|
|
77
|
+
|
|
78
|
+
- Pydantic models for data validation and serialization
|
|
79
|
+
- Component status and health check models
|
|
80
|
+
- Ecosystem topology representations
|
|
81
|
+
|
|
82
|
+
### 3. Operations Layer
|
|
83
|
+
|
|
84
|
+
- CLI commands using Typer framework
|
|
85
|
+
- Interactive TUI using Textual
|
|
86
|
+
- Concurrent operations using ThreadPoolExecutor
|
|
87
|
+
|
|
88
|
+
## Key Patterns
|
|
89
|
+
|
|
90
|
+
### Pydantic Models
|
|
91
|
+
|
|
92
|
+
All data models use Pydantic v2 for validation, serialization, and settings management. Models are defined with strict type hints and comprehensive validation rules.
|
|
93
|
+
|
|
94
|
+
### Typer CLI Framework
|
|
95
|
+
|
|
96
|
+
The CLI is built using Typer for intuitive command-line interfaces with automatic help generation and rich formatting via Rich integration.
|
|
97
|
+
|
|
98
|
+
### Textual TUI
|
|
99
|
+
|
|
100
|
+
Interactive dashboards and shells use Textual for terminal-based user interfaces with reactive components and event-driven architecture.
|
|
101
|
+
|
|
102
|
+
### ThreadPoolExecutor
|
|
103
|
+
|
|
104
|
+
Concurrent health checks and operations across ecosystem components use ThreadPoolExecutor for parallel execution with configurable thread pools.
|
|
105
|
+
|
|
106
|
+
## Configuration Files
|
|
107
|
+
|
|
108
|
+
The ecosystem configuration is managed through three YAML files:
|
|
109
|
+
|
|
110
|
+
1. `config/components.yaml` - Component definitions and connection settings
|
|
111
|
+
1. `config/monitoring.yaml` - Health check intervals and thresholds
|
|
112
|
+
1. `config/operations.yaml` - Operational procedures and automation rules
|
bodai-0.1.1/LICENSE
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023, Les Leslie & Wedgwood Web Works
|
|
4
|
+
All rights reserved.
|
|
5
|
+
|
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
|
8
|
+
|
|
9
|
+
* Redistributions of source code must retain the above copyright notice, this
|
|
10
|
+
list of conditions and the following disclaimer.
|
|
11
|
+
|
|
12
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
and/or other materials provided with the distribution.
|
|
15
|
+
|
|
16
|
+
* Neither the name of the copyright holder nor the names of its
|
|
17
|
+
contributors may be used to endorse or promote products derived from
|
|
18
|
+
this software without specific prior written permission.
|
|
19
|
+
|
|
20
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
21
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
22
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
23
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
24
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
25
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
26
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
27
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
28
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
bodai-0.1.1/PKG-INFO
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: bodai
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: The Orb - Ecosystem meta-project for Bodai
|
|
5
|
+
License-File: LICENSE
|
|
6
|
+
Requires-Python: >=3.13
|
|
7
|
+
Requires-Dist: httpx>=0.25.0
|
|
8
|
+
Requires-Dist: ipython>=8.0.0
|
|
9
|
+
Requires-Dist: oneiric>=0.2.0
|
|
10
|
+
Requires-Dist: pydantic-settings>=2.0.0
|
|
11
|
+
Requires-Dist: pydantic>=2.0.0
|
|
12
|
+
Requires-Dist: pyyaml>=6.0.0
|
|
13
|
+
Requires-Dist: rich>=13.0.0
|
|
14
|
+
Requires-Dist: textual>=0.40.0
|
|
15
|
+
Requires-Dist: typer>=0.9.0
|
|
16
|
+
Provides-Extra: dev
|
|
17
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
|
18
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
19
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
|
|
22
|
+
# Bodai
|
|
23
|
+
|
|
24
|
+
Central meta-project for the Bodai ecosystem, providing configuration, documentation, and operations for all components.
|
|
25
|
+
|
|
26
|
+
> **Etymology**: From Sanskrit *bodhi* (awakening, enlightenment) - the state of supreme understanding.
|
|
27
|
+
|
|
28
|
+
## Ecosystem Components
|
|
29
|
+
|
|
30
|
+
The Bodai ecosystem consists of six interconnected components, each with a distinct role. Five are network services with MCP servers, while Oneiric serves as a shared library.
|
|
31
|
+
|
|
32
|
+
| Component | Role | Port | GitHub | Description |
|
|
33
|
+
|-----------|------|------|--------|-------------|
|
|
34
|
+
| [Mahavishnu](#mahavishnu---the-orchestrator) | Orchestrator | 8680 | [lesleslie/mahavishnu](https://github.com/lesleslie/mahavishnu) | Multi-engine workflow orchestration |
|
|
35
|
+
| [Akosha](#akosha---the-seer) | Seer | 8682 | [lesleslie/akosha](https://github.com/lesleslie/akosha) | Cross-system intelligence & vector embeddings |
|
|
36
|
+
| [Dhruva](#dhruva---the-curator) | Curator | 8683 | [lesleslie/dhruva](https://github.com/lesleslie/dhruva) | Persistent object storage with ACID |
|
|
37
|
+
| [Session-Buddy](#session-buddy---the-builder) | Builder | 8678 | [lesleslie/session-buddy](https://github.com/lesleslie/session-buddy) | Session lifecycle & knowledge graphs |
|
|
38
|
+
| [Crackerjack](#crackerjack---the-inspector) | Inspector | 8676 | [lesleslie/crackerjack](https://github.com/lesleslie/crackerjack) | Quality gates & CI/CD validation |
|
|
39
|
+
| [Oneiric](#oneiric---the-resolver) | Resolver | N/A | [lesleslie/oneiric](https://github.com/lesleslie/oneiric) | Conflict resolution library |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
### Mahavishnu - The Orchestrator
|
|
44
|
+
|
|
45
|
+
> From Sanskrit *maha* (great) + *Vishnu* (the preserver in Hindu trinity)
|
|
46
|
+
|
|
47
|
+
The central workflow engine that routes tasks to appropriate execution engines, coordinates multi-step processes across components, and manages workflow definitions and templates.
|
|
48
|
+
|
|
49
|
+
- Routes tasks to Akosha for intelligence operations
|
|
50
|
+
- Persists state to Dhruva for recovery
|
|
51
|
+
- Tracks context in Session-Buddy
|
|
52
|
+
- Validates with Crackerjack before execution
|
|
53
|
+
|
|
54
|
+
### Akosha - The Seer
|
|
55
|
+
|
|
56
|
+
> From Sanskrit *akasha* (sky, ether, space) - the fifth element, medium of consciousness
|
|
57
|
+
|
|
58
|
+
Provides cross-system intelligence through vector embeddings, semantic search, pattern detection, and knowledge graphs. Enables predictive analysis and recommendations across all sessions.
|
|
59
|
+
|
|
60
|
+
- Receives session data from Session-Buddy for embedding
|
|
61
|
+
- Stores patterns in Dhruva
|
|
62
|
+
- Provides intelligence to Mahavishnu
|
|
63
|
+
- Receives code analysis from Crackerjack
|
|
64
|
+
|
|
65
|
+
### Dhruva - The Curator
|
|
66
|
+
|
|
67
|
+
> From Sanskrit *dhruva* (firm, constant, unchanging) - also the Pole Star
|
|
68
|
+
|
|
69
|
+
The single source of truth for persistent data. Provides ACID transaction guarantees, data versioning, backup/recovery, and efficient querying.
|
|
70
|
+
|
|
71
|
+
- Stores state for Mahavishnu
|
|
72
|
+
- Persists patterns for Akosha
|
|
73
|
+
- Backs up sessions for Session-Buddy
|
|
74
|
+
- Stores quality reports for Crackerjack
|
|
75
|
+
|
|
76
|
+
### Session-Buddy - The Builder
|
|
77
|
+
|
|
78
|
+
The session lifecycle manager that tracks conversation history, builds knowledge graphs, and enables context switching between sessions.
|
|
79
|
+
|
|
80
|
+
- Sends data to Akosha for embedding
|
|
81
|
+
- Stores backups in Dhruva
|
|
82
|
+
- Provides context to Mahavishnu
|
|
83
|
+
- Receives quality metrics from Crackerjack
|
|
84
|
+
|
|
85
|
+
### Crackerjack - The Inspector
|
|
86
|
+
|
|
87
|
+
The quality enforcer that runs automated test suites, manages CI/CD pipelines, provides code analysis and linting, and tracks quality metrics over time.
|
|
88
|
+
|
|
89
|
+
- Validates workflows for Mahavishnu
|
|
90
|
+
- Sends code analysis to Akosha
|
|
91
|
+
- Stores reports in Dhruva
|
|
92
|
+
- Records metrics in Session-Buddy
|
|
93
|
+
|
|
94
|
+
### Oneiric - The Resolver
|
|
95
|
+
|
|
96
|
+
> From Greek *oneiros* (dream) - relating to dreams, the abstract and complex
|
|
97
|
+
|
|
98
|
+
A shared library (no MCP server) that provides conflict resolution algorithms, dependency graph analysis, version conflict detection, and merge strategies. Embedded directly by other components.
|
|
99
|
+
|
|
100
|
+
- Used by Mahavishnu for workflow conflict resolution
|
|
101
|
+
- Used by Dhruva for data merge operations
|
|
102
|
+
- Used by Session-Buddy for context merging
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Installation
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
uv sync
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Commands
|
|
113
|
+
|
|
114
|
+
Bodai provides a unified CLI for managing the ecosystem:
|
|
115
|
+
|
|
116
|
+
| Command | Description |
|
|
117
|
+
|---------|-------------|
|
|
118
|
+
| `bodai health` | Check health status of all ecosystem components |
|
|
119
|
+
| `bodai start` | Start all ecosystem services |
|
|
120
|
+
| `bodai stop` | Stop all ecosystem services |
|
|
121
|
+
| `bodai restart` | Restart all ecosystem services |
|
|
122
|
+
| `bodai dashboard` | Launch the interactive monitoring dashboard |
|
|
123
|
+
| `bodai shell` | Open an interactive management shell |
|
|
124
|
+
| `bodai config show` | Display current configuration |
|
|
125
|
+
| `bodai config validate` | Validate configuration files |
|
|
126
|
+
|
|
127
|
+
## Architecture
|
|
128
|
+
|
|
129
|
+
For detailed architecture documentation, see [docs/architecture.md](docs/architecture.md).
|
|
130
|
+
|
|
131
|
+
## Development
|
|
132
|
+
|
|
133
|
+
### Running Tests
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
pytest
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Quality Checks
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
crackerjack run
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Related Documentation
|
|
146
|
+
|
|
147
|
+
- [Architecture](docs/architecture.md) - System overview and data flow
|
|
148
|
+
- [Component Roles](docs/roles.md) - Detailed descriptions of each component
|
|
149
|
+
- [Symbiosis](docs/symbiosis.md) - How components work together
|
|
150
|
+
- [Port Map](docs/portmap.md) - Port allocation and rationale
|
bodai-0.1.1/README.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Bodai
|
|
2
|
+
|
|
3
|
+
Central meta-project for the Bodai ecosystem, providing configuration, documentation, and operations for all components.
|
|
4
|
+
|
|
5
|
+
> **Etymology**: From Sanskrit *bodhi* (awakening, enlightenment) - the state of supreme understanding.
|
|
6
|
+
|
|
7
|
+
## Ecosystem Components
|
|
8
|
+
|
|
9
|
+
The Bodai ecosystem consists of six interconnected components, each with a distinct role. Five are network services with MCP servers, while Oneiric serves as a shared library.
|
|
10
|
+
|
|
11
|
+
| Component | Role | Port | GitHub | Description |
|
|
12
|
+
|-----------|------|------|--------|-------------|
|
|
13
|
+
| [Mahavishnu](#mahavishnu---the-orchestrator) | Orchestrator | 8680 | [lesleslie/mahavishnu](https://github.com/lesleslie/mahavishnu) | Multi-engine workflow orchestration |
|
|
14
|
+
| [Akosha](#akosha---the-seer) | Seer | 8682 | [lesleslie/akosha](https://github.com/lesleslie/akosha) | Cross-system intelligence & vector embeddings |
|
|
15
|
+
| [Dhruva](#dhruva---the-curator) | Curator | 8683 | [lesleslie/dhruva](https://github.com/lesleslie/dhruva) | Persistent object storage with ACID |
|
|
16
|
+
| [Session-Buddy](#session-buddy---the-builder) | Builder | 8678 | [lesleslie/session-buddy](https://github.com/lesleslie/session-buddy) | Session lifecycle & knowledge graphs |
|
|
17
|
+
| [Crackerjack](#crackerjack---the-inspector) | Inspector | 8676 | [lesleslie/crackerjack](https://github.com/lesleslie/crackerjack) | Quality gates & CI/CD validation |
|
|
18
|
+
| [Oneiric](#oneiric---the-resolver) | Resolver | N/A | [lesleslie/oneiric](https://github.com/lesleslie/oneiric) | Conflict resolution library |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
### Mahavishnu - The Orchestrator
|
|
23
|
+
|
|
24
|
+
> From Sanskrit *maha* (great) + *Vishnu* (the preserver in Hindu trinity)
|
|
25
|
+
|
|
26
|
+
The central workflow engine that routes tasks to appropriate execution engines, coordinates multi-step processes across components, and manages workflow definitions and templates.
|
|
27
|
+
|
|
28
|
+
- Routes tasks to Akosha for intelligence operations
|
|
29
|
+
- Persists state to Dhruva for recovery
|
|
30
|
+
- Tracks context in Session-Buddy
|
|
31
|
+
- Validates with Crackerjack before execution
|
|
32
|
+
|
|
33
|
+
### Akosha - The Seer
|
|
34
|
+
|
|
35
|
+
> From Sanskrit *akasha* (sky, ether, space) - the fifth element, medium of consciousness
|
|
36
|
+
|
|
37
|
+
Provides cross-system intelligence through vector embeddings, semantic search, pattern detection, and knowledge graphs. Enables predictive analysis and recommendations across all sessions.
|
|
38
|
+
|
|
39
|
+
- Receives session data from Session-Buddy for embedding
|
|
40
|
+
- Stores patterns in Dhruva
|
|
41
|
+
- Provides intelligence to Mahavishnu
|
|
42
|
+
- Receives code analysis from Crackerjack
|
|
43
|
+
|
|
44
|
+
### Dhruva - The Curator
|
|
45
|
+
|
|
46
|
+
> From Sanskrit *dhruva* (firm, constant, unchanging) - also the Pole Star
|
|
47
|
+
|
|
48
|
+
The single source of truth for persistent data. Provides ACID transaction guarantees, data versioning, backup/recovery, and efficient querying.
|
|
49
|
+
|
|
50
|
+
- Stores state for Mahavishnu
|
|
51
|
+
- Persists patterns for Akosha
|
|
52
|
+
- Backs up sessions for Session-Buddy
|
|
53
|
+
- Stores quality reports for Crackerjack
|
|
54
|
+
|
|
55
|
+
### Session-Buddy - The Builder
|
|
56
|
+
|
|
57
|
+
The session lifecycle manager that tracks conversation history, builds knowledge graphs, and enables context switching between sessions.
|
|
58
|
+
|
|
59
|
+
- Sends data to Akosha for embedding
|
|
60
|
+
- Stores backups in Dhruva
|
|
61
|
+
- Provides context to Mahavishnu
|
|
62
|
+
- Receives quality metrics from Crackerjack
|
|
63
|
+
|
|
64
|
+
### Crackerjack - The Inspector
|
|
65
|
+
|
|
66
|
+
The quality enforcer that runs automated test suites, manages CI/CD pipelines, provides code analysis and linting, and tracks quality metrics over time.
|
|
67
|
+
|
|
68
|
+
- Validates workflows for Mahavishnu
|
|
69
|
+
- Sends code analysis to Akosha
|
|
70
|
+
- Stores reports in Dhruva
|
|
71
|
+
- Records metrics in Session-Buddy
|
|
72
|
+
|
|
73
|
+
### Oneiric - The Resolver
|
|
74
|
+
|
|
75
|
+
> From Greek *oneiros* (dream) - relating to dreams, the abstract and complex
|
|
76
|
+
|
|
77
|
+
A shared library (no MCP server) that provides conflict resolution algorithms, dependency graph analysis, version conflict detection, and merge strategies. Embedded directly by other components.
|
|
78
|
+
|
|
79
|
+
- Used by Mahavishnu for workflow conflict resolution
|
|
80
|
+
- Used by Dhruva for data merge operations
|
|
81
|
+
- Used by Session-Buddy for context merging
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Installation
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
uv sync
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Commands
|
|
92
|
+
|
|
93
|
+
Bodai provides a unified CLI for managing the ecosystem:
|
|
94
|
+
|
|
95
|
+
| Command | Description |
|
|
96
|
+
|---------|-------------|
|
|
97
|
+
| `bodai health` | Check health status of all ecosystem components |
|
|
98
|
+
| `bodai start` | Start all ecosystem services |
|
|
99
|
+
| `bodai stop` | Stop all ecosystem services |
|
|
100
|
+
| `bodai restart` | Restart all ecosystem services |
|
|
101
|
+
| `bodai dashboard` | Launch the interactive monitoring dashboard |
|
|
102
|
+
| `bodai shell` | Open an interactive management shell |
|
|
103
|
+
| `bodai config show` | Display current configuration |
|
|
104
|
+
| `bodai config validate` | Validate configuration files |
|
|
105
|
+
|
|
106
|
+
## Architecture
|
|
107
|
+
|
|
108
|
+
For detailed architecture documentation, see [docs/architecture.md](docs/architecture.md).
|
|
109
|
+
|
|
110
|
+
## Development
|
|
111
|
+
|
|
112
|
+
### Running Tests
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
pytest
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Quality Checks
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
crackerjack run
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Related Documentation
|
|
125
|
+
|
|
126
|
+
- [Architecture](docs/architecture.md) - System overview and data flow
|
|
127
|
+
- [Component Roles](docs/roles.md) - Detailed descriptions of each component
|
|
128
|
+
- [Symbiosis](docs/symbiosis.md) - How components work together
|
|
129
|
+
- [Port Map](docs/portmap.md) - Port allocation and rationale
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Admin tools: IPython shell."""
|