openclaw/src/gateway/server-methods
Glucksberg 60661441b1
feat(gateway-tool): add config.patch action for safe partial config updates (#1624)
* fix(ui): enable save button only when config has changes

The save button in the Control UI config editor was not properly gating
on whether actual changes were made. This adds:
- `configRawOriginal` state to track the original raw config for comparison
- Change detection for both form mode (via computeDiff) and raw mode
- `hasChanges` check in canSave/canApply logic
- Set `configFormDirty` when raw mode edits occur
- Handle raw mode UI correctly (badge shows "Unsaved changes", no diff panel)

Fixes #1609

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(gateway-tool): add config.patch action for safe partial config updates

Exposes the existing config.patch server method to agents, allowing safe
partial config updates that merge with existing config instead of replacing it.

- Add config.patch to GATEWAY_ACTIONS in gateway tool
- Add restart + sentinel logic to config.patch server method
- Extend ConfigPatchParamsSchema with sessionKey, note, restartDelayMs
- Add unit test for config.patch gateway tool action

Closes #1617

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 23:30:32 +00:00
..
agent-job.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent.ts fix: enforce group tool policy inheritance for subagents (#1557) (thanks @adam91holt) 2026-01-24 05:49:39 +00:00
agents.ts feat(tui): add agent picker and agents list rpc 2026-01-09 01:05:10 +01:00
channels.ts refactor: centralize channel ui metadata 2026-01-20 13:11:49 +00:00
chat.ts fix: unify inbound dispatch pipeline 2026-01-23 22:58:54 +00:00
config.ts feat(gateway-tool): add config.patch action for safe partial config updates (#1624) 2026-01-24 23:30:32 +00:00
connect.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
cron.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
devices.ts feat: wire role-scoped device creds 2026-01-20 13:04:19 +00:00
exec-approval.test.ts fix(discord): autoThread ack reactions + exec approval null handling (#1511) 2026-01-23 20:01:15 +00:00
exec-approval.ts feat(discord): add exec approval forwarding to DMs (#1621) 2026-01-24 20:56:40 +00:00
exec-approvals.ts refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
health.ts refactor: centralize account bindings + health probes 2026-01-17 01:19:43 +00:00
logs.test.ts fix: align rolling logs to local time 2026-01-22 07:02:52 +00:00
logs.ts fix: align rolling logs to local time 2026-01-22 07:02:52 +00:00
models.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
nodes.helpers.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
nodes.ts fix: reduce log noise for node disconnect/late invoke errors (#1607) 2026-01-24 20:05:41 +00:00
send.test.ts fix: harden outbound mirroring normalization 2026-01-24 12:57:58 +00:00
send.ts fix: harden outbound mirroring normalization 2026-01-24 12:57:58 +00:00
sessions.ts fix(sessions): reset token counts to 0 on /new (#1523) 2026-01-24 00:15:42 +00:00
skills.ts fix: enforce ws3 roles + node allowlist 2026-01-20 09:24:01 +00:00
system.ts feat: enrich presence with roles 2026-01-20 13:04:20 +00:00
talk.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
tts.ts feat: move TTS into core (#1559) (thanks @Glucksberg) 2026-01-24 08:00:44 +00:00
types.ts feat: wire role-scoped device creds 2026-01-20 13:04:19 +00:00
update.ts refactor: normalize cli command hints 2026-01-20 07:43:00 +00:00
usage.ts fix: cache usage cost summary 2026-01-22 08:51:22 +00:00
voicewake.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
web.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
wizard.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00