Commit Graph

1 Commits

Author SHA1 Message Date
Glucksberg
bc7ba73a34 feat(gateway): add human-in-the-loop approval for outbound messaging (#2023)
Add `approvals.message` config that requires human confirmation before
executing outbound messaging tools. Follows the existing exec approval
pattern with in-memory state management and Promise-based waiting.

New components:
- MessageApprovalManager: tracks pending approvals with timeout handling
- Gateway RPC handlers: message.approval.request and message.approval.resolve
- MessageApprovalForwarder: delivers approval requests to chat channels
- Approval interception in runMessageAction with gatewayClient/skipApproval params

Extended /approve command to handle message approvals (IDs starting with "msg-").

Config schema added under approvals.message with options for:
- enabled, mode (session/targets/both), actions, channels
- agentFilter, sessionFilter, targets, timeout

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 14:49:25 +00:00