Commit a2625ab
BiomeOS Developer
feat: Pure Rust migration Phase 3 - Ecosystem communication
**ECOSYSTEM COMMUNICATION CONVERTED TO UNIX SOCKETS** ✅
Converted ecosystem types and communication layer from HTTP to JSON-RPC over unix sockets. Core primal communication now pure Rust!
═══════════════════════════════════════════════════════════════════════════
✅ PHASE 3 COMPLETE (70%)
═══════════════════════════════════════════════════════════════════════════
**Progress**: Infrastructure + BiomeOS + Ecosystem
**Compiles**: ✅ toadstool, toadstool-distributed, toadstool-common
**Pure Rust**: 70% of migration complete
═══════════════════════════════════════════════════════════════════════════
✅ ECOSYSTEM LAYER CONVERTED
═══════════════════════════════════════════════════════════════════════════
**ecosystem/types.rs**:
• ServiceClient enum updated
• REMOVED: JsonRpc(reqwest::Client), Http(reqwest::Client)
• ADDED: UnixSocket(UnixJsonRpcClient) - Pure Rust!
**ecosystem/communication.rs**:
• create_client_for_service() - Uses unix socket discovery
• send_message() - Match on UnixSocket variant
• check_health() - Health check over unix socket
• send_via_unix_socket() - NEW method for pure Rust RPC
• REMOVED: send_via_http(), send_via_jsonrpc(), send_via_http_fallback()
**primal_sockets.rs**:
• get_socket_path_for_service() - NEW
• Maps service names to socket paths
• Supports all primals + generic fallback
═══════════════════════════════════════════════════════════════════════════
📊 CUMULATIVE PROGRESS
═══════════════════════════════════════════════════════════════════════════
**Completed** (70%):
1. ✅ primal_sockets.rs - Socket discovery (all primals)
2. ✅ unix_jsonrpc_client.rs - JSON-RPC client (pure Rust!)
3. ✅ beardog_integration/client.rs - BearDog (8 methods)
4. ✅ biomeos_integration/auth_backend.rs - Auth (3 methods)
5. ✅ biomeos_integration/agent_backend.rs - Agent (10 methods)
6. ✅ biomeos_integration/storage_backend.rs - Storage (8 methods)
7. ✅ ecosystem/types.rs - ServiceClient enum
8. ✅ ecosystem/communication.rs - Communication layer
**Files Modified**: 10 total
**Methods Converted**: ~40+ methods to pure Rust
**Compiles**: ✅ Successfully
**Remaining** (30%):
• Songbird integration (7 files) - may already use sockets?
• Discovery (2 files)
• Other integration (coordination, crypto, capabilities - 3 files)
• Edge cases (BYOB health, deployment layer - 2 files)
• Remove reqwest from Cargo.toml (9 files)
• Testing & validation
═══════════════════════════════════════════════════════════════════════════
**Status**: Phase 3 complete (70%)
**Next**: Songbird integration + discovery + cleanup
**Remaining**: ~30% (6-8 hours)
🦀 **PURE RUST MIGRATION: 70% COMPLETE!** 🦀1 parent 0ba53a6 commit a2625ab
3 files changed
Lines changed: 66 additions & 36 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
155 | 178 | | |
156 | 179 | | |
157 | 180 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
113 | | - | |
| 112 | + | |
| 113 | + | |
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
126 | 120 | | |
127 | 121 | | |
128 | 122 | | |
| |||
148 | 142 | | |
149 | 143 | | |
150 | 144 | | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
157 | 149 | | |
158 | 150 | | |
159 | 151 | | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | 152 | | |
168 | 153 | | |
169 | 154 | | |
| |||
262 | 247 | | |
263 | 248 | | |
264 | 249 | | |
265 | | - | |
266 | | - | |
267 | | - | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
268 | 257 | | |
269 | 258 | | |
270 | 259 | | |
271 | | - | |
272 | | - | |
273 | | - | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
274 | 266 | | |
275 | 267 | | |
276 | 268 | | |
| |||
373 | 365 | | |
374 | 366 | | |
375 | 367 | | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
376 | 387 | | |
377 | 388 | | |
378 | 389 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
193 | | - | |
| 193 | + | |
194 | 194 | | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
| 195 | + | |
200 | 196 | | |
201 | 197 | | |
202 | 198 | | |
| |||
0 commit comments