picoclaw/pkg/channels
Hoshina e10b1e1fd4 feat(channels): add MediaSender optional interface for outbound media
Add outbound media sending capability so the agent can publish media
attachments (images, files, audio, video) through channels via the bus.

- Add MediaPart and OutboundMediaMessage types to bus
- Add PublishOutboundMedia/SubscribeOutboundMedia bus methods
- Add MediaSender interface discovered via type assertion by Manager
- Add media dispatch/worker in Manager with shared retry logic
- Extend ToolResult with Media field and MediaResult constructor
- Publish outbound media from agent loop on tool results
- Implement SendMedia for Telegram, Discord, Slack, LINE, OneBot, WeCom
2026-02-23 03:10:57 +08:00
..
dingtalk refactor(channels): standardize Send error classification with sentinel types 2026-02-23 01:45:48 +08:00
discord feat(channels): add MediaSender optional interface for outbound media 2026-02-23 03:10:57 +08:00
feishu refactor(channels): standardize Send error classification with sentinel types 2026-02-23 01:45:48 +08:00
line feat(channels): add MediaSender optional interface for outbound media 2026-02-23 03:10:57 +08:00
maixcam refactor(channels): standardize Send error classification with sentinel types 2026-02-23 01:45:48 +08:00
onebot feat(channels): add MediaSender optional interface for outbound media 2026-02-23 03:10:57 +08:00
qq refactor(channels): standardize Send error classification with sentinel types 2026-02-23 01:45:48 +08:00
slack feat(channels): add MediaSender optional interface for outbound media 2026-02-23 03:10:57 +08:00
telegram feat(channels): add MediaSender optional interface for outbound media 2026-02-23 03:10:57 +08:00
wecom feat(channels): add MediaSender optional interface for outbound media 2026-02-23 03:10:57 +08:00
whatsapp refactor(channels): standardize Send error classification with sentinel types 2026-02-23 01:45:48 +08:00
base.go refactor(bus): fix deadlock and concurrency issues in MessageBus 2026-02-23 00:44:45 +08:00
base_test.go style: fix gofmt formatting (CRLF -> LF) 2026-02-14 11:21:47 +09:00
errors.go refactor(channels): add per-channel rate limiting and send retry with error classification 2026-02-22 23:51:55 +08:00
errors_test.go refactor(channels): add per-channel rate limiting and send retry with error classification 2026-02-22 23:51:55 +08:00
errutil.go refactor(channels): standardize Send error classification with sentinel types 2026-02-23 01:45:48 +08:00
errutil_test.go refactor(channels): standardize Send error classification with sentinel types 2026-02-23 01:45:48 +08:00
manager.go feat(channels): add MediaSender optional interface for outbound media 2026-02-23 03:10:57 +08:00
manager_test.go refactor(channels): add per-channel rate limiting and send retry with error classification 2026-02-22 23:51:55 +08:00
media.go feat(channels): add MediaSender optional interface for outbound media 2026-02-23 03:10:57 +08:00
registry.go refactor(channels): add factory registry and export SetRunning on BaseChannel 2026-02-20 23:18:46 +08:00
webhook.go refactor(channels): consolidate HTTP servers into shared server managed by Manager 2026-02-23 02:39:09 +08:00