mirror of
https://github.com/openclaw/nix-openclaw.git
synced 2026-07-25 05:35:30 -04:00
[PR #35] feat: schema alignment & metadata-driven validation #56
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/openclaw/nix-openclaw/pull/35
Author: @elocke
Created: 1/30/2026
Status: 🔄 Open
Base:
main← Head:feat/schema-alignment📝 Commits (3)
fc20de2feat: extend generator to emit schema metadata JSONe314ccefeat: add metadata JSON to CI golden-file check231ff17feat: generic channel system, metadata-driven validation, cleanup📊 Changes
6 files changed (+10725 additions, -30 deletions)
View changed files
📝
nix/checks/openclaw-config-options.nix(+1 -0)➕
nix/generated/openclaw-config-metadata.json(+10376 -0)📝
nix/modules/home-manager/openclaw.nix(+201 -29)📝
nix/scripts/config-options-check.sh(+14 -0)📝
nix/scripts/generate-config-options.ts(+132 -0)📝
scripts/update-pins.sh(+1 -1)📄 Description
Summary
openclaw-config-metadata.json) alongside the Nix options, capturing valid paths, types, dynamic keys, and known channels from the upstream Zod schemaproviders.channelssystem replacing the telegram-specific helpers, with backwards-compat aliases so existingproviders.telegram.*config continues to workthinkingDefault,queue.mode) from the generated metadata instead of hardcoding themconfigOverridesvalidation (key existence + type checking) and channel config validation against schema metadata, surfaced as standard home-manager assertion errorsupdate-pins.shto include the metadata fileTest plan
nix flake check --no-buildpassesnix build .#checks.x86_64-linux.config-optionspasses (via remote builder)nix evalconfirms metadata lookups return correct enum valuesgeneratedConfigOptionsormkTelegramConfigremainproviders.telegram.*configs still evaluate correctly (backwards compat)configOverrideskeys produce assertion errorsproviders.channelsproduce assertion errors🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.