Peter Steinberger
05b8679c8b
feat: add providers CLI and multi-account onboarding
2026-01-08 01:55:59 +01:00
Peter Steinberger
17d052bcda
fix: polish reply threading + tool dedupe (thanks @mneves75) ( #326 )
2026-01-08 00:50:47 +00:00
mneves75
33e2d53be3
feat(telegram): wire replyToMode config, add forum topic support, fix messaging tool duplicates
...
Changes:
- Default replyToMode from "off" to "first" for better threading UX
- Add messageThreadId and replyToMessageId params for forum topic support
- Add messaging tool duplicate detection to suppress redundant block replies
- Add sendMessage action to telegram tool schema
- Add @grammyjs/types devDependency for proper TypeScript typing
- Remove @ts-nocheck and fix all type errors in send.ts
- Add comprehensive docs/telegram.md documentation
- Add PR-326-REVIEW.md with John Carmack-level code review
Test coverage:
- normalizeTextForComparison: 5 cases
- isMessagingToolDuplicate: 7 cases
- sendMessageTelegram thread params: 5 cases
- handleTelegramAction sendMessage: 4 cases
- Forum topic isolation: 4 cases
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 00:50:47 +00:00
Peter Steinberger
145fe1cec7
refactor(sandbox): unify scope + per-agent overrides
2026-01-08 01:17:55 +01:00
Peter Steinberger
4f58e6aa7c
feat(sandbox): per-agent docker overrides
2026-01-08 01:06:14 +01:00
Peter Steinberger
b03a1ad814
feat(sandbox): per-agent docker setupCommand
2026-01-08 00:52:22 +01:00
Peter Steinberger
67d1f61872
fix: harden session caching and topic transcripts
2026-01-07 22:51:26 +00:00
hsrvc
5400766b3c
Optimize multi-topic performance with TTL-based session caching
...
Add in-memory TTL-based caching to reduce file I/O bottlenecks in message processing:
1. Session Store Cache (45s TTL)
- Cache entire sessions.json in memory between reads
- Invalidate on writes to ensure consistency
- Reduces disk I/O by ~70-80% for active conversations
- Controlled via CLAWDBOT_SESSION_CACHE_TTL_MS env var
2. SessionManager Pre-warming
- Pre-warm .jsonl conversation history files into OS page cache
- Brings SessionManager.open() from 10-50ms to 1-5ms
- Tracks recently accessed sessions to avoid redundant warming
3. Configuration Support
- Add SessionCacheConfig type with cache control options
- Enable/disable caching and set custom TTL values
4. Testing
- Comprehensive unit tests for cache functionality
- Test cache hits, TTL expiration, write invalidation
- Verify environment variable overrides
This fixes the slowness reported with multiple Telegram topics/channels.
Expected performance gains:
- Session store loads: 99% faster (1-5ms → 0.01ms)
- Overall message latency: 60-80% reduction for multi-topic workloads
- Memory overhead: < 1MB for typical deployments
- Disk I/O: 70-80% reduction in file reads
Rollback: Set CLAWDBOT_SESSION_CACHE_TTL_MS=0 to disable caching
🤖 Generated with Claude Code
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-07 22:51:26 +00:00
Peter Steinberger
434c25331e
refactor: centralize typing mode signals
2026-01-07 22:18:11 +00:00
Peter Steinberger
bac1608933
feat: add typing mode controls
2026-01-07 21:58:54 +00:00
Peter Steinberger
ef644b8369
fix: suppress whatsapp pairing in self-phone mode
2026-01-07 20:49:58 +01:00
Peter Steinberger
de55f4e111
fix: add provider retry policy
2026-01-07 17:48:19 +00:00
Max Sumrall
eeaa6ea46f
feat(agent): opt-in tool-result context pruning
2026-01-07 18:00:14 +01:00
Peter Steinberger
573fe74a9c
fix: per-agent sandbox overrides
2026-01-07 17:31:40 +01:00
sheeek
c115918c97
feat(types): add sandbox and tools fields to routing.agents
...
Add optional per-agent configuration:
- sandbox: { mode, scope, perSession, workspaceRoot }
- tools: { allow, deny }
These will allow agents to override global agent.sandbox and
agent.tools settings.
2026-01-07 17:31:40 +01:00
Peter Steinberger
1011640a13
refactor: drop autoReply, add topic requireMention
...
Co-authored-by: kitze <kristijan.mkd@gmail.com>
2026-01-07 12:07:15 +01:00
Peter Steinberger
43c6bb7595
feat: add channel/topic overrides for skills + auto-reply
2026-01-07 11:44:37 +01:00
Peter Steinberger
a700f9896d
feat: telegram draft streaming
2026-01-07 11:08:32 +01:00
Peter Steinberger
0914517ee3
feat(sandbox): add workspace access mode
2026-01-07 09:33:38 +00:00
Peter Steinberger
7973fd4caf
feat: add agents command
2026-01-07 10:03:53 +01:00
Peter Steinberger
75c66acfd8
feat: update subagent announce + archive
2026-01-07 06:53:01 +01:00
Peter Steinberger
3afef2d504
feat: unify provider reaction tools
2026-01-07 04:16:39 +01:00
Sash Zats
551a8d5683
Add WhatsApp reactions support
...
Summary:
Test Plan:
2026-01-07 04:16:39 +01:00
Peter Steinberger
467d4e17fe
feat: add sandbox scope default
2026-01-07 02:52:41 +01:00
Peter Steinberger
7aa7fa79d0
feat: update heartbeat defaults
2026-01-06 21:54:42 +00:00
Shadow
9b22e1f6e9
feat(commands): unify chat commands ( #275 )
...
* Chat commands: registry, access groups, Carbon
* Chat commands: clear native commands on disable
* fix(commands): align command surface typing
* docs(changelog): note commands registry (PR #275 )
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-06 20:17:56 +00:00
Peter Steinberger
dbfa316d19
feat: multi-agent routing + multi-account providers
2026-01-06 18:33:37 +00:00
Onur
6cf3570c5b
feat(agent): add skipBootstrap config to skip bootstrap file creation ( #292 )
2026-01-06 11:02:51 -06:00
Peter Steinberger
967cef80bc
fix(security): lock down inbound DMs by default
2026-01-06 17:51:56 +01:00
Peter Steinberger
3693449d7e
feat: sandbox session tool visibility
2026-01-06 08:40:30 +00:00
Peter Steinberger
a279bcfeb1
feat: add sessions_spawn sub-agent tool
2026-01-06 08:41:45 +01:00
Peter Steinberger
dbb51006cd
feat: unify group policy allowlists
2026-01-06 06:40:42 +00:00
Marcus Neves
9ab0b88ac6
feat(whatsapp,telegram): add groupPolicy config option ( #216 )
...
Co-authored-by: Marcus Neves <conhecendo.contato@gmail.com>
Co-authored-by: Shadow <hi@shadowing.dev>
2026-01-05 22:41:19 -06:00
Peter Steinberger
1a4f7d3388
feat: add ack reaction defaults
2026-01-06 03:28:47 +00:00
Peter Steinberger
b04c838c15
feat!: redesign model config + auth profiles
2026-01-06 00:56:58 +00:00
Peter Steinberger
8be168b180
fix: redact sensitive tokens in tool summaries
2026-01-06 00:41:12 +01:00
Peter Steinberger
ac3dedaa1b
feat: standardize timestamps to UTC
2026-01-05 23:03:59 +00:00
Peter Steinberger
f790f3f3ba
fix/heartbeat ok delivery filter ( #246 )
...
* cron: skip delivery for HEARTBEAT_OK responses
When an isolated cron job has deliver:true, skip message delivery if the
response is just HEARTBEAT_OK (or contains HEARTBEAT_OK at edges with
short remaining content <= 30 chars). This allows cron jobs to silently
ack when nothing to report but still deliver actual content when there
is something meaningful to say.
Media is still delivered even if text is HEARTBEAT_OK, since the
presence of media indicates there's something to share.
* fix(heartbeat): make ack padding configurable
* chore(deps): update to latest
---------
Co-authored-by: Josh Lehman <josh@martian.engineering>
2026-01-05 22:52:13 +00:00
Peter Steinberger
7a63b4995b
feat: opt-in login shell env fallback
2026-01-05 01:11:29 +01:00
Peter Steinberger
4dd515b65f
fix(tools): honor agent tool denylist without sandbox
2026-01-05 00:02:14 +01:00
Peter Steinberger
78998dba9e
feat: add image model config + tool
2026-01-04 19:35:49 +01:00
Peter Steinberger
734bb6b4fd
feat: add models scan and fallbacks
2026-01-04 17:57:52 +01:00
Peter Steinberger
246adaa119
chore: rename project to clawdbot
2026-01-04 14:38:51 +00:00
Peter Steinberger
d48dc71fa4
feat: add canvasHost liveReload option
2026-01-04 15:22:47 +01:00
Shadow
8c38a7fee8
Slack: add some fixes and connect it all up
2026-01-04 01:53:26 -06:00
Shadow
0085b2e0a9
Slack: refine scopes and onboarding
2026-01-04 07:22:02 +01:00
Peter Steinberger
c9504a6f20
refactor: split config module
2026-01-04 07:05:17 +01:00