Commit Graph

36 Commits

Author SHA1 Message Date
Peter Steinberger
9c09ce27d4 refactor: add inbound context helpers 2026-01-17 04:05:34 +00:00
Peter Steinberger
9b9f2b6ce7 chore: format + regenerate protocol 2026-01-17 03:40:49 +00:00
Peter Steinberger
13edad91ee feat: add cross-context messaging resolver
Co-authored-by: Thinh Dinh <tobalsan@users.noreply.github.com>
2026-01-17 03:17:13 +00:00
Peter Steinberger
12505d9c9e fix: align channel config schemas and env precedence 2026-01-17 00:43:05 +00:00
Shadow
9fbc21916a Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
Yurii Chukhlib
2865cd9f32 fix(channels): include linked field in WhatsApp describeAccount
Fixes #1030

The describeAccount function for WhatsApp was not returning the
linked field, causing the Channels status section to show
"Not linked" even when WhatsApp was properly linked and working.

The fix adds the linked field to describeAccount, set to the same
value as configured (Boolean(account.authDir)). This ensures that
the Channels section and Health section show consistent status.
2026-01-16 23:59:04 +00:00
Peter Steinberger
0e225a0822 feat: unify directory across channels 2026-01-16 22:40:36 +00:00
Peter Steinberger
96a02aadbf chore: oxfmt 2026-01-16 22:33:47 +00:00
Peter Steinberger
b02d28499d fix: treat reply-to-bot as implicit mention across channels 2026-01-16 21:51:01 +00:00
tsu
f073303aca feat: add zalouser channel + directory CLI (#1032) (thanks @suminhthanh)
- Unified UX: channels login + message send; no plugin-specific top-level command\n- Added generic directory CLI for channel identity/groups\n- Docs: channel + plugin pages
2026-01-16 21:28:18 +00:00
Peter Steinberger
3c7f860e59 feat: scope telegram inline buttons 2026-01-16 20:16:41 +00:00
Peter Steinberger
c93b02d9d2 fix: scope whatsapp self-chat response prefix 2026-01-16 10:54:11 +00:00
Jamie Openshaw
f134e2d17f fix(config): allow discord action flags in schema
Ensure discord action flags survive config validation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-16 06:48:25 +00:00
Peter Steinberger
a5ce070ece Merge pull request #991 from longmaba/fix/zalo-pairing-and-webhook
fix(zalo): fix pairing channel detection and webhook payload format
2026-01-16 04:54:08 +00:00
Long
60fadeb94c fix(zalo): fix pairing channel detection and webhook payload format
Amp-Thread-ID: https://ampcode.com/threads/T-019bc4e0-fcb1-77be-b0b5-0d498f0c7197
Co-authored-by: Amp <amp@ampcode.com>
2026-01-16 10:43:14 +07:00
Peter Steinberger
fdbb06a016 chore: format and sync protocol outputs 2026-01-16 03:30:56 +00:00
Peter Steinberger
728ad7df36 feat!: move msteams to plugin 2026-01-16 02:59:43 +00:00
Peter Steinberger
5d7a6372fd fix: show disabled channels in onboarding picker 2026-01-16 01:29:25 +00:00
Josh Lehman
36168e1ed3 feat(slack): add userToken for read-only access to DMs and private channels (#981)
- Add userToken and userTokenReadOnly (default: true) config fields
- Implement token routing: reads prefer user token, writes use bot token
- Add tests for token routing logic
- Update documentation with required OAuth scopes

User tokens enable reading DMs and private channels without requiring
bot membership. The userTokenReadOnly flag (true by default) ensures
the user token can only be used for reads, preventing accidental
sends as the user.

Required user token scopes:
- channels:history, channels:read
- groups:history, groups:read
- im:history, im:read
- mpim:history, mpim:read
- users:read, reactions:read, pins:read, emoji:read, search:read
2026-01-16 00:11:33 +00:00
Peter Steinberger
f12a7f6c0b chore: purge DS_Store files 2026-01-15 22:59:16 +00:00
Peter Steinberger
e7643b7b3c fix: native command arg menus follow-ups (#936) (thanks @thewilloftheshadow) 2026-01-15 09:33:31 +00:00
Peter Steinberger
7f24c03483 chore: format + fix telegram thread ids 2026-01-15 09:13:19 +00:00
Peter Steinberger
8adc4c6d98 feat: add matrix channel plugin 2026-01-15 08:40:37 +00:00
Peter Steinberger
af5b67d60c feat: expand Telegram allowFrom guidance
Co-authored-by: Christoph Nakazawa <cpojer@users.noreply.github.com>
2026-01-15 06:15:06 +00:00
Peter Steinberger
18f4d5c989 chore: format sources and update protocol outputs 2026-01-15 05:17:19 +00:00
Peter Steinberger
dd3c254204 feat: add onboarding plugin install flow 2026-01-15 05:04:09 +00:00
Peter Steinberger
fec657e888 feat: load channel plugins 2026-01-15 02:42:44 +00:00
Peter Steinberger
59d7e2bfa2 style: apply oxfmt fixes 2026-01-15 01:53:14 +00:00
Peter Steinberger
77b165e7a9 feat(config): gate channel config writes 2026-01-15 01:41:15 +00:00
Peter Steinberger
a3ebd00681 refactor: unify markdown formatting pipeline 2026-01-15 00:31:07 +00:00
Peter Steinberger
1db2eca941 fix(telegram): wire delete action for message tool (#903) - thanks @sleontenko
Co-authored-by: Stan <sleontenko@users.noreply.github.com>
2026-01-15 00:29:53 +00:00
sleontenko
5108f83df1 feat(telegram): add deleteMessage action
Add ability to delete messages in Telegram chats via the message tool.

Changes:
- Add deleteMessageTelegram function in send.ts
- Add deleteMessage action handler in telegram-actions.ts
- Add delete action support in telegram message plugin adapter
- Add deleteMessage to TelegramActionConfig type
- Update message tool description to mention delete action

Usage:
- Via message tool: action="delete", chatId, messageId
- Can be disabled via channels.telegram.actions.deleteMessage=false

Limitations (Telegram API):
- Bot can delete its own messages in any chat
- Bot can delete others' messages only if admin with "Delete Messages"
- Messages older than 48h in groups may fail to delete
2026-01-15 00:29:53 +00:00
Peter Steinberger
9d28441c41 chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00
Peter Steinberger
b74a102af7 refactor(src): split oversized modules 2026-01-14 01:17:56 +00:00
Peter Steinberger
978041219f refactor: remove redundant spread fallbacks 2026-01-13 08:40:39 +00:00
Peter Steinberger
ea979f0669 refactor!: rename chat providers to channels 2026-01-13 08:40:39 +00:00