Peter Steinberger
03e6181f9f
fix: reject exponent provider integer options
2026-05-28 12:08:09 -04:00
Peter Steinberger
c9c53e3153
fix: harden config array index parsing
2026-05-28 11:58:40 -04:00
brokemac79
56633e4f3c
fix(cli): route plugin packaging recovery hints
...
Route invalid-config recovery output for source-only installed plugin packages to plugin packaging guidance instead of openclaw doctor --fix.
Validated with focused config/CLI/gateway/plugin tests, autoreview, Crabbox/Testbox E2E tbx_01ksgr80tnvvc13kv6t126yv78, and green PR CI on 3b3ce73d0f .
Thanks @brokemac79.
2026-05-26 01:13:20 +01:00
Peter Steinberger
77d9ac30bb
refactor: reuse shared coercion helpers ( #86419 )
...
* refactor: share talk event metric extraction
* refactor: reuse shared coercion helpers
* refactor: reuse shared primitive guards
* refactor: reuse shared record guard
* refactor: reuse shared primitive helpers
* refactor: reuse shared string guards
* refactor: reuse shared non-empty string guard
* refactor: share plugin primitive coercion helpers
* refactor: reuse plugin coercion helpers
* refactor: reuse plugin coercion helpers in more plugins
* refactor: reuse channel coercion helpers
* refactor: reuse monitor coercion helpers
* refactor: reuse provider coercion helpers
* refactor: reuse core coercion helpers
* refactor: reuse runtime coercion helpers
* refactor: reuse helper coercion in codex paths
* refactor: reuse helper coercion in runtime paths
* refactor: reuse codex app-server coercion helpers
* refactor: reuse codex record helpers
* refactor: reuse migration and qa record helpers
* refactor: reuse feishu and core helper guards
* refactor: reuse browser and policy coercion helpers
* refactor: reuse memory wiki record helper
* refactor: share boolean coercion helpers
* refactor: reuse finite number coercion
* refactor: reuse trimmed string list helpers
* refactor: reuse string list normalization
* refactor: reuse remaining string list helpers
* refactor: reuse string entry normalizer
* refactor: share sorted string helpers
* refactor: share string list normalization
* test: preserve command registry browser imports
* refactor: reuse trimmed list helpers
* refactor: reuse string dedupe helpers
* refactor: reuse local dedupe helpers
* refactor: reuse more string dedupe helpers
* refactor: reuse command string dedupe helpers
* refactor: dedupe memory path lists with helper
* refactor: expose string dedupe helpers to plugins
* refactor: reuse core string dedupe helpers
* refactor: reuse shared unique value helpers
* refactor: reuse unique helpers in agent utilities
* refactor: reuse unique helpers in config plumbing
* refactor: reuse unique helpers in extensions
* refactor: reuse unique helpers in core utilities
* refactor: reuse unique helpers in qa plugins
* refactor: reuse unique helpers in memory plugins
* refactor: reuse unique helpers in channel plugins
* refactor: reuse unique helpers in core tails
* refactor: reuse unique helper in comfy workflow
* refactor: reuse unique helpers in test utilities
* refactor: expose unique value helper to plugins
* refactor: reuse unique helpers for numeric lists
* refactor: replace index dedupe filters
* refactor: reuse string entry normalization
* refactor: reuse string normalization in plugin helpers
* refactor: reuse string normalization in extension helpers
* refactor: reuse string normalization in channel parsers
* refactor: reuse string normalization in memory search
* refactor: reuse string normalization in provider parsers
* refactor: reuse string normalization in qa helpers
* refactor: reuse string normalization in infra parsers
* refactor: reuse string normalization in messaging parsers
* refactor: reuse string normalization in core parsers
* refactor: reuse string normalization in extension parsers
* refactor: reuse string normalization in remaining parsers
* refactor: reuse string normalization in final parser spots
* refactor: reuse string normalization in qa media helpers
* refactor: reuse normalization in provider and media lists
* refactor: reuse normalization for remaining set filters
* refactor: reuse normalization in policy allowlists
* refactor: reuse normalization in session and owner lists
* refactor: centralize primitive string lists
* refactor: reuse lowercase entry helpers
* refactor: reuse sorted string helpers
* refactor: reuse unique trimmed helpers
* refactor: reuse string normalization helpers
* refactor: reuse catalog string helpers
* refactor: reuse remaining string helpers
* refactor: simplify remaining list normalization
* refactor: reuse codex auth order normalization
* chore: refresh plugin sdk api baseline
* fix: make shared string sorting deterministic
* chore: refresh plugin sdk api baseline
* fix: align host env security ordering
2026-05-25 21:20:41 +01:00
Peter Steinberger
bbc1772f4d
build: enable modern TypeScript module syntax
...
* build: enable modern TypeScript flags
* build: drop erasable TypeScript syntax flag
* build: keep legacy class field semantics
2026-05-25 10:10:12 +01:00
Andy Ye
6b5eba1f43
fix(cli): preserve numeric config set record keys ( #83769 )
...
Merged via squash.
Prepared head SHA: cb55b4a40d
Co-authored-by: TurboTheTurtle <35905412+TurboTheTurtle@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-05-22 01:09:15 +03:00
Gio Della-Libera
489cab2738
fix(config): add --dry-run support to unset ( #81895 )
...
* Add config unset dry-run
Add --dry-run support to config unset, including JSON output and allow-exec validation parity with config set/patch dry-run handling.
* Refresh checks after proof update
* fix(config): address unset dry-run review
Return structured JSON when config unset dry-run misses a path and validate broad secret provider/default unsets against affected SecretRefs.
2026-05-16 11:09:42 -07:00
Gio Della-Libera
0dc8552cb3
fix(config): preserve numeric patch object keys ( #81999 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-15 08:20:08 +01:00
Gio Della-Libera
b9dc6d86b8
test(config): refresh plugin schema fixtures
2026-05-14 17:58:27 +08:00
Gio Della-Libera
13c2e245aa
fix(config): use plugin channel schemas in dry-run
2026-05-14 17:58:26 +08:00
Peter Steinberger
22411e17cb
fix(cli): normalize Gemini config mutation refs
2026-05-13 08:56:02 +01:00
NVIDIAN
ecc48c6d86
fix(config): reject auto-managed meta.lastTouched* paths in config set/unset ( #80856 )
...
Merged via squash.
Prepared head SHA: a574312f5c
Co-authored-by: ai-hpc <183861985+ai-hpc@users.noreply.github.com >
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Reviewed-by: @hxy91819
2026-05-13 12:09:25 +08:00
Vincent Koc
5c844bea88
Merge branch 'main' of https://github.com/openclaw/openclaw
...
* 'main' of https://github.com/openclaw/openclaw :
fix(config): persist explicit default values
fix(google): default gemini onboarding to 3.1 pro
2026-05-10 14:26:55 +08:00
Peter Steinberger
2e400c5b76
fix(config): persist explicit default values
...
Fixes #79856 .
Preserves explicitly set config values that equal runtime defaults across CLI set/patch, exported config writes, object paths, array-index paths, and normalized model paths. Rejects default-equal explicit writes under include-owned config instead of reporting a no-op success.
Co-authored-by: hclsys <hclsys@users.noreply.github.com >
2026-05-10 02:24:39 -04:00
Vincent Koc
be2f333e6f
fix(cli): clarify terminal recovery errors
2026-05-10 14:23:15 +08:00
Peter Steinberger
18aeac86a1
fix: normalize gemini config mutations
2026-05-09 21:12:23 +01:00
Vincent Koc
f09bb6d75c
fix(cli): improve config recovery copy
2026-05-09 08:05:06 +08:00
Vincent Koc
fb73f2161e
fix(config): unset array index once
...
Fixes #76290 .
2026-05-03 10:42:49 -07:00
Peter Steinberger
81fea91fda
fix: restore config dry-run schema validation
2026-05-03 13:16:20 +01:00
Peter Steinberger
df51878b0b
fix(config): preserve empty patch objects
2026-04-29 22:02:02 +01:00
Peter Steinberger
ec7536078f
fix(config): validate unresolved SecretRef refs in dry-run
2026-04-29 22:02:02 +01:00
Peter Steinberger
8b8bba9621
fix(config): tighten patch command semantics
2026-04-29 22:02:02 +01:00
Peter Steinberger
48a01798b0
feat: add config apply patch command
2026-04-29 22:02:02 +01:00
Shakker
df7348e586
fix: guide config users to plugin commands
2026-04-26 01:03:12 +01:00
zhang-guiping
c1f423f845
fix(secrets): harden Windows ACL fallback and strip BOM ( #70662 )
...
Fail closed when Windows ACL checks cannot be verified for file and exec secret providers unless the provider explicitly opts into allowInsecurePath. Strip UTF-8 BOMs from file-backed secrets and document the trusted-path override.\n\nThanks @zhanggpcsu.
2026-04-23 19:32:15 +01:00
Peter Steinberger
819ff0463a
fix(config): protect model config merges
2026-04-22 23:18:05 +01:00
Peter Steinberger
0588dfe15d
fix(config): parse quoted bracket paths
2026-04-22 22:11:45 +01:00
Vincent Koc
25a2ea4480
perf(config): scope dry-run legacy validation
2026-04-13 20:40:52 +01:00
Vincent Koc
3792a39fd6
perf(cli): skip redundant schema passes for structured dry runs
2026-04-13 15:49:24 +01:00
Vincent Koc
74e7b8d47b
fix(cycles): bulk extract leaf type surfaces
2026-04-11 13:26:50 +01:00
Peter Steinberger
1fb2e18f47
refactor: simplify cli conversions
2026-04-11 01:27:48 +01:00
Peter Steinberger
df91db906f
refactor: dedupe cli cron trimmed readers
2026-04-08 01:36:38 +01:00
Josh Avant
788f56f30f
Secrets: hard-fail unsupported SecretRef policy and fix gateway restart token drift ( #58141 )
...
* Secrets: enforce C2 SecretRef policy and drift resolution
* Tests: add gateway auth startup/reload SecretRef runtime coverage
* Docs: sync C2 SecretRef policy and coverage matrix
* Config: hard-fail parent SecretRef policy writes
* Secrets: centralize unsupported SecretRef policy metadata
* Daemon: test service-env precedence for token drift refs
* Config: keep per-ref dry-run resolvability errors
* Docs: clarify config-set parent-object policy checks
* Gateway: fix drift fallback and schema-key filtering
* Gateway: align drift fallback with credential planner
* changelog
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com >
---------
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-03-31 02:37:31 -05:00
Peter Steinberger
47216702f4
refactor(config): use source snapshots for config mutations
2026-03-30 01:02:25 +01:00
Peter Steinberger
64bf80d4d5
refactor: move provider runtime into extensions
2026-03-27 05:38:58 +00:00
Mikhail Beliakov
fd934a566b
feat(cli): add json schema to cli tool ( #54523 )
...
Merged via squash.
Prepared head SHA: 39c15ee70d
Co-authored-by: kvokka <15954013+kvokka@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-26 02:30:32 +03:00
Peter Steinberger
4ee41cc6f3
refactor(cli): separate json payload output from logging
2026-03-22 23:19:17 +00:00
Vincent Koc
93fbe26adb
fix(config): tighten json and json5 parsing paths ( #51153 )
2026-03-20 10:10:57 -07:00
Josh Avant
1878272f67
CLI: prune inactive gateway auth credentials on mode set ( #50639 )
2026-03-19 16:05:43 -05:00
Josh Avant
2d3bcbfe08
CLI: skip exec SecretRef dry-run resolution unless explicitly allowed ( #49322 )
...
* CLI: gate exec SecretRef dry-run resolution behind opt-in
* Docs: clarify config dry-run exec opt-in behavior
* CLI: preserve static exec dry-run validation
2026-03-17 20:20:11 -05:00
joshavant
ab5aec137c
CLI: fix config set dry-run coverage gaps
2026-03-17 18:31:03 -05:00
Josh Avant
e99963100d
CLI: expand config set with SecretRef/provider builders and dry-run ( #49296 )
...
* CLI: expand config set ref/provider builder and dry-run
* Docs: revert README Discord token example
2026-03-17 18:15:49 -05:00
Tak Hoffman
4863b651c6
docs: rename onboarding user-facing wizard copy
...
Co-authored-by: Tak <contact-redacted@example.com >
2026-03-16 19:50:31 -05:00
Gustavo Madeira Santana
c08f2aa21a
Providers: centralize setup defaults and helper boundaries
2026-03-16 12:06:32 +00:00
Gustavo Madeira Santana
f26853f14c
CLI: dedupe config validate errors and expose allowed values
2026-03-02 20:05:12 -05:00
Sid
3002f13ca7
feat(config): add openclaw config validate and improve startup error messages ( #31220 )
...
Merged via squash.
Prepared head SHA: 4598f2a541
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-02 00:45:51 -05:00
cyb1278588254
96ffbb5aaf
CLI: add config path subcommand to print active config file path ( #26256 )
...
Merged via squash.
Prepared head SHA: b11c593a34
Co-authored-by: cyb1278588254 <48212932+cyb1278588254@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-01 23:33:20 -05:00
Vincent Koc
b297bae027
fix(cli): allow Ollama apiKey config set without predeclared provider ( #29299 )
...
* CLI: seed Ollama provider on apiKey set
* Tests: cover Ollama apiKey config set path
2026-02-27 23:35:57 -08:00
Frank Yang
f208518cb9
fix(config): keep write inputs immutable when using unsetPaths ( #24134 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 951f8480c3
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-23 02:51:13 -05:00
SleuthCo.AI
9c87b53c8e
security(cli): redact sensitive values in config get output ( #23654 )
...
* security(cli): redact sensitive values in config get output
`runConfigGet()` reads raw config values but never applies redaction
before printing. When a user runs `openclaw config get gateway.token`
the real credential is printed to the terminal, leaking it into shell
history, scrollback buffers, and screenshots.
Use the existing `redactConfigObject()` (from redact-snapshot.ts,
already used by the Web UI path) to scrub sensitive fields before
`getAtPath()` resolves the requested key.
Fixes #13683
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* CLI/Config: add redaction regression test and changelog
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-02-22 19:37:33 -05:00