7 Commits

Author SHA1 Message Date
91a442cdf9 tests: add RuntimeProvider coverage (82% → 94%)
Unit tests (35):
- Mocked DockerMiddleware and XmlRpcMiddleware
- Full coverage of orchestration logic, preconditions, state tracking

Integration tests (6):
- Real Docker containers with gnuradio-runtime image
- End-to-end: launch → connect → control variables → stop
- Skip gracefully when Docker/image unavailable

Total: 112 tests, 94% coverage
2026-01-27 10:16:47 -07:00
2084c41228 runtime: Phase 1 Docker + XML-RPC control
Add RuntimeProvider with 17 MCP tools for controlling running flowgraphs:
- Container lifecycle: launch, list, stop, remove
- Connection: connect by URL or container name
- Variable control: list, get, set via XML-RPC introspection
- Flowgraph execution: start, stop, lock, unlock
- Visual feedback: screenshot capture, container logs

Docker is optional - 10 tools work without it for external flowgraphs.

Includes:
- DockerMiddleware wrapping docker.DockerClient
- XmlRpcMiddleware wrapping xmlrpc.client.ServerProxy
- Dockerfile with Xvfb + ImageMagick + VNC for headless QT
- 29 new unit tests (71 total)
2026-01-27 09:48:44 -07:00
Yoel Bassin
f5a0629da7 main - fix: Fix using already populated GRC file and connection of hidden ports 2025-04-27 20:51:48 +03:00
Yoel Bassin
6d6e4d0fc2 main - fix: Change BlockModel key to name 2025-04-27 17:16:13 +03:00
Yoel Bassin
ac4105b210 main - feat: Create new BlockTypeModel and allow named ports 2025-04-27 16:58:50 +03:00
Yoel Bassin
42484d6c7d main - feat: Implement gnuradio element validation and errors 2025-04-27 12:33:29 +03:00
Yoel Bassin
f8174d07a1 main - feat: Implement block params update 2025-04-27 00:18:18 +03:00