Commit Graph

50 Commits

Author SHA1 Message Date
Peter Steinberger
4284a2f2c5 fix: preserve markdown fences when chunking 2026-01-06 20:23:41 +01:00
Peter Steinberger
f05d785bd9 fix: restore Anthropic token accounting 2026-01-06 18:52:01 +00:00
Peter Steinberger
882bcaf414 feat: multi-agent routing + multi-account providers 2026-01-06 18:33:37 +00:00
Onur
3e167dcaf8 feat(agent): add skipBootstrap config to skip bootstrap file creation (#292) 2026-01-06 11:02:51 -06:00
Peter Steinberger
4f3f295aa8 refactor: centralize agent timeout defaults 2026-01-06 02:48:44 +00:00
Peter Steinberger
db3308bc30 fix: add gateway stop/restart commands 2026-01-06 03:25:32 +01:00
Marcus Neves
9572f92a0f Cron: normalize cron.add inputs + align channels (#256)
* fix: harden cron add and align channels

* fix: keep cron tool id params

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-06 02:09:48 +00:00
Peter Steinberger
33390d3a72 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
Josh Lehman
436d95a988 cron: skip delivery for HEARTBEAT_OK responses (#238)
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.
2026-01-05 22:16:28 +00:00
Peter Steinberger
da540e59b0 chore: format models CLI 2026-01-04 18:11:41 +01:00
Peter Steinberger
896cd5ee85 feat: add models scan and fallbacks 2026-01-04 17:57:52 +01:00
Peter Steinberger
f7cb3846f1 chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Peter Steinberger
a8d7bde809 fix: wire slack into delivery routing 2026-01-04 11:44:41 +00:00
Shadow
33998f9570 Slack: add some fixes and connect it all up 2026-01-04 01:53:26 -06:00
Peter Steinberger
a923d622a5 feat: add sessions tools and send policy 2026-01-03 23:44:42 +01:00
Peter Steinberger
eea33dfc6a style: tidy imports and formatting 2026-01-03 12:35:23 +00:00
Peter Steinberger
e05d100d98 fix(cron): pass resolved channel to agent tools 2026-01-03 12:35:23 +00:00
Peter Steinberger
f6f0bb8eac fix: default low thinking for reasoning models 2026-01-03 12:19:06 +00:00
Peter Steinberger
0ea329ff8d fix: refine tool summaries and scope discord tool 2026-01-03 12:33:42 +01:00
Peter Steinberger
561500e042 feat: configurable outbound text chunk limits 2026-01-03 01:49:27 +01:00
Peter Steinberger
e98d9a8a98 refactor: move whatsapp allowFrom config 2026-01-02 13:00:29 +01:00
Peter Steinberger
9101bda4b6 test: cover every schedule anchor boundary 2026-01-02 11:33:49 +01:00
Peter Steinberger
0a99379ee3 Merge pull request #80 from jamesgroat/fix/cron-every-schedule-infinite-loop
fix(cron): prevent every schedule from firing in infinite loop
2026-01-02 11:29:08 +01:00
James Groat
5bb0f2028e fix(cron): prevent every schedule from firing in infinite loop
When anchorMs is not provided (always in production), the schedule
computed nextRunAtMs as nowMs, causing jobs to fire immediately and
repeatedly instead of at the configured interval.

- Change nowMs <= anchor to nowMs < anchor to prevent early return
- Add Math.max(1, ...) to ensure steps is always at least 1
- Add test for anchorMs not provided case
2026-01-01 17:30:05 -07:00
Peter Steinberger
7f4ae6a690 feat: add imessage rpc adapter 2026-01-02 01:19:40 +01:00
Peter Steinberger
cbbd5b8cd7 fix(gateway): stream chat events for agent runs 2026-01-02 01:04:59 +01:00
Peter Steinberger
ef51c9a1b1 fix: align telegram token resolution 2026-01-01 21:22:59 +01:00
Peter Steinberger
8a5ea157b8 fix(signal): stabilize daemon + add signal delivery 2026-01-01 15:31:41 +00:00
Peter Steinberger
ac918d2f49 feat(queue): add queue modes and discord gating 2025-12-26 13:35:44 +01:00
Shadow
c717aa0c72 feat(discord): Discord transport 2025-12-26 13:20:30 +01:00
Peter Steinberger
4cb41565e9 feat: unify gateway heartbeat 2025-12-26 02:35:40 +01:00
Peter Steinberger
7b2ed87284 refactor(config): drop agent.provider 2025-12-26 01:13:42 +01:00
Peter Steinberger
b1d532c2e8 feat(config): allow provider/model shorthand 2025-12-26 01:13:42 +01:00
Peter Steinberger
170faccfcb fix(agent): serialize runs per session 2025-12-25 23:50:52 +01:00
Peter Steinberger
d980ce77f2 refactor: move inbound config 2025-12-24 00:22:52 +00:00
Peter Steinberger
b0c901fc76 feat: add per-session model selection 2025-12-23 23:45:20 +00:00
Peter Steinberger
c09dc4d635 refactor: remove session syncing metadata 2025-12-23 00:50:51 +01:00
Peter Steinberger
e24c7efa02 feat(cron): require job name 2025-12-20 19:56:49 +00:00
Peter Steinberger
52f246be4b fix: address skills lint 2025-12-20 12:29:45 +01:00
Peter Steinberger
63232f80aa feat: add managed skills gating 2025-12-20 12:22:38 +01:00
Peter Steinberger
d17d7ba521 feat: embed pi agent runtime 2025-12-17 11:29:04 +01:00
Peter Steinberger
fafe86ae5c fix(browser): default control url uses 18791 2025-12-13 16:26:48 +00:00
Peter Steinberger
8c57637dc0 refactor(cron): drop auto-migration 2025-12-13 12:45:02 +00:00
Peter Steinberger
6c25281efc refactor(cron): move store into ~/.clawdis/cron 2025-12-13 12:38:08 +00:00
Peter Steinberger
f5225f85b0 feat(cron): post isolated summaries 2025-12-13 12:09:15 +00:00
Peter Steinberger
75ee53cdc5 feat(cron): always post isolated summaries to main 2025-12-13 11:33:46 +00:00
Peter Steinberger
1045fb42e5 test(cron): cover default-enabled scheduling 2025-12-13 03:54:21 +00:00
Peter Steinberger
87368cead7 test(cron): cover disabled scheduler 2025-12-13 03:43:55 +00:00
Peter Steinberger
471c92123a feat(cron): add scheduler status endpoint 2025-12-13 03:43:40 +00:00
Peter Steinberger
da4a79c932 Cron: add scheduler, wakeups, and run history 2025-12-13 02:34:38 +00:00