feat: use real logos-delivery-module for Delivery transport#166
Open
jimmy-claw wants to merge 6 commits intomasterfrom
Open
feat: use real logos-delivery-module for Delivery transport#166jimmy-claw wants to merge 6 commits intomasterfrom
jimmy-claw wants to merge 6 commits intomasterfrom
Conversation
Comprehensive analysis of replacing OpenClaw with a Logos Core module. Maps existing LMAO capabilities against OpenClaw features, identifies critical gaps (lifecycle manager, scheduler, tool sandbox, LLM layer), and recommends a 3-phase approach starting with hybrid integration. Fixes #51 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add DeliveryTransport C++ class that obtains a QtRO replica of delivery_module via logosAPI->getClient() and exposes send/subscribe/ unsubscribe methods. Wire it into LmaoComponent and LmaoBackend so the module uses QtRO inter-module calls for message transport when running inside Logos Core, with FFI fallback when QtRO is unavailable. - DeliveryTransport: QtRO bridge to delivery_module (send, subscribe, unsubscribe, createNode, start, messageReceived event handling) - LmaoComponent: stores logosAPI, initializes DeliveryTransport - LmaoBackend: accepts DeliveryTransport, adds deliverySend() method - module.yaml: declares delivery_module dependency - CMakeLists.txt: adds DeliveryTransport.cpp to build Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add tabbed UI plugin with Dashboard, Fleet, Metrics, and Task History views. FFI layer: - Add lmao_get_info() for agent identity, topics, and encryption status - Add lmao_get_metrics() for 17 operational counters (tasks, messages, etc.) - Add tests for both new FFI functions (98 total tests pass) C++ backend: - Add getInfo() and getMetrics() Q_INVOKABLE methods to LmaoBackend QML UI: - DashboardView: agent status, public key (click to copy), Waku topics, encryption status, QtRO transport status - MetricsView: grouped counter tiles with auto-refresh (5s), covering tasks, messages, discovery, sessions, streaming, and retries - TaskHistoryView: in-memory task log with expandable details, status badges, timestamps, and clear functionality - LmaoView: tabbed navigation (Dashboard/Fleet/Metrics/History) replacing the single fleet view Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Wire up LogosCoreDeliveryTransport in the FFI layer so the Logos Core plugin uses delivery_module IPC (via logos_core_call_plugin_method_async) instead of the nwaku REST transport. - Add `logos-core` feature to lmao-ffi that switches NodeTransport from LogosMessagingTransport (REST) to LogosCoreDeliveryTransport (IPC) - Enable `logos-core` feature in the Nix flake build so the plugin automatically uses delivery_module when running inside Logos Core - Update architecture docs to reflect transport availability Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add logos-co/logos-delivery-module as a Nix flake dependency and wire the QtRO inter-module call path for task sending. Changes: - flake.nix: add logos-delivery-module input, include in build deps - lmao-ffi: add lmao_build_task_envelope() FFI function that creates A2A Task envelope (topic + base64 payload) without sending, so C++ can route through QtRO delivery_module directly - LmaoBackend: add sendTaskViaDelivery() that prefers QtRO when connected, falls back to FFI transport otherwise - LmaoView.qml: use sendTaskViaDelivery for task sending - Headers: declare lmao_build_task_envelope in both FFI headers - Tests: 5 new tests for lmao_build_task_envelope (103 total pass) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
logos-corefeature tolmao-ffithat switches the FFI transport fromLogosMessagingTransport(nwaku REST) toLogosCoreDeliveryTransport(delivery_module IPC vialogos_core_call_plugin_method_async)logos-corefeature in the Nix flake build (logos-core-module/flake.nix) so the Logos Core plugin automatically uses delivery_module when running inside Logos CoreFixes #143
Test plan
cargo test --workspace— all tests pass (default REST transport unchanged)cargo check -p lmao-ffi --features logos-core— compiles cleanly with delivery transportnix build .#lgxinlogos-core-module/and verify the plugin uses delivery_module IPC🤖 Generated with Claude Code