Commit Graph

1773 Commits

Author SHA1 Message Date
Peter Steinberger
d58cdf7c9f fix: normalize gateway cli option strings 2026-01-08 22:18:06 +01:00
Peter Steinberger
35ba99c245 fix: honor non-interactive legacy migrations 2026-01-08 22:13:57 +01:00
Peter Steinberger
e75ca23e7d test(cron): cover telegram topic delivery (#478) (thanks @nachoiacovino) 2026-01-08 21:13:39 +00:00
Nacho Iacovino
5391f1141e fix(cron): parse :topic: suffix for Telegram topic delivery
When cron jobs specify a Telegram topic in the 'to' field like
'-1003420657307:topic:60', the delivery code now correctly parses
this into separate chatId and messageThreadId values.

Previously, the entire string was passed as chatId, causing messages
to fail delivery to forum topics.
2026-01-08 21:12:15 +00:00
Peter Steinberger
699ba410fe fix: resolve WhatsApp LID inbound mapping 2026-01-08 22:08:54 +01:00
Josh Palmer
2fae8eda66 🤖 codex: strip empty assistant blocks from history (#210) 2026-01-08 21:53:33 +01:00
Peter Steinberger
884e734809 feat(doctor): audit config + state permissions 2026-01-08 21:51:34 +01:00
Peter Steinberger
2d4ec35e1c feat(doctor): add repair/force flows 2026-01-08 21:47:35 +01:00
Peter Steinberger
0373574f0b refactor(telegram): centralize target parsing 2026-01-08 21:38:59 +01:00
Peter Steinberger
88039a69a2 style(cli): format daemon config warnings 2026-01-08 21:38:54 +01:00
Peter Steinberger
ea748f9440 fix(doctor): handle missing service readCommand 2026-01-08 21:38:51 +01:00
Peter Steinberger
01641b34ea feat(doctor): audit supervisor config + docs 2026-01-08 21:28:48 +01:00
Peter Steinberger
58a9e35233 style(cron): format telegram target tests 2026-01-08 21:23:07 +01:00
Peter Steinberger
5fea53d89c fix(cron): parse telegram targets with prefixes (thanks @mitschabaude-bot) 2026-01-08 21:23:07 +01:00
Azade
3a8d8bc6a4 fix(daemon): align systemd unit with documentation
Align generated systemd service file with docs:
https://docs.clawd.bot/gateway#supervision-systemd-user-unit

Adds:
- After=network-online.target
- Wants=network-online.target
- RestartSec=5
2026-01-08 21:16:19 +01:00
Peter Steinberger
31fb5867e8 refactor(outbound): centralize telegram account defaults 2026-01-08 21:05:01 +01:00
Peter Steinberger
7905a27416 style: format gateway-cli log lines 2026-01-08 20:04:10 +00:00
Peter Steinberger
04e0e10411 fix: restore hidden gateway-daemon alias 2026-01-08 19:54:23 +00:00
Peter Steinberger
871c9e5286 fix(heartbeat): telegram accountId + cron jobId compat (#516, thanks @YuriNachos) 2026-01-08 20:47:22 +01:00
Yurii Chukhlib
9d42972b8a 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
Yurii Chukhlib
4dac298ae2 fix(cron): use jobId parameter instead of id for AI tool schema
Fixes parameter mismatch between AI tool schema and internal validation.
The TypeBox schema now uses `jobId` for update/remove/run/runs actions,
matching what users expect based on the returned job objects.

Changes:
- Changed parameter from `id` to `jobId` in TypeBox schema for update/remove/run/runs
- Updated execute function to read `jobId` parameter
- Updated tests to use `jobId` in input parameters

The gateway protocol still uses `id` internally - the tool now maps
`jobId` from the AI to `id` for the gateway call.

Fixes #185

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 20:47:22 +01:00
Peter Steinberger
4a918ccf47 fix: avoid splitting outbound chunks inside parentheses (#499) — thanks @philipp-spiess 2026-01-08 20:39:28 +01:00
Philipp Spiess
4082b90aa4 Chunking: avoid splits inside parentheses 2026-01-08 20:38:00 +01:00
Peter Steinberger
ba19173b96 test: cover status model provider prefix 2026-01-08 20:23:38 +01:00
Peter Steinberger
393c414e90 refactor: split discord gateway helpers 2026-01-08 20:23:06 +01:00
Peter Steinberger
bf67b29a0e fix(telegram): resolve grammY fetch type mismatch (#512)
Co-authored-by: Yuri Chukhlib <yuri.v.chu@gmail.com>
2026-01-08 20:18:17 +01:00
Keith the Silly Goose
7866203c5c fix(status): include provider prefix in model display
The /status command was showing 'anthropic/claude-sonnet-4-5' even when
using 'google-antigravity/claude-sonnet-4-5' because buildStatusMessage
received only the model name without the provider prefix.

When resolveConfiguredModelRef parsed a model string without a slash,
it fell back to DEFAULT_PROVIDER ('anthropic'), causing the misleading
display.

Fix: Pass the full 'provider/model' string to buildStatusMessage so
the provider is correctly extracted and displayed.

🪿 Investigated and submitted by Keith the Silly Goose
2026-01-08 20:11:37 +01:00
Peter Steinberger
c54f2a122a fix: update changelog + prompt test 2026-01-08 20:08:27 +01:00
Josh Palmer
b7c900739e 🤖 codex: handle discord gateway error events (#504) 2026-01-08 20:06:02 +01:00
Josh Palmer
cc94db458c
🤖 codex: fix block reply ordering (#503)
What: serialize block reply sends, make typing non-blocking, add timeout fallback + abort-aware routing, and add regression tests.
Why: prevent out-of-order streamed blocks while keeping final fallback on timeouts.
Tests: ./node_modules/.bin/vitest run src/auto-reply/reply.block-streaming.test.ts src/auto-reply/reply/route-reply.test.ts
Tests: corepack pnpm lint && corepack pnpm build (pass). corepack pnpm test (ran locally; failure observed during run).

Co-authored-by: Josh Palmer <joshp123@users.noreply.github.com>
2026-01-08 19:30:24 +01:00
Gregor's Bot
7450aed663
fix: rename ClaudeBot to Clawdbot in system prompt (#502) 2026-01-08 11:24:00 -06:00
Peter Steinberger
c20a12aa7b fix: format onboarding hint 2026-01-08 12:25:39 +01:00
Peter Steinberger
a564558a67 chore: drop bun from daemon runtime options 2026-01-08 12:20:45 +01:00
Peter Steinberger
51c2d29693 feat: auto-install gateway in quickstart 2026-01-08 12:19:45 +01:00
Peter Steinberger
8ed412db22 feat: streamline quickstart provider selection 2026-01-08 12:19:16 +01:00
Peter Steinberger
e210069dbd fix: soften codex oauth expiry hint 2026-01-08 12:16:09 +01:00
Peter Steinberger
4dde870121 docs: split onboarding mode hints 2026-01-08 12:14:36 +01:00
Peter Steinberger
959a19d8ae fix: clean lint issues 2026-01-08 11:07:11 +00:00
Peter Steinberger
63bad210c9 docs: tighten onboarding quickstart hint 2026-01-08 12:06:45 +01:00
Peter Steinberger
4c09acb2a9 feat: add telegram topic delivery for cron 2026-01-08 11:05:28 +00:00
Peter Steinberger
874c7465a5 fix: surface control ui config in daemon status 2026-01-08 11:05:28 +00:00
Peter Steinberger
e7b3cc3d3d fix: add provider account metadata 2026-01-08 11:05:28 +00:00
Peter Steinberger
fd04bdb9cf chore: tighten self-update guidance 2026-01-08 12:04:29 +01:00
Peter Steinberger
63ff5819b1 fix: retry telegram poll conflicts 2026-01-08 12:04:21 +01:00
Peter Steinberger
d42444928b chore: add provider logs command 2026-01-08 12:01:06 +01:00
Peter Steinberger
a483e58860 feat: add quickstart onboarding defaults 2026-01-08 11:54:40 +01:00
Peter Steinberger
f24a4626e3 fix(config): reject shared agentDir 2026-01-08 11:54:26 +01:00
Peter Steinberger
390b102563 chore: show dm policy + allowlist preview 2026-01-08 11:25:17 +01:00
Peter Steinberger
8803787e48 chore: fallback providers status when gateway down 2026-01-08 11:05:03 +01:00
Peter Steinberger
a851444a1d chore: expand provider details in status 2026-01-08 11:02:13 +01:00
Peter Steinberger
e8698fb9ef chore: show dashboard url in status 2026-01-08 10:51:55 +01:00
Peter Steinberger
af2accf5e3 test: force bun fetch path in telegram send 2026-01-08 10:37:29 +01:00
Peter Steinberger
fa501e7730 fix: import path in doctor 2026-01-08 10:36:20 +01:00
Peter Steinberger
73988506fe feat: allow hook model overrides 2026-01-08 09:33:42 +00:00
Peter Steinberger
e6f8e1e531 fix(telegram): restrict native fetch to bun 2026-01-08 10:31:16 +01:00
Peter Steinberger
4019fafc2c chore: add spacing to status output 2026-01-08 10:30:57 +01:00
Peter Steinberger
21ef1761c6 chore: prompt to install or start gateway 2026-01-08 10:29:48 +01:00
Peter Steinberger
f6b1dc452a chore: surface daemon status help 2026-01-08 10:29:44 +01:00
Peter Steinberger
a54442866a chore: refine daemon runtime hint 2026-01-08 10:29:40 +01:00
Peter Steinberger
b80b3a38bf chore: clarify telegram docs links 2026-01-08 10:29:36 +01:00
Peter Steinberger
bfd3eb46c7 docs: drop legacy telegram pairing mention 2026-01-08 09:57:03 +01:00
Peter Steinberger
bce3cc992f fix: group /model list output 2026-01-08 09:44:59 +01:00
Peter Steinberger
0b611fc354 docs: add OAuth deep dive 2026-01-08 09:29:29 +01:00
Peter Steinberger
908a7e4fcb chore: sync ci tasks and relax telegram test timeouts 2026-01-08 09:09:33 +01:00
Peter Steinberger
2450af26ec test: fix telegram fetch expectation 2026-01-08 07:51:58 +00:00
Peter Steinberger
44441dd5d8 fix: clarify daemon status probe target 2026-01-08 08:50:09 +01:00
Peter Steinberger
8930ec32cb feat: add slack multi-account routing 2026-01-08 08:49:16 +01:00
Peter Steinberger
00c1403f5c fix: unblock ci 2026-01-08 07:41:39 +00:00
Peter Steinberger
1b2957d050 style: lint cleanup 2026-01-08 08:40:02 +01:00
Peter Steinberger
9a11325cc9 fix: daemon status guidance and telegram fetch 2026-01-08 08:39:55 +01:00
Peter Steinberger
5b397c0f15 style: tidy cli formatting 2026-01-08 08:26:40 +01:00
Peter Steinberger
c7cade5232 style: tidy gateway auth imports 2026-01-08 08:26:40 +01:00
Peter Steinberger
a676e16fbb feat: expand daemon status diagnostics 2026-01-08 08:26:40 +01:00
Peter Steinberger
97cb469faf chore(telegram): fix bun comment 2026-01-08 08:26:40 +01:00
Peter Steinberger
c241cb25bd fix(telegram): gate native fetch to bun 2026-01-08 08:26:40 +01:00
Peter Steinberger
c1e97fab80 feat(cli): clarify agents list output 2026-01-08 08:26:40 +01:00
Peter Steinberger
b367ed75bf fix: wire gateway auth diagnostics into doctor 2026-01-08 08:26:40 +01:00
Peter Steinberger
629eec11cc feat: improve agents cli automation 2026-01-08 08:26:40 +01:00
Peter Steinberger
5565dcd447 fix: tighten gateway bind auth diagnostics 2026-01-08 08:26:40 +01:00
Peter Steinberger
debfce5a77 test: add agent allowlist coverage 2026-01-08 07:14:08 +00:00
Peter Steinberger
2b29b86ab5 feat: add agents_list tool 2026-01-08 07:06:36 +00:00
Peter Steinberger
0ba72477de feat: allow sessions_spawn cross-agent 2026-01-08 06:56:34 +00:00
Peter Steinberger
d1ceb3aa60 feat: add logs cli and restart hints 2026-01-08 06:56:34 +00:00
Peter Steinberger
c9e07616c7 refactor: centralize WhatsApp config merging 2026-01-08 06:56:34 +00:00
Peter Steinberger
e09d44e63a test(cli): cover provider login/logout 2026-01-08 07:41:17 +01:00
Peter Steinberger
e83c6ac088 feat(cli): move provider login/logout 2026-01-08 07:40:08 +01:00
Peter Steinberger
903f5af59c feat: add skills CLI 2026-01-08 07:23:05 +01:00
Peter Steinberger
d14e05ac45 refactor: centralize provider helpers 2026-01-08 07:20:10 +01:00
Peter Steinberger
6a81652ebf fix(typing): keep tool-start ttl mode-safe (#452, thanks @thesash) 2026-01-08 06:18:35 +00:00
Sash Catanzarite
29c5ed54b2 feat(typing): trigger indicator on tool start events
Add signalToolStart to TypingSignaler and call it from onAgentEvent
when tools begin executing. This keeps the typing indicator visible
during long-running tool operations.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 06:18:35 +00:00
Peter Steinberger
19595a8f99 refactor: simplify cli commands 2026-01-08 07:16:12 +01:00
Randy Torres
3c2e848a8e Docker: fix WhatsApp config typing in onboarding + add tests 2026-01-08 06:05:56 +00:00
Peter Steinberger
367ee8ea7b fix: stabilize telegram media group tests 2026-01-08 05:48:25 +00:00
Peter Steinberger
9b152ecb12 refactor: split providers commands 2026-01-08 06:46:40 +01:00
Peter Steinberger
f818d03ebf style: format taglines 2026-01-08 06:37:03 +01:00
Peter Steinberger
8a7862452e feat: add CLI taglines 2026-01-08 06:37:03 +01:00
Peter Steinberger
b50ea3ec59 feat: refine providers onboarding and cli 2026-01-08 06:25:21 +01:00
Peter Steinberger
6850e7b477 fix: align tailscale formatting 2026-01-08 05:21:20 +00:00
Peter Steinberger
4b9e8b580a fix: stabilize bridge loopback + discord client 2026-01-08 05:15:51 +00:00
Peter Steinberger
b8a186fbd3 refactor: polish CLI theme + progress helpers 2026-01-08 06:02:36 +01:00