Commit Graph

2 Commits

Author SHA1 Message Date
Kieran Klukas
044b60bf2d
fix(test): update test for renamed getExecApprovalActionIdPrefix 2026-01-26 12:30:16 -05:00
Kieran Klukas
26cd21e73b
feat(slack): add inline button support for exec approvals
Implements #2101: Adds Block Kit buttons for exec approval requests in Slack DMs,
mirroring the existing Discord implementation.

Changes:
- Add SlackExecApprovalConfig type to config/types.slack.ts
- Add Zod schema validation for execApprovals in config
- Create SlackExecApprovalHandler class that:
  - Listens to gateway events for approval requests/resolutions
  - Sends Block Kit messages with Allow once/Always allow/Deny buttons
  - Updates messages when resolved or expired
  - Wires button clicks through to gateway approval resolution
- Register action handler in Slack monitor provider
- Add comprehensive tests for value parsing and handler filtering

Config example:
```yaml
channels:
  slack:
    execApprovals:
      enabled: true
      approvers: ["U12345678"]
      agentFilter: ["main"]  # optional
      sessionFilter: ["agent:main"]  # optional
```
2026-01-26 01:54:50 -05:00