Files
joshp123 71b85a7188 feat: support locked runtime plugin sources
What:
- add runtimePluginSources for exact npm and ClawHub runtime plugin packages with lib.fakeHash source hashes
- resolve arbitrary npm/ClawHub package specs through fixed-output Nix builds and reuse the runtime plugin validator
- keep the public source API minimal while validating source conflicts, HTTPS URLs, and optional dependency materialization
- rewrite runtime plugin docs around upstream install surfaces and Nix equivalents

Why:
- let nix-openclaw users install upstream-style npm and ClawHub runtime plugins declaratively
- keep package resolution out of Home Manager activation and OpenClaw runtime
- preserve the Nix convention of fake hash first, then npmDepsHash only when shrinkwrap requires it

Tests:
- node --check nix/scripts/openclaw-runtime-plugin-fetch-source.mjs && node --check nix/scripts/openclaw-runtime-plugin-install.mjs && node --check nix/scripts/openclaw-runtime-plugin-prepare-npm.mjs && node --check nix/scripts/check-openclaw-runtime-plugin-installer.mjs
- node nix/scripts/check-openclaw-runtime-plugin-installer.mjs nix/scripts/openclaw-runtime-plugin-install.mjs
- git diff --check
- nix build --accept-flake-config --no-link .#checks.aarch64-darwin.default-instance
- nix build --accept-flake-config --no-link .#checks.x86_64-linux.default-instance
- nix build --accept-flake-config --impure --no-link --expr '<arbitrary npm diagnostics-prometheus source build>'
- nix build --accept-flake-config --impure --no-link --expr '<arbitrary ClawHub whatsapp shrinkwrap source build>'
- nix build --accept-flake-config --no-link .#checks.aarch64-darwin.ci
- nix build --accept-flake-config --no-link .#checks.x86_64-linux.ci
2026-06-06 13:27:35 +02:00
..
2026-05-28 19:44:09 +01:00