Commit Graph

11 Commits

Author SHA1 Message Date
John Lin
fac7419ca0
fix(ringcentral): change dmPolicy default to allowlist
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:39 +08:00
John Lin
7e57e324d1
refactor(ringcentral): simplify selfOnly mode, remove allowOtherChats
- selfOnly: true (default) = only respond to JWT user in Personal chat
- selfOnly: false = enable full DM/group policy controls

Removed redundant allowOtherChats option.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:38 +08:00
John Lin
f77aeeb34c
refactor(ringcentral): skip DM policy checks in selfOnly mode
In selfOnly mode, dmPolicy/allowFrom/groupPolicy settings are now
completely ignored since the owner is always allowed. This simplifies
the logic and avoids confusion.

Updated README to clarify which settings apply in selfOnly mode.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:38 +08:00
John Lin
857408d78d
chore(ringcentral): only log WebSocket notifications in verbose mode
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:38 +08:00
John Lin
f71da54d8f
security(ringcentral): remove sensitive data from logs and clean up schema
- Remove message text from log output to prevent leaking sensitive content
- Remove obsolete credentialsFile field from config schema
- Add missing selfOnly and allowOtherChats fields to schema

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:38 +08:00
John Lin
f8343a4100
docs(ringcentral): add README with installation and configuration guide
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:37 +08:00
John Lin
1d91d0ab73
feat(ringcentral): restrict selfOnly mode to Personal chat by default
In selfOnly mode, now only allows messages from 'Personal' chat
(conversation with yourself). Set allowOtherChats: true to enable
DMs and group chats.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:37 +08:00
John Lin
1ceaa31fb3
refactor(ringcentral): remove file-based credential support
Credentials now only loaded from:
1. Config file (~/.clawdbot/clawdbot.json)
2. Environment variables

This matches Telegram's approach for consistency.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:37 +08:00
John Lin
f9d6ec7106
fix(ringcentral): prevent infinite loop from bot's own messages
- Track sent message IDs to skip processing bot's replies
- Fix chat type detection (Personal vs PersonalChat vs Direct)
- Skip typing/thinking indicator messages by pattern
- Allow owner in selfOnly mode to bypass DM policy check
- Change typing indicator to ' _Clawdbot is thinking..._'

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:37 +08:00
John Lin
44b27d1ba0
feat(ringcentral): add selfOnly mode for JWT authentication
In JWT mode, bot uses the JWT user's identity. By default (selfOnly=true),
only messages from the JWT user are processed, creating a self-conversation
with the AI assistant.

Set selfOnly=false to allow other users (requires allowFrom configuration).

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:36 +08:00
John Lin
352227f435
feat: add RingCentral Team Messaging channel extension
- Add RingCentral channel plugin with WebSocket subscription support
- Implement JWT authentication via @ringcentral/sdk
- Support DM and group messaging with mention gating
- Add credential file support (rc-credentials.json)
- Implement full ChannelPlugin interface (pairing, security, messaging, etc.)
- Add .gitignore entries for credential files

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-28 23:11:36 +08:00