Updated docs for all bundled plugins to reflect:
- Plugins are bundled with Clawdbot
- Dependencies auto-install on first load when enabled
- npm install is an alternative, not required
- Simplified setup steps
Updated channels:
- line, matrix, mattermost, msteams, nextcloud-talk, nostr, zalo, zalouser
Updated plugins:
- voice-call, zalouser
Bundled plugins ship with source but not node_modules. When a bundled
plugin is enabled and has external dependencies, the loader now
automatically runs npm install on first load.
This fixes the issue where plugins like tlon (which depend on
@urbit/http-api and @urbit/aura) would fail to load from a fresh
npm install because their dependencies weren't installed.
Changes:
- loader.ts: Add ensureBundledPluginDeps() to install deps before loading
- docs/channels/tlon.md: Update to reflect bundled status and auto-install
- docs/plugin.md: Add tlon to plugin list, update dep install guidance
- docs/reference/RELEASING.md: Clarify bundled vs npm-published plugins
* feat: add chunking mode for outbound messages
- Introduced `chunkMode` option in various account configurations to allow splitting messages by "length" or "newline".
- Updated message processing to handle chunking based on the selected mode.
- Added tests for new chunking functionality, ensuring correct behavior for both modes.
* feat: enhance chunking mode documentation and configuration
- Added `chunkMode` option to the BlueBubbles account configuration, allowing users to choose between "length" and "newline" for message chunking.
- Updated documentation to clarify the behavior of the `chunkMode` setting.
- Adjusted account merging logic to incorporate the new `chunkMode` configuration.
* refactor: simplify chunk mode handling for BlueBubbles
- Removed `chunkMode` configuration from various account schemas and types, centralizing chunk mode logic to BlueBubbles only.
- Updated `processMessage` to default to "newline" for BlueBubbles chunking.
- Adjusted tests to reflect changes in chunk mode handling for BlueBubbles, ensuring proper functionality.
* fix: update default chunk mode to 'length' for BlueBubbles
- Changed the default value of `chunkMode` from 'newline' to 'length' in the BlueBubbles configuration and related processing functions.
- Updated documentation to reflect the new default behavior for chunking messages.
- Adjusted tests to ensure the correct default value is returned for BlueBubbles chunk mode.
Adds support for separate replyToMode settings for DMs vs channels:
- Add channels.slack.dm.replyToMode for DM-specific threading
- Keep channels.slack.replyToMode as default for channels
- Add resolveSlackReplyToMode helper to centralize logic
- Pass chatType through threading resolution chain
Usage:
```json5
{
channels: {
slack: {
replyToMode: "off", // channels
dm: {
replyToMode: "all" // DMs always thread
}
}
}
}
```
When dm.replyToMode is set, DMs use that mode; channels use the
top-level replyToMode. Backward compatible when not configured.
Add Mattermost as a supported messaging channel with bot API and WebSocket integration. Includes channel state tracking (tint, summary, details), multi-account support, and delivery target routing. Update documentation and tests to include Mattermost alongside existing channels.