mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-22 22:01:11 +00:00
* fix(secrets): use resolveStateDir for .env path to cover legacy .clawdbot dir * fix(secrets): replace override-based legacy .env test with true automatic fallback, add apply-path coverage * fix(config-cli): emit JSON error on config get --json for missing paths When is used with a nonexistent path, the command emits no JSON on stdout, only a text error on stderr. This breaks automated consumers that expect machine-readable errors. Fix: output JSON to stdout before exit(1) when opts.json is set. This matches the existing JSON error output pattern already used by runConfigValidate and handleConfigMutationError. Also re-throw synthetic exit errors in the catch block so the --json branch's writeRuntimeJson+exit is not caught and re-emitted as a text error. * fix(config-cli): use typed ExitError signal instead of __exit__ string sentinel * fix(secrets): reuse resolved stateDir for .env path in audit * fix(secrets): pass resolved stateDir into apply .env scrubbing, add root-switch regression * test(config-cli): migrate remaining __exit__ sentinel to ExitError * fix(secrets): cover config and state dotenv roots * style(secrets): format dotenv path helper * test(secrets): track temporary directories * test(config): expect typed exit for missing patch files --------- Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: Peter Steinberger <peter@steipete.me>