Peter Steinberger
ea6ee16461
chore: fix lint warnings
2026-01-06 05:41:24 +01:00
Peter Steinberger
77789cb9a8
fix: improve compaction queueing and oauth flows
2026-01-06 05:41:24 +01: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
53c9feb597
test: cover slack thread reply routing
2026-01-06 05:11:06 +01:00
Steve Caldwell
7034d4f807
fix(slack): preserve thread context in auto-replies
...
When replying to a message in a Slack thread, the response now stays
in the thread instead of going to the channel root.
Only threads replies when the incoming message was already in a thread
(has thread_ts). Top-level messages get top-level replies.
Fixes #250
2026-01-06 05:09:04 +01:00
Ayaan Zaidi
bd735182b6
feat(telegram): support media groups (multi-image messages) ( #220 )
2026-01-05 22:04:33 -06:00
VACInc
fb2513e265
fix(discord): Use channel ID for DMs instead of user ID ( #261 )
...
Co-authored-by: VAC <vac@vacs-mac-mini.localdomain >
2026-01-05 22:02:33 -06:00
Peter Steinberger
13eb9c9ee9
refactor: centralize reply dispatch
2026-01-06 04:55:00 +01:00
Peter Steinberger
5946f4c341
test: extend typing idle coverage
2026-01-06 03:42:33 +00:00
Peter Steinberger
1a4f7d3388
feat: add ack reaction defaults
2026-01-06 03:28:47 +00:00
Peter Steinberger
58186aa56e
test: cover typing idle gate
2026-01-06 03:28:47 +00:00
Peter Steinberger
ca8f66f844
refactor: unify group allowlist policy
2026-01-06 04:27:51 +01:00
Ayaan Zaidi
b1bb3ff6a6
feat: add reaction to acknowledge message in createTelegramBot
2026-01-06 03:21:56 +00:00
Peter Steinberger
9d656f4269
style: satisfy lint
2026-01-06 03:11:42 +00:00
Peter Steinberger
d5f088978a
fix: stop typing after dispatcher idle
2026-01-06 03:09:49 +00:00
Josh Palmer
cbc39bd005
use process PATH for bash tool ( #202 )
...
what: default bash PATH to process.env.PATH
why: ensure Nix-provided tools on PATH inside sessions
tests: not run
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-01-06 03:05:21 +00:00
Peter Steinberger
20a361a3cf
refactor: centralize agent timeout defaults
2026-01-06 02:48:44 +00:00
Martin Schürrer
d83ca74c18
gateway: honor agent timeout for chat.send ( #229 )
...
Co-authored-by: clawd@msch <clawd@msch>
2026-01-06 02:45:02 +00:00
Peter Steinberger
9b5610aa45
style: format telegram bot test
2026-01-06 03:43:05 +01:00
Peter Steinberger
9623bd7763
fix: route agent CLI via gateway
2026-01-06 03:41:56 +01:00
Peter Steinberger
0398f684e7
fix: add gateway stop/restart commands
2026-01-06 03:25:32 +01:00
Peter Steinberger
cc0ef4d012
fix(telegram): improve gif handling
2026-01-06 02:22:19 +00:00
Marcus Neves
67e1452f4a
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
00061b2fd3
fix: harden config form
2026-01-06 03:05:56 +01:00
Peter Steinberger
20705d1b37
fix: set codex oauth model default
2026-01-06 02:49:45 +01:00
Peter Steinberger
b6ac2d860d
fix: resolve embedded api key lookup
2026-01-06 02:49:44 +01:00
Peter Steinberger
b30bae89ed
feat: track compaction count + verbose notice
2026-01-06 02:49:03 +01:00
Peter Steinberger
3c6dea3ef3
style: format gmail watcher test
2026-01-06 01:46:59 +00:00
Peter Steinberger
55b33b4e69
fix: stop gmail watcher restart on bind error
2026-01-06 01:40:15 +00:00
Peter Steinberger
87f4efda8d
fix: restore auth fallback ordering
2026-01-06 01:38:15 +00:00
Peter Steinberger
6f541d6304
fix: improve discord permission errors
2026-01-06 01:38:15 +00:00
Echo
162f8e9bb7
fix(discord): convert readMessages timestamps to local time ( #240 )
...
Co-authored-by: Cash Williams <cashwilliams@gmail.com >
2026-01-05 19:37:05 -06:00
Peter Steinberger
b6ae376076
fix: gate reset auth and infer whatsapp sender
2026-01-06 02:23:55 +01:00
Peter Steinberger
b56338171b
feat: gate slash commands and add compact
2026-01-06 02:23:55 +01:00
Peter Steinberger
085c70a87b
fix: prefer env keys unless profiles configured
2026-01-06 01:21:45 +00:00
Peter Steinberger
216a23ed08
fix: auto-migrate legacy config on CLI
2026-01-06 01:10:32 +00:00
Peter Steinberger
e73573eaea
fix: clean model config typing
2026-01-06 01:08:36 +00:00
Peter Steinberger
b04c838c15
feat!: redesign model config + auth profiles
2026-01-06 00:56:58 +00:00
Peter Steinberger
f7074ea45f
test: cover logging defaults
2026-01-06 01:39:42 +01:00
Peter Steinberger
d813e14950
chore: update mention gating docs and tests
2026-01-06 01:38:36 +01:00
Peter Steinberger
811ec8b78b
fix: unify mention gating across providers
2026-01-06 01:32:17 +01:00
Peter Steinberger
5356adba8f
fix: keep Slack thread replies in thread
2026-01-06 01:09:25 +01:00
Peter Steinberger
291c6f3b60
test: cover WhatsApp DM senderE164
2026-01-06 00:55:41 +01:00
Xin
a6a45f4b84
fix(whatsapp): populate senderE164 for direct chats to enable owner commands ( #247 )
2026-01-05 23:54:35 +00:00
Peter Steinberger
a4fdfc2414
chore: fix redaction lint
2026-01-06 00:42:23 +01:00
Peter Steinberger
8be168b180
fix: redact sensitive tokens in tool summaries
2026-01-06 00:41:12 +01:00
Peter Steinberger
20e00eb89b
fix: normalize unknown prompt errors
2026-01-05 23:05:57 +00: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
Josh Lehman
dae7f560a5
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