Commit Graph

95 Commits

Author SHA1 Message Date
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
Peter Steinberger
386309ddd0 fix: enforce ws3 roles + node allowlist 2026-01-20 09:24:01 +00:00
Peter Steinberger
9d4a00d2e7 style: apply oxfmt 2026-01-19 01:11:42 +00:00
Peter Steinberger
ac5eb53f25 feat: add exec pathPrepend config 2026-01-19 00:35:43 +00:00
Peter Steinberger
7d2bd5d96e style: format code 2026-01-18 19:36:46 +00: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
e2bf2cdb9f feat(config): auto-enable configured plugins 2026-01-18 16:35:52 +00:00
Peter Steinberger
4c74a7e644 feat(memory): add gemini embeddings + auto select providers
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
2026-01-18 16:12:10 +00:00
Peter Steinberger
6117d6e876 feat: add gemini memory embeddings 2026-01-18 09:09:45 +00:00
Peter Steinberger
a41a69b6ae perf: improve batch status logging 2026-01-18 04:28:14 +00:00
Peter Steinberger
5fa9bee53c feat: add exec host approvals flow 2026-01-18 04:27:41 +00:00
Peter Steinberger
1148323e7b perf: speed up memory batch polling 2026-01-18 03:55:14 +00:00
Peter Steinberger
29af0bc20a feat(plugins): add memory slot plugin 2026-01-18 02:12:10 +00:00
Peter Steinberger
01b756d2ba feat: add hybrid memory search 2026-01-18 01:47:58 +00:00
Peter Steinberger
ca62c174c8 feat: add memory embedding cache 2026-01-18 01:47:58 +00:00
Peter Steinberger
70b29162ed feat: speed up memory batch indexing 2026-01-18 01:24:51 +00:00
Peter Steinberger
e8826f5045 feat: enable batch indexing by default 2026-01-17 23:29:40 +00:00
Peter Steinberger
132af4edc2 feat: add OpenAI batch memory indexing 2026-01-17 22:32:04 +00:00
Peter Steinberger
a29738f26d feat: add experimental session memory source 2026-01-17 18:53:52 +00:00
Peter Steinberger
38342f6637 style: apply oxfmt 2026-01-17 18:32:23 +00:00
Peter Steinberger
a009b9a673 feat: add sqlite-vec memory search acceleration 2026-01-17 18:02:34 +00:00
Peter Steinberger
1ef95dcebc feat: add gateway update check on start 2026-01-17 12:07:17 +00:00
Peter Steinberger
cf6b3bd145 feat: add update channel support 2026-01-17 11:40:05 +00:00
Peter Steinberger
ffd81e03ba feat: notify on exec exit 2026-01-17 05:43:34 +00:00
Peter Steinberger
f37b33c13e refactor: unify media understanding pipeline 2026-01-17 04:39:00 +00:00
Peter Steinberger
80f1e070cb feat: add inbound media understanding
Co-authored-by: Tristan Manchester <tmanchester96@gmail.com>
2026-01-17 03:54:46 +00:00
Peter Steinberger
9b9f2b6ce7 chore: format + regenerate protocol 2026-01-17 03:40:49 +00:00
Peter Steinberger
13edad91ee 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
28c999f8aa style: format health/status files 2026-01-17 01:25:10 +00:00
Shadow
9fbc21916a Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
Peter Steinberger
7457e80ade style: format with oxfmt 2026-01-17 00:03:00 +00:00
Peter Steinberger
491f45f058 feat: enhance web_fetch fallbacks 2026-01-17 00:00:49 +00:00
Peter Steinberger
f89fb0eeb9 feat: improve web_fetch readability extraction 2026-01-16 23:18:01 +00:00
Ruby
1ae19b55c9 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
ef2990e32d feat: expand skill command registration 2026-01-16 20:17:32 +00:00
Peter Steinberger
3c7f860e59 feat: scope telegram inline buttons 2026-01-16 20:16:41 +00:00
Peter Steinberger
d86a3d1294 chore: run format and fix sandbox browser timeouts 2026-01-16 09:18:58 +00:00
Peter Steinberger
7403145298 fix: tune remote CDP timeouts 2026-01-16 09:01:25 +00:00
Peter Steinberger
0725c8bb41 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
Peter Steinberger
ace70322b9 feat: add plugin update tracking 2026-01-16 05:55:05 +00:00
Ubuntu
7df03a2456 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
cc145407c3 feat: mac node exec policy + remote skills hot reload 2026-01-16 03:45:06 +00:00
Josh Lehman
36168e1ed3 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
juanpablodlc
ae2d725109 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
eb7149c0db fix: isolate Slack thread sessions (#758) 2026-01-15 08:11:03 +00:00
Peter Steinberger
b43499666f feat: add web tools 2026-01-15 04:07:40 +00:00
Peter Steinberger
649e5fb7dd feat: add provider-specific tool policies 2026-01-15 03:55:20 +00:00
Peter Steinberger
fec657e888 feat: load channel plugins 2026-01-15 02:42:44 +00:00
Peter Steinberger
77b165e7a9 feat(config): gate channel config writes 2026-01-15 01:41:15 +00:00
Peter Steinberger
9d28441c41 chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00