Glucksberg
aef88cd9f1
test(telegram-tts): add unit tests for summarizeText function
...
- Export summarizeText in _test for testing
- Add 8 tests covering:
- Successful summarization with metrics
- OpenAI API call parameters verification
- targetLength validation (min/max boundaries)
- Error handling (API failures, empty responses)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 08:00:44 +00:00
Glucksberg
104d977d12
feat(telegram-tts): add latency logging, status tracking, and unit tests
...
- Add latency metrics to summarizeText and textToSpeech functions
- Add /tts_status command showing config and last attempt result
- Add /tts_summary command for feature flag control
- Fix atomic write to clean up temp file on rename failure
- Add timer.unref() to prevent blocking process shutdown
- Add unit tests for validation functions (13 tests)
- Update README with new commands and features
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 08:00:44 +00:00
Glucksberg
4b24753be7
feat(telegram-tts): add /tts_limit command and auto-summarization
...
- Add /tts_limit command to configure max text length (default 1500)
- Auto-summarize long texts with gpt-4o-mini before TTS conversion
- Add truncation safeguard if summary exceeds hard limit
- Validate targetLength parameter (100-10000)
- Use conservative max_tokens for multilingual text
- Add prompt injection defense with XML delimiters
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 08:00:44 +00:00
Glucksberg
df09e583aa
feat(telegram-tts): add auto-TTS hook and provider switching
...
- Integrate message_sending hook into Telegram delivery path
- Send text first, then audio as voice message after
- Add /tts_provider command to switch between OpenAI and ElevenLabs
- Implement automatic fallback when primary provider fails
- Use gpt-4o-mini-tts as default OpenAI model
- Add hook integration to route-reply.ts for other channels
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 08:00:44 +00:00
Glucksberg
46e6546bb9
feat(telegram-tts): make extension self-contained with direct API calls
...
- Remove sag CLI dependency
- Add direct ElevenLabs API integration via fetch
- Add OpenAI TTS as alternative provider
- Support multi-provider configuration
- Add tts.providers RPC method
- Update config schema with OpenAI options
- Bump version to 0.2.0
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 08:00:44 +00:00
Glucksberg
5428c97685
feat(extensions): add telegram-tts extension for voice responses
...
Add a new extension that provides automatic text-to-speech for chat
responses using ElevenLabs API.
Features:
- `speak` tool for converting text to voice messages
- RPC methods: tts.status, tts.enable, tts.disable, tts.convert
- User preferences file for persistent TTS state
- Configurable voice ID, model, and max text length
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 08:00:44 +00:00
Adam Holt
c07949a99c
Channels: add per-group tool policies
2026-01-24 05:49:39 +00:00
Peter Steinberger
309fcc5321
fix: publish llm-task docs and harden tool
2026-01-24 01:44:51 +00:00
Vignesh
95d45c0aa7
feat: add optional llm-task JSON-only tool ( #1498 )
...
* feat(llm-task): add optional JSON-only LLM task tool
* fix(llm-task): fix invalid package.json
* fix(llm-task): fix invalid plugin manifest JSON
* fix(llm-task): fix index.ts import quoting
* fix(llm-task): load embedded runner from src or bundled dist
2026-01-24 01:18:47 +00:00
Travis
89283aa788
Plugins: move clawdbot to devDependencies + add zod
2026-01-24 00:42:33 +00:00
Peter Steinberger
75cb78a5b1
chore: drop tlon node_modules
2026-01-24 00:25:39 +00:00
Peter Steinberger
791b568f78
feat: add tlon channel plugin
2026-01-24 00:25:39 +00:00
william arzt
d46642319b
Add Tlon/Urbit channel plugin
...
Adds built-in Tlon (Urbit) channel plugin to support decentralized messaging on the Urbit network.
Features:
- DM and group chat support
- SSE-based real-time message monitoring
- Auto-discovery of group channels
- Thread replies and reactions
- Integration with Urbit's HTTP API
This resolves cron delivery issues with external Tlon plugins by making it a first-class built-in channel alongside Telegram, Signal, and other messaging platforms.
Implementation includes:
- Plugin registration via ClawdbotPluginApi
- Outbound delivery with sendText and sendMedia
- Gateway adapter for inbound message handling
- Urbit SSE client for event streaming
- Core bridge for Clawdbot runtime integration
Co-authored-by: William Arzt <william@arzt.co>
2026-01-24 00:25:38 +00:00
Christof
ef777d6bb6
fix(msteams): remove .default suffix from graph scopes ( #1507 )
...
The @microsoft/agents-hosting SDK's MsalTokenProvider automatically
appends `/.default` to all scope strings in its token acquisition
methods (acquireAccessTokenViaSecret, acquireAccessTokenViaFIC,
acquireAccessTokenViaWID, acquireTokenWithCertificate in
msalTokenProvider.ts). This is consistent SDK behavior, not a recent
change.
Our code was including `.default` in scope URLs, resulting in invalid
double suffixes like `https://graph.microsoft.com/.default/.default `.
This was confirmed to cause Graph API authentication errors. Removing
the `.default` suffix from our scope strings allows the SDK to append
it correctly, resolving the issue.
Before: we pass `.default` -> SDK appends -> double `.default` (broken)
After: we pass base URL -> SDK appends -> single `.default` (works)
Co-authored-by: Christof Salis <c.salis@vertifymed.com>
2026-01-24 00:07:22 +00:00
Peter Steinberger
aeb6b2ffad
refactor: standardize channel logging
2026-01-23 23:34:30 +00:00
Peter Steinberger
07ce1d73ff
refactor: standardize control command gating
2026-01-23 23:34:30 +00:00
Peter Steinberger
1113f17d4c
refactor: share reply prefix context
2026-01-23 23:34:30 +00:00
Peter Steinberger
8252ae2da1
refactor: unify typing callbacks
2026-01-23 23:33:32 +00:00
Peter Steinberger
d82ecaf9dc
refactor: centralize inbound session updates
2026-01-23 23:33:32 +00:00
Peter Steinberger
521ea4ae5b
refactor: unify pending history helpers
2026-01-23 23:33:32 +00:00
Peter Steinberger
cb8c8fee9a
refactor: centralize ack reaction removal
2026-01-23 23:32:14 +00:00
Peter Steinberger
02bd6e4a24
refactor: centralize ack reaction gating
2026-01-23 22:24:31 +00:00
Peter Steinberger
4ee70be690
chore: bump version to 2026.1.23
2026-01-23 22:14:56 +00:00
Peter Steinberger
b77e730657
fix: add per-channel markdown table conversion ( #1495 ) (thanks @odysseus0)
2026-01-23 18:39:25 +00:00
Peter Steinberger
6d2a1ce217
test: trim async waits in webhook tests
2026-01-23 18:34:33 +00:00
Peter Steinberger
c48751a99c
chore: sync plugin versions for 2026.1.22
2026-01-23 08:18:55 +00:00
Peter Steinberger
070944f64f
test(memory): speed up batch coverage
2026-01-23 06:22:09 +00:00
Peter Steinberger
eebd750781
fix: improve matrix direct room resolution ( #1436 ) (thanks @sibbl) ( #1486 )
...
* fix: improve matrix direct room resolution (#1436 ) (thanks @sibbl)
* docs: update changelog for matrix fix (#1486 ) (thanks @sibbl)
2026-01-23 05:38:04 +00:00
Sebastian Schubotz
aa11300175
fix(matrix): broken import and enhance direct room resolve logic ( #1436 )
...
* fix(matrix): fix broken import again
* fix(matrix): improve error handling and fallback logic in resolveDirectRoomId
2026-01-23 05:35:01 +00:00
Stefan Galescu
7b40d1b261
feat(slack): add dm-specific replyToMode configuration ( #1442 )
...
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.
2026-01-23 05:13:23 +00:00
Peter Steinberger
784468d6c3
fix: harden BlueBubbles voice memos ( #1477 ) (thanks @Nicell)
2026-01-23 04:38:08 +00:00
Clawd
02b5f403db
feat(bluebubbles): add asVoice support for voice memos
...
Add asVoice parameter to sendBlueBubblesAttachment that converts audio
to iMessage voice memo format (Opus CAF at 48kHz) and sets isAudioMessage
flag in the BlueBubbles API.
This follows the existing asVoice pattern used by Telegram.
- Convert audio to Opus CAF format using ffmpeg when asVoice=true
- Set isAudioMessage=true in BlueBubbles attachment API
- Pass asVoice through action handler and media-send
2026-01-23 04:34:19 +00:00
Peter Steinberger
d62a20fba9
chore: add open-prose license
2026-01-23 03:53:03 +00:00
Peter Steinberger
ea79b26b79
feat: extend lobster tool run args
2026-01-23 03:09:59 +00:00
Peter Steinberger
279f799388
fix: harden Mattermost plugin gating ( #1428 ) (thanks @damoahdominic)
2026-01-23 01:23:23 +00:00
Peter Steinberger
1d658109a8
docs: remove OpenProse telemetry mentions
2026-01-23 01:20:30 +00:00
Peter Steinberger
51a9053387
feat: add OpenProse plugin skills
2026-01-23 00:49:40 +00:00
Dominic Damoah
01579aa7d7
Merge branch 'main' into feat/mattermost-channel
2026-01-22 18:17:40 -05:00
Peter Steinberger
3993c9a3b4
fix: stop BlueBubbles typing on idle/no-reply ( #1439 ) (thanks @Nicell)
2026-01-22 21:33:19 +00:00
Clawd
f552820a75
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
495a39b5a9
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
d47db55106
chore: sync plugin versions
2026-01-22 10:32:53 +00:00
Dominic Damoah
fe77d3eb56
Merge branch 'main' into feat/mattermost-channel
2026-01-22 02:49:17 -05:00
Peter Steinberger
13dab38a26
fix: retry lobster spawn on windows
2026-01-22 04:31:25 +00:00
Peter Steinberger
51cd9c7ff4
fix: make lobster tool tests windows-safe
2026-01-22 03:58:05 +00:00
Peter Steinberger
0f7f7bb95f
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
40757a8c18
fix: stabilize lobster tool subprocess
2026-01-22 03:20:23 +00:00
Peter Steinberger
f4b3f33c8e
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
3ad0d2fe23
chore: bump version to 2026.1.21
2026-01-22 01:59:16 +00:00
Peter Steinberger
1b947dcdf9
chore: update dependencies
2026-01-22 01:47:43 +00:00
Peter Steinberger
06e496540f
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
bf6df6d6b7
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
45c1ccdfcf
refactor: unify threading contexts
2026-01-21 20:35:12 +00:00
Peter Steinberger
cd25d69b4d
fix: harden bluebubbles short ids and fetch wrapper ( #1369 ) (thanks @tyler6204)
2026-01-21 17:09:15 +00:00
Peter Steinberger
c3adc50cb2
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
a90fe1b245
Refs #1378 : scaffold zalouser extension
2026-01-21 19:48:21 +07:00
Peter Steinberger
43ea7665ef
chore: bump bluebubbles to 2026.1.21-1
2026-01-21 09:43:19 +00:00
Peter Steinberger
1e10dc1d3b
fix: use plugin-sdk exports in bluebubbles
2026-01-21 09:03:09 +00:00
Tyler Yust
9b9bbae501
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
7bfc32fe33
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
b073deee20
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
cb7791c8a4
chore: release 2026.1.20-2
2026-01-21 08:30:33 +00:00
Peter Steinberger
bc8a59faa4
chore: release 2026.1.20-1
2026-01-21 07:37:22 +00:00
Peter Steinberger
6734f2d71c
fix: wire OTLP logs for diagnostics
2026-01-20 22:51:47 +00:00
Peter Steinberger
2dfd3b9a81
chore: drop nostr node_modules links
2026-01-20 20:15:56 +00:00
Peter Steinberger
7b6cbf5869
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
5c4079f66c
feat: add diagnostics events and otel exporter
2026-01-20 18:56:15 +00:00
Peter Steinberger
e3a99aa2ce
refactor: split matrix provider modules
2026-01-20 14:32:04 +00:00
Peter Steinberger
f067ea25b4
fix: align zalouser status + schema
2026-01-20 13:32:11 +00:00
Peter Steinberger
fdb171cb15
refactor: centralize channel ui metadata
2026-01-20 13:11:49 +00:00
Peter Steinberger
6f9861bb9b
chore: update deps
2026-01-20 13:06:16 +00:00
Peter Steinberger
9a2bf57e1c
refactor: extend channel plugin boundary
2026-01-20 12:07:54 +00:00
Tyler Yust
95f82154f7
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
7bc3998451
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
d029ceab1c
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
c331bdc27d
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
b0b42b4e14
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
20bc89d96c
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
199fef2a5e
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
d9a2ac7e72
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
a16934b2ab
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
14a072f5fa
feat: add support for setting group icons in BlueBubbles, enhancing group management capabilities
2026-01-20 12:07:54 +00:00
Tyler Yust
574b848863
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
2e6c58bf75
feat: improve BlueBubbles message action error handling and enhance channel action descriptions
2026-01-20 12:07:54 +00:00
Tyler Yust
a5d89e6eb1
feat: enhance BlueBubbles channel integration with new messaging target normalization and typing indicator improvements
2026-01-20 12:07:54 +00:00
Tyler Yust
1eab8fa9b0
Step 5 + Review
2026-01-20 12:07:54 +00:00
Tyler Yust
2cf444be02
Step 4 (Needs Review)
2026-01-20 12:07:54 +00:00
Tyler Yust
7870ce8177
Step 3 + Review
2026-01-20 12:07:54 +00:00
Tyler Yust
e9d691d472
(Step 2) Phase 2 & 3 Complete + Reviewed
2026-01-20 12:07:54 +00:00
Tyler Yust
ac2fcfe96a
Phase 0 + Review
2026-01-20 12:07:54 +00:00
Peter Steinberger
d91f0ceeb3
fix: polish matrix e2ee storage ( #1298 ) (thanks @sibbl)
2026-01-20 11:59:36 +00:00
Sebastian Schubotz
9b71382efb
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
7e08de4a5f
fix: add nextcloud talk manifest ( #1297 ) (thanks @ysqander)
2026-01-20 11:38:11 +00:00
Peter Steinberger
660f87278c
refactor: plugin catalog + nextcloud policy
2026-01-20 11:22:27 +00:00
Shadow
2f6d5805de
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
e071493bb3
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
80dae2e5e8
Voice-call: avoid streaming on notify callbacks
2026-01-18 20:27:23 -08:00
Ghost
60b87826bb
Voice-call: fix Twilio status callbacks
2026-01-18 20:20:53 -08:00
Ghost
b04b51d2c4
Voice-call: fix Twilio signature ordering
2026-01-18 20:03:13 -08:00
Peter Steinberger
d1e9490f95
fix: enforce strict config validation
2026-01-19 03:39:25 +00:00
Ghost
cb7edb669f
Voice-call: fix tailscale tunnel path
2026-01-18 18:59:58 -08:00
Peter Steinberger
d198474415
feat: resolve allowlists in channel plugins
2026-01-18 22:52:00 +00:00
Peter Steinberger
bf925e5758
chore: rename memory-lancedb extension folder
2026-01-18 22:27:22 +00:00
Vignesh Natarajan
9497ffcc50
Add SKILL.md to teach Clawdbot when/how to use Lobster
2026-01-18 12:11:25 -08:00
Peter Steinberger
744d1329cb
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
d024dceef7
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
e156320c51
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
f06ce98312
refactor: rename lancedb memory plugin
2026-01-18 15:48:05 +00:00
Peter Steinberger
9c0773c469
chore: update dependencies
2026-01-18 14:16:04 +00:00
Peter Steinberger
858a5f48d8
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
20c26eb303
fix: prevent sqlite-vec duplicate id failures
2026-01-18 13:55:56 +00:00
Sebastian Schubotz
234fe5b5cd
fix(matrix): remove redundant allowFrom assignment in monitorMatrixProvider
2026-01-18 14:05:08 +01:00
Peter Steinberger
e944f21ec0
test: drop core runtime import in matrix directory
2026-01-18 11:03:27 +00:00
Peter Steinberger
ee6e534ccb
refactor: route channel runtime via plugin api
2026-01-18 11:01:16 +00:00
Peter Steinberger
c5e19f5c67
refactor: migrate messaging plugins to sdk
2026-01-18 08:54:00 +00:00
Peter Steinberger
30338ce1a7
refactor: share memory plugin config helpers
2026-01-18 07:24:16 +00:00
Radek Paclt
ebfeb7a6bf
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
bb8f08734a
build: package memory-core as a workspace plugin
2026-01-18 06:30:01 +00:00
Peter Steinberger
154d4a43db
build: export plugin-sdk for extensions
2026-01-18 05:40:10 +00:00
Peter Steinberger
89c5185f1c
feat: migrate zalouser plugin to sdk
...
# Conflicts:
# CHANGELOG.md
2026-01-18 05:17:40 +00:00
Vignesh Natarajan
e011c764a7
Gate lobster plugin tool in sandboxed contexts
2026-01-17 20:33:31 -08:00
Peter Steinberger
fa1079214b
fix: include query in Twilio webhook verification
2026-01-18 04:25:28 +00:00
Vignesh Natarajan
b2650ba672
Move lobster integration to optional plugin tool
2026-01-17 20:18:54 -08:00
Peter Steinberger
0d9172d761
fix: persist session origin metadata
2026-01-18 03:41:51 +00:00
Peter Steinberger
b6d470a679
feat: migrate zalo plugin to sdk
2026-01-18 03:37:26 +00:00
Peter Steinberger
6cc57ae772
feat: add bluebubbles plugin
2026-01-18 03:17:43 +00:00
Peter Steinberger
67f63ecd7e
chore: remove tracked artifacts
2026-01-18 02:55:07 +00:00
Peter Steinberger
1420d113d8
refactor: migrate extensions to plugin sdk
2026-01-18 02:55:07 +00:00
Peter Steinberger
34590d2144
feat: persist session origin metadata across connectors
2026-01-18 02:42:10 +00:00
Peter Steinberger
9fd9f4c896
feat(plugins): add memory slot plugin
2026-01-18 02:12:10 +00:00
Peter Steinberger
62354dff9c
refactor: share allowlist match metadata
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:49:25 +00:00
Peter Steinberger
c1da78a271
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
f73dbdbaea
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
fc45148155
fix: harden qwen oauth flow ( #1120 ) (thanks @mukhtharcm)
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
215c395fc2
UI: simplify Qwen labels
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
b56b67cdbd
UI: label Qwen provider
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
8eb80ee40a
Models: add Qwen Portal OAuth support
2026-01-18 01:03:08 +00:00
Peter Steinberger
075ff675ac
refactor(channels): share allowlist + resolver helpers
2026-01-18 01:00:25 +00:00
Peter Steinberger
c7ea47e886
feat(channels): add resolve command + defaults
2026-01-18 01:00:24 +00:00
Peter Steinberger
a5aa48beea
feat: add dm allowlist match metadata logs
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 00:14:44 +00:00
Peter Steinberger
fe00d6aacf
feat: add matrix room match metadata logs
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 00:00:00 +00:00
Peter Steinberger
984692cda2
refactor: reuse channel config resolver in matrix extension
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-17 23:53:05 +00:00
Peter Steinberger
4c12c4fc04
feat: add channel match metadata logs
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-17 23:48:45 +00:00
Peter Steinberger
361a17415f
chore: release 2026.1.17-1
2026-01-17 20:26:24 +00:00
Peter Steinberger
a7c0887f94
feat: add per-provider scope probes to channels capabilities
2026-01-17 19:28:52 +00:00
Peter Steinberger
b0f44acf9e
chore: bump versions to 2026.1.17
2026-01-17 19:16:35 +00:00
Peter Steinberger
a8d9d630bc
fix: handle legacy matrix polls ( #1088 ) (thanks @sibbl)
2026-01-17 17:27:12 +00:00
Sebastian Schubotz
b78b06353a
feat(matrix): add specific voice message + image sending extending generic attachment sending
2026-01-17 17:12:38 +00:00
Sebastian Schubotz
c49b6cc241
fix(matrix): fix sending being broken by normalizing thread ID normalization in message sending functions; improve matrix types
2026-01-17 17:12:38 +00:00
Peter Steinberger
34c3fbc66c
chore: set extension versions to 2026.1.16
2026-01-17 11:40:25 +00:00
Peter Steinberger
ed5c5629f6
fix: cut 2026.1.16-1 beta
2026-01-17 11:12:43 +00:00
Peter Steinberger
9b9836be71
fix: repair 2026.1.16 beta pack
2026-01-17 11:08:37 +00:00
Peter Steinberger
22cd839cb2
fix: include media-understanding in npm pack
2026-01-17 11:03:46 +00:00
Peter Steinberger
c874fa9712
chore: bump 2026.1.16 for beta
2026-01-17 10:49:49 +00:00
Peter Steinberger
69ba2765de
refactor(security): harden CommandAuthorized plumbing
2026-01-17 10:19:34 +00:00
Peter Steinberger
a6deb0d9d5
feat: bundle provider auth plugins
...
Co-authored-by: ItzR3NO <ItzR3NO@users.noreply.github.com>
2026-01-17 09:38:53 +00:00
Peter Steinberger
13b931c006
refactor: prune legacy group prefixes
2026-01-17 08:47:25 +00:00
Peter Steinberger
56f3a2de25
fix(security): default-deny command execution
2026-01-17 08:28:09 +00:00
Peter Steinberger
d5fdda8e28
refactor: prune room legacy
2026-01-17 07:41:24 +00:00
Peter Steinberger
07c93dfd30
refactor: streamline target resolver helpers
2026-01-17 07:34:26 +00:00
Peter Steinberger
6a3ed5c850
fix(security): gate slash/control commands
2026-01-17 06:49:34 +00:00
Peter Steinberger
331141ad77
refactor: centralize message target resolution
...
Co-authored-by: Thinh Dinh <tobalsan@users.noreply.github.com>
2026-01-17 06:04:49 +00:00
Peter Steinberger
bc49c20434
fix: finalize inbound contexts
2026-01-17 05:06:39 +00:00
Peter Steinberger
ee738e6578
test: fix mocks for target resolver
2026-01-17 04:41:02 +00:00
Peter Steinberger
5fcc9b3244
refactor: centralize target errors and cache lookups
2026-01-17 04:28:22 +00:00
Peter Steinberger
8ebfa2950d
refactor: align message target wording
2026-01-17 04:18:59 +00:00
Peter Steinberger
a2b5b1f0cb
refactor: normalize inbound context
2026-01-17 04:05:33 +00:00
Peter Steinberger
3af391eec7
refactor: centralize group sender identity
2026-01-17 03:32:48 +00:00
Peter Steinberger
7ecf733342
fix: align channel config schemas and env precedence
2026-01-17 00:43:05 +00:00
Shadow
1ad26d6fea
Config: schema-driven channels and settings
2026-01-17 00:43:05 +00:00
Peter Steinberger
e31251293b
fix: scope history injection to pending-only
2026-01-16 23:52:42 +00:00
Peter Steinberger
56ed5cc2d9
fix: prefer config over env for matrix creds
2026-01-16 23:24:18 +00:00
Peter Steinberger
59f6ea9b21
feat: directory for plugin channels
2026-01-16 22:40:36 +00:00
Peter Steinberger
05d149a49b
fix: treat reply-to-bot as implicit mention across channels
2026-01-16 21:51:01 +00:00
tsu
390bd11f33
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
1656f491fd
fix: normalize pairing aliases and webhook guard ( #991 ) (thanks @longmaba)
2026-01-16 04:55:16 +00:00
Peter Steinberger
a057b3c9e8
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
Peter Steinberger
236b27cb3a
docs: align plugin changelogs
2026-01-16 04:15:48 +00:00
Peter Steinberger
1634abf293
docs: expand msteams plugin changelog
2026-01-16 04:15:48 +00:00
Long
c0c9742e44
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
d9f9e93dee
feat!: move msteams to plugin
2026-01-16 02:59:43 +00:00
Peter Steinberger
2d1ae0916f
chore: start 2026.1.15 (unreleased)
2026-01-15 16:47:19 +00:00
Peter Steinberger
3b7b45c29e
chore: align plugin versions
2026-01-15 10:51:16 +00:00
Peter Steinberger
52f876bfbc
fix: native command arg menus follow-ups ( #936 ) (thanks @thewilloftheshadow)
2026-01-15 09:33:31 +00:00
Peter Steinberger
e0f69a2294
docs: align matrix changelog to first release
2026-01-15 09:07:48 +00:00
Peter Steinberger
1afdb850f3
chore: add matrix changelog
2026-01-15 08:40:37 +00:00
Peter Steinberger
725a6b71dc
feat: add matrix channel plugin
2026-01-15 08:40:37 +00:00
Peter Steinberger
3e6917c8ae
fix: restore notify init + Plivo numbers ( #846 ) (thanks @vrknetha)
2026-01-15 07:28:14 +00:00
vrknetha
2579609922
Voice Call: fix Plivo webhook method typing
2026-01-15 07:21:40 +00:00
vrknetha
946b0229e8
Voice Call: add Plivo provider
2026-01-15 07:21:40 +00:00
Peter Steinberger
48b15bd099
chore: sync plugin versions
2026-01-15 07:07:48 +00:00
Peter Steinberger
0cbfea79fa
docs(cli): add per-command CLI pages
2026-01-15 06:13:10 +00:00
Peter Steinberger
5abe3c2145
feat: add plugin HTTP hooks + Zalo plugin
2026-01-15 05:04:09 +00:00
Peter Steinberger
b5f7ba502d
refactor(voice-call): split manager
2026-01-14 05:40:19 +00:00
Peter Steinberger
e4c3c02a36
refactor(voice-call): split twilio provider
2026-01-14 01:17:56 +00:00
Peter Steinberger
119e53967b
chore(voice-call): release 0.1.0
2026-01-13 11:10:29 +00:00
Peter Steinberger
1920138122
docs: add voice-call plugin changelog
2026-01-12 22:34:13 +00:00
Peter Steinberger
42c17adb5e
feat: restore voice-call plugin parity
2026-01-12 21:44:19 +00:00
Peter Steinberger
828d9955f2
docs(voice-call): add Twilio setup guide
2026-01-12 02:16:14 +00:00
Peter Steinberger
07f1280cb0
docs: expand plugin quickstart
2026-01-12 01:27:48 +00:00
Peter Steinberger
2f4a248314
feat: plugin system + voice-call
2026-01-12 01:16:39 +00:00
Peter Steinberger
367baaca20
feat: implement voice-call plugin
2026-01-11 23:23:14 +00:00
Peter Steinberger
cf0c72a557
feat: add plugin architecture
2026-01-11 12:11:12 +00:00