fix(discord): keep exec approval fallbacks reachable

This commit is contained in:
Peter Steinberger
2026-04-29 06:29:36 +01:00
parent 66b4324d41
commit 548c280eff
14 changed files with 270 additions and 10 deletions

View File

@@ -912,6 +912,11 @@ Default slash command settings:
When those buttons are present, they are the primary approval UX; OpenClaw
should only include a manual `/approve` command when the tool result says
chat approvals are unavailable or manual approval is the only path.
If the Discord native approval runtime is not active, OpenClaw keeps the
local deterministic `/approve <id> <decision>` prompt visible. If the
runtime is active but a native card cannot be delivered to any target,
OpenClaw sends a same-chat fallback notice with the exact `/approve`
command from the pending approval.
Gateway auth and approval resolution follow the shared Gateway client contract (`plugin:` IDs resolve through `plugin.approval.resolve`; other IDs through `exec.approval.resolve`). Approvals expire after 30 minutes by default.

View File

@@ -262,6 +262,12 @@ agent-facing path. The agent should not also echo a duplicate plain chat
`/approve` command unless the tool result says chat approvals are unavailable or
manual approval is the only remaining path.
If a native approval client is configured but no native runtime is active for
the originating channel, OpenClaw keeps the local deterministic `/approve`
prompt visible. If the native runtime is active and attempts delivery but no
target receives the card, OpenClaw sends a same-chat fallback notice with the
exact `/approve <id> <decision>` command so the request can still be resolved.
Generic model:
- host exec policy still decides whether exec approval is required