mirror of
https://github.com/logos-co/logos-capability-module.git
synced 2026-08-30 20:21:12 +00:00
chore/bump-module-builder-tokenvalidator
Pulls the new protocol (#20) + qt-sdk (#11) transitively via module-builder (#155), so capability_module is built against the same protocol as the rest of the runtime — closing the core_service<->capability_module protocol skew that would otherwise break inter-module auth. Default module + unit-tests build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Logos Capability Module
Coordinates permissions and capabilities between Logos modules.
Built with logos-module-builder. The implementation is a plain C++ class on top of LogosProviderBase (no Q_OBJECT / Q_INVOKABLE boilerplate), so all framework plumbing — Qt plugin glue, dispatch tables, packaging — is generated by the builder.
Build
nix build # produces result/lib/capability_module_plugin.{dylib,so}
nix build .#lgx # builds the .lgx package
nix build .#unit-tests # builds the test binary
To enter a development shell:
nix develop
Test
nix flake check # runs all checks
nix build .#checks.<system>.unit-tests -L # builds + runs tests
./result/bin/capability_module_tests # run the binary directly
./result/bin/capability_module_tests --filter requestModule # filter by name
Layout
src/
├── capability_module_impl.{h,cpp} # Plain C++ impl (LogosProviderBase + LOGOS_METHOD)
└── capability_module_loader.h # Qt plugin loader (created by mkLogosModule)
tests/
├── CMakeLists.txt
├── main.cpp
└── test_capability_module.cpp
metadata.json # interface: provider; nix.* build config
flake.nix # ~13 lines, calls mkLogosModule
CMakeLists.txt # ~15 lines, calls logos_module()
Dependencies
- logos-module-builder — pulls in
logos-cpp-sdk,logos-module,logos-test-framework, and Qt6 (Core + RemoteObjects).
Languages
C++
81.2%
Shell
10.6%
Nix
4.7%
CMake
3.5%