Peter Steinberger
f5c84768ff
chore(format): oxfmt
2026-01-18 07:14:40 +00:00
Peter Steinberger
f86b24c511
refactor(session): centralize thread reset detection
...
Co-authored-by: Austin Mudd <austinm911@gmail.com>
2026-01-18 06:55:04 +00:00
Peter Steinberger
367826f6e4
feat(session): add daily reset policy
...
Co-authored-by: Austin Mudd <austinm911@gmail.com>
2026-01-18 06:37:37 +00:00
Peter Steinberger
f7fcfafb4c
fix: resolve lint after rebase
2026-01-18 06:30:01 +00:00
Peter Steinberger
8f7f7ee7dc
feat: add /exec session overrides
2026-01-18 06:12:54 +00:00
Peter Steinberger
1d8614c7c2
fix: align exec tool config and test timeouts
2026-01-18 06:12:53 +00:00
Peter Steinberger
2dabce59ce
feat(slash-commands): usage footer modes
2026-01-18 05:35:35 +00:00
Peter Steinberger
1ae415e395
fix: align agent exec config
2026-01-18 04:37:15 +00:00
Peter Steinberger
e4e1396a98
perf: improve batch status logging
2026-01-18 04:28:14 +00:00
Peter Steinberger
efdb33c975
feat: add exec host approvals flow
2026-01-18 04:27:41 +00:00
Peter Steinberger
82e49af5a7
fix: resolve plugin tool meta typing
2026-01-18 04:24:16 +00:00
Peter Steinberger
afb877a96b
perf: speed up memory batch polling
2026-01-18 03:55:14 +00:00
Peter Steinberger
0d9172d761
fix: persist session origin metadata
2026-01-18 03:41:51 +00:00
Peter Steinberger
5f22b68268
feat: add session origin metadata helpers
2026-01-18 02:42:11 +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
ccb30665f7
feat: add hybrid memory search
2026-01-18 01:47:58 +00:00
Peter Steinberger
0fb2777c6d
feat: add memory embedding cache
2026-01-18 01:47:58 +00:00
Peter Steinberger
8b1bec11d0
feat: speed up memory batch indexing
2026-01-18 01:24:51 +00:00
Peter Steinberger
1d83389776
Merge pull request #1131 from CMLKevin/feat/perplexity-search-provider
...
feat(web): add Perplexity Sonar as alternative search provider
2026-01-18 01:16:00 +00:00
Peter Steinberger
c7ea47e886
feat(channels): add resolve command + defaults
2026-01-18 01:00:24 +00:00
Kevin Lin
ff9d069a33
feat(web): add Perplexity Sonar as alternative search provider
2026-01-18 08:08:36 +08:00
Peter Steinberger
b60a53e10d
feat: enable batch indexing by default
2026-01-17 23:29:40 +00:00
Peter Steinberger
a31a79396b
feat: add OpenAI batch memory indexing
2026-01-17 22:32:04 +00:00
Peter Steinberger
0e49dca53c
feat: add experimental session memory source
2026-01-17 18:53:52 +00:00
Peter Steinberger
534a012a4e
style: apply oxfmt
2026-01-17 18:32:23 +00:00
Peter Steinberger
5a08471dcd
feat: add sqlite-vec memory search acceleration
2026-01-17 18:02:34 +00:00
Peter Steinberger
25d8043b9d
feat: add gateway update check on start
2026-01-17 12:07:17 +00:00
Peter Steinberger
a9f21b3d3a
feat: add update channel support
2026-01-17 11:40:05 +00:00
Peter Steinberger
f8e673cdbc
fix: block invalid config startup
...
Co-authored-by: Muhammed Mukhthar CM <mukhtharcm@gmail.com>
2026-01-17 10:25:24 +00:00
Peter Steinberger
d66bc65ca6
refactor: unify media provider options
2026-01-17 09:28:05 +00:00
Peter Steinberger
bbb71c9198
refactor: prune legacy group targets
2026-01-17 09:01:47 +00:00
Peter Steinberger
ae6792522d
feat: add deepgram audio options
2026-01-17 08:53:42 +00:00
Peter Steinberger
13b931c006
refactor: prune legacy group prefixes
2026-01-17 08:47:25 +00:00
Peter Steinberger
e6477363e9
refactor: normalize channel capabilities typing
2026-01-17 08:06:35 +00:00
Peter Steinberger
7cebe7a506
style: run oxfmt
2026-01-17 08:00:05 +00:00
Peter Steinberger
34d59d7913
refactor: rename hooks docs and add tests
2026-01-17 07:32:54 +00:00
Peter Steinberger
0c0d9e1d22
Merge pull request #1071 from danielz1z/fix/capabilities-object-format
...
fix: handle object-format capabilities in normalizeCapabilities
2026-01-17 07:31:52 +00:00
Peter Steinberger
3a6ee5ee00
feat: unify hooks installs and webhooks
2026-01-17 07:08:04 +00:00
Peter Steinberger
1f3a09b43b
fix: persist deliveryContext on last-route updates
...
Co-authored-by: Adam Holt <mail@adamholt.co.nz>
2026-01-17 06:54:31 +00:00
Peter Steinberger
37a2eee837
refactor: drop legacy session store keys
2026-01-17 06:48:44 +00:00
Peter Steinberger
65a8a93854
fix: normalize delivery routing context
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 06:38:33 +00:00
Peter Steinberger
285ed8bac3
fix: sync delivery routing context
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 06:02:27 +00:00
Peter Steinberger
e59d8c5436
style: oxfmt format
2026-01-17 05:48:56 +00:00
Peter Steinberger
8b42902cee
refactor: drop legacy room chatType
2026-01-17 05:46:40 +00:00
Peter Steinberger
07a3db153d
feat: notify on exec exit
2026-01-17 05:43:34 +00:00
Peter Steinberger
99dd428862
feat: extend verbose tool feedback
2026-01-17 05:33:39 +00:00
Peter Steinberger
f4f20c6762
refactor: normalize session route fields
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 05:29:06 +00:00
danielz1z
f42b12646d
fix: handle object-format capabilities in normalizeCapabilities
...
When capabilities is configured as an object (e.g., { inlineButtons: "dm" })
instead of a string array, normalizeCapabilities() would crash with
"capabilities.map is not a function".
This can occur when using the new Telegram inline buttons scoping feature:
channels.telegram.capabilities.inlineButtons = "dm"
The fix adds an Array.isArray() guard to return undefined for non-array
capabilities, allowing channel-specific handlers (like
resolveTelegramInlineButtonsScope) to process the object format separately.
Fixes crash when using object-format TelegramCapabilitiesConfig.
2026-01-17 05:11:57 +00:00
Peter Steinberger
fcb7c9ff65
refactor: unify media understanding pipeline
2026-01-17 04:39:00 +00:00
Peter Steinberger
87cecd0268
refactor: align channel chatType
2026-01-17 04:13:06 +00:00
Peter Steinberger
a2b5b1f0cb
refactor: normalize inbound context
2026-01-17 04:05:33 +00:00
Peter Steinberger
1b973f7506
feat: add inbound media understanding
...
Co-authored-by: Tristan Manchester <tmanchester96@gmail.com>
2026-01-17 03:54:46 +00:00
Peter Steinberger
a82217a5f3
chore: format + regenerate protocol
2026-01-17 03:40:49 +00:00
Peter Steinberger
46015a3dd8
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
fdaeada3ec
feat: mirror delivered outbound messages ( #1031 )
...
Co-authored-by: T Savo <TSavo@users.noreply.github.com>
2026-01-17 02:03:18 +00:00
Peter Steinberger
faba508fe0
feat: add internal hooks system
2026-01-17 01:31:57 +00:00
Peter Steinberger
e16ce1a0a1
style: format health/status files
2026-01-17 01:25:10 +00:00
Peter Steinberger
c592f395df
test: update health/status and legacy migration coverage
2026-01-17 01:19:43 +00:00
Peter Steinberger
f14d622c0f
refactor: centralize account bindings + health probes
2026-01-17 01:19:43 +00:00
Shadow
1ad26d6fea
Config: schema-driven channels and settings
2026-01-17 00:43:05 +00:00
Peter Steinberger
1be0e9b9fb
Merge pull request #1054 from tyler6204/fix/imsg-remote-attachments
...
iMessage: Add remote attachment support for VM/SSH deployments
2026-01-17 00:37:21 +00:00
Peter Steinberger
64a2ef4a18
refactor: simplify env var substitution scan
2026-01-17 00:34:00 +00:00
Peter Steinberger
25399d39cb
fix: harden env var substitution parsing ( #1044 ) (thanks @sebslight)
2026-01-17 00:29:08 +00:00
Peter Steinberger
731080375a
Merge pull request #1044 from sebslight/env-var-substitution
...
feat(config): add env var substitution in config values
2026-01-17 00:25:26 +00:00
Peter Steinberger
1569db1754
style: format with oxfmt
2026-01-17 00:03:00 +00:00
Peter Steinberger
c54c665f97
feat: enhance web_fetch fallbacks
2026-01-17 00:00:49 +00:00
Tyler Yust
7a9ff18260
iMessage: Add remote attachment support for VM/SSH deployments
2026-01-16 15:51:42 -08:00
Peter Steinberger
37fa4f7eef
feat: improve web_fetch readability extraction
2026-01-16 23:18:01 +00:00
Yurii Chukhlib
cf72b9db3c
fix(sessions): preserve 0600 permissions on sessions.json writes
2026-01-16 23:14:33 +00:00
Sebastian
a36735b913
feat(config): add env var substitution in config values
...
Support ${VAR_NAME} syntax in any config string value, substituted at
config load time. Useful for referencing API keys and secrets from
environment variables without hardcoding them in the config file.
- Only uppercase env vars matched: [A-Z_][A-Z0-9_]*
- Missing/empty env vars throw MissingEnvVarError with path context
- Escape with $${VAR} to output literal ${VAR}
- Works with $include (included files also get substitution)
Closes #1009
2026-01-16 16:32:07 -05:00
Timo Lins
beb9eac5f7
Models: add Vercel AI Gateway auth
2026-01-16 21:00:15 +00:00
Ruby
0cd24137e8
feat: add session.identityLinks for cross-platform DM session linking ( #1033 )
...
Co-authored-by: Shadow <shadow@clawd.bot>
2026-01-16 14:23:22 -06:00
Peter Steinberger
38b49aa0f6
feat: expand skill command registration
2026-01-16 20:17:32 +00:00
Peter Steinberger
69761e8a51
feat: scope telegram inline buttons
2026-01-16 20:16:41 +00:00
Peter Steinberger
4965727f39
chore: run format and fix sandbox browser timeouts
2026-01-16 09:18:58 +00:00
Peter Steinberger
6e53c061ff
fix: tune remote CDP timeouts
2026-01-16 09:01:25 +00:00
Peter Steinberger
929666a8c8
fix: add telegram custom commands ( #860 ) (thanks @nachoiacovino)
...
Co-authored-by: Nacho Iacovino <50103937+nachoiacovino@users.noreply.github.com>
2026-01-16 08:22:09 +00:00
Jamie Openshaw
72f28be648
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
54ec14262b
feat: add plugin update tracking
2026-01-16 05:55:05 +00:00
Peter Steinberger
1ab1e312b2
feat: add TLS for node bridge
2026-01-16 05:28:40 +00:00
Ubuntu
ca9688b5cc
feat(session): add dmScope for multi-user DM isolation
...
Co-authored-by: Alphonse-arianee <Alphonse-arianee@users.noreply.github.com>
2026-01-16 04:13:10 +00:00
Peter Steinberger
b2b331230b
feat: mac node exec policy + remote skills hot reload
2026-01-16 03:45:06 +00:00
Peter Steinberger
a5d8f89b53
feat(browser): prefer Chrome default + add Brave/Edge fallbacks
...
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-16 03:28:56 +00:00
Peter Steinberger
d9f9e93dee
feat!: move msteams to plugin
2026-01-16 02:59:43 +00:00
Peter Steinberger
61e385b331
feat: add per-agent heartbeat config
2026-01-16 01:17:34 +00:00
Peter Steinberger
8c3cdba21c
feat: sticky auth profile rotation + usage headers
2026-01-16 00:25:49 +00:00
void
e274b5a040
fix: heartbeat prompt + dedupe ( #980 ) (thanks @voidserf)
...
- tighten default heartbeat prompt guidance
- suppress duplicate heartbeat alerts within 24h
Co-authored-by: void <voidserf@users.noreply.github.com>
2026-01-16 00:24:52 +00:00
Josh Lehman
a139d35fa2
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
688a0ce439
refactor: harden session store updates
...
Co-authored-by: Tyler Yust <tyler6204@users.noreply.github.com>
2026-01-15 23:41:34 +00:00
juanpablodlc
4a99b9b651
feat(whatsapp): add debounceMs for batching rapid messages ( #971 )
...
* feat(whatsapp): add debounceMs for batching rapid messages
Add a `debounceMs` configuration option to WhatsApp channel settings
that batches rapid consecutive messages from the same sender into a
single response. This prevents triggering separate agent runs for
each message when a user sends multiple short messages in quick
succession (e.g., "Hey!", "how are you?", "I was wondering...").
Changes:
- Add `debounceMs` config to WhatsAppConfig and WhatsAppAccountConfig
- Implement message buffering in `monitorWebInbox` with:
- Map-based buffer keyed by sender (DM) or chat ID (groups)
- Debounce timer that resets on each new message
- Message combination with newline separator
- Single message optimization (no modification if only one message)
- Wire `debounceMs` through account resolution and monitor tuning
- Add UI hints and schema documentation
Usage example:
{
"channels": {
"whatsapp": {
"debounceMs": 5000 // 5 second window
}
}
}
Default behavior: `debounceMs: 0` (disabled by default)
Verified: All existing tests pass (3204 tests), TypeScript compilation
succeeds with no errors.
Implemented with assistance from AI coding tools.
Closes #967
* chore: wip inbound debounce
* fix: debounce inbound messages across channels (#971 ) (thanks @juanpablodlc)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-15 23:07:19 +00:00
Peter Steinberger
7dea403302
chore: purge DS_Store files
2026-01-15 22:59:16 +00:00
Peter Steinberger
8b89980a89
feat(date-time): standardize time context and tool timestamps
2026-01-15 22:27:06 +00:00
Peter Steinberger
2b1c26f900
fix: refine telegram reactions ( #964 ) (thanks @bohdanpodvirnyi)
2026-01-15 17:20:17 +00:00
Bohdan Podvirnyi
dfb6630de1
fix: remove dup definitions + add reaction config
2026-01-15 17:07:38 +00:00
Bohdan Podvirnyi
eb7656d68c
fix: lint errors
2026-01-15 17:07:38 +00:00
Bohdan Podvirnyi
0e1dcf9cb4
feat: added capability for clawdbot to react
2026-01-15 17:07:38 +00:00
Bohdan Podvirnyi
d05c3d0659
feat: make telegram reactions visible to clawdbot
2026-01-15 17:07:38 +00:00
Peter Steinberger
4275ed68a2
fix(browser): default to chrome extension takeover
2026-01-15 09:02:42 +00:00
Peter Steinberger
725a6b71dc
feat: add matrix channel plugin
2026-01-15 08:40:37 +00:00