From dbce6ad7ca6c03e1c5749b49ceaaeae45f674e73 Mon Sep 17 00:00:00 2001 From: Dario Gabriel Lipicar Date: Sun, 28 Jun 2026 00:09:21 -0300 Subject: [PATCH] tutorial-v4 release Update artifacts for tutorial-v4. Regenerate outputs/ against the 0.2.0 release tags: every {release} reference (logos-basecamp, logos-logoscore-cli, logos-module-builder, logos-package-manager, logos-module) now resolves to 0.2.0 in both the generated .md tutorials and the example module flake.nix files. - Add the missing {release} placeholder to the advanced flake.nix examples in tutorial-wrapping-c-library and tutorial-interface-dependencies so they pin consistently. - run.sh: clean now also removes the .logoscore persistence dirs; --release examples updated from tutorial-vN to 0.2.0 (repos carry semver tags; logos-tutorial carries the tutorial-vN tag). Co-Authored-By: Claude Opus 4.8 --- README.md | 12 +- outputs/images/basecamp-calc-installed.png | Bin 35890 -> 37859 bytes outputs/images/basecamp-interface-docs.png | Bin 0 -> 73921 bytes outputs/images/basecamp-load-calculator.png | Bin 38255 -> 40244 bytes outputs/images/basecamp-load.png | Bin 32588 -> 29987 bytes outputs/images/calc-ui.png | Bin 25483 -> 25479 bytes .../logos-calc-aggregator-module/flake.nix | 2 +- .../src/minimal_impl.cpp | 16 + .../src/minimal_impl.h | 35 + outputs/logos-calc-module/flake.nix | 2 +- .../logos-calc-module/src/calc_module_impl.h | 33 +- .../src/external_lib_impl.cpp | 61 ++ .../logos-calc-module/src/external_lib_impl.h | 37 ++ outputs/logos-calc-ui-cpp/flake.nix | 2 +- outputs/logos-calc-ui/flake.nix | 2 +- .../.gitignore | 6 + .../CMakeLists.txt | 17 + .../logos-calc-via-interface-module/flake.nix | 14 + .../interfaces/calculator.h | 34 + .../metadata.json | 27 + .../src/calc_via_interface_impl.cpp | 65 ++ .../src/calc_via_interface_impl.h | 40 ++ .../src/minimal_impl.cpp | 16 + .../src/minimal_impl.h | 35 + outputs/tutorial-composing-modules.md | 10 +- outputs/tutorial-cpp-ui-app.md | 4 +- outputs/tutorial-interface-dependencies.md | 604 ++++++++++++++++++ outputs/tutorial-qml-ui-app.md | 10 +- outputs/tutorial-wrapping-c-library.md | 18 +- run.sh | 11 +- .../tutorial-interface-dependencies.test.yaml | 2 +- tests/tutorial-wrapping-c-library.test.yaml | 2 +- 32 files changed, 1077 insertions(+), 40 deletions(-) create mode 100644 outputs/images/basecamp-interface-docs.png create mode 100644 outputs/logos-calc-aggregator-module/src/minimal_impl.cpp create mode 100644 outputs/logos-calc-aggregator-module/src/minimal_impl.h create mode 100644 outputs/logos-calc-module/src/external_lib_impl.cpp create mode 100644 outputs/logos-calc-module/src/external_lib_impl.h create mode 100644 outputs/logos-calc-via-interface-module/.gitignore create mode 100644 outputs/logos-calc-via-interface-module/CMakeLists.txt create mode 100644 outputs/logos-calc-via-interface-module/flake.nix create mode 100644 outputs/logos-calc-via-interface-module/interfaces/calculator.h create mode 100644 outputs/logos-calc-via-interface-module/metadata.json create mode 100644 outputs/logos-calc-via-interface-module/src/calc_via_interface_impl.cpp create mode 100644 outputs/logos-calc-via-interface-module/src/calc_via_interface_impl.h create mode 100644 outputs/logos-calc-via-interface-module/src/minimal_impl.cpp create mode 100644 outputs/logos-calc-via-interface-module/src/minimal_impl.h create mode 100644 outputs/tutorial-interface-dependencies.md diff --git a/README.md b/README.md index ae32bf8..cc5afe2 100644 --- a/README.md +++ b/README.md @@ -44,8 +44,8 @@ nix run github:logos-co/logos-doctest -- run tests/tutorial-cpp-ui-app.test.yaml nix run github:logos-co/logos-doctest -- generate tests/tutorial-wrapping-c-library.test.yaml # Pin all GitHub URLs to a specific release tag -nix run github:logos-co/logos-doctest -- run tests/tutorial-wrapping-c-library.test.yaml --release tutorial-v2 -nix run github:logos-co/logos-doctest -- generate tests/tutorial-wrapping-c-library.test.yaml --release tutorial-v2 +nix run github:logos-co/logos-doctest -- run tests/tutorial-wrapping-c-library.test.yaml --release 0.2.0 +nix run github:logos-co/logos-doctest -- generate tests/tutorial-wrapping-c-library.test.yaml --release 0.2.0 ``` > **Tip:** developing against a local `logos-doctest` checkout? Swap `github:logos-co/logos-doctest` for `path:../logos-doctest` (or wherever your checkout lives) to run your local changes. @@ -90,7 +90,7 @@ nix run github:logos-co/logos-doctest -- run tests/tutorial-cpp-ui-app.test.yaml Press `q` to quit at any time. `--tui` needs an interactive terminal and the [`rich`](https://github.com/Textualize/rich) package — both are bundled in the doctest flake, so no extra install is needed when using `nix`. -The `--release` flag (or the `release` field in the YAML) pins all `{release}` placeholders in GitHub URLs to a git tag, so `github:logos-co/repo{release}#output` becomes `github:logos-co/repo/tutorial-v2#output`. Set it to `""` or omit it for latest. +The `--release` flag (or the `release` field in the YAML) pins all `{release}` placeholders in GitHub URLs to a git tag, so `github:logos-co/repo{release}#output` becomes `github:logos-co/repo/0.2.0#output`. Set it to `""` or omit it for latest. ## Example Modules @@ -122,13 +122,13 @@ This: By default `run.sh` resolves every `{release}` placeholder to the latest commit on each repo. Pass `--release TAG` to pin them all to a git tag, so the executed commands and the generated Markdown both reference that tag: ```bash -./run.sh --release tutorial-v3 +./run.sh --release 0.2.0 ``` Any further arguments are forwarded verbatim to the underlying `doctest run`/`generate` calls, so you can override a single repo's ref with `--release-for`: ```bash -./run.sh --release tutorial-v3 --release-for logos-basecamp=main +./run.sh --release 0.2.0 --release-for logos-basecamp=main ``` The `TAG` must exist on each referenced repo, or the `nix build`/`nix flake init` steps will fail to resolve it. Pinning expands each `{release}` placeholder so `github:logos-co/repo{release}#output` becomes `github:logos-co/repo/TAG#output`; omitting `--release` leaves them at latest. @@ -136,7 +136,7 @@ The `TAG` must exist on each referenced repo, or the `nix build`/`nix flake init To run against a local `logos-doctest` checkout instead of the published flake, export `DOCTEST`: ```bash -DOCTEST="nix run path:../logos-doctest --" ./run.sh --release tutorial-v3 +DOCTEST="nix run path:../logos-doctest --" ./run.sh --release 0.2.0 ``` > **Note:** the run requires [Nix with flakes](https://nixos.org/download.html) and pulls/builds real dependencies (Qt, the Logos SDK), so the first run is slow. On Linux, add `--continue-on-fail` to the `run` command in `run.sh` if a known-failing prerequisite step would otherwise stop the chain early. diff --git a/outputs/images/basecamp-calc-installed.png b/outputs/images/basecamp-calc-installed.png index 83c801e920f51a108a8200ef3c9bfe5c1e9bb518..1fa2343b33d596f0140af409aa26718dfc66341b 100644 GIT binary patch literal 37859 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�kgxfLnNqj6CL{+# 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 literal 38255 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 diff --git a/outputs/images/basecamp-load.png b/outputs/images/basecamp-load.png index ef39be2113f387ace28ac97c932f3a2fc0532cde..07ac12b18abdd0c1e977c00a6227aecb2d7b6ce6 100644 GIT binary patch literal 29987 zcmeFacU06_vo_j}j$l9-!9or7lprcWvVvr2kkI5tC5$4VFo0wc0j0@^ zNN7M9K(c`3EJBlWlbWV)ZJhbe``vZkd+u6yedqjfhvf`*_@%vfRXz38Q`;vu)RY+Z zvhKxTFbvASUAc+D?7oD-?DVDo3EpuLvLeH;J@&udal~K_{E7bC5zc>r4TCw3QND8d zwrlKkzvUmM=3ZP|B(46m%mFjSJn}QM(?K`h91MNb@rqvg!@1*m^yhx^J8As8bHfwn zm`w$H9UEr$8g8)w6ZW5;=rmpK*ul-reQCGpiQjo_lp`)5e=lMYW!YFNBuc#9o>4?Q z(ry>xUgYjx&0<``IFtdccUA{IHjo+??Zp_nV`=`zsD_p z56FT){j1jQsE7&y`u4T_QB!jBC2dbib*YR z+pY3-Gx|r-8S_NiFjK1?>1SMUaYmt;8GSlap4sLnW7zZysY~v&J2Q+bCbS=;A}3 zzeOGy;qmYxj9F*?pXew8#c!!9Xs8tN1Uv@)jUwQm6dlm zs_3Q;Djbtd&EDIopb!`m4HtFoPir53ZV=^r@jj7`74#? zlh&_|+}^t=8MJ?U2rky>$gg==Yr(^lUXSm?FO?^o9}#kE*0}Ey>J;zo3Xx^mnOlT$yl<6Jb&&~O#6-Qg| zPD&Qii!^G9oC=&O4y)^p6fG^mMR2(v9DPt|=6=XLkLX3zc5D>Ppul4P$ z=Sat@48G~9?(Jq%e!AS=OnSPGD<%esJ%_9ue)}dqCq*)%O%L$c#y%6e$l>hl+&<-O zy=MmoGsN=X8HUi+uQ`3%mnl=0me9XYsU%NNmGR5!Tb(Be6`%68*HUl3(|@Z$Skn6b zZT;>C-@jd2Ne{nev+qzw-F@v*1^Rqq68y2Gug9;aZ$2%Z9C)#r8}I5|T66{{ozNlX zC!grn(%V@)oc`_MPP)|T52m%>f@1s+a7sIUZ=4c3U1p(qmVw)e>>DV{qE&X*iNSX{ z;n(cz^2~AjgCf_3Z$WJ0O>dTpoTutW7vW@TPMS*mEPJ=@O2Uu* zM7dV zlHA(@S1+*X|1j3juJ^%?&^g8JtHPUSHxr%F`$1ev#oe>&o5&SzQ;$U>lnnmPOW`nT;{xv>`e;k8v$~gcj<@I z^P1dAQiJR3&3JFh$_%%!(R#Siv7<-V79-0%Tdp37^O!A6p!AWc#+(78+z`TMqj4Z z=hfW{J}HLS+bO#BTFUaoc(c5g{7wOxBGGrL;ir=x>-Jc@>9%2!7kObgQ;5CQSvSBW zpA@fnYwpP4od<=rZGU#88#*@yiY=2@q?h_qm|7hTomSEwhI7B~s+Qf$&9Km2#zu}c zSTE*p8#b5c9k@vGT#c7|TdX z>#A6-d(KA96qi02tSob%xEkobx6w@}vc$qGS(nl>&qBFNGc_T8EPBzbo}+fo_eO?@ z_j2FuJ70xO$in-&^(98`Pc2^eh@NP_BGB?ytTiFwCl4$a2i0bvD5D??XFOWRbd}pT zoIhf&E61_EV`i!&(^B*|7qTk3vEWT*voDkU?-f-vF#+P4{aX@$gxTAR*!0PUU27Ey zdj0nH8JVrM5i}fvrEA}mITRHY<>>zR!(%ZuNVueHke(if|@HI+G$?0+_5QRud-z zLP%{rBjcuTS}dfOrmGE#ag6Eu7tdus=$w^lmM+LKOqk{Q^w!$hM4Gs_TNC^Hg+lv| z(czu~zl@j)NA-ZpfE2ft-x%dK=aVB1drAZk2Rg9Jt$z=@wZhKHIRK-drb*Cc$ah;B zlL*$%)W36zMJvmYN}Th;_7^!fcIzpJPIu*;@cq)>-rn2GCVz@$uaNgbptx<%a(k9H z`I&Ij$IZq1m<+62z23@nx8qbsffk|tUd~bZ&!i=+*OVS3r?e})Y1dywPKmLz3eLt3 zmYM}PHeEEIXic{6NVhbc>nmLPoF)cmOyZ)RQq@y2w^sG}8OApCxk*F$#=s{9T9LH$ zm(JB$ZG9Psr4ms>lU|-x^VVZF#-Poi8*WciISIs(o}Rk<-Bn&;HG{;|A_t{K8fO+K z_4dX{Wi9`a_K493UJl+@2h+skc()DNea;}5oqT+wh{^SIl*_2n~1VJc;r(_=bkwS**dJyNj006TaxQhyQrlT*v< zs~M79681wd7#8i(Jhc&L^*S>23QTK5hIxiq;Rt~ zvsiLi!shqT>wU;aB&d6 zvXQMav^Y84Tsmi!RykZrZD*TfD9!luxmYauoof4w7I$L2R$9=5i*D`~(=DX5vMthC z$G012rIc1XtHpv(ngqR%?;r&A44ZymZ<%aMBFhbk)vMbSsPH<1*G$*X@gy}Fz*FfK z-dn$Dj{R(w+EXp-`}UXnY3s{TS!SJ7#m=X4wK9dW8-uj-eTxt0`@-%nb=;`;(`9EB zW-wAzQlg`y69Ug5pLpX;IH%Wgi>0KH-Upl2*$J1<9`FJiu*QW<=(%sTd<2M|QvhUYN%nX*59dj0C4U+L#Q7MW_nHV5?L<$)Vcy>ap zJ}hJyTWiYc_WcC|n^?MDfnDzh+wg1m{Ra;qH!2o!;;3#z?uflnVdwsHILb{`~nQQs|s)^k!L2YX3zKJaKDI zTyvl_z39x5rv@4aTN6T(L)c|cjv40X+BHTIv>CvlmZC`2kK;87FemXFfw@W4b)va% z{~)7ziJ)UQrQ&r!f#Yx(QST`37(~8o^cgNR{l~QZuwiaRrmQ!B5cma!S zwznWlvmp6;WG4JwNp7P>M8US_{Y2|^p^SE`!L5}71$s1Y5MYa)CR#n_h`0^b=(ae3 zJY9o>at@9Q->SHMchVhDDO&%NS>2auWwt+tr}mJx{sIiLU3cz%W8+ta3mwl&kHH8@ z5ZR^5tv2TLa1HmCLk2I#*mklR4M+v1N_KS2NXfH&u<0M@TeX@esdLGCx=wxIuiv|EvjrZOoV1*M|z zPKVVB+{xt$9?7@vH1s03$B1L?IC;Ak6+YO_06v(QaNAlZDbUA=*%nQt#6UQ4nduP? zyY>M)7~f3FDjbVef@y|fFvvAkroRjG?7(j1*eHspt>W>+en$YrIW3JfHg2(r+m(EK z%0CMib|;p?0=h0lT;?}guWOKFM~`gVAX0wsaO-oyJGmd-WF{IuYWH%qhk@+~K z-F=6Lhq0a`Y~XeYS;ezOfWpKdr?s@SWO>b4XSp?6XTqD0=@jffuH!x33@tV`HUih7Ysh0c z-rd9f{%dcq-YFKdR^g|wZNz$2imR)u{q<~G8R7E=`IP>jF9qnnw`kelMo`}CSMmC4 z;24n;KGMlnrvDffxr9(z1S%go%*-iAoh4O^Wf-5ig)`3%>!_|oI_k`ls;7sTCp77Y>-e+wEA7%5<|3Kf4wiatIKX*)?nt=!Xr5w8(HCo9e|@Tsw6yM7 zdh^}0prHI>cC}+s4f_s=kI&4+)ein-U|>Kb5|z{nqeYO5J15mf-RZ&`HZe6Nb+wIf z0@5!snXJtGGErHW!NbGDd~N7WJcq2wFYsNpLubv6A?c2fk8k5$t~JYp6P-A5Lacqv zb#!T+se)~At$M8P6H^5MGV>F=i9ZZQ<081K zl+Wel^hmGlf{)AuS&tr-*sz0nnb-*VMs}yp4_D4)J_-gPmU{x9X;8fKnWL{#u8Ft- zd4|NqCmv-4(Z0tKJyzpivcg0f?})l5c{A~bgh3mDNq&2E!ST10^L67^I=c%3TFIIOqfb(S^FEM6b z)fen+Yip~vQbWF3H=|?r%=ncsF$e6^5m%VbTTT6h+h>Y#b84aA$9ZEu?u47{BO34S zc$3tjhIL@ym;JI39uqq_(2IUznn^%-5Dl}m2$hwUS_j~^%lD8U{b_aC*0%JOY{dGn znediR*xb)Mv{X%MHg0+9jEB4VqH%b3e|mSaGnGoMj}&SieX#E79c>pPx3%_0 z>WHCh;?~AgR@wjlKiZ>7eA7je2y2j4zWex>#L56han>M9&V=ecQ4hmwP3^$Tc9w0C zA?6wtIa!Lu#Etlvm>{eISscl(c;*Aw<`CV|&F|B)Vlj;?D=SUc5j@7E=BV)AI>jPS zFC!y!JwiaaZ5d`7fC4)ko76y}q5aYoC>57xS~cY-dN< zrCsee4rs6>Te^RblL#&@DhlOM4t-;o)lA$CXZLBl$#QkwQ#P`myu7>&OL=)&WDe}t znA8+kWX)Yu$V0298SZ#6qa)s8nM%K5JC!*`B7!?F-OvrYGOJBMXg(vAkfUUa^ZU7CZOl%a_^% z*-bL5eaNdT&F-L;?_?~Q^O|Gh;IN%-B4+@6_Ghzu**~P(ZS$e5jMgMIr=Mrm_-CU# z5oJD2_eM=`5ir-?5mvVU1_SWy*|UZc{D-V8>^CJxlZ+9Vw^B;~oSL+hnAl2BXX#3Z z9u{B$Guv;F(LfSsA{dt4Dx%u9oGM41`1y$bmspz)Pcj652T~la$*uvcV!5%jv=oAr zKhp=>-Vf%@@pq2whs%}!5sWKKX~-#Nug7kUVOLgH#j}(Y6*Gw|J*qKcs*{e*@K_Ls z^1Q1EM$}0m&*6Ou>kZ}+LPlF-;$`dAY}i~C3|u0sz`BhTV^7Qlib;y~~)&u#lZ0;-RM^+a2xZ4K&S ziDX#Lokn{aX zqnU72!wc(OA%~k6I3RO=`H>SASo=&Bn8u%1GMFkD#QW?k8N_d&2?sDCq6$Xlz0sE7 zJr8MeVA)!rJ5jb$dk|)nxl_oayS{YZPlz4AE|hIj6AXw6yyC@R@MW0t{WHA<*!9Ix zFE6h)0iIZEpL}rUV^>3Y+MGP7Q%3mZ#?0*>rV2i}_1bMy(y!Ag^<3BI#HQUobC?lX zV5~~Jm9weoo7B`)Sn=c3x|p#d-*XAg;zBO7ecfs5+S;8lK*VWfB*5^Dy)@*wgZuy{ zH3A$~02A1=p7TpumO3$!o@MEjgwSf4+bYlE?>x z@wFuJHHwylfp)H4ih37N1R!l--d|j$`;U}~0NLflu^oPS&l}D7GI7&g=Zi0+11++~ z+}tz9@gthK#iO8H18Ne2Yyj( z%xH(mLO9^akZo5u8u4W6L_x0PQiCwIjJiTw8QkiX+pLt6UK@H0<0`Y!jrCrNadabl z3{nQ3Ocl?SdI&1`F+Huim!lIqavYtJJ!T<1_Honqcu`1L$_VPLU2b1aCO610}qR4CE&N#$8b$mA{1X_eD?C9 ze0TFNbRN?g_7hH&U3j9dk0QH)b2~a;lE(oC2I`^^ZIO$%z$K1XbF?2`9#{y*ZEj@I zHvVj8!{CMO&0D0j@FTY8_hYTK08psD`IsAyY_sHO83|?5324<9hOfEww=bP)` zp{p%?a51^H$8s+}E`?`#j($m0sF6b81(W*J!r0jOTMa}EbMb5H>dlWCWpz%m@Xp>Q zw1;?pKY?Eo$A|GKC$&gyyjU%xQ495FM*x?oR5zRDIk1<3C-jDK#C@j%eYV*uL~Wh6 zI>3!0%(sn-eM0-WrGcT!<79v<`7q!0{wbZQqAr}D1`h;g=^>jI{UR|j(TLh^6nB9m zhI^ZNyF`i!IO(ej4!&q(lAx}OSq=hUE(%~=zm*@|vf3U;8Nd180vNeU7pmFBZMx=X zuz0Dkr~(U{P{1;VFr?wvMt21vkXx>NxW>W4>+mo{EmcTMq-mQ=khyLJ<4Q(y>jm{n zTpeT+u`4SM1F9BRPRc}61ld`T+&TJjfn$JBMk>}a56 zmfop*P3~eqqgYduQA4Ze@b@%KEMAYdUei^Ilo;J{jFi&_9J3A zevmPjl$edty7p(IJ0JFtXPGc@fO5Y&yh@{%1Fj-iCYW_y|TMaJbh1MNdrFML&CeJRbjJ zNOWF>@rnIv@4lw}btWb2 zi=x&8$(E8AF5G-~n|Jn#hLh>ki#YHHcsxy+aMt&nh=|h#BRV)?`Tn>P3;~!ltNasl zDtj|{oinuv>z-SGc8X@|3nskBp|L*a$Y;6dE)?Lj2#__7g@8BvIz?vIK8S89)i>-H z<77+7v-niYBvZ`BoF8qcT0^%TF8q|Pn502yPq}lhs}9!8LbV|}BGydJ)h9f~GDGWn zsHsacOu&e)D?NNrZaL;lr$crp-h9_^Z$tA|C=Z|cK`k_TfqcVP(V^^-%pQBuo!ma7 z9C}4VB=VPU5=~}#OM1OLurm0ZJkghQqrAxjPZ+X8dERLe^3<}TC&}&^T2d`PCVb`s zS}Rj~^yPK7bGJTRwv}2%Zj2NhSzh4;YgR;+bbmvWp8M(RF`o20*f(h6%HK`x+N}d= z$&!R_zOLvVR1!1ZA*r#WLtl+kT9@T242R8OaBNsq^MuLh12;}36nc$I8_aiu6EyQ)8#?9}|9o!G`Yclw_f!5P2aB)5 zmLJpRx}u`vwrjhGgWdK4=F7N!21bUrEz8c!_O$OQ({D`o6~vA#dc`D2uqTt5T7}}< zq$+XUKgN^$WdVjzh@7pU?eMAh{z}XlDq!iL*qBLBohyX6B+Gn!p9P|2#xm$ zu5dpXwTny4#_bS@{&*XuQnrz?FT&ql=Id0V7DJHY=R@(-u|d(a0AVig$}W$r1Kb8N zQY*(Tql2G4`!SOCJuwMr@i%(jN((V4c_2+p)0Drdo@B$4?6+F7td5@&ii|Hi^=3jQ zIX>#yt*lO%HPQ|8K9)cTj1opk+qPje#$A3b^o?#tll_IS0krkp8|n(7zPcxG^Cz~r z&O(hgiPCB4F*|Gv*;POqDLq}(OyoApRbT^4T^#4Oe-a`S(ZfgxDnruIn&zCjLn}H3 z;7Rlml|@=y9*+oXV!ZDgR#?U|zV8=aOVLJ}WJXnZr+Xf}rHE%WO+QqM_*)C$yDXR9 z&}{l%G3mUdq!l;vCFQ4W0WaFyXKPOB?@S-*QSn-3YdR1lA~Kn12xCm&lENkJ`PN;6 zgRozgcrhVpws?vZNV$-2wU{|7d`95uYcTB$EzF(T#NjrHzWwo#Z$1 z9c$I$d>96n$eUDJCXn zv=0?xG2zg@bJ?)!kWemD+eD?JeycVh`cw|&=-I`mqlVo-q#q~@R zCUk=mehnAOtx~jwyQx;B(#OsFwOR9ZWlUMQuO-?1{#xWIt0nmnc8m1>#UBCu9*n_n z$Rbw05)5R;6I3N5DG$XxkTBOcAN&>0gyA?DJR%Vc-~>)6!V1qjM$PiHH;+!?eww7h z%UsdS)hluEWMYI?wW7aLUI>12Sa@H{WTwScS(tsTjKhmj%j6?(xT!|g<{u7qIN0%_ zNPdZQYTNT`PT3&0#UEbhaJIYG;N8_I313B)R`Yn*QVp#BgI4Z3{cb@$RIuOpN9COm~f>7lwVzeoUFPBP8~vL*RjRGsIYf?sy`82E)PM+u13; zkaXiz!}llv=@%|MD8cp^g&3ay;%MLbP@#Qei)V9Q$a^_3AYN}>sMBWf&V>6siP79c z{A!_!wrpf$y0pi{px0JS$l&69|LA--(GqJkThlxnU(3%LqzE~_S!p+qlG?A3kjl8u z8^ah6%%KT24%W)lKPKM=nE8(k;YRmh5lKnO!2XmogjU7haqO%a;;(svT#|RdMij-ms|t0ZPWb(X8ZRVFlR6NF`co&Qt0O(b~4Q#PTt;X=qh?&a0hW)tP@bLc~I^S;Tu zZkvTD)gt6mhsr=8Q$H$ct9$}|Ls(=xs!gW~T-Ep*yDBpE%NX49X_mbjEcwMK{$R!i zr+0!RfH%yNQaYi*a%it#p#Uce2d}~!MOUAUNI;mlemd`54n?yV36U^ES7NMv+WYnp z3@GYw(*Azih2!vcxup%~qtr3>x8P#J`ukGngzvM6HlFa4|1>az4ofXEt7w}Ps90CV z?*$#ijh8>1n~nuQ6#C(X8m@%g_5l+5rjy9jTr~p&Lw+&34NS`Ma#rns0am`~w*Ma_ zL)QA+qd9}e-h6BAA82jp=l^(w{QEv9$B~P8#r%GM_Tgwi?0-Q<7J#jFqYwVZykZUr zX8l{m6E8e7z?-Uj#RT{o#`r=iQ}EQ>92U0+z1(*j&HLW%fNGHkHD*iQv)tQr_U{x_ ze+jG_zexm-LeFr-sgNHGlISJuCt)@~J@vLxY}qqD#1SM&_y(o5{d!0;;Kv@@oBRi>{c-3ZAe zOT-XNm$>0>-PlXY%J6^TjxmIjon^yPY{b|eEbO_K6?}W@X>q7~hps%ja$CjF(2z*R zQlY9Qdrj>V^{nX7Oo?Fi)?)Y&W0ADJ9~fGd6ESf$J5pOdo2vcEyMR7$igs)A8N+q1 zOc?%g@eUR(qgNR!_qKokHNF;k67hD$j{keA@K@5okumx;-OublQiGoX>jRBDyA6w9 zKKd`Sk^jc*=KtF*$B;1m*GRaM4k4@9baAxmzi2HTGltry3Q;y>r`ie7F|Y=?v1cQs zUggHVZMbgd6H=LYl@Dr%y2r-VoY#9oAoD1XIh1d0ZMm^;=e|)fvZSbH48bs~CZ9*U zwxejwu`6lxjPl!#Nj~cjN6-}Uef=@9u_Bs;c29Z(WtoYmY*8xFPsSYP-@Y(o4f+UB z>n5NR2UGNQ$qs2c9m{CQC~QLi%ts6K!~u{FhVqOVqPrGg=QGVPA{s`XN3YHajp0LC z&|wWH{+i(JtV;j%slWUNN~&&Kwg2TtlH#7L_Nia}7keo=US4OGH?1S>Vg15ebPUQ!acawwP6b1R1e z96u2Qtq)r1I=>(ZZrNIuP_T_I(VYxc-RRC{Iof8TLO}5PYgEQFk9AO_Pt+Hrk&S3% z&-Ot@+x6EV8zp3w7P(PBp9n!5JRgaOxx^O;r{wh(Ff92PlpO0x$H*D`v2?y-p8`FU z)moYd3wv}co4KIDQXz4RU9#-^g#VIl;?E#H7EqcTR{1x)Co$( z;#q@GG3f*GPmO0MX#d~{k{^>8cEGdhkaojd!27FurQ=Ylr@{BXmTalhCgl1-H@tm6 z9^e+3D&FAxB|aUL#|$||q)dQRyK>B#qGBxH0r9lzWSdxxqbHuetdONm|%IYTbKSW=#oJ~ zfHeepha4v-r|iQ0pD0H>F@JA%uu3{FwFK(8e3@KOF+EWXnRc9W#~mp4*XSv- z*8rX>Wa|{k?Vbkxo^aGLYQlR@*)q_Ag6_HG*wq$zcb{K{2%{j>%ArOs>{i7SrD6s` zNeAhE*)$Cn5V+Zayt0i^v{H@<<73Q>gIg`IY)gS^s>o6_JQDC=BB~1X%u{qRf**$- zL21N0sMuDUAl z2>$yCF1Mwa!M?UOsCdkk(YBBRY;e5^7d-8_)F@syp^62{y3q#<3OA_itIMtAgxC(0 zth>@K@q+ZHn7YynGLFH`btU|=5-J>>x899WV-s`WGKUeC2=ZDCOYo%h4i1!*LRl-p zZ7fP67)p4Qjg8=G7r4M6ELLvcIq%itBSxMM^mkodKi)nAr3xbo`~m&6uw~{g`nynI z&%#ruaB~A3DLsoNSy^*XE)

g0iP)oK|9N6WnV&X);_YpD1cS-PC8go6?%WdI%o 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 G5&s5-*=qFw literal 32588 zcmd?R2T)a8vo5;Ks3-_12nZ4cl%(VgB0+MHoF#)ukSJLN$snL0k|asa0+K}F?f9eDMRT32HHcCR|p^{U~(x{8m`|Vf^ zrh|W%Kb1P%D@M)`56imc;kC1;0%Uuqok$90E0s%UwBe*8Tr9_1s8eqWD`c-P~BLkkhjNF$PJ-x2mQ}K zlq|T+CHS$;xNy*dB}$qmoLZupi8g4iEXVBA7qba#F4C*C<)m=ZO`XJ3ziT(}Qb(O% zwcQ{%aM%64ofB8$Qkk@}UBkGOK`Fr)`R3YsKJP&zdTscESoK@hQH9$dK8mJ@dfD5! z3LSQ)u5R8@oAqLiZsUkd9)1Urd#7-hSr zUa~JU5%yJVZ0d5b0?*C9xl?+(73xMtcV>DHD!2B}XpfFcT_w9^le_EjhmN`9eoNi> z>T-yk{o4rs`x`xH_Ny}sq%4GQy60GXPWm@dw{cy=2$l^@Wm>3x~n7QXwB(qpa+Ppm;u&SiLn9jy5 zj%8C($l`fhG+NlTHw<282W6VMsX)5V6rkf9HYogr7M55Y^%SQ#O+?H=FJ7UKD zNC>wXKh9JdIUiz8y|>0cu9^IbrU^G&izw_OUc74eG?M zsy7G;G3educuuRa)+knw?M&S}ieuA}y6#7N>!an4v;{V#4&`p6W%d~v0vkW5Mn^~e zmh@SoT8&w6!ldbCiCsiJOc1B~WD)9(TVR1FJSVI=RjoxTo}?j9K0(Pvbge6msik|m zWmDEFNM!rBZ{+i*+C6sa5nk`k=c0KX*wg}8ym2*@BE`t8_|{uzCPIh})phdqy@!__ z%16Vf8P)P`lV0`MXr`rFWxkkj*=WcyInb3^=

m853uf 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 diff --git a/outputs/images/calc-ui.png b/outputs/images/calc-ui.png index 2b0295ce0344b347e89dbd884b342cb56ef79171..cb204c154b163b043c35811223fb5add17bcd36c 100644 GIT binary patch literal 25479 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 literal 25483 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 Q8bF|n=bY`!ZLi<^PZC@d*8l(j diff --git a/outputs/logos-calc-aggregator-module/flake.nix b/outputs/logos-calc-aggregator-module/flake.nix index c0507d9..dc37a98 100644 --- a/outputs/logos-calc-aggregator-module/flake.nix +++ b/outputs/logos-calc-aggregator-module/flake.nix @@ -2,7 +2,7 @@ description = "Aggregator core module - composes calc_module and showcases LogosModuleContext"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; # The module this one depends on. Placeholder path — locked to your # real checkout in the build step via `--override-input`. diff --git a/outputs/logos-calc-aggregator-module/src/minimal_impl.cpp b/outputs/logos-calc-aggregator-module/src/minimal_impl.cpp new file mode 100644 index 0000000..ff94646 --- /dev/null +++ b/outputs/logos-calc-aggregator-module/src/minimal_impl.cpp @@ -0,0 +1,16 @@ +#include "minimal_impl.h" + +std::string MinimalImpl::greet(const std::string& name) +{ + std::string greeting = "Hello, " + name + "! Greetings from the minimal module."; + + // The generated event body routes the typed payload to every subscriber. + greeted(greeting); + + return greeting; +} + +std::string MinimalImpl::getStatus() +{ + return "Minimal module is running."; +} diff --git a/outputs/logos-calc-aggregator-module/src/minimal_impl.h b/outputs/logos-calc-aggregator-module/src/minimal_impl.h new file mode 100644 index 0000000..0f4cde2 --- /dev/null +++ b/outputs/logos-calc-aggregator-module/src/minimal_impl.h @@ -0,0 +1,35 @@ +#pragma once + +#include +#include "logos_module_context.h" + +/** + * @brief A minimal universal Logos module. + * + * In the universal authoring model you write only this implementation class. + * Its public methods ARE the module's API — callable by other modules and from + * the CLI (`logoscore -c`). The Qt plugin glue (the `*Plugin`/`*Interface` + * classes, `Q_PLUGIN_METADATA`, `initLogos` wiring) is generated from this + * header by `logos-module-builder`. + * + * Deriving `LogosModuleContext` gives you: + * - `modules()` — typed callers for anything in `metadata.json#dependencies` + * - typed event subscriptions (`modules().dep.on(...)`) + * - `onContextReady()` — override it to run once the module is wired + * + * Module code is Qt-free: use `std::string` and friends, not `QString`. + */ +class MinimalImpl : public LogosModuleContext +{ +public: + /// Returns a greeting and announces it as a typed `greeted` event. + std::string greet(const std::string& name); + + /// Returns a short status string. + std::string getStatus(); + +logos_events: + /// Emitted by greet() with the greeting it produced. Other modules + /// subscribe with `modules().minimal.onGreeted(...)`. + void greeted(const std::string& greeting); +}; diff --git a/outputs/logos-calc-module/flake.nix b/outputs/logos-calc-module/flake.nix index d889497..37b716a 100644 --- a/outputs/logos-calc-module/flake.nix +++ b/outputs/logos-calc-module/flake.nix @@ -2,7 +2,7 @@ description = "Calculator module - wraps libcalc C library for Logos"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; }; outputs = inputs@{ logos-module-builder, ... }: diff --git a/outputs/logos-calc-module/src/calc_module_impl.h b/outputs/logos-calc-module/src/calc_module_impl.h index 7dca43d..7ba6772 100644 --- a/outputs/logos-calc-module/src/calc_module_impl.h +++ b/outputs/logos-calc-module/src/calc_module_impl.h @@ -18,14 +18,37 @@ public: // ── Public API — every method here is callable over IPC ────────── // The generator maps C++ types onto the wire automatically: // int64_t ↔ int std::string ↔ QString bool ↔ bool + // + // A doc comment directly above a method becomes that method's + // `description` in the module's method introspection — surfaced + // by `lm`, `logoscore module-info`, and Basecamp's Methods list. + // Use `///` (one or more lines) or a `/** ... */` block; the + // comment's line breaks are preserved. (Plain `//` comments like + // this block are ignored, so they never leak into the API.) + + /// Adds two integers and returns the sum. int64_t add(int64_t a, int64_t b); + + /// Multiplies two integers and returns the product. int64_t multiply(int64_t a, int64_t b); + + // A multi-line description: consecutive `///` lines keep their breaks. + /// Computes the factorial n! of a non-negative integer. + /// Defined as n * (n-1) * ... * 1, with 0! = 1. int64_t factorial(int64_t n); + + /// Returns the nth Fibonacci number (0-indexed). int64_t fibonacci(int64_t n); + + // A `/** ... */` block comment works too (line breaks preserved). + /** + * Returns the version string of the wrapped libcalc C library. + * Read straight from the linked native library, not metadata.json. + */ std::string libVersion(); - // Fire-and-forget: looks up the version, then emits it as an event - // instead of returning it. Used by the QML tutorial (Part 2). + /// Looks up the library version and emits it as a `versionReady` + /// event instead of returning it. Used by the QML tutorial (Part 2). void libVersionNotify(); // ── Events ─────────────────────────────────────────────────────── @@ -33,6 +56,12 @@ public: // calc_module_events.cpp) that routes the typed args to subscribers // via the host's `eventResponse` mechanism. QML subscribes with // logos.onModuleEvent("calc_module", "versionReady"). + // + // A `///` doc comment documents the event too — it surfaces as the + // event's `description` alongside methods (`lm events`, `logoscore + // module-info`, and Basecamp's Interface screen). logos_events: + /// Emitted by libVersionNotify() once the library version is known. + /// Carries the version string read from libcalc. void versionReady(const std::string& version); }; diff --git a/outputs/logos-calc-module/src/external_lib_impl.cpp b/outputs/logos-calc-module/src/external_lib_impl.cpp new file mode 100644 index 0000000..c4b474f --- /dev/null +++ b/outputs/logos-calc-module/src/external_lib_impl.cpp @@ -0,0 +1,61 @@ +#include "external_lib_impl.h" + +// External library C API declarations. +// In a real module these come from the library's header file: +// extern "C" { +// void* example_init(const char* config); +// const char* example_process(void* handle, const char* input); +// void example_cleanup(void* handle); +// void example_free_string(const char* str); +// } + +ExternalLibImpl::~ExternalLibImpl() +{ + cleanup(); +} + +bool ExternalLibImpl::initLibrary(const std::string& config) +{ + if (m_initialized) { + return true; + } + + // In a real module you would call the external library's init function: + // m_libHandle = example_init(config.c_str()); + // if (!m_libHandle) return false; + (void)config; + + // For this template we just simulate success. + m_libHandle = reinterpret_cast(1); // Placeholder + m_initialized = true; + return true; +} + +std::string ExternalLibImpl::processData(const std::string& input) +{ + if (!m_initialized) { + return std::string(); + } + + // In a real module you would call the external library: + // const char* result = example_process(m_libHandle, input.c_str()); + // std::string output(result); + // example_free_string(result); // don't forget to free! + // return output; + + // For this template we return a placeholder result. + return "Processed: " + input; +} + +void ExternalLibImpl::cleanup() +{ + if (!m_initialized) { + return; + } + + // In a real module you would release the external library: + // if (m_libHandle) { example_cleanup(m_libHandle); m_libHandle = nullptr; } + + m_libHandle = nullptr; + m_initialized = false; +} diff --git a/outputs/logos-calc-module/src/external_lib_impl.h b/outputs/logos-calc-module/src/external_lib_impl.h new file mode 100644 index 0000000..bb85f79 --- /dev/null +++ b/outputs/logos-calc-module/src/external_lib_impl.h @@ -0,0 +1,37 @@ +#pragma once + +#include +#include "logos_module_context.h" + +// Include the external library header here. This would be the actual C header +// from the library you are wrapping: +// #include "lib/libexample.h" + +/** + * @brief A universal Logos module that wraps an external C/C++ library. + * + * You write only this implementation class — its public methods are the + * module's API. The Qt plugin glue is generated from this header. Deriving + * `LogosModuleContext` gives `modules()` (typed callers for dependencies), + * typed event subscriptions, and `onContextReady()`. + * + * Module code is Qt-free: use `std::string`, not `QString`. + */ +class ExternalLibImpl : public LogosModuleContext +{ +public: + ~ExternalLibImpl(); + + /// Initialize the external library. Returns true on success. + bool initLibrary(const std::string& config); + + /// Call into the external library and return its result. + std::string processData(const std::string& input); + + /// Release the external library's resources. + void cleanup(); + +private: + void* m_libHandle = nullptr; // Handle to the external library context + bool m_initialized = false; +}; diff --git a/outputs/logos-calc-ui-cpp/flake.nix b/outputs/logos-calc-ui-cpp/flake.nix index 61af2b9..4f892a4 100644 --- a/outputs/logos-calc-ui-cpp/flake.nix +++ b/outputs/logos-calc-ui-cpp/flake.nix @@ -2,7 +2,7 @@ description = "Calculator C++ UI plugin for Logos - QML view with process-isolated backend for calc_module"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; # Points at your local calc_module checkout. This is a placeholder — # you lock it to your actual path in the next step with diff --git a/outputs/logos-calc-ui/flake.nix b/outputs/logos-calc-ui/flake.nix index cf8e8de..1a484e9 100644 --- a/outputs/logos-calc-ui/flake.nix +++ b/outputs/logos-calc-ui/flake.nix @@ -2,7 +2,7 @@ description = "Calculator QML UI Plugin for Logos - frontend for calc_module"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; # Points at your local calc_module checkout. This is a placeholder — # you lock it to your actual path in the next step with diff --git a/outputs/logos-calc-via-interface-module/.gitignore b/outputs/logos-calc-via-interface-module/.gitignore new file mode 100644 index 0000000..71cba30 --- /dev/null +++ b/outputs/logos-calc-via-interface-module/.gitignore @@ -0,0 +1,6 @@ +# Nix build output +result +result-* + +# CMake build directory +build/ diff --git a/outputs/logos-calc-via-interface-module/CMakeLists.txt b/outputs/logos-calc-via-interface-module/CMakeLists.txt new file mode 100644 index 0000000..c3877d1 --- /dev/null +++ b/outputs/logos-calc-via-interface-module/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.14) +project(CalcViaInterfacePlugin LANGUAGES CXX) + +if(DEFINED ENV{LOGOS_MODULE_BUILDER_ROOT}) + include($ENV{LOGOS_MODULE_BUILDER_ROOT}/cmake/LogosModule.cmake) +elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/LogosModule.cmake") + include(cmake/LogosModule.cmake) +else() + message(FATAL_ERROR "LogosModule.cmake not found") +endif() + +logos_module( + NAME calc_via_interface + SOURCES + src/calc_via_interface_impl.h + src/calc_via_interface_impl.cpp +) diff --git a/outputs/logos-calc-via-interface-module/flake.nix b/outputs/logos-calc-via-interface-module/flake.nix new file mode 100644 index 0000000..cd77f53 --- /dev/null +++ b/outputs/logos-calc-via-interface-module/flake.nix @@ -0,0 +1,14 @@ +{ + description = "Core module that binds a calculator interface at runtime"; + + inputs = { + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; + }; + + outputs = inputs@{ logos-module-builder, ... }: + logos-module-builder.lib.mkLogosModule { + src = ./.; + configFile = ./metadata.json; + flakeInputs = inputs; + }; +} diff --git a/outputs/logos-calc-via-interface-module/interfaces/calculator.h b/outputs/logos-calc-via-interface-module/interfaces/calculator.h new file mode 100644 index 0000000..e332379 --- /dev/null +++ b/outputs/logos-calc-via-interface-module/interfaces/calculator.h @@ -0,0 +1,34 @@ +#pragma once + +// A DEPENDENCY INTERFACE: a method/event contract that names no +// module. Any module whose API is a superset of this can satisfy +// it; the consumer binds it to a concrete module name at runtime. +// +// Written in the module's own language (pure C++). The generator +// reads the public methods + the `logos_events:` block and emits a +// BOUND wrapper class `Calculator` whose target module name is a +// runtime constructor argument — not baked in. +// +// Types are std (int64_t / std::string) because the consuming +// module is `interface: "universal"`; the bound wrapper inherits +// that api-style. + +#include +#include + +// Defines the `logos_events` token (expands to `public`) so this +// header is valid C++ on its own, not only as generator input. +#include + +class ICalculator { +public: + int64_t add(int64_t a, int64_t b); + int64_t multiply(int64_t a, int64_t b); + int64_t fibonacci(int64_t n); + std::string libVersion(); + +logos_events: + // Emitted by the provider; the consumer subscribes through the + // bound wrapper's generated onVersionReady(...) accessor. + void versionReady(const std::string& version); +}; diff --git a/outputs/logos-calc-via-interface-module/metadata.json b/outputs/logos-calc-via-interface-module/metadata.json new file mode 100644 index 0000000..4d8287d --- /dev/null +++ b/outputs/logos-calc-via-interface-module/metadata.json @@ -0,0 +1,27 @@ +{ + "name": "calc_via_interface", + "version": "1.0.0", + "type": "core", + "category": "general", + "description": "Binds a calculator interface to a module chosen at runtime", + "main": "calc_via_interface_plugin", + "interface": "universal", + "dependencies": [], + "interface_dependencies": [ + { "name": "calculator", "file": "interfaces/calculator.h", "impl_class": "ICalculator" } + ], + + "nix": { + "packages": { + "build": [], + "runtime": [] + }, + "external_libraries": [], + "cmake": { + "find_packages": [], + "extra_sources": [], + "extra_include_dirs": [], + "extra_link_libraries": [] + } + } +} diff --git a/outputs/logos-calc-via-interface-module/src/calc_via_interface_impl.cpp b/outputs/logos-calc-via-interface-module/src/calc_via_interface_impl.cpp new file mode 100644 index 0000000..22847e3 --- /dev/null +++ b/outputs/logos-calc-via-interface-module/src/calc_via_interface_impl.cpp @@ -0,0 +1,65 @@ +#include "calc_via_interface_impl.h" + +// Generated at build time by logos-cpp-generator. Because +// metadata.json lists `interface_dependencies`, LogosModules gains a +// `bind_calculator(moduleName)` factory returning the bound +// `Calculator` wrapper. Included only in the .cpp so the impl header +// the generator parses stays free of generated types. +#include "logos_sdk.h" + +// ── Synchronous binds ─────────────────────────────────────────────── + +int64_t CalcViaInterfaceImpl::sumVia(const std::string& provider, + int64_t a, int64_t b) { + // Bind once, then call normally — no module name on the call. + // Every generated method also takes an optional trailing + // logos::CallError* — the explicit way to tell a failed remote + // call apart from a legitimate result (without it, a failed + // call returns the type's default and only logs a warning). + auto calc = modules().bind_calculator(provider); + logos::CallError err; + const int64_t sum = calc.add(a, b, &err); + if (!err.ok()) return -1; // e.g. the bound module isn't loaded + return sum; +} + +int64_t CalcViaInterfaceImpl::productVia(const std::string& provider, + int64_t a, int64_t b) { + return modules().bind_calculator(provider).multiply(a, b); +} + +std::string CalcViaInterfaceImpl::versionVia(const std::string& provider) { + return modules().bind_calculator(provider).libVersion(); +} + +// ── Asynchronous bind ──────────────────────────────────────────────── + +std::string CalcViaInterfaceImpl::startFibVia(const std::string& provider, + int64_t n) { + // The generated async overload is `Async(args..., + // callback, timeout)`. It returns immediately; the reply lands in + // the callback on this module's event loop. The bound handle is a + // temporary, but the call is registered on the LogosAPI-owned + // client and the callback captures `this`, so it outlives it. + modules().bind_calculator(provider).fibonacciAsync(n, + [this](int64_t value) { m_lastFib = value; }); + return "queued"; +} + +int64_t CalcViaInterfaceImpl::lastFib() const { + return m_lastFib; +} + +// ── Event subscription ─────────────────────────────────────────────── + +std::string CalcViaInterfaceImpl::watchVersion(const std::string& provider) { + // onVersionReady(...) is generated from the interface's + // `logos_events:` block; the callback's arg type matches the event. + bool ok = modules().bind_calculator(provider).onVersionReady( + [this](const std::string& version) { m_lastVersion = version; }); + return ok ? "ok" : "failed"; +} + +std::string CalcViaInterfaceImpl::lastVersion() const { + return m_lastVersion; +} diff --git a/outputs/logos-calc-via-interface-module/src/calc_via_interface_impl.h b/outputs/logos-calc-via-interface-module/src/calc_via_interface_impl.h new file mode 100644 index 0000000..66b707c --- /dev/null +++ b/outputs/logos-calc-via-interface-module/src/calc_via_interface_impl.h @@ -0,0 +1,40 @@ +#pragma once + +#include +#include + +#include // LogosModuleContext base → modules() + +// Binds the `calculator` interface (interfaces/calculator.h) to a +// module name chosen at runtime and calls it through the generated, +// type-safe bound wrapper. It names no concrete module of its own — +// the provider is whatever string you pass in. +class CalcViaInterfaceImpl : public LogosModuleContext { +public: + CalcViaInterfaceImpl() = default; + ~CalcViaInterfaceImpl() = default; + + // ── Synchronous binds ────────────────────────────────────── + // Bind `calculator` to `provider`, then call it. The module + // name appears only at bind time, never on the call. + int64_t sumVia(const std::string& provider, int64_t a, int64_t b); + int64_t productVia(const std::string& provider, int64_t a, int64_t b); + std::string versionVia(const std::string& provider); + + // ── Asynchronous bind ────────────────────────────────────── + // Fire calculator.fibonacci(n) asynchronously against `provider` + // and return immediately ("queued"). Read the reply later with + // lastFib(). + std::string startFibVia(const std::string& provider, int64_t n); + int64_t lastFib() const; + + // ── Event subscription ───────────────────────────────────── + // Subscribe to the interface's `versionReady` event on + // `provider` via the generated onVersionReady(...) accessor. + std::string watchVersion(const std::string& provider); + std::string lastVersion() const; + +private: + int64_t m_lastFib = -1; + std::string m_lastVersion; +}; diff --git a/outputs/logos-calc-via-interface-module/src/minimal_impl.cpp b/outputs/logos-calc-via-interface-module/src/minimal_impl.cpp new file mode 100644 index 0000000..ff94646 --- /dev/null +++ b/outputs/logos-calc-via-interface-module/src/minimal_impl.cpp @@ -0,0 +1,16 @@ +#include "minimal_impl.h" + +std::string MinimalImpl::greet(const std::string& name) +{ + std::string greeting = "Hello, " + name + "! Greetings from the minimal module."; + + // The generated event body routes the typed payload to every subscriber. + greeted(greeting); + + return greeting; +} + +std::string MinimalImpl::getStatus() +{ + return "Minimal module is running."; +} diff --git a/outputs/logos-calc-via-interface-module/src/minimal_impl.h b/outputs/logos-calc-via-interface-module/src/minimal_impl.h new file mode 100644 index 0000000..0f4cde2 --- /dev/null +++ b/outputs/logos-calc-via-interface-module/src/minimal_impl.h @@ -0,0 +1,35 @@ +#pragma once + +#include +#include "logos_module_context.h" + +/** + * @brief A minimal universal Logos module. + * + * In the universal authoring model you write only this implementation class. + * Its public methods ARE the module's API — callable by other modules and from + * the CLI (`logoscore -c`). The Qt plugin glue (the `*Plugin`/`*Interface` + * classes, `Q_PLUGIN_METADATA`, `initLogos` wiring) is generated from this + * header by `logos-module-builder`. + * + * Deriving `LogosModuleContext` gives you: + * - `modules()` — typed callers for anything in `metadata.json#dependencies` + * - typed event subscriptions (`modules().dep.on(...)`) + * - `onContextReady()` — override it to run once the module is wired + * + * Module code is Qt-free: use `std::string` and friends, not `QString`. + */ +class MinimalImpl : public LogosModuleContext +{ +public: + /// Returns a greeting and announces it as a typed `greeted` event. + std::string greet(const std::string& name); + + /// Returns a short status string. + std::string getStatus(); + +logos_events: + /// Emitted by greet() with the greeting it produced. Other modules + /// subscribe with `modules().minimal.onGreeted(...)`. + void greeted(const std::string& greeting); +}; diff --git a/outputs/tutorial-composing-modules.md b/outputs/tutorial-composing-modules.md index 2084b3b..2a38454 100644 --- a/outputs/tutorial-composing-modules.md +++ b/outputs/tutorial-composing-modules.md @@ -37,7 +37,7 @@ Create a new directory and initialise it from the minimal module template: ### 1.1 Create the project from the template ```bash -nix flake init -t github:logos-co/logos-module-builder +nix flake init -t github:logos-co/logos-module-builder/0.2.0 ``` This scaffolds a `flake.nix`, `metadata.json`, `CMakeLists.txt`, and a `src/` directory pre-wired for `logos-module-builder`. As in Part 1 we use the newer **pure-C++ (`interface: universal`) pattern**, so we replace the template's example `src/` files with a single plain `*_impl.h` / `*_impl.cpp` class. @@ -130,7 +130,7 @@ Declare `calc_module` as a flake input. The input attribute name **must match** description = "Aggregator core module - composes calc_module and showcases LogosModuleContext"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; # The module this one depends on. Placeholder path — locked to your # real checkout in the build step via `--override-input`. @@ -455,7 +455,7 @@ Use `lm` to confirm the dependency and the public API made it into the binary. ### 5.1 Build `lm` ```bash -nix build 'github:logos-co/logos-module#lm' --out-link ./lm +nix build 'github:logos-co/logos-module/0.2.0#lm' --out-link ./lm ``` ### 5.2 View metadata — note the dependency @@ -498,11 +498,11 @@ Now the payoff: run `calc_aggregator` **and** its `calc_module` dependency under Build `logoscore` and the package manager, then install **both** modules into a `modules/` directory `logoscore` can scan. The aggregator comes from this project; `calc_module` from your Part 1 checkout: ```bash -nix build 'github:logos-co/logos-logoscore-cli' --out-link ./logos +nix build 'github:logos-co/logos-logoscore-cli/0.2.0' --out-link ./logos ``` ```bash -nix build 'github:logos-co/logos-package-manager#cli' --out-link ./pm +nix build 'github:logos-co/logos-package-manager/0.2.0#cli' --out-link ./pm ``` ```bash diff --git a/outputs/tutorial-cpp-ui-app.md b/outputs/tutorial-cpp-ui-app.md index 32f67c7..96bba1f 100644 --- a/outputs/tutorial-cpp-ui-app.md +++ b/outputs/tutorial-cpp-ui-app.md @@ -86,7 +86,7 @@ Create a new directory and initialise it from the C++ backend UI template: `mkdir logos-calc-ui-cpp && cd logos-calc-ui-cpp` ```bash -nix flake init -t github:logos-co/logos-module-builder#ui-qml-backend +nix flake init -t github:logos-co/logos-module-builder/0.2.0#ui-qml-backend ``` This scaffolds the **universal** UI backend template: a `metadata.json` with `"interface": "universal"`, an example `.rep` (`src/ui_example.rep`), and a single `*Backend` class (`src/ui_example_backend.h` / `.cpp`) — no hand-written interface or plugin files. We'll replace the `ui_example` files with our calculator's `.rep` + backend. @@ -698,7 +698,7 @@ The template already wires everything up. Update the description and point `calc description = "Calculator C++ UI plugin for Logos - QML view with process-isolated backend for calc_module"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; # Points at your local calc_module checkout. This is a placeholder — # you lock it to your actual path in the next step with diff --git a/outputs/tutorial-interface-dependencies.md b/outputs/tutorial-interface-dependencies.md new file mode 100644 index 0000000..6c2f0ac --- /dev/null +++ b/outputs/tutorial-interface-dependencies.md @@ -0,0 +1,604 @@ +# Tutorial: Dependency Interfaces — Bind a Module by Contract + +This tutorial builds `calc_via_interface`, a **core module that depends on an *interface*, not a concrete module**. Instead of naming `calc_module` (from [Part 1](tutorial-wrapping-c-library.md)) as a dependency and getting a fixed `modules().calc_module` wrapper, it declares a small **`calculator` interface** — a list of methods and one event — and **binds that interface to a module name chosen at runtime**. Any module whose API is a *superset* of the interface can satisfy it; `calc_module` is one such provider. You drive the whole thing from `logoscore` on the command line. + +**What you'll build:** A `calc_via_interface` core module that: + +- declares a **`calculator` interface** in its own language (a pure-C++ header with a `logos_events:` block) — `interfaces/calculator.h` +- lists it under `metadata.json`'s `interface_dependencies` — and names **no concrete module** in `dependencies` +- **binds** the interface to a runtime-chosen module with `modules().bind_calculator("calc_module")`, then calls it through the usual type-safe wrappers — **synchronously** (`add`, `multiply`, `libVersion`), **asynchronously** (`fibonacciAsync` + callback), and via a typed **event** subscription (`onVersionReady`) +- proves the **no-validation** contract: binding to a module that does not satisfy the interface fails as an ordinary remote-call error — no crash + +No Qt, no `LogosAPI`, no plugin boilerplate — one plain C++ class, plus a one-file interface contract. + +**What you'll learn:** + +- The difference between a concrete dependency (`dependencies`) and a dependency interface (`interface_dependencies`) +- How to declare an interface in pure C++ (methods + a `logos_events:` block) — or equivalently in `.lidl` +- How the generator turns an interface into a **bound** wrapper whose target module is a constructor argument, exposed as `modules().bind_(moduleName)` +- How to call a bound interface **synchronously** and **asynchronously**, and how to subscribe to its events — all type-safely +- Why binding is decoupled from loading, and what the "superset" / no-validation rule means in practice +- How to share one interface across repos via a flake input (the same wiring `dependencies` use) + +## Prerequisites + +- Completed [Part 1](tutorial-wrapping-c-library.md) — you have a working `calc_module` whose shared library is built (`libcalc.so`/`.dylib` in `logos-calc-module/lib/`). This tutorial only needs `calc_module` as a *runtime* provider; it is never named at build time. +- Nix with flakes enabled +- Basic familiarity with C++ + +--- + +## Step 1: Scaffold the Module Project + +Create a new directory and initialise it from the minimal module template: + +`mkdir logos-calc-via-interface-module && cd logos-calc-via-interface-module` + +### 1.1 Create the project from the template + +```bash +nix flake init -t github:logos-co/logos-module-builder/0.2.0 +``` + +This scaffolds a `flake.nix`, `metadata.json`, `CMakeLists.txt`, and a `src/` directory pre-wired for `logos-module-builder`. As in Part 1 we use the **pure-C++ (`interface: universal`) pattern**, so we replace the template's example `src/` files with our own plain `*_impl.h` / `*_impl.cpp`. + +### 1.2 Remove the template's example sources + +Delete the example Qt plugin the template ships — this tutorial supplies its own pure-C++ `src/` files: + +```bash +rm -f src/minimal_interface.h src/minimal_plugin.h src/minimal_plugin.cpp +``` + +--- + +## Step 2: Declare the Interface + +An **interface** is a method/event contract decoupled from any concrete module. You write it in the *same language as your module* — for a universal module that's a plain C++ header. It looks like an impl class, but you only declare signatures: the generator reads them to build a typed client. + +Put it in an `interfaces/` directory: + +### 2.1 `interfaces/calculator.h` — the contract + +The `calculator` interface names four methods and one event. It is deliberately a **subset** of what `calc_module` exposes (which also has `factorial`, `libVersionNotify`, …) — that is the *superset rule*: a provider may expose more than the interface requires. + +```cpp +#pragma once + +// A DEPENDENCY INTERFACE: a method/event contract that names no +// module. Any module whose API is a superset of this can satisfy +// it; the consumer binds it to a concrete module name at runtime. +// +// Written in the module's own language (pure C++). The generator +// reads the public methods + the `logos_events:` block and emits a +// BOUND wrapper class `Calculator` whose target module name is a +// runtime constructor argument — not baked in. +// +// Types are std (int64_t / std::string) because the consuming +// module is `interface: "universal"`; the bound wrapper inherits +// that api-style. + +#include +#include + +// Defines the `logos_events` token (expands to `public`) so this +// header is valid C++ on its own, not only as generator input. +#include + +class ICalculator { +public: + int64_t add(int64_t a, int64_t b); + int64_t multiply(int64_t a, int64_t b); + int64_t fibonacci(int64_t n); + std::string libVersion(); + +logos_events: + // Emitted by the provider; the consumer subscribes through the + // bound wrapper's generated onVersionReady(...) accessor. + void versionReady(const std::string& version); +}; +``` + +A few things to notice: + +- The class name (`ICalculator`) and method signatures are all the generator needs — no `LogosAPI`, no Qt, no reference to any concrete module. The one include (`logos_module_context.h`) just defines the `logos_events` token so the header is valid C++ on its own. +- `logos_events:` (like Qt's `signals:`) marks event declarations. The generator turns each into a typed `on(callback)` subscriber on the bound wrapper. +- You could write the exact same contract as a `.lidl` file instead — `interfaces/calculator.lidl` with `method add(a: int, b: int) -> int` … `event versionReady(version: tstr)`. The `.h` form is shown here because it matches a universal module's own language. + +--- + +## Step 3: Configure the Module + +Three config files declare the module, point it at the interface, and tell CMake how to build it. The key contrast with [Composing Modules](tutorial-composing-modules.md): there is **no concrete module** in `dependencies`. + +### 3.1 `metadata.json` — declare the interface dependency + +`interface_dependencies` lists the contracts this module binds at runtime. Each entry gives the interface `name` and the `file` that defines it (and, for a `.h` file, the `impl_class` whose signatures define the contract). `dependencies` stays **empty** — we never name `calc_module` at build time. + +```json +{ + "name": "calc_via_interface", + "version": "1.0.0", + "type": "core", + "category": "general", + "description": "Binds a calculator interface to a module chosen at runtime", + "main": "calc_via_interface_plugin", + "interface": "universal", + "dependencies": [], + "interface_dependencies": [ + { "name": "calculator", "file": "interfaces/calculator.h", "impl_class": "ICalculator" } + ], + + "nix": { + "packages": { + "build": [], + "runtime": [] + }, + "external_libraries": [], + "cmake": { + "find_packages": [], + "extra_sources": [], + "extra_include_dirs": [], + "extra_link_libraries": [] + } + } +} +``` + +| Field | What it does | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | +| `interface` | `"universal"` — pure C++ impl, the builder generates the Qt plugin glue | +| `dependencies` | `[]` — **no concrete module** is named at build time | +| `interface_dependencies` | `[{ name, file, impl_class }]` — the builder generates the bound wrapper `Calculator` + the `modules().bind_calculator(...)` factory | + +For a `.h` interface the `impl_class` field is required (the class whose signatures define the contract). For a `.lidl` interface, omit it. To pull an interface from **another repo**, add an `"input"` field naming a flake input — covered in the final step. + +### 3.2 `CMakeLists.txt` — list your sources + +You list only your plain C++ files. The generated interface wrapper and plugin glue are compiled automatically. + +```cmake +cmake_minimum_required(VERSION 3.14) +project(CalcViaInterfacePlugin LANGUAGES CXX) + +if(DEFINED ENV{LOGOS_MODULE_BUILDER_ROOT}) + include($ENV{LOGOS_MODULE_BUILDER_ROOT}/cmake/LogosModule.cmake) +elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/LogosModule.cmake") + include(cmake/LogosModule.cmake) +else() + message(FATAL_ERROR "LogosModule.cmake not found") +endif() + +logos_module( + NAME calc_via_interface + SOURCES + src/calc_via_interface_impl.h + src/calc_via_interface_impl.cpp +) +``` + +`NAME` must match `name` in `metadata.json` (`calc_via_interface`). No module dependency to wire here — the interface file is local to this repo. + +### 3.3 `flake.nix` — no module inputs needed + +Because there is no concrete dependency, the only input is the builder itself. (Contrast with Composing Modules, which had to add a `calc_module.url` input.) + +```nix +{ + description = "Core module that binds a calculator interface at runtime"; + + inputs = { + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; + }; + + outputs = inputs@{ logos-module-builder, ... }: + logos-module-builder.lib.mkLogosModule { + src = ./.; + configFile = ./metadata.json; + flakeInputs = inputs; + }; +} +``` + +`flakeInputs = inputs` hands the builder everything it needs. It reads `interface_dependencies` from `metadata.json`, resolves the local `interfaces/calculator.h`, and runs `logos-cpp-generator` to emit the bound `Calculator` wrapper into `generated_code/`. + +--- + +## Step 4: Write the Module Class + +The module is one plain C++ class inheriting `LogosModuleContext` — that base gives it `modules()`, through which the generated `bind_calculator(name)` factory is reachable. Each method takes the **provider module name** as its first argument, so we can bind to different modules at runtime from `logoscore`. + +### 4.1 `src/calc_via_interface_impl.h` — the class + +Every `public` method becomes callable over IPC. They fall into three groups: synchronous binds, an asynchronous bind, and an event subscription. + +```cpp +#pragma once + +#include +#include + +#include // LogosModuleContext base → modules() + +// Binds the `calculator` interface (interfaces/calculator.h) to a +// module name chosen at runtime and calls it through the generated, +// type-safe bound wrapper. It names no concrete module of its own — +// the provider is whatever string you pass in. +class CalcViaInterfaceImpl : public LogosModuleContext { +public: + CalcViaInterfaceImpl() = default; + ~CalcViaInterfaceImpl() = default; + + // ── Synchronous binds ────────────────────────────────────── + // Bind `calculator` to `provider`, then call it. The module + // name appears only at bind time, never on the call. + int64_t sumVia(const std::string& provider, int64_t a, int64_t b); + int64_t productVia(const std::string& provider, int64_t a, int64_t b); + std::string versionVia(const std::string& provider); + + // ── Asynchronous bind ────────────────────────────────────── + // Fire calculator.fibonacci(n) asynchronously against `provider` + // and return immediately ("queued"). Read the reply later with + // lastFib(). + std::string startFibVia(const std::string& provider, int64_t n); + int64_t lastFib() const; + + // ── Event subscription ───────────────────────────────────── + // Subscribe to the interface's `versionReady` event on + // `provider` via the generated onVersionReady(...) accessor. + std::string watchVersion(const std::string& provider); + std::string lastVersion() const; + +private: + int64_t m_lastFib = -1; + std::string m_lastVersion; +}; +``` + +The provider name is a plain `std::string` parameter — that is the whole "bind at runtime" idea. The same handle code works for any module that satisfies `calculator`. + +### 4.2 `src/calc_via_interface_impl.cpp` — the implementation + +The `.cpp` includes the generated `logos_sdk.h` (which defines `LogosModules` and the `bind_calculator` factory), so the bind/call sites live here rather than in the header the generator parses. + +```cpp +#include "calc_via_interface_impl.h" + +// Generated at build time by logos-cpp-generator. Because +// metadata.json lists `interface_dependencies`, LogosModules gains a +// `bind_calculator(moduleName)` factory returning the bound +// `Calculator` wrapper. Included only in the .cpp so the impl header +// the generator parses stays free of generated types. +#include "logos_sdk.h" + +// ── Synchronous binds ─────────────────────────────────────────────── + +int64_t CalcViaInterfaceImpl::sumVia(const std::string& provider, + int64_t a, int64_t b) { + // Bind once, then call normally — no module name on the call. + // Every generated method also takes an optional trailing + // logos::CallError* — the explicit way to tell a failed remote + // call apart from a legitimate result (without it, a failed + // call returns the type's default and only logs a warning). + auto calc = modules().bind_calculator(provider); + logos::CallError err; + const int64_t sum = calc.add(a, b, &err); + if (!err.ok()) return -1; // e.g. the bound module isn't loaded + return sum; +} + +int64_t CalcViaInterfaceImpl::productVia(const std::string& provider, + int64_t a, int64_t b) { + return modules().bind_calculator(provider).multiply(a, b); +} + +std::string CalcViaInterfaceImpl::versionVia(const std::string& provider) { + return modules().bind_calculator(provider).libVersion(); +} + +// ── Asynchronous bind ──────────────────────────────────────────────── + +std::string CalcViaInterfaceImpl::startFibVia(const std::string& provider, + int64_t n) { + // The generated async overload is `Async(args..., + // callback, timeout)`. It returns immediately; the reply lands in + // the callback on this module's event loop. The bound handle is a + // temporary, but the call is registered on the LogosAPI-owned + // client and the callback captures `this`, so it outlives it. + modules().bind_calculator(provider).fibonacciAsync(n, + [this](int64_t value) { m_lastFib = value; }); + return "queued"; +} + +int64_t CalcViaInterfaceImpl::lastFib() const { + return m_lastFib; +} + +// ── Event subscription ─────────────────────────────────────────────── + +std::string CalcViaInterfaceImpl::watchVersion(const std::string& provider) { + // onVersionReady(...) is generated from the interface's + // `logos_events:` block; the callback's arg type matches the event. + bool ok = modules().bind_calculator(provider).onVersionReady( + [this](const std::string& version) { m_lastVersion = version; }); + return ok ? "ok" : "failed"; +} + +std::string CalcViaInterfaceImpl::lastVersion() const { + return m_lastVersion; +} +``` + +Everything flows through `modules().bind_calculator(provider)` — the factory the builder generated from `interface_dependencies`. There is no `modules().calc_module`, because `calc_module` is never a build-time dependency. The bound `Calculator` exposes the same typed sync/async/event API the name-baked wrappers do; the only difference is the target module is chosen when you bind. + +--- + +## Step 5: Build the Module + +### 5.1 Add a `.gitignore` and init the repo + +Nix flakes require a git repository, and only tracked files are visible — so `interfaces/calculator.h` must be committed for the generator to find it. Exclude build artifacts first: + +```text +# Nix build output +result +result-* + +# CMake build directory +build/ +``` + +Initialise the repo and stage the files (including `interfaces/`): + +```bash +git init && git add -A +``` + +### 5.2 Build + +For a universal module with an interface dependency, this is where `logos-cpp-generator` runs over both `src/calc_via_interface_impl.h` (plugin glue) and `interfaces/calculator.h` (the bound `Calculator` wrapper + `bind_calculator` factory), emitting everything under `generated_code/`: + +```bash +nix build +``` + +### 5.3 Check the output + +```bash +ls -la result/lib/ +``` + +You should see your plugin (extension depends on platform): + +``` +calc_via_interface_plugin.so # Linux +calc_via_interface_plugin.dylib # macOS +``` + +--- + +## Step 6: Inspect the Module + +Use `lm` to confirm the public API made it into the binary — and, tellingly, that there is **no module dependency**. + +### 6.1 Build `lm` + +```bash +nix build 'github:logos-co/logos-module/0.2.0#lm' --out-link ./lm +``` + +### 6.2 View metadata — note the empty dependency list + +```bash +./lm/bin/lm metadata result/lib/calc_via_interface_plugin.so # Linux +./lm/bin/lm metadata result/lib/calc_via_interface_plugin.dylib # macOS +``` + +``` +Plugin Metadata: +================ +Name: calc_via_interface +Version: 1.0.0 +Description: Binds a calculator interface to a module chosen at runtime +Type: core +Dependencies: +``` + +`Dependencies:` is empty — the module is coupled to the `calculator` *contract*, not to any module. + +### 6.3 List methods + +```bash +./lm/bin/lm methods result/lib/calc_via_interface_plugin.so # Linux +./lm/bin/lm methods result/lib/calc_via_interface_plugin.dylib # macOS +``` + +Every `public` method is here. `int64_t` shows up as `int` and `std::string` as `QString` — the wire types the generated glue exposes. + +--- + +## Step 7: Run it with `logoscore` + +Now the payoff: run `calc_via_interface` and bind its `calculator` interface to the real `calc_module` from Part 1. We use the `logoscore` **daemon** (`-D`) so module processes stay alive between `call` commands — needed for the async reply and the event subscription to survive from one call to the next. (Same daemon flow as [Part 1](tutorial-wrapping-c-library.md#step-6-test-with-logoscore) and [Composing Modules](tutorial-composing-modules.md#run-it-with-logoscore).) + +### 7.1 Build the runtime and package both modules + +Build `logoscore` and the package manager, then install **both** modules into a `modules/` directory. `calc_via_interface` comes from this project; `calc_module` from your Part 1 checkout — it is the *provider* we bind to, even though this module never declared it: + +```bash +nix build 'github:logos-co/logos-logoscore-cli/0.2.0' --out-link ./logos +``` + +```bash +nix build 'github:logos-co/logos-package-manager/0.2.0#cli' --out-link ./pm +``` + +```bash +mkdir -p modules +``` + +### 7.2 Install calc_via_interface + +```bash +nix build '.#lgx' --out-link result-iface-lgx +./pm/bin/lgpm --modules-dir ./modules install --file result-iface-lgx/*.lgx +``` + +### 7.3 Install calc_module (the runtime provider) + +Make sure `calc_module`'s shared library is built (from [Part 1](tutorial-wrapping-c-library.md#15-build-the-shared-library)), then package and install it: + +```bash +# Build libcalc if needed (Part 1, Step 1.5): +cd ../logos-calc-module/lib +gcc -shared -fPIC -o libcalc.so libcalc.c # Linux +# gcc -shared -fPIC -o libcalc.dylib libcalc.c # macOS +cd - +``` + +```bash +nix build 'path:../logos-calc-module#lgx' --out-link result-calc-lgx +./pm/bin/lgpm --modules-dir ./modules install --file result-calc-lgx/*.lgx +``` + +`modules/` now holds `calc_via_interface/` and `calc_module/`. Neither knows about the other at build time — they meet only at runtime, through the interface. + +### 7.4 Start the daemon and load both modules + +```bash +./logos/bin/logoscore -D -m ./modules & +``` + +```bash +sleep 4 +``` + +Load the provider and the consumer. The consumer declares no dependency, so we load `calc_module` explicitly: + +```bash +./logos/bin/logoscore load-module calc_module +``` + +```bash +./logos/bin/logoscore load-module calc_via_interface +``` + +### 7.5 Bind and call synchronously + +`sumVia` / `productVia` / `versionVia` each bind `calculator` to the module name you pass, then call through the bound wrapper. Bind to `calc_module`: + +```bash +./logos/bin/logoscore call calc_via_interface sumVia calc_module 3 5 +``` + +```bash +./logos/bin/logoscore call calc_via_interface productVia calc_module 3 5 +``` + +```bash +./logos/bin/logoscore call calc_via_interface versionVia calc_module +``` + +`sumVia(calc_module, 3, 5) = 8`, `productVia(calc_module, 3, 5) = 15`, and `versionVia(calc_module) = "1.0.0"` — all through `modules().bind_calculator("calc_module")`, with `calc_module` chosen at call time. + +### 7.6 Bind and call asynchronously + +`startFibVia` fires `calculator.fibonacci(n)` asynchronously against the bound module and returns `"queued"`. The reply arrives on the daemon's event loop; `lastFib()` reads it. With `n = 20`, `fib(20) = 6765`: + +```bash +./logos/bin/logoscore call calc_via_interface startFibVia calc_module 20 +``` + +```bash +sleep 1 +``` + +```bash +./logos/bin/logoscore call calc_via_interface lastFib +``` + +The bound wrapper's generated `fibonacciAsync(..., callback)` delivered `6765` to the callback after `startFibVia` had already returned — the typed **async** path, over a runtime-bound interface. + +### 7.7 Subscribe to a bound interface event + +`watchVersion` subscribes to the interface's `versionReady` event on the bound module. `calc_module.libVersionNotify()` makes `calc_module` emit it, and `lastVersion()` reads what the typed callback captured: + +```bash +./logos/bin/logoscore call calc_via_interface watchVersion calc_module +``` + +```bash +./logos/bin/logoscore call calc_module libVersionNotify +``` + +```bash +sleep 1 +``` + +```bash +./logos/bin/logoscore call calc_via_interface lastVersion +``` + +`watchVersion` registered the callback via the generated `onVersionReady(...)`; the event fired in between; `lastVersion()` returned `1.0.0` — a typed event subscription on a runtime-bound interface. + +### 7.8 Bind to a non-satisfying module (the no-validation rule) + +Binding does **not** validate that the target satisfies the interface — there is no build-time coupling to check against. A bad bind isn't caught at bind time; it surfaces when you **call** through it — no crash, and the daemon keeps serving. `sumVia` checks the wrapper's `logos::CallError` out-parameter (see its implementation above) and returns `-1` when the inner call fails; on a transport that fails slowly the outer call may instead time out (`RPC_FAILED` / `"status":"error"`). Either way `calc_module` keeps answering (we keep going with `|| true` so the tour continues): + +```bash +./logos/bin/logoscore call calc_via_interface sumVia no_such_module 3 5 2>&1 || true +``` + +The bound `no_such_module` couldn't be resolved, so the inner `add` call failed — exactly like any other call to an absent module. No crash, no conformance check. Because `sumVia` passes a `logos::CallError*`, it *sees* the failure (`err.code == "object_unavailable"`) and maps it to its own error convention; a call without the out-parameter would get the type's default value plus a warning in the module log. Swapping providers is just changing the string: `sumVia calc_module 3 5` returns `8`; `sumVia no_such_module 3 5` fails. **Any** module that really exposes `add`/`multiply`/`fibonacci`/`libVersion`/`versionReady` satisfies `calculator` and slots in unchanged. + +```bash +./logos/bin/logoscore stop +``` + +That completes the tour: a single interface, bound at runtime to a concrete module, driven type-safely for sync calls, async calls, and events — with no build-time dependency on the provider. + +--- + +## Step 8: Share an Interface Across Repos + +So far `interfaces/calculator.h` lived in this repo. To let *several* modules depend on the **same** contract, move it to its own repo (or a provider repo that publishes the interface it implements) and pull it in as a flake input — exactly how concrete `dependencies` are wired. + +Add an `"input"` field to the `interface_dependencies` entry, naming a flake input, with `file` relative to that input's root: + +```json +"interface_dependencies": [ + { "name": "calculator", "input": "calc_interfaces", "file": "interfaces/calculator.h", "impl_class": "ICalculator" } +] +``` + +and declare the matching input in `flake.nix` (the input attribute name must equal the `input` value): + +```nix +inputs = { + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; + calc_interfaces.url = "github:your-org/logos-calc-interfaces"; +}; +``` + +The builder resolves `calc_interfaces` to a store path, hands the generator the resolved file, and emits the same bound `Calculator` wrapper — only the *source* of the contract moved. Nothing in `src/` changes. (In a workspace, run `ws sync-graph` after editing flake inputs.) + +That's the full picture. An interface is a contract you can keep local or share across repos; a module binds it to whatever provider it's given at runtime; and the generated, type-safe wrappers make the bound calls feel exactly like calling a concrete dependency — minus the coupling. + +--- + +## Recap + +| Concept | In the code | Seen via `logoscore` | +| -------------------------------- | -------------------------------------------------------- | --------------------------------------------------- | +| Interface declaration | `interfaces/calculator.h` (methods + `logos_events:`) | — | +| Declared, not depended-on | `interface_dependencies` set, `dependencies: []` | `lm metadata` shows empty `Dependencies:` | +| Bind at runtime | `modules().bind_calculator(provider)` | provider is a `call` argument | +| Typed **sync** call | `sumVia` / `productVia` / `versionVia` | `8`, `15`, `1.0.0` | +| Typed **async** call | `startFibVia` → `fibonacciAsync(..., cb)` | `queued`, then `6765` | +| Typed **event** subscription | `watchVersion` → `onVersionReady(cb)` | captured payload `1.0.0` | +| No-validation / superset rule | bind to any module name | `calc_module` → `8`; `no_such_module` → RPC error | +| Share across repos | `interface_dependencies[].input` + flake input | — | + +The interface coupled `calc_via_interface` to a *contract*, never to `calc_module`. Any module exposing that contract can be bound in its place — at runtime, by name. + +**Next:** see [Composing Modules](tutorial-composing-modules.md) for the concrete-dependency counterpart (`modules().calc_module`), or give this module a UI with [Part 2 (QML-only)](tutorial-qml-ui-app.md) / [Part 3 (C++ backend)](tutorial-cpp-ui-app.md). diff --git a/outputs/tutorial-qml-ui-app.md b/outputs/tutorial-qml-ui-app.md index 9299aff..315ea35 100644 --- a/outputs/tutorial-qml-ui-app.md +++ b/outputs/tutorial-qml-ui-app.md @@ -47,7 +47,7 @@ Create a new directory and initialise it from the QML module template: `mkdir logos-calc-ui && cd logos-calc-ui` ```bash -nix flake init -t github:logos-co/logos-module-builder#ui-qml +nix flake init -t github:logos-co/logos-module-builder/0.2.0#ui-qml ``` > **Note:** The generated `flake.nix` uses an unpinned `logos-module-builder` URL. Replace it with the pinned version shown in [Step 4](#step-4-update-flakenix) to ensure reproducible builds. @@ -330,7 +330,7 @@ The template already has everything wired up. Update the description and add `ca description = "Calculator QML UI Plugin for Logos - frontend for calc_module"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; # Points at your local calc_module checkout. This is a placeholder — # you lock it to your actual path in the next step with @@ -574,7 +574,7 @@ nix build '.#lgx-portable' --out-link result-lgx-portable Build the basecamp desktop shell: ```bash -nix build 'github:logos-co/logos-basecamp' -o basecamp-result +nix build 'github:logos-co/logos-basecamp/0.2.0' -o basecamp-result ``` Basecamp manages its own per-user data directory and preinstalls its bundled modules (`main_ui`, `package_manager`, …) from the build. It does **not** accept `--modules-dir` / `--ui-plugins-dir` flags; instead you point it at a data directory with `--user-dir` (or the `LOGOS_USER_DIR` env var), and it reads installed core modules from `

/modules` and UI plugins from `/plugins` — exactly the directories `lgpm` writes to. @@ -586,7 +586,7 @@ For this tutorial we use an explicit data directory, `basecamp-data`, so the ins `lgpm` installs `.lgx` packages into a modules/plugins directory: ```bash -nix build 'github:logos-co/logos-package-manager#cli' --out-link ./pm +nix build 'github:logos-co/logos-package-manager/0.2.0#cli' --out-link ./pm ``` ### 8.4 Create the data directory @@ -645,7 +645,7 @@ The sidebar labels each UI plugin by its `name` from `metadata.json`, which is w The dev build above depends on nix store paths at runtime. For a self-contained portable build that works without nix: ```bash -nix build 'github:logos-co/logos-basecamp#bin-bundle-dir' -o basecamp-portable +nix build 'github:logos-co/logos-basecamp/0.2.0#bin-bundle-dir' -o basecamp-portable ``` ```bash diff --git a/outputs/tutorial-wrapping-c-library.md b/outputs/tutorial-wrapping-c-library.md index 4f3f40c..9c99e5a 100644 --- a/outputs/tutorial-wrapping-c-library.md +++ b/outputs/tutorial-wrapping-c-library.md @@ -40,10 +40,10 @@ For a module that wraps an external C library: `mkdir logos-calc-module && cd logos-calc-module` ```bash -nix flake init -t github:logos-co/logos-module-builder#with-external-lib +nix flake init -t github:logos-co/logos-module-builder/0.2.0#with-external-lib # Or for a plain module (no external library): -# nix flake init -t github:logos-co/logos-module-builder +# nix flake init -t github:logos-co/logos-module-builder/0.2.0 ``` This generates skeleton files (`flake.nix`, `metadata.json`, `CMakeLists.txt`, and a `src/` directory) pre-configured for the logos-module-builder. You then customize them for your specific library. @@ -327,7 +327,7 @@ Change `description`. Add flake inputs here if your module depends on other modu description = "Calculator module - wraps libcalc C library for Logos"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; }; outputs = inputs@{ logos-module-builder, ... }: @@ -579,7 +579,7 @@ Use the `lm` CLI tool (from `logos-module`) to inspect the compiled module binar The `lm` CLI inspects compiled module binaries. Build it from the `logos-module` repo: ```bash -nix build 'github:logos-co/logos-module#lm' --out-link ./lm +nix build 'github:logos-co/logos-module/0.2.0#lm' --out-link ./lm ``` ### 5.2 View metadata @@ -739,7 +739,7 @@ Interface screen. ### 6.1 Build logoscore ```bash -nix build 'github:logos-co/logos-logoscore-cli' --out-link ./logos +nix build 'github:logos-co/logos-logoscore-cli/0.2.0' --out-link ./logos ``` ### 6.2 Set up the modules directory @@ -751,7 +751,7 @@ nix build '.#lgx' ``` ```bash -nix build 'github:logos-co/logos-package-manager#cli' --out-link ./pm +nix build 'github:logos-co/logos-package-manager/0.2.0#cli' --out-link ./pm ``` ```bash @@ -897,7 +897,7 @@ Add a `tests` block to the `mkLogosModule` call. `mockCLibs` lists the external description = "Calculator module - wraps libcalc C library for Logos"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; }; outputs = inputs@{ logos-module-builder, ... }: @@ -1098,7 +1098,7 @@ nix build '.#lgx-portable' --out-link result-lgx-portable To install a portable package on another machine: ```bash -nix build 'github:logos-co/logos-package-manager#cli' --out-link ./pm +nix build 'github:logos-co/logos-package-manager/0.2.0#cli' --out-link ./pm ./pm/bin/lgpm --modules-dir ./modules install --file result-lgx-portable/*.lgx ``` @@ -1217,7 +1217,7 @@ Instead of pre-building the library and placing it in `lib/`, you can have Nix f description = "Module wrapping libfoo from GitHub"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder/0.2.0"; # Fetch the library source (non-flake) libfoo-src = { diff --git a/run.sh b/run.sh index fcc7d7e..96c448f 100755 --- a/run.sh +++ b/run.sh @@ -21,8 +21,8 @@ # that git tag (passed to both `run` and `generate` so the executed commands and # the generated Markdown agree). Any further args are forwarded verbatim to the # `run` and `generate` invocations, so e.g. `--release-for REPO=REF` also works: -# ./run.sh --release tutorial-v3 -# ./run.sh --release tutorial-v3 --release-for logos-basecamp=main +# ./run.sh --release 0.2.0 +# ./run.sh --release 0.2.0 --release-for logos-basecamp=main # set -euo pipefail @@ -109,8 +109,9 @@ if [ ! -d "${OUTPUT_DIR}" ]; then fi echo "==> Cleaning build artifacts from ${OUTPUT_DIR}/" -# --also calc-data: the Composing Modules tutorial creates a calc-data/ persistence -# directory (logoscore --persistence-path) that the default clean rules don't cover. -"${DOCTEST[@]}" clean "${OUTPUT_DIR}" --also calc-data --verbose +# --also calc-data / .logoscore: tutorials create per-instance persistence dirs +# (logoscore --persistence-path and the default .logoscore store) that the default +# clean rules don't cover. +"${DOCTEST[@]}" clean "${OUTPUT_DIR}" --also calc-data --also .logoscore --verbose echo "==> Done. Cleaned tutorial output is in ${OUTPUT_DIR}/" diff --git a/tests/tutorial-interface-dependencies.test.yaml b/tests/tutorial-interface-dependencies.test.yaml index ad98088..957d0d5 100644 --- a/tests/tutorial-interface-dependencies.test.yaml +++ b/tests/tutorial-interface-dependencies.test.yaml @@ -531,7 +531,7 @@ sections: ```nix inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder{release}"; calc_interfaces.url = "github:your-org/logos-calc-interfaces"; }; ``` diff --git a/tests/tutorial-wrapping-c-library.test.yaml b/tests/tutorial-wrapping-c-library.test.yaml index 57615a7..9c7c825 100644 --- a/tests/tutorial-wrapping-c-library.test.yaml +++ b/tests/tutorial-wrapping-c-library.test.yaml @@ -1189,7 +1189,7 @@ sections: description = "Module wrapping libfoo from GitHub"; inputs = { - logos-module-builder.url = "github:logos-co/logos-module-builder"; + logos-module-builder.url = "github:logos-co/logos-module-builder{release}"; # Fetch the library source (non-flake) libfoo-src = {