Luke K (pr-0f3t)
5d34e27078
Revert: non-PR file edits
2026-01-08 23:19:44 -05:00
Peter Steinberger
64fc5fa9fc
fix: allow default model outside allowlist
2026-01-09 04:18:30 +00:00
Luke K (pr-0f3t)
16f893c46b
Tests: align google shared expectations
2026-01-08 23:12:37 -05:00
Peter Steinberger
7e4d5c9f84
test: align status and google-shared expectations
2026-01-09 05:03:12 +01:00
Luke
1be8a39442
Merge branch 'main' into commands-list-clean
2026-01-08 22:58:54 -05:00
Peter Steinberger
709d5d9cd6
fix: add spacing to daemon status output
2026-01-09 03:52:51 +00:00
Peter Steinberger
9a8fe4d683
feat(agent): add claude cli runner
2026-01-09 04:52:37 +01:00
Luke K (pr-0f3t)
1309cee124
Auto-reply: fix status command lint
2026-01-08 22:51:35 -05:00
Luke K (pr-0f3t)
8aa80fa464
Auto-reply: tidy help message
2026-01-08 22:48:46 -05:00
Peter Steinberger
8e27ea7371
feat: add raw stream logging flags
2026-01-09 03:45:21 +00:00
Peter Steinberger
69546d563d
fix: combine status usage and cost line
2026-01-09 03:45:01 +00:00
Peter Steinberger
16cfd24967
fix: colorize daemon status output
2026-01-09 03:22:02 +00:00
Luke
b97a9235e0
Merge branch 'main' into commands-list-clean
2026-01-08 22:19:52 -05:00
Peter Steinberger
3e19f82af2
fix: repair status reply call
2026-01-09 03:18:20 +00:00
Peter Steinberger
d8a23cf5ab
fix: restore emoji-rich status output
2026-01-09 03:15:33 +00:00
Luke K (pr-0f3t)
6c8b2a8dc9
Auto-reply: organize status imports
2026-01-08 22:14:24 -05:00
Peter Steinberger
b3b84ffefa
fix: fallback /model list when catalog is unavailable
2026-01-09 03:56:19 +01:00
Luke
e52a2888cc
Merge branch 'main' into commands-list-clean
2026-01-08 21:47:09 -05:00
Peter Steinberger
0cbc5fea93
fix: keep status for directive-only messages
2026-01-09 03:46:00 +01:00
Peter Steinberger
dc81d0a649
fix: improve /status auth label
2026-01-09 03:39:02 +01:00
Peter Steinberger
75d193a284
test: update google shared expectations
2026-01-09 02:34:16 +00:00
Peter Steinberger
3c79d5c711
fix: keep /status usage filtering
2026-01-09 03:31:02 +01:00
Peter Steinberger
151523f47b
feat: add usage cost reporting
2026-01-09 02:29:54 +00:00
Peter Steinberger
1a295d9460
fix: improve status usage filtering and directives
2026-01-09 03:18:47 +01:00
Peter Steinberger
84f668f9c5
test: align google-shared expectations with pi-ai 0.40.0
2026-01-09 03:12:32 +01:00
Peter Steinberger
468889abef
fix: refine status usage and elevated directives
2026-01-09 03:09:56 +01:00
Peter Steinberger
8a3e100ad1
test: update google-shared expectations
2026-01-09 03:04:16 +01:00
Kasper Neist
3b78870f33
feat(system-prompt): add messaging guidance section
...
Adds a brief 'Messaging' section to the system prompt to guide agents on:
- Reply in session = auto-routes to source provider
- Cross-session = use sessions_send
- Never use bash/curl for provider messaging
This helps prevent agents from using shell workarounds for messaging
when Clawdbot already handles routing internally.
2026-01-09 03:00:40 +01:00
Luke
c678216ac2
Merge branch 'main' into commands-list-clean
2026-01-08 20:58:26 -05:00
Peter Steinberger
0a722de65c
test: cover log line parsing
2026-01-09 02:54:04 +01:00
Peter Steinberger
3a99ac7e9a
fix: honor mention-bypass for group commands
2026-01-09 02:52:44 +01:00
Peter Steinberger
efa5f0bfe0
feat: improve logs output and docs
2026-01-09 02:51:17 +01:00
Peter Steinberger
e1789ba9e5
fix: set gemini default model for api-key auth ( #489 ) - thanks @jonasjancarik
2026-01-09 02:49:42 +01:00
Jonáš Jančařík
302d51fd40
feat: add Gemini API key onboarding
2026-01-09 02:45:15 +01:00
Ogulcan Celik
7bb0841f42
fix: prevent systemd hang on restart with podman sandboxes
...
Add KillMode=process to generated systemd unit file. Without this,
podman's conmon processes (which monitor sandbox containers) block
shutdown since they're children of the gateway process.
This preserves the desired behavior of keeping containers alive
across restarts while preventing systemd from waiting indefinitely.
2026-01-09 02:37:00 +01:00
Peter Steinberger
a738ade0ec
chore: update dependencies
2026-01-09 02:34:39 +01:00
Peter Steinberger
97635a8966
test: assert WhatsApp queued routing context ( #534 ) thanks @mcinteerj
2026-01-09 02:04:05 +01:00
Peter Steinberger
f2246df875
fix: route WhatsApp queued replies to sender ( #534 )
2026-01-09 02:03:30 +01:00
Jake
a52e75d978
WhatsApp: fix routing for queued messages by using correct OriginatingTo
2026-01-09 02:01:33 +01:00
Peter Steinberger
455723375e
fix: show directive options on query
2026-01-09 01:40:44 +01:00
Peter Steinberger
948ce5eb5f
feat(models): add oauth auth health
2026-01-09 00:34:38 +00:00
Luke
daafa9e3bc
Merge branch 'main' into commands-list-clean
2026-01-08 19:33:56 -05:00
Jonathan D. Rhyne
debdd2aa95
fix(tui): status bar not updating after /verbose, /reasoning, /think commands
...
The status bar refresh failed because refreshSessionInfo() compared
currentSessionKey (e.g. 'main') against the canonical session keys
returned by the gateway (e.g. 'agent:default:main').
This fix uses parseAgentSessionKey to also match canonical keys by
their 'rest' component, allowing 'main' to match 'agent:default:main'.
Fixes: status bar showing stale values after setting changes
AI-assisted: yes (Claude)
Testing: lightly tested (build passes, logic verified)
2026-01-09 01:05:10 +01:00
Peter Steinberger
714e170c16
feat(tui): add agent picker and agents list rpc
2026-01-09 01:05:10 +01:00
Peter Steinberger
e5dbba7b67
fix: sort imports for lint
2026-01-09 00:57:17 +01:00
Peter Steinberger
27adabbeea
test: cover reasoning directive spacing (thanks @joshp123) ( #539 )
2026-01-09 00:51:05 +01:00
Peter Steinberger
f666f60731
fix: preserve inline directive spacing tests (thanks @joshp123) ( #539 )
2026-01-09 00:37:40 +01:00
Josh Palmer
43545a4864
🤖 codex: preserve spacing after inline directives (issue-telegram-inline-spacing)
2026-01-09 00:37:40 +01:00
Peter Steinberger
4e92ccc0dd
style: format
2026-01-09 00:33:09 +01:00
Peter Steinberger
71309c064a
fix: drop redundant telegram audit union
2026-01-09 00:33:09 +01:00
Peter Steinberger
01b8f4582f
fix: align discord monitor + whatsapp activity
2026-01-09 00:33:09 +01:00
Peter Steinberger
e09708e82d
feat: sync skills into sandbox workspace
2026-01-09 00:33:09 +01:00
Peter Steinberger
561fa99d95
feat(providers): show status spinner message
2026-01-08 23:30:38 +00:00
Peter Steinberger
7ece3717e6
refactor(pairing): centralize reply formatting
2026-01-08 23:29:23 +00:00
Peter Steinberger
e0439df4ce
feat(pairing): show sender ids across providers
2026-01-08 23:19:13 +00:00
Peter Steinberger
7c7858a519
refactor(signal): normalize sender identity
2026-01-08 23:08:25 +00:00
Kasper Neist
9e9f2babeb
fix(signal): use sourceUuid as fallback when sourceNumber is null
...
Users without a visible phone number (like some Signal users)
were being silently dropped. Now falls back to UUID for sender ID.
- Add sourceUuid to SignalEnvelope type
- Use sourceUuid when sourceNumber is not available
- Only check against bot account when sourceNumber exists (avoid UUID comparison issues)
2026-01-08 23:08:25 +00:00
Peter Steinberger
490bbd10fc
feat(telegram): show user id in pairing
2026-01-09 00:01:23 +01:00
Shadow
9f8336c92b
Discord: harden gateway resilience
2026-01-08 16:52:44 -06:00
Peter Steinberger
769b76cd40
test(provider-activity): restore real timers
2026-01-08 23:52:07 +01:00
Peter Steinberger
69f8af530d
feat(providers): improve doctor + status probes
2026-01-08 23:48:37 +01:00
Peter Steinberger
41d484d239
test: cover browser and canvas verbose summaries
2026-01-08 23:48:37 +01:00
Peter Steinberger
2f1ce51b2c
test: stabilize doctor + bash tool tests
2026-01-08 23:44:54 +01:00
Peter Steinberger
cdfae0b9d3
fix(daemon): normalize audit paths
2026-01-08 22:28:51 +00:00
Peter Steinberger
ed80860c34
chore(format): apply biome fixes
2026-01-08 22:22:17 +00:00
Peter Steinberger
1f215848be
chore(test): align auth choice options formatting
2026-01-08 23:18:33 +01:00
Peter Steinberger
b01d7e39d5
fix(onboarding): preflight claude cli keychain
2026-01-08 23:18:33 +01:00
Peter Steinberger
36fa3c3cd3
fix: improve ws close diagnostics
2026-01-08 22:18:07 +00:00
Peter Steinberger
1cf8503017
fix(daemon): audit runtime best practices
2026-01-08 22:18:07 +00:00
Peter Steinberger
cd2f3bd355
feat(status): add Telegram/WhatsApp troubleshooting warnings
2026-01-08 23:14:11 +01:00
Peter Steinberger
a33271d374
refactor: share paren-aware chunk break scan
2026-01-08 23:09:34 +01:00
Peter Steinberger
7392387ec1
feat(status): warn on Discord message content intent
2026-01-08 23:07:34 +01:00
Peter Steinberger
b48ed56635
test: add DM elevated regression coverage
2026-01-08 22:58:15 +01:00
Peter Steinberger
014667e00b
fix: tighten group elevated targeting
2026-01-08 22:57:18 +01:00
Peter Steinberger
cda2025c49
fix: align env config schema
2026-01-08 22:57:18 +01:00
Peter Steinberger
59f89678b2
feat: allow inline env vars in config
2026-01-08 22:57:18 +01:00
Peter Steinberger
9a1267b530
fix(doctor): run legacy migrations in non-interactive
2026-01-08 21:37:22 +00:00
Peter Steinberger
5b46214379
refactor(cron): centralize telegram targets + delivery helpers
2026-01-08 21:36:53 +00:00
Peter Steinberger
5939dff092
fix: avoid synthesizing agent defaults
2026-01-08 22:26:29 +01:00
Luke
ab28eb5109
Merge branch 'main' into commands-list-clean
2026-01-08 16:25:56 -05:00
Peter Steinberger
2c7d64232e
feat: enable adaptive context pruning by default
2026-01-08 22:23:03 +01:00
Luke
5965708f1d
Merge branch 'main' into commands-list-clean
2026-01-08 16:22:25 -05:00
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
Luke
a574ae5415
Merge branch 'main' into commands-list-clean
2026-01-08 15:35:17 -05: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
Tobias Bischoff
7cffa65376
Merge branch 'main' into main
2026-01-08 21:16:47 +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
Tobias Bischoff
634f1389a4
Merge branch 'main' into main
2026-01-08 21:15:06 +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
Luke K (pr-0f3t)
713eb898f6
Removed compact command changes from elsewhere
2026-01-08 10:41:09 -05:00
Luke
8445c9a5e8
Removing stray commits
2026-01-08 10:33:11 -05:00
LK
559e175b38
feat(commands): add /commands slash list
2026-01-08 16:23:36 +01:00
Tobias Bischoff
3149d6d331
Telegram: cast fetch to grammy client type
2026-01-08 15:16:53 +01:00
Tobias Bischoff
ecd4c9c4f5
Onboarding: add MiniMax hosted API key option
2026-01-08 15:10:18 +01: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
Peter Steinberger
e758cccd46
fix(discord): remove eventQueue client option
2026-01-08 06:00:20 +01:00
Sash Catanzarite
a6a550032a
fix(typing): refresh TTL on every startTypingLoop call
...
Previously, startTypingLoop would return early if the typing timer was
already running, which meant the TTL would never get refreshed during
long tool executions. This caused the typing indicator to stop after
2 minutes even if tools were still running.
Now we refresh the TTL at the start of startTypingLoop, before the
early-return checks. This keeps typing alive during long operations.
2026-01-08 05:45:46 +01:00
Peter Steinberger
dc3e3f27d4
style: apply lint fixes
2026-01-08 04:44:15 +00:00
Peter Steinberger
5b45a143a1
fix: stabilize media paths and logs
2026-01-08 04:41:01 +00:00
Peter Steinberger
9c9d191d6f
feat: improve cli setup flow
2026-01-08 05:33:54 +01:00
Peter Steinberger
4ef2fd328d
test: cover multi-media prompt note
2026-01-08 05:30:04 +01:00
Peter Steinberger
3f11927cd9
chore: update ClawdBot CLI branding
2026-01-08 05:20:39 +01:00
Peter Steinberger
ab8db941d0
feat: expand inbound media notes
2026-01-08 05:20:39 +01:00
Peter Steinberger
2287d32263
feat: add model scan progress callbacks
2026-01-08 05:20:39 +01:00
Peter Steinberger
28cd2e4c24
feat: refresh CLI output styling and progress
2026-01-08 05:20:39 +01:00
Peter Steinberger
ab98ffe9fe
fix: force telegram native fetch under bun
2026-01-08 05:20:38 +01:00
Peter Steinberger
3178a3014d
feat(models): improve OpenRouter free scan
2026-01-08 05:20:19 +01:00
Peter Steinberger
6feeb651ee
fix(ci): normalize windows log whitespace
2026-01-08 03:59:52 +00:00
Peter Steinberger
609df06cb7
fix(ci): stabilize windows tests
2026-01-08 03:54:35 +00:00
Peter Steinberger
0bcf3f40f4
fix(ci): sync logs tail protocol artifacts
2026-01-08 03:49:19 +00:00
Peter Steinberger
64fc3c068d
feat: add gateway logs tab
2026-01-08 03:44:08 +00:00
Peter Steinberger
ad6095c807
fix(ci): normalize windows test output
2026-01-08 03:44:08 +00:00
Peter Steinberger
0af3af34a1
fix(ci): stabilize windows bash tests
2026-01-08 03:29:05 +00:00
Peter Steinberger
35759e409a
fix(ci): harden windows tests
2026-01-08 03:19:43 +00:00
Peter Steinberger
15379dedf0
fix(telegram): voice-note tag defaults ( #188 , thanks @manmal)
2026-01-08 03:15:08 +00:00
Manuel Maly
2972fce02c
fix: flip audio default to file (backward compat)
...
- Default: sendAudio (file with metadata) - preserves old behavior
- Opt-in: [[audio_as_voice]] tag for voice bubble
This is non-breaking - existing integrations keep working.
2026-01-08 03:15:08 +00:00
Manuel Maly
262f8a8d45
feat(telegram): add [[audio_as_file]] tag support
...
Allow agents to specify audio mode via inline tag:
- Default: voice bubble (sendVoice)
- [[audio_as_file]]: audio file with metadata (sendAudio)
The tag is stripped from the final message text.
Example agent response:
Here's a podcast episode! [[audio_as_file]]
MEDIA:https://example.com/episode.mp3
2026-01-08 03:15:08 +00:00
Manuel Maly
5e1b91b32c
feat(telegram): wire audioAsVoice through bot.ts
...
- Add audioAsVoice option to ReplyPayload type
- Update bot.ts to use sendVoice by default for audio (voice bubble)
- When audioAsVoice is false, use sendAudio (file with metadata)
This allows agents to control voice vs file mode via ReplyPayload.
2026-01-08 03:15:08 +00:00
Manuel Maly
20fd9f7f67
feat(telegram): use sendVoice for audio with opt-out
...
Use Telegram's sendVoice API for audio files by default, displaying them
as round playable voice bubbles instead of file attachments.
Changes:
- Add asVoice option to TelegramSendOpts (defaults to true)
- When asVoice is true (default): use api.sendVoice() for voice bubbles
- When asVoice is false: use api.sendAudio() for traditional audio files
This gives callers control: voice messages for TTS/quick responses,
audio files for music/podcasts with metadata display.
2026-01-08 03:15:08 +00:00
mneves75
f7b32195cb
feat(agent): auto-enable GLM-4.7 thinking mode
...
Add automatic thinking mode support for Z.AI GLM-4.x models:
- GLM-4.7: Preserved thinking (clear_thinking: false)
- GLM-4.5/4.6: Interleaved thinking (clear_thinking: true)
Uses Z.AI Cloud API format: thinking: { type: "enabled", clear_thinking: boolean }
Includes patches for pi-ai, pi-agent-core, and pi-coding-agent to pass
extraParams through the stream pipeline. User can override via config
or disable via --thinking off.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 04:10:56 +01:00
Peter Steinberger
3f93781b4b
refactor: polish providers cli status
2026-01-08 04:07:09 +01:00
Peter Steinberger
bf2daeb3ae
fix(discord): cap lines per message
2026-01-08 04:06:25 +01:00
Peter Steinberger
6e4174b5dc
fix(ci): stabilize windows paths
2026-01-08 03:03:03 +00:00
Peter Steinberger
8aa3efb9e8
refactor: tidy directive parsing + queue status
2026-01-08 03:47:52 +01:00
Peter Steinberger
fbeb9e6775
fix(ci): stabilize windows tests
2026-01-08 02:44:19 +00:00
Peter Steinberger
780385e31f
fix(auto-reply): handle /think no-arg
2026-01-08 03:39:05 +01:00
Peter Steinberger
7f0f82e869
ci: enforce lf line endings
2026-01-08 02:29:20 +00:00
Peter Steinberger
ad5c87c193
fix: relax slash command parsing
2026-01-08 03:24:18 +01:00
Lutro
36b443f4f3
Telegram: fix /think command to show current level when no arg
2026-01-08 03:24:18 +01:00
Peter Steinberger
0d34f330b8
refactor(browser): share chrome resolution helpers
2026-01-08 02:18:43 +00:00
Peter Steinberger
1e826862c3
fix(browser): support Windows Chrome detection (PR #439 , thanks @mrdbstn)
2026-01-08 02:08:59 +00:00
Mourad Boustani
7294ba037d
browser: add Windows Chrome executable detection
2026-01-08 02:06:59 +00:00
Peter Steinberger
92a62bc300
style: format providers docs output
2026-01-08 02:01:43 +00:00
Peter Steinberger
313925b357
fix: restore gateway connection details helper
2026-01-08 02:00:27 +00:00
Peter Steinberger
6f82ec7b83
style: colorize providers list
2026-01-08 02:59:15 +01:00
Peter Steinberger
440a5b82cf
fix(gateway): honor local auth password for CLI (PR #301 , thanks @jeffersonwarrior)
2026-01-08 02:59:06 +01:00
Peter Steinberger
cda050d050
chore: tweak providers docs link
2026-01-08 02:56:47 +01:00
Peter Steinberger
03cf7da2bd
feat: default providers list to usage
2026-01-08 02:56:47 +01:00
Peter Steinberger
8ce6f783f0
feat: add usage to providers list
2026-01-08 02:56:47 +01:00
Peter Steinberger
2f707ad4ad
style: format gateway call helpers
2026-01-08 01:53:28 +00:00
Peter Steinberger
6aa6c837e7
fix: add gateway connection debug output
2026-01-08 02:51:39 +01:00
Peter Steinberger
3d0156890c
refactor: split port diagnostics helpers
2026-01-08 02:42:43 +01:00
Peter Steinberger
2fe3b483b1
fix: add gateway close context
2026-01-08 02:42:32 +01:00
Peter Steinberger
2140caaf67
fix: telegram html formatting ( #435 , thanks @RandyVentures)
2026-01-08 02:34:32 +01:00
Peter Steinberger
61f5ed8bb7
fix: improve gateway diagnostics
2026-01-08 02:29:32 +01:00
Peter Steinberger
cad853b547
refactor: rebuild agent system prompt
2026-01-08 02:20:30 +01:00
Peter Steinberger
a450390f7c
refactor: share reply payload threading/dedupe
2026-01-08 01:09:23 +00:00
Peter Steinberger
3f1807b6cb
fix: restore doctor sandbox warnings
2026-01-08 01:55:59 +01:00
Peter Steinberger
05b8679c8b
feat: add providers CLI and multi-account onboarding
2026-01-08 01:55:59 +01:00
Peter Steinberger
6b3ed40d0f
feat: format cron list output
2026-01-08 01:52:33 +01:00
Peter Steinberger
bbf45a0264
feat: add cron cli aliases
2026-01-08 01:52:33 +01:00
Peter Steinberger
2ca936ee98
refactor: split doctor into modules
2026-01-08 01:52:33 +01:00
Peter Steinberger
8b9f0c4e2a
refactor: extract doctor state integrity
2026-01-08 01:52:33 +01:00
Peter Steinberger
ee28b20419
fix: harden doctor state integrity checks
2026-01-08 01:52:33 +01:00
Peter Steinberger
17d052bcda
fix: polish reply threading + tool dedupe (thanks @mneves75) ( #326 )
2026-01-08 00:50:47 +00:00