Commit Graph

4615 Commits

Author SHA1 Message Date
Peter Steinberger
51806c78b0 fix: default block streaming coalesce idle to 1s 2026-01-09 22:31:19 +01:00
Peter Steinberger
7bd3bf6bd6 refactor: normalize main session key handling 2026-01-09 22:30:15 +01:00
Peter Steinberger
9d4b7cbbff chore: set version to 2026.1.8 2026-01-09 22:22:32 +01:00
Peter Steinberger
3268cc4fbb fix(agents): sessions_spawn inherits provider (#528) 2026-01-09 22:21:33 +01:00
Peter Steinberger
a9677bc137 fix: harden onboarding for non-systemd environments 2026-01-09 22:17:09 +01:00
Peter Steinberger
a8a9f3ca32 refactor(agents): centralize failover normalization 2026-01-09 22:15:06 +01:00
Peter Steinberger
b0bd2082ad refactor: centralize main session key resolution 2026-01-09 22:13:20 +01:00
Peter Steinberger
9ddc9868cb Merge pull request #464 from austinm911/fix/slack-thread-replies
feat(slack): implement configurable reply threading
2026-01-09 21:10:39 +00:00
Peter Steinberger
2a9d689d80 fix(slack): mrkdwn + thread edge cases (#464) (thanks @austinm911) 2026-01-09 22:09:02 +01:00
Peter Steinberger
6cec9c0673 fix(auth): billing backoff + cooldown UX 2026-01-09 22:00:14 +01:00
Austin Mudd
0f605d2f2a Slack: fix message tool not passing threading context to handleSlackAction 2026-01-09 21:59:51 +01:00
Austin Mudd
c1cc07d4db Slack: add mrkdwn formatter for proper bold/italic/strikethrough rendering 2026-01-09 21:59:51 +01:00
Austin Mudd
ccce7cac8a fix: resolve merge conflicts and fix threading tests
- Update MessageToolOptions type to include Slack threading options
- Remove duplicate threadTs property in slack/actions.ts
- Fix replyThreadTs parameter name in monitor.ts
- Update test to correctly verify 'first' mode threading behavior:
  - 'off' mode: no threading unless already in a thread
  - 'first' mode: first reply starts a thread
- Add new test case for 'first' mode threading
2026-01-09 21:59:51 +01:00
Austin Mudd
680d8eca9d Slack: implement replyToMode threading for tool path
- Add shared hasRepliedRef state between auto-reply and tool paths
- Extract buildSlackThreadingContext helper in agent-runner.ts
- Extract resolveThreadTsFromContext helper in slack-actions.ts
- Update docs with clear replyToMode table (off/first/all)
- Add tests for first mode behavior across multiple messages
2026-01-09 21:59:51 +01:00
Austin Mudd
d5d8101606 Test: add threadTs passthrough test for Slack sendMessage 2026-01-09 21:59:27 +01:00
Austin Mudd
7ccc4ed43c Slack: expose threadTs in agent sendMessage tool for thread replies 2026-01-09 21:59:27 +01:00
Peter Steinberger
353f429501 fix: require explicit system event session keys 2026-01-09 21:59:01 +01:00
Peter Steinberger
40f4533c40 Merge pull request #607 from wes-davis/fix/launch-at-login-persistence
fix Mac app Launch at Login
2026-01-09 20:55:26 +00:00
Peter Steinberger
771a4d457d fix: avoid clearing Launch at Login on startup (#607) (thanks @wes-davis) 2026-01-09 21:54:26 +01:00
Wes
0e57beae0e fix(macos): prevent launch-at-login plist deletion on startup 2026-01-09 21:53:32 +01:00
Peter Steinberger
a10f65f26e fix(whatsapp): resolve lid mappings for inbound 2026-01-09 21:46:18 +01:00
Peter Steinberger
ba1e9058e7 feat: add per-agent elevated controls 2026-01-09 20:42:19 +00:00
Peter Steinberger
89bb87baa5 fix: broadcast group history consistency (#547) 2026-01-09 21:39:58 +01:00
Peter Steinberger
f1a8a712d4 refactor: harden broadcast groups 2026-01-09 21:39:58 +01:00
Peter Steinberger
c2341263ab refactor(agents): centralize failover handling 2026-01-09 21:31:18 +01:00
Peter Steinberger
2030ff833c refactor: centralize cli timeout parsing 2026-01-09 21:29:52 +01:00
Peter Steinberger
ebb58607a0 docs: update changelog 2026-01-09 21:27:51 +01:00
Peter Steinberger
bef4719947 fix: write clawdbot config atomically 2026-01-09 21:27:51 +01:00
Peter Steinberger
605c9aa2b3 feat: add config --section 2026-01-09 21:27:51 +01:00
Peter Steinberger
b433be8b7f refactor: centralize skills prompt resolution 2026-01-09 21:27:20 +01:00
Shadow
bae59b462b Docs: credit Docker cache PR 2026-01-09 14:24:45 -06:00
Zach Knickerbocker
4ac4a75fed Docker: cache deps layer for faster rebuilds (#605) 2026-01-09 14:23:06 -06:00
Peter Steinberger
036e25c00d fix: honor config timeout in tui 2026-01-09 21:22:50 +01:00
Peter Steinberger
46dec6ed7d fix: inject skills prompt list 2026-01-09 21:20:51 +01:00
Peter Steinberger
a0a8f13dc0 fix(discord): remove unused import 2026-01-09 21:18:26 +01:00
Peter Steinberger
aa134559b2 fix(agents): fail over on billing/credits errors 2026-01-09 21:17:07 +01:00
Peter Steinberger
55df1b0561 Merge pull request #547 from pasogott/feature/broadcast-groups
feat: add broadcast groups for multi-agent responses
2026-01-09 20:15:42 +00:00
Peter Steinberger
8bb8515c0e fix: land broadcast groups (#547) (thanks @pasogott) 2026-01-09 21:14:19 +01:00
Shadow
1b0734acc9 Docs: add PR 608 changelog entry 2026-01-09 14:12:38 -06:00
Nicholas Spisak
03517c1c06 fix(discord): add zombie connection detection with HELLO timeout
Add 30-second timeout after WebSocket opens to detect when Discord
never sends HELLO (zombie state). If isConnected stays false after
timeout, forces a fresh connection instead of hanging indefinitely.

Relates to #595
2026-01-09 14:12:38 -06:00
Nicholas Spisak
7df307d0c2 fix(discord): log gateway debug events for disconnect visibility
Add listener for Carbon GatewayPlugin 'debug' events to capture WebSocket
connection state changes. Critical events (close, reconnect, resume) are
logged at INFO level always; all debug messages logged in verbose mode.

Fixes #595
2026-01-09 14:12:38 -06:00
Peter Steinberger
570e118f24 feat(agents): add session_status tool 2026-01-09 21:09:42 +01:00
Peter Steinberger
244779ef8b fix(discord): log gateway reconnects 2026-01-09 21:06:19 +01:00
Peter Steinberger
f58a8178a1 fix: dedupe telegram updates 2026-01-09 21:06:06 +01:00
sheeek
0d298b134d feat: add broadcast groups for multi-agent responses
Enables multiple agents to process the same message simultaneously,
allowing teams of specialized agents with atomic tasks to work together
in the same group using one phone number.

Key features:
- Configure multiple agents per WhatsApp group/DM via routing.broadcast
- Parallel (default) or sequential processing strategies
- Full session isolation (separate history, workspace, tools per agent)
- Minimal code changes (~50 lines in auto-reply.ts)
- Backward compatible with existing routing

Use cases:
- Specialized agent teams (code reviewer + security scanner + docs)
- Multi-language support (EN + DE + ES agents)
- Quality assurance workflows (support + QA agents)
- Task automation (tracker + logger + reporter)

Example config:
{
  "routing": {
    "broadcast": {
      "strategy": "parallel",
      "120363403215116621@g.us": ["alfred", "baerbel", "assistant3"]
    }
  }
}

This enables scaling to hundreds of focused micro-agents on a single
phone number, each handling specific atomic tasks.
2026-01-09 21:05:58 +01:00
Shadow
a824c10a59 update carbon 2026-01-09 13:52:59 -06:00
Peter Steinberger
237f4732c0 style(macos): swiftformat cleanup 2026-01-09 19:49:12 +00:00
Peter Steinberger
9abd361be2 chore(swift): narrow formatter/lint scope 2026-01-09 19:49:12 +00:00
Peter Steinberger
9817df9b67 feat(telegram): inline keyboard buttons (#491)
Co-authored-by: Azade <azade@hey.com>
2026-01-09 20:47:03 +01:00
Peter Steinberger
dec00b95d0 chore: update clawtributors 2026-01-09 20:46:33 +01:00