10 Commits
Author SHA1 Message Date
Khushboo Mehta 275f67ec62 feat: add support for displayname in manifest files 2026-06-19 14:27:28 +02:00
Dario LipicarandClaude Opus 4.8 a7008815cb feat: Qt-typed context for universal UI plugins (LogosUiPluginContext) (#124)
* feat: Qt-typed context for universal UI plugins (LogosUiPluginContext)

A universal UI plugin (type: ui_qml) is a view, not a module — it derives a
QtRO SimpleSource whose .rep slots are Qt-typed. Mirror logos-plugin-qt's
api-style flip so the `generate` source-layout output drops the std flag for
ui_qml (Qt-typed modules() wrappers), and switch the UI authoring model from
the std-typed LogosModuleContext to the narrow Qt-layer LogosUiPluginContext:

- lib/mkLogosModule.nix — ui_qml api-style flag flip (mirror of buildPlugin.nix)
- lib/modulePreConfigure.nix — UI codegen comment
- templates/ui-qml-backend — backend derives LogosUiPluginContext
- skills/{create-ui-module,SKILL}, README, docs/quick-reference — Qt-typed
  modules() + LogosUiPluginContext
- doctests/ui-typed-backend — backend derives LogosUiPluginContext, Qt-typed
  event callback (int, not int64_t)

Depends on logos-co/logos-qt-sdk#3 (LogosUiPluginContext) and
logos-co/logos-plugin-qt#14 (api-style). Part of a 4-repo change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore: bump logos-qt-sdk + logos-plugin-qt to merged master

Pin the flake.lock to the merged LogosUiPluginContext (logos-qt-sdk) and the
ui_qml api-style flip (logos-plugin-qt) so this PR's template/builder changes
resolve against deps that actually provide them:
- logos-qt-sdk    → 872db45 (logos_ui_plugin_context.h + UI glue)
- logos-plugin-qt → f33f264 (ui_qml api-style qt)
- logos-plugin-core → f33f264

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 11:22:57 -03:00
Dario Lipicar e0fd2a4368 templates: convert C++ module templates to the universal authoring model (#120)
* templates: convert C++ module templates to the universal authoring model

minimal-module, external-lib-module, and ui-qml-backend now use
interface: "universal" — you write only the impl (core) or the .rep +
*Backend (UI), and the *Plugin/*Interface Qt glue is generated:

- minimal-module: MinimalImpl : LogosModuleContext (std types, a
  logos_events event); no hand-written interface/plugin.
- external-lib-module: ExternalLibImpl : LogosModuleContext wrapping the
  vendored C lib.
- ui-qml-backend: UiExampleBackend : UiExampleSimpleSource +
  LogosModuleContext; metadata gains interface:universal + codegen.rep.

CMake drops the module_config.h boilerplate (name/version come from the
generated glue). test-templates.nix asserts the universal interface (and
that the QML-only template stays legacy). minimal + ui-qml-backend build
green; lm shows the generated plugins load with methods + protocol stamp.

* docs/skills: teach the universal authoring model for the converted templates

create-logos-module, create-ui-module, update-logos-module, SKILL.md, README
and docs/{getting-started,configuration,quick-reference,cmake-reference,nix-api}
now show the impl-class (core) and .rep+Backend (UI) form that the templates
use, instead of the removed hand-written interface/plugin classes. Documents
the interface:universal + codegen fields, REP_FILE/INCLUDE_DIRS, logos_events:,
and modules() typed calls. The QML-only template and the legacy
initLogos(LogosAPI*) path are noted as still supported.

* templates: derive module NAME from metadata.json (single source of truth)

The universal conversion had hardcoded NAME in logos_module(); restore the
file(READ metadata.json) + string(JSON ... name) read so the module name lives
only in metadata.json. (The module_config.h #define boilerplate stays gone —
the universal impl does not use MODULE_NAME/MODULE_VERSION macros.)
2026-06-13 09:15:05 -03:00
Khushboo Mehta c32230c17b feat: new UI modules qith qml running in process and backedn as a Qt plugin that can be loaded into a separate process 2026-04-10 18:07:21 +02:00
Khushboo Mehta 99225d999c chore: update skills and docs to not say that modules need to mention standalone app as flake.input 2026-03-27 14:35:39 +01:00
Khushboo Mehta 7d78dcf302 chore: add logos-bundle-lgx dependecy to module-builder so that it will be available by default 2026-03-27 11:09:24 +01:00
Khushboo Mehta 2f82594548 feat: improvements in the builder
1. embed the lgx bundler into the flake.nix so directly calling nix build .#lgx gives us a lgx pakcage out of the box
2. Remove metada.json file in case cpp libraries
2026-03-26 11:37:03 +01:00
Khushboo Mehta aff10448b2 feat: consolidate module config into metadata.json as single source of truth
Remove module.yaml and use metadata.json exclusively for both runtime
and Nix build configuration. The nix block in metadata.json replaces
module.yaml for build-time settings. Updates all docs, skills, templates,
lib/*.nix files, and the waku-module-migrated example.
2026-03-24 20:06:12 +01:00
Iuri Matias c5ebea8e9f various fixes to get logos-chat-module to work
various fixes to get logos-chat-module to work

test

test

test

test

test

test

test

test
2026-01-23 12:41:45 -05:00
Iuri Matias ddf6b3961e test module builder 2026-01-23 08:50:17 -05:00