Commit Graph

285 Commits

Author SHA1 Message Date
Peter Steinberger
efe793e05d refactor(test): consolidate temp home + vitest setup 2026-01-09 16:41:05 +01:00
Peter Steinberger
89d982e12c Merge pull request #578 from p6l-richard/feature/identity-based-message-prefix
fix(messages): derive messagePrefix from identity.name
2026-01-09 15:40:52 +00:00
Peter Steinberger
06411d0fdc fix: derive prefixes from routed identity (#578) (thanks @p6l-richard) 2026-01-09 16:39:32 +01:00
Peter Steinberger
eaa74ae109 Merge pull request #558 from carlulsoe/mobile-ui-improvements
feat(ui): improve mobile responsiveness [AI-assisted]
2026-01-09 15:39:19 +00:00
Peter Steinberger
0a72616090 fix: stabilize windows CI (#558) (thanks @carlulsoe) 2026-01-09 16:37:58 +01:00
Peter Steinberger
c54af0658f feat(status): add claude.ai usage fallback 2026-01-09 15:34:58 +00:00
Peter Steinberger
bfdbf0ed2a fix(status): surface provider usage errors 2026-01-09 15:34:58 +00:00
Peter Steinberger
6160f7faa5 fix: harden node bridge keepalive 2026-01-09 15:46:45 +01:00
Peter Steinberger
87c85feea2 fix(status): show usage for token auth profiles 2026-01-09 14:36:46 +00:00
Peter Steinberger
8b9ed6df62 fix(discovery): decode dns-sd escaped UTF-8 2026-01-09 14:56:01 +01:00
Peter Steinberger
05c4bd0fc9 fix(discovery): silence oxlint warning 2026-01-09 13:55:28 +01:00
Peter Steinberger
36e23bd2d5 style: format gateway discovery 2026-01-09 13:55:28 +01:00
Peter Steinberger
bb583d1c74 fix(gateway): fix wide-area discovery update 2026-01-09 13:55:27 +01:00
Peter Steinberger
93a9d3f719 feat(gateway): improve wide-area discovery 2026-01-09 13:54:53 +01:00
Peter Steinberger
947844117c feat: wire multi-agent config and routing
Co-authored-by: Mark Pors <1078320+pors@users.noreply.github.com>
2026-01-09 12:48:42 +00:00
Peter Steinberger
8f3c770e31 refactor(msteams): split monitor handler and poll store 2026-01-09 11:07:32 +01:00
Peter Steinberger
ea6dc67e39 fix: normalize poll providers and msteams deps 2026-01-09 11:07:32 +01:00
Peter Steinberger
eacf579fe4 feat: finalize msteams polls + outbound parity 2026-01-09 11:07:32 +01:00
Onur
dec75cfeb9 feat(msteams): add outbound sends and fix reply delivery
- Add sendMessageMSTeams for proactive messaging via CLI/gateway
- Wire msteams into outbound delivery, heartbeat targets, and gateway send
- Fix reply delivery to use SDK's getConversationReference() for proper
  bot info, avoiding "Activity Recipient undefined" errors
- Use proactive messaging for replies to post as top-level messages
  (not threaded) by omitting activityId from conversation reference
- Add lazy logger in send.ts to avoid test initialization issues
2026-01-09 11:06:14 +01:00
Peter Steinberger
f34aaf46fe feat: add gateway dev config options 2026-01-09 10:39:00 +01:00
Peter Steinberger
5d0f2e07cd feat: improve auth setup flows 2026-01-09 09:59:58 +01:00
Peter Steinberger
6e17ce5bb9 style: format control ui assets log 2026-01-09 08:32:15 +01:00
Peter Steinberger
aa19fa704d feat: unify message cli and tools 2026-01-09 08:30:24 +01:00
Peter Steinberger
a87682c619 style: fix lint formatting 2026-01-09 08:13:04 +01:00
Peter Steinberger
e414ca7087 feat(gateway): discover on local + wide-area DNS-SD 2026-01-09 08:13:04 +01:00
Peter Steinberger
64d6b2cefb fix: drop explicit ui:install step 2026-01-09 07:02:42 +00:00
Shadow
d7f8598277 fix: remove incorrect discord limited warning 2026-01-08 23:59:40 -06:00
Peter Steinberger
37dbed35d1 feat: add message tool and CLI 2026-01-09 06:44:20 +01:00
Peter Steinberger
578734ee62 fix: keep /status usage filtering 2026-01-09 03:31:02 +01:00
Peter Steinberger
4eb8ccfcf8 style: format 2026-01-09 00:33:09 +01:00
Peter Steinberger
4960826513 test(provider-activity): restore real timers 2026-01-08 23:52:07 +01:00
Peter Steinberger
9ff79bc33a feat(providers): improve doctor + status probes 2026-01-08 23:48:37 +01:00
Peter Steinberger
1107244cc8 chore(format): apply biome fixes 2026-01-08 22:22:17 +00:00
Peter Steinberger
e346541183 feat(status): add Telegram/WhatsApp troubleshooting warnings 2026-01-08 23:14:11 +01:00
Peter Steinberger
acd9de8992 feat(status): warn on Discord message content intent 2026-01-08 23:07:34 +01:00
Peter Steinberger
35f7e3455d refactor(outbound): centralize telegram account defaults 2026-01-08 21:05:01 +01:00
Yurii Chukhlib
2f817543eb fix(heartbeat): pass accountId for Telegram delivery
Heartbeat Telegram delivery was failing when the bot token was
configured only via telegram.botToken in config (without TELEGRAM_BOT_TOKEN
environment variable).

Root cause: deliverOutboundPayloads was called without accountId parameter,
so sendMessageTelegram couldn't determine which account to use and couldn't
find the token from config.

Fix: Resolve default Telegram accountId when provider is "telegram" and pass
it to deliverOutboundPayloads. This follows the same pattern used elsewhere in
the codebase (e.g., cron uses resolveTelegramToken).

Changes:
- Added import for resolveDefaultTelegramAccountId
- Added accountId resolution for telegram provider
- Updated deliverOutboundPayloads call to include accountId

Fixes #318

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 20:47:22 +01:00
Peter Steinberger
510fc3a5ee feat: add quickstart onboarding defaults 2026-01-08 11:54:40 +01:00
Peter Steinberger
d633295a0d chore: show dm policy + allowlist preview 2026-01-08 11:25:17 +01:00
Peter Steinberger
3a321c6a1b chore: expand provider details in status 2026-01-08 11:02:13 +01:00
Peter Steinberger
c7de367235 fix: unblock ci 2026-01-08 07:41:39 +00:00
Peter Steinberger
30be821748 fix: daemon status guidance and telegram fetch 2026-01-08 08:39:55 +01:00
Peter Steinberger
e2a06a49c0 feat: expand daemon status diagnostics 2026-01-08 08:26:40 +01:00
Peter Steinberger
5ca11480d6 feat: add logs cli and restart hints 2026-01-08 06:56:34 +00:00
Peter Steinberger
497816dc80 refactor: simplify cli commands 2026-01-08 07:16:12 +01:00
Peter Steinberger
b26b5bf45f fix: align tailscale formatting 2026-01-08 05:21:20 +00:00
Peter Steinberger
b796e27be2 fix: stabilize bridge loopback + discord client 2026-01-08 05:15:51 +00:00
Peter Steinberger
2a23142f18 refactor: polish CLI theme + progress helpers 2026-01-08 06:02:36 +01:00
Peter Steinberger
fc8e9d052e style: apply lint fixes 2026-01-08 04:44:15 +00:00
Peter Steinberger
8198f47a58 feat: improve cli setup flow 2026-01-08 05:33:54 +01:00
Peter Steinberger
94df39738b fix(ci): stabilize windows tests 2026-01-08 02:44:19 +00:00
Peter Steinberger
b93e9dd5da refactor: split port diagnostics helpers 2026-01-08 02:42:43 +01:00
Peter Steinberger
ec69b34656 fix: improve gateway diagnostics 2026-01-08 02:29:32 +01:00
Peter Steinberger
03774b657f feat: add providers CLI and multi-account onboarding 2026-01-08 01:55:59 +01:00
Peter Steinberger
e7cac22aef feat: add gateway config/update restart flow 2026-01-08 01:30:02 +01:00
Peter Steinberger
1a16e0b0a5 fix: format slow listener logs 2026-01-08 01:28:21 +01:00
Peter Steinberger
52c2b8e679 refactor: share backoff helpers 2026-01-07 23:22:12 +00:00
Peter Steinberger
75bc1ad732 refactor: centralize unhandled rejection setup 2026-01-07 20:59:49 +00:00
Peter Steinberger
0949a61f60 fix: keep bonjour rejection handler through shutdown 2026-01-07 20:54:40 +00:00
Emanuel Stadler
f3e09e105f Bonjour: ignore ciao cancellation rejections 2026-01-07 20:51:54 +00:00
Peter Steinberger
44aea56b51 fix: add provider retry policy 2026-01-07 17:48:19 +00:00
Peter Steinberger
433ad58e88 chore: satisfy lint 2026-01-07 11:49:01 +01:00
Peter Steinberger
82458c2e9f feat: add provider usage tracking 2026-01-07 11:42:46 +01:00
Peter Steinberger
1981086f7a fix: refine bootstrap injections 2026-01-07 10:04:23 +00:00
Tobias Bischoff
4ae7b2bac6 Reduce prompt token overhead with leaner context injections 2026-01-07 10:04:23 +00:00
Peter Steinberger
b8c8a9551d fix: align heartbeat session store with default agent 2026-01-07 07:14:24 +00:00
Peter Steinberger
81c5d450e4 fix(doctor): add headless flags + auto-migrate sessions 2026-01-07 04:43:24 +01:00
Peter Steinberger
53879a88e1 refactor: unify outbound result envelopes 2026-01-07 02:36:05 +00:00
Peter Steinberger
a9371fa4eb refactor: streamline outbound payload handling 2026-01-07 02:30:42 +00:00
Peter Steinberger
9e1dc67ba1 fix(outbound): guard optional delivery fields 2026-01-07 02:19:42 +00:00
Peter Steinberger
bd73d288c2 refactor: reuse gateway output helpers 2026-01-07 01:43:02 +00:00
Peter Steinberger
7e0ed3e79b refactor: unify outbound delivery formatting 2026-01-07 01:26:09 +00:00
Peter Steinberger
99851cdec1 test: align outbound normalization 2026-01-07 01:22:55 +00:00
Peter Steinberger
5e75ea1ea2 style: align outbound delivery formatting 2026-01-07 01:20:40 +00:00
Peter Steinberger
ee1dfc589d refactor: normalize outbound payload delivery 2026-01-07 01:19:47 +00:00
Peter Steinberger
502c8e1297 refactor: centralize outbound target validation 2026-01-07 01:16:39 +00:00
Peter Steinberger
28fdd7ea00 refactor: unify outbound delivery 2026-01-07 01:13:04 +00:00
Peter Steinberger
b37edc7e2b fix: prefer home linuxbrew paths 2026-01-07 00:18:07 +01:00
Peter Steinberger
0f56d28c73 style: format lint offenders 2026-01-07 00:04:44 +01:00
Peter Steinberger
f288b3d618 fix: bootstrap linuxbrew for skills 2026-01-06 23:27:38 +01:00
Peter Steinberger
5e75f6365c fix(state): auto-migrate legacy agent dir 2026-01-06 22:04:23 +00:00
Peter Steinberger
b9ff5fb808 feat: update heartbeat defaults 2026-01-06 21:54:42 +00:00
Peter Steinberger
882bcaf414 feat: multi-agent routing + multi-account providers 2026-01-06 18:33:37 +00:00
Peter Steinberger
67b2f07bfb build(control-ui): prefer bun for UI build 2026-01-06 09:08:25 +01:00
Peter Steinberger
6f4fa6923e feat!: redesign model config + auth profiles 2026-01-06 00:56:58 +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
Peter Steinberger
d463edb17e fix(whatsapp): reconnect on crypto unhandled rejection 2026-01-05 13:55:37 +00:00
Peter Steinberger
da8ed6928d refactor: align agent lifecycle 2026-01-05 05:55:02 +01:00
Peter Steinberger
d0b7038d14 feat: opt-in login shell env fallback 2026-01-05 01:11:29 +01:00
Peter Steinberger
0715bc2216 fix: load global .env fallback 2026-01-05 01:11:29 +01:00
Peter Steinberger
544366800b fix: route system events per session 2026-01-04 22:11:04 +01:00
Peter Steinberger
6abf13653a fix(onboarding): auto-build Control UI assets 2026-01-04 21:53:23 +01:00
Peter Steinberger
a326430a94 style: format tests and helpers 2026-01-04 14:57:57 +00:00
Peter Steinberger
f7cb3846f1 chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Peter Steinberger
89e6ed99be fix: wire slack deps and stabilize sigterm test 2026-01-04 15:13:23 +01:00
George Tsifrikas
f9e2d9d053 Fix duplicate sendMessageSlack imports
Remove duplicate import statements for sendMessageSlack that were
causing TypeScript compilation errors in deps.ts and heartbeat-runner.ts

Co-Authored-By: Warp <agent@warp.dev>
2026-01-04 14:47:17 +01:00
Peter Steinberger
82208a5078 fix: update lockfile and lint 2026-01-04 14:12:00 +01: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
c1e015ce43 fix: add ~/.local/bin to PATH bootstrap for uv-installed tools (fixes #78) (#150) 2026-01-03 22:25:52 +01:00