Clawd
a68c5396ca
fix(bluebubbles): call stop typing on idle and NO_REPLY
...
Previously, typing stop was intentionally skipped because the
BlueBubbles Server DELETE endpoint was bugged (called startTyping
instead of stopTyping). Now that the server bug is fixed, we can
properly stop typing indicators.
- onIdle: now calls sendBlueBubblesTyping(false) to stop typing
- finally block: stops typing when no message sent (NO_REPLY case)
2026-01-22 21:20:35 +00:00
Dominic Damoah
a84766c37e
refactor: extract mattermost channel plugin to extension
...
Move mattermost channel implementation from core to extensions/mattermost plugin. Extract config schema, group mentions, normalize utilities, and all mattermost-specific logic (accounts, client, monitor, probe, send) into the extension. Update imports to use plugin SDK and local modules. Add channel metadata directly in plugin definition instead of using getChatChannelMeta. Update package.json with channel and install configuration.
2026-01-22 12:02:30 -05:00
Peter Steinberger
ce37b6b2a0
chore: sync plugin versions
2026-01-22 10:32:53 +00:00
Dominic Damoah
f873523e1b
Merge branch 'main' into feat/mattermost-channel
2026-01-22 02:49:17 -05:00
Peter Steinberger
75f274b21f
fix: retry lobster spawn on windows
2026-01-22 04:31:25 +00:00
Peter Steinberger
16375e71b0
fix: make lobster tool tests windows-safe
2026-01-22 03:58:05 +00:00
Peter Steinberger
c2b25dac8e
fix: msteams attachments + plugin prompt hints
...
Co-authored-by: Christof <10854026+Evizero@users.noreply.github.com>
2026-01-22 03:37:29 +00:00
Peter Steinberger
5f61974e44
fix: stabilize lobster tool subprocess
2026-01-22 03:20:23 +00:00
Peter Steinberger
c39e71013d
Merge pull request #1152 from vignesh07/feat/lobster-plugin
...
feat: Add optional lobster plugin tool (typed workflows, approvals/resume)
2026-01-22 02:34:05 +00:00
Peter Steinberger
567415d38f
chore: bump version to 2026.1.21
2026-01-22 01:59:16 +00:00
Peter Steinberger
f673023bd0
chore: update dependencies
2026-01-22 01:47:43 +00:00
Peter Steinberger
f96af8dcaf
Merge pull request #1379 from ptn1411/feature/1378-zalouser-extension
...
Refs #1378 : scaffold zalouser extension
2026-01-22 00:00:29 +00:00
Dominic Damoah
1d34352691
feat: add Mattermost channel support
...
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.
2026-01-21 18:40:56 -05:00
Peter Steinberger
d3647b2c65
refactor: unify threading contexts
2026-01-21 20:35:12 +00:00
Peter Steinberger
fcff0604c7
fix: harden bluebubbles short ids and fetch wrapper ( #1369 ) (thanks @tyler6204)
2026-01-21 17:09:15 +00:00
Peter Steinberger
cad71dfd3b
Merge pull request #1369 from tyler6204/fix/bluebubbles-gc-guid-resolution
...
BlueBubbles: short ID mapping, action resolution, and threading/typing fixes
2026-01-21 17:06:09 +00:00
Pham Nam
532a733316
Refs #1378 : scaffold zalouser extension
2026-01-21 19:48:21 +07:00
Peter Steinberger
86771a44bf
chore: bump bluebubbles to 2026.1.21-1
2026-01-21 09:43:19 +00:00
Peter Steinberger
37619c2e0e
fix: use plugin-sdk exports in bluebubbles
2026-01-21 09:03:09 +00:00
Tyler Yust
1291588784
feat: enhance message context with full ID support for replies and caching
...
- Updated message processing to include full message IDs alongside short IDs for better context resolution.
- Improved reply handling by caching inbound messages, allowing for accurate sender and body resolution without exposing dropped content.
- Adjusted tests to validate the new full ID properties and their integration into the message handling workflow.
2026-01-21 00:45:01 -08:00
Tyler Yust
646c5b1893
feat: enhance message handling with short ID resolution and reply context improvements
...
- Implemented resolution of short message IDs to full UUIDs in both text and media sending functions.
- Updated reply context formatting to optimize token usage by including only necessary information.
- Introduced truncation for long reply bodies to further reduce token consumption.
- Adjusted tests to reflect changes in reply context handling and message ID resolution.
2026-01-21 00:45:01 -08:00
Tyler Yust
b7fcc1045c
feat: implement short ID mapping for BlueBubbles messages and enhance reply context caching
...
- Added functionality to resolve short message IDs to full UUIDs and vice versa, optimizing token usage.
- Introduced a reply cache to store message context for replies when metadata is omitted in webhook payloads.
- Updated message handling to utilize short IDs for outbound messages and replies, improving efficiency.
- Enhanced error messages to clarify required parameters for actions like react, edit, and unsend.
- Added tests to ensure correct behavior of new features and maintain existing functionality.
2026-01-21 00:45:01 -08:00
Peter Steinberger
77fec7c239
chore: release 2026.1.20-2
2026-01-21 08:30:33 +00:00
Peter Steinberger
475ec11c3c
chore: release 2026.1.20-1
2026-01-21 07:37:22 +00:00
Peter Steinberger
336233c30d
fix: wire OTLP logs for diagnostics
2026-01-20 22:51:47 +00:00
Peter Steinberger
365f1c438c
chore: drop nostr node_modules links
2026-01-20 20:15:56 +00:00
Peter Steinberger
537968d158
feat: add Nostr channel plugin and onboarding install defaults
...
Co-authored-by: joelklabo <joelklabo@users.noreply.github.com>
2026-01-20 20:15:56 +00:00
Peter Steinberger
87a9d125a9
feat: add diagnostics events and otel exporter
2026-01-20 18:56:15 +00:00
Peter Steinberger
44d24083a4
refactor: split matrix provider modules
2026-01-20 14:32:04 +00:00
Peter Steinberger
d2bcaa81f5
fix: align zalouser status + schema
2026-01-20 13:32:11 +00:00
Peter Steinberger
0883136a38
refactor: centralize channel ui metadata
2026-01-20 13:11:49 +00:00
Peter Steinberger
7411ed831d
chore: update deps
2026-01-20 13:06:16 +00:00
Peter Steinberger
96ea6f4c3c
refactor: extend channel plugin boundary
2026-01-20 12:07:54 +00:00
Tyler Yust
89e96917c4
feat: extend BlueBubbles attachment handling by adding support for reply context, allowing users to reference previous messages in media attachments
2026-01-20 12:07:54 +00:00
Tyler Yust
b25ebeda24
feat: add media size validation to BlueBubbles media handling, ensuring compliance with channel limits and improving error handling for oversized media
2026-01-20 12:07:54 +00:00
Tyler Yust
9aa2392c1c
feat: enhance BlueBubbles media and message handling by adding reply context support and improving outbound message ID tracking
2026-01-20 12:07:54 +00:00
Tyler Yust
a235072c3b
feat: refactor BlueBubbles media handling by introducing a dedicated media send function and optimizing message processing for media attachments
2026-01-20 12:07:54 +00:00
Tyler Yust
430c5cdf6b
feat: improve BlueBubbles message processing by adding reply context formatting and enhancing message ID extraction from responses
2026-01-20 12:07:54 +00:00
Tyler Yust
314de81f3f
feat: enhance BlueBubbles messaging targets by adding support for UUID and hex chat identifiers, improving normalization and parsing functions
2026-01-20 12:07:54 +00:00
Tyler Yust
c63273e18c
feat: enhance BlueBubbles group message handling by adding account-specific logging and improving typing signal conditions
2026-01-20 12:07:54 +00:00
Tyler Yust
d607fac37d
feat: enhance BlueBubbles functionality by implementing macOS version checks for message editing and improving server info caching
2026-01-20 12:07:54 +00:00
Tyler Yust
861fc0a236
feat: update BlueBubbles documentation and code to clarify group icon handling and normalize chat identifiers
2026-01-20 12:07:54 +00:00
Tyler Yust
8a53f80c3b
feat: add support for setting group icons in BlueBubbles, enhancing group management capabilities
2026-01-20 12:07:54 +00:00
Tyler Yust
bced00a990
feat: enhance BlueBubbles message actions with support for message editing, reply metadata, and improved effect handling
2026-01-20 12:07:54 +00:00
Tyler Yust
9b00bb5880
feat: improve BlueBubbles message action error handling and enhance channel action descriptions
2026-01-20 12:07:54 +00:00
Tyler Yust
fb0d69faf0
feat: enhance BlueBubbles channel integration with new messaging target normalization and typing indicator improvements
2026-01-20 12:07:54 +00:00
Tyler Yust
5c84cee55b
Step 5 + Review
2026-01-20 12:07:54 +00:00
Tyler Yust
db6fcc7fcb
Step 4 (Needs Review)
2026-01-20 12:07:54 +00:00
Tyler Yust
fe9fe4ff7b
Step 3 + Review
2026-01-20 12:07:54 +00:00
Tyler Yust
04496af8a0
(Step 2) Phase 2 & 3 Complete + Reviewed
2026-01-20 12:07:54 +00:00
Tyler Yust
a577e8509b
Phase 0 + Review
2026-01-20 12:07:54 +00:00
Peter Steinberger
761c03101f
fix: polish matrix e2ee storage ( #1298 ) (thanks @sibbl)
2026-01-20 11:59:36 +00:00
Sebastian Schubotz
2d4bf3b29c
rewrite(matrix): use matrix-bot-sdk as base to enable e2ee encryption, strictly follow location + typing + group concepts, fix room bugs
2026-01-20 11:59:11 +00:00
Peter Steinberger
bf04422984
fix: add nextcloud talk manifest ( #1297 ) (thanks @ysqander)
2026-01-20 11:38:11 +00:00
Peter Steinberger
d87a3bcc2c
refactor: plugin catalog + nextcloud policy
2026-01-20 11:22:27 +00:00
Shadow
0835bc0c81
fix: enforce plugin config schemas ( #1272 ) (thanks @thewilloftheshadow)
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-20 11:03:17 +00:00
Peter Steinberger
b068d79ba5
Merge pull request #1213 from andrew-kurin/fix/voicecall-tailscale-path
...
Voice-call: fix tailscale tunnel, Twilio signatures, and callbacks
2026-01-19 06:00:33 +00:00
Ghost
b1e61857d4
Voice-call: avoid streaming on notify callbacks
2026-01-18 20:27:23 -08:00
Ghost
fb20435b9a
Voice-call: fix Twilio status callbacks
2026-01-18 20:20:53 -08:00
Ghost
f3a8fd91a5
Voice-call: fix Twilio signature ordering
2026-01-18 20:03:13 -08:00
Peter Steinberger
b1c13b0eab
fix: enforce strict config validation
2026-01-19 03:39:25 +00:00
Ghost
56cdb022be
Voice-call: fix tailscale tunnel path
2026-01-18 18:59:58 -08:00
Peter Steinberger
920cb8a1ed
feat: resolve allowlists in channel plugins
2026-01-18 22:52:00 +00:00
Peter Steinberger
eaa6fbfd8e
chore: rename memory-lancedb extension folder
2026-01-18 22:27:22 +00:00
Vignesh Natarajan
3fc0ca48ae
Add SKILL.md to teach Clawdbot when/how to use Lobster
2026-01-18 12:11:25 -08:00
Peter Steinberger
5e25bb04d9
feat: make inbound envelopes configurable
...
Co-authored-by: Shiva Prasad <shiv19@users.noreply.github.com>
2026-01-18 18:50:37 +00:00
Peter Steinberger
1fbb6bcf1d
Merge pull request #1180 from andrew-kurin/fix/voice-call-statuscallback
...
fix(voice-call): resolve StatusCallback with inline TwiML (#864 )
2026-01-18 16:34:58 +00:00
Ghost
06af695b48
fix(voice-call): resolve StatusCallback with inline TwiML
...
- Switch from inline to URL-based TwiML for outbound calls
- Store TwiML content temporarily and serve on webhook request
- Add twimlStorage map and cleanup helper methods
- Fix TwiML serving to handle CallStatus='in-progress' on initial request
Closes #864
2026-01-18 07:51:59 -08:00
Peter Steinberger
79fb75b162
refactor: rename lancedb memory plugin
2026-01-18 15:48:05 +00:00
Peter Steinberger
28f34d0aa7
chore: update dependencies
2026-01-18 14:16:04 +00:00
Peter Steinberger
cca4888fdc
Merge pull request #1176 from sibbl/fix-matrix-allowfrom
...
Matrix: fix redundant allowFrom assignment in monitorMatrixProvider
2026-01-18 13:57:00 +00:00
Peter Steinberger
10b0603551
fix: prevent sqlite-vec duplicate id failures
2026-01-18 13:55:56 +00:00
Sebastian Schubotz
b7cea6a3d1
fix(matrix): remove redundant allowFrom assignment in monitorMatrixProvider
2026-01-18 14:05:08 +01:00
Peter Steinberger
304492ec95
test: drop core runtime import in matrix directory
2026-01-18 11:03:27 +00:00
Peter Steinberger
d49da62338
refactor: route channel runtime via plugin api
2026-01-18 11:01:16 +00:00
Peter Steinberger
8e87d8879e
refactor: migrate messaging plugins to sdk
2026-01-18 08:54:00 +00:00
Peter Steinberger
067a22f29a
refactor: share memory plugin config helpers
2026-01-18 07:24:16 +00:00
Radek Paclt
3b520bfdad
feat(memory): add lifecycle hooks and vector memory plugin
...
Add plugin lifecycle hooks infrastructure:
- before_agent_start: inject context before agent loop
- agent_end: analyze conversation after completion
- 13 hook types total (message, tool, session, gateway hooks)
Memory plugin implementation:
- LanceDB vector storage with OpenAI embeddings
- kind: "memory" to integrate with upstream slot system
- Auto-recall: injects <relevant-memories> when context found
- Auto-capture: stores preferences, decisions, entities
- Rule-based capture filtering with 0.95 similarity dedup
- Tools: memory_recall, memory_store, memory_forget
- CLI: clawdbot ltm list|search|stats
Plugin infrastructure:
- api.on() method for hook registration
- Global hook runner singleton for cross-module access
- Priority ordering and error catching
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 06:34:43 +00:00
Peter Steinberger
b946fe243d
build: package memory-core as a workspace plugin
2026-01-18 06:30:01 +00:00
Peter Steinberger
f2b5260bd6
build: export plugin-sdk for extensions
2026-01-18 05:40:10 +00:00
Peter Steinberger
ded1b2a14c
feat: migrate zalouser plugin to sdk
...
# Conflicts:
# CHANGELOG.md
2026-01-18 05:17:40 +00:00
Vignesh Natarajan
d8d266e416
Gate lobster plugin tool in sandboxed contexts
2026-01-17 20:33:31 -08:00
Peter Steinberger
a561d2e1af
fix: include query in Twilio webhook verification
2026-01-18 04:25:28 +00:00
Vignesh Natarajan
0e01798a23
Move lobster integration to optional plugin tool
2026-01-17 20:18:54 -08:00
Peter Steinberger
679838d9c2
fix: persist session origin metadata
2026-01-18 03:41:51 +00:00
Peter Steinberger
829a4bbc7d
feat: migrate zalo plugin to sdk
2026-01-18 03:37:26 +00:00
Peter Steinberger
8deb04931d
feat: add bluebubbles plugin
2026-01-18 03:17:43 +00:00
Peter Steinberger
57fd4c7dc0
chore: remove tracked artifacts
2026-01-18 02:55:07 +00:00
Peter Steinberger
17d2951675
refactor: migrate extensions to plugin sdk
2026-01-18 02:55:07 +00:00
Peter Steinberger
72434aeab3
feat: persist session origin metadata across connectors
2026-01-18 02:42:10 +00:00
Peter Steinberger
29af0bc20a
feat(plugins): add memory slot plugin
2026-01-18 02:12:10 +00:00
Peter Steinberger
1b25107159
refactor: share allowlist match metadata
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:49:25 +00:00
Peter Steinberger
a9852693a6
refactor: share teams allowlist matching helpers
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:37:22 +00:00
Peter Steinberger
bca39a6561
refactor: unify channel config matching and gating
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:24:00 +00:00
Peter Steinberger
1a1ad8c7b0
fix: harden qwen oauth flow ( #1120 ) (thanks @mukhtharcm)
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
346be24388
UI: simplify Qwen labels
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
cbd5e36731
UI: label Qwen provider
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
712c5ae0a8
Models: add Qwen Portal OAuth support
2026-01-18 01:03:08 +00:00
Peter Steinberger
946f959d3f
refactor(channels): share allowlist + resolver helpers
2026-01-18 01:00:25 +00:00
Peter Steinberger
6ac6a3b3c7
feat(channels): add resolve command + defaults
2026-01-18 01:00:24 +00:00