Peter Steinberger
7a3fa9ce03
feat: show update availability in status
2026-01-17 18:23:27 +00:00
Peter Steinberger
8a67d29748
fix: improve WSL2 systemd daemon hints
2026-01-17 18:19:55 +00:00
Peter Steinberger
408f4f2dac
fix: reuse shared ansi stripper
2026-01-17 18:18:14 +00:00
Peter Steinberger
3df2dc0b15
fix: normalize exec tool alias naming
2026-01-17 18:15:45 +00:00
Peter Steinberger
5304a8c2d1
fix: add timestamped tool context to logs
2026-01-17 18:14:21 +00:00
Peter Steinberger
1569d29b2d
fix: normalize telegram forwarded context ( #1090 ) (thanks @sleontenko)
2026-01-17 18:08:23 +00:00
Peter Steinberger
50c8e74230
fix(doctor): avoid ack reaction migration without config ( #1087 )
...
Thanks @YuriNachos.
Co-authored-by: Yuri Chukhlib <YuriNachos@users.noreply.github.com>
2026-01-17 18:07:06 +00:00
Peter Steinberger
1045b032a2
refactor(logging): use subsystem loggers for discord/ws
2026-01-17 18:03:40 +00:00
Peter Steinberger
5a08471dcd
feat: add sqlite-vec memory search acceleration
2026-01-17 18:02:34 +00:00
Peter Steinberger
252dfbcd40
fix: include context in elevated exec denial
2026-01-17 17:55:11 +00:00
Artus KG
5599e4cf35
test: make session update timestamp UTC
2026-01-17 17:45:14 +00:00
Peter Steinberger
7876679c5d
style: apply oxfmt
2026-01-17 17:44:54 +00:00
Peter Steinberger
755c847d9a
fix: soften discord interaction logging
2026-01-17 17:42:46 +00:00
Peter Steinberger
80a8639940
refactor: centralize telegram send param parsing
2026-01-17 17:36:37 +00:00
Peter Steinberger
6cb5704291
Merge pull request #1085 from dan-dr/chore/kimi-code-provider
...
Add Kimi Code provider onboarding
2026-01-17 17:36:30 +00:00
Peter Steinberger
4a987c836d
fix: add Kimi Code docs + defaults ( #1085 ) (thanks @dan-dr)
2026-01-17 17:35:40 +00:00
Peter Steinberger
af29c6a980
fix: allow media-only telegram voice sends ( #1099 ) (thanks @mukhtharcm)
2026-01-17 17:33:08 +00:00
Muhammed Mukhthar CM
f2a0e8e5bb
feat(telegram): support sending audio as native voice notes via asVoice param in message tool
2026-01-17 17:32:50 +00:00
ddyo
e93a1d8138
feat: add kimi code provider onboarding
2026-01-17 17:25:07 +00:00
Peter Steinberger
eecb340f64
style: format update-cli
2026-01-17 12:51:08 +00:00
Peter Steinberger
49c35c752c
fix: stamp build commit metadata
2026-01-17 12:30:11 +00:00
Peter Steinberger
25d8043b9d
feat: add gateway update check on start
2026-01-17 12:07:17 +00:00
Peter Steinberger
a9f21b3d3a
feat: add update channel support
2026-01-17 11:40:05 +00:00
Peter Steinberger
6b784a9771
style: oxfmt
2026-01-17 10:26:08 +00:00
Peter Steinberger
f8e673cdbc
fix: block invalid config startup
...
Co-authored-by: Muhammed Mukhthar CM <mukhtharcm@gmail.com>
2026-01-17 10:25:24 +00:00
Peter Steinberger
69ba2765de
refactor(security): harden CommandAuthorized plumbing
2026-01-17 10:19:34 +00:00
Peter Steinberger
31e8ecca10
fix: format verbose tool output by channel
2026-01-17 10:17:57 +00:00
Peter Steinberger
4ca38286d8
chore: fix lint/format and update changelog
...
Co-authored-by: ItzR3NO <ItzR3NO@users.noreply.github.com>
2026-01-17 10:16:35 +00:00
Peter Steinberger
fbf1c3ca3c
test: cover plugin enable/disable semantics
2026-01-17 10:16:35 +00:00
Peter Steinberger
1a4313c2aa
fix: avoid crash on memory embeddings errors ( #1004 )
2026-01-17 09:45:53 +00:00
Peter Steinberger
a6deb0d9d5
feat: bundle provider auth plugins
...
Co-authored-by: ItzR3NO <ItzR3NO@users.noreply.github.com>
2026-01-17 09:38:53 +00:00
Peter Steinberger
b6ea5895b6
fix: gate image tool and deepgram audio payload
2026-01-17 09:34:40 +00:00
Peter Steinberger
d66bc65ca6
refactor: unify media provider options
2026-01-17 09:28:05 +00:00
Peter Steinberger
89f85ddeab
fix: normalize deepgram audio upload bytes
2026-01-17 09:19:27 +00:00
Peter Steinberger
bbb71c9198
refactor: prune legacy group targets
2026-01-17 09:01:47 +00:00
Peter Steinberger
ae6792522d
feat: add deepgram audio options
2026-01-17 08:53:42 +00:00
Peter Steinberger
e637bbdfb5
feat: add Deepgram audio transcription
...
Co-authored-by: Safzan Pirani <safzanpirani@users.noreply.github.com>
2026-01-17 08:53:42 +00:00
Peter Steinberger
1002c74d9c
refactor: share inbound envelope label helper
2026-01-17 08:51:31 +00:00
Peter Steinberger
13b931c006
refactor: prune legacy group prefixes
2026-01-17 08:47:25 +00:00
Peter Steinberger
ab49fe0e92
fix: tidy iMessage/Signal sender envelopes ( #1080 ) - thanks @tyler6204
...
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM>
2026-01-17 08:29:54 +00:00
Tyler Yust
d0bc08a934
fix: reduce redundant envelope formatting for iMessage and Signal
2026-01-17 08:29:54 +00:00
Tyler Yust
64d21f5ea8
fix: improve message handling by logging sender issues
2026-01-17 08:29:54 +00:00
Peter Steinberger
56f3a2de25
fix(security): default-deny command execution
2026-01-17 08:28:09 +00:00
Peter Steinberger
d8b463d0b3
fix: cap pending process output
2026-01-17 08:26:12 +00:00
Peter Steinberger
837eea4ebd
fix: refresh TUI session info after runs
2026-01-17 08:22:32 +00:00
Peter Steinberger
55622bac06
Merge pull request #1079 from d-ploutarchos/fix/tui-token-refresh
...
TUI: refresh token counts after agent runs complete
2026-01-17 08:17:03 +00:00
Peter Steinberger
f172ccfcf6
fix: remove stray skills watcher bracket
2026-01-17 08:15:21 +00:00
Peter Steinberger
a2a6893566
fix: allow skills watcher ignore list
2026-01-17 08:12:57 +00:00
Peter Steinberger
616ee3075c
fix: repair skills watcher ignored typing
2026-01-17 08:12:00 +00:00
Peter Steinberger
c5239f6a8e
fix: stabilize pty tests and media kind
2026-01-17 08:10:44 +00:00
Peter Steinberger
cccd7c7b8e
test: stabilize windows pty expectations
2026-01-17 08:07:31 +00:00
Peter Steinberger
8f1132e8ec
fix: share skills watcher ignores
2026-01-17 08:07:06 +00:00
Peter Steinberger
e6477363e9
refactor: normalize channel capabilities typing
2026-01-17 08:06:35 +00:00
Peter Steinberger
1a4fc8dea6
fix: guard memory sync errors
2026-01-17 08:04:48 +00:00
Peter Steinberger
a3daf3d115
style: oxfmt
2026-01-17 08:01:46 +00:00
Peter Steinberger
f3f80509e3
test: cover tg/group/topic inline button targets ( #1072 ) — thanks @danielz1z
...
Co-authored-by: danielz1z <danielz1z@users.noreply.github.com>
2026-01-17 08:00:16 +00:00
Peter Steinberger
7cebe7a506
style: run oxfmt
2026-01-17 08:00:05 +00:00
Peter Steinberger
5986175268
fix: restore CI lint/build
2026-01-17 08:00:05 +00:00
Peter Steinberger
7630c6dccb
Merge pull request #1074 from roshanasingh4/fix/1056-ignore-heavy-watch-paths
...
Fix #1056 : prevent macOS FD exhaustion by ignoring node_modules in skills watcher
2026-01-17 07:56:54 +00:00
Peter Steinberger
d63cc1e8a7
fix: allow telegram prefixes/topics for inline buttons ( #1072 ) — thanks @danielz1z
...
Co-authored-by: danielz1z <danielz1z@users.noreply.github.com>
2026-01-17 07:49:57 +00:00
danielz1z
80bb6b712c
fix: handle telegram: prefix in resolveTelegramTargetChatType
...
When using inlineButtons="dm" or "group" scope, the validation check
resolveTelegramTargetChatType() failed for numeric chat IDs because
normalizeTelegramMessagingTarget() adds a "telegram:" prefix during
target resolution.
For example, target "5232990709" becomes "telegram:5232990709" after
normalization, but the regex /^-?\d+$/ expects a pure numeric string.
The fix strips the telegram: prefix before checking the numeric pattern.
Adds tests for resolveTelegramTargetChatType with various input formats.
2026-01-17 07:47:14 +00:00
Peter Steinberger
410b8f223e
fix: keep extension relay list current ( #1073 )
...
Thanks @roshanasingh4.
Co-authored-by: Roshan Singh <88576930+roshanasingh4@users.noreply.github.com>
2026-01-17 07:43:31 +00:00
Roshan Singh
693f152895
Fix #1035 : refresh extension tab metadata
...
Handle Target.targetInfoChanged in extension relay so /json/list reflects updated title/url after navigation. Adds regression coverage.
2026-01-17 07:43:09 +00:00
Peter Steinberger
78a4441ac2
test: stabilize bash send-keys submit
2026-01-17 07:41:24 +00:00
Peter Steinberger
c92265a51b
refactor: canonicalize gateway session store keys
2026-01-17 07:41:24 +00:00
Peter Steinberger
d5fdda8e28
refactor: prune room legacy
2026-01-17 07:41:24 +00:00
Dimitrios Ploutarchos
cddf198321
TUI: refresh token counts after agent runs complete. Closes #1078
2026-01-17 07:40:59 +00:00
Peter Steinberger
6d969fe58e
refactor: normalize media attachment selection
2026-01-17 07:38:11 +00:00
Peter Steinberger
68c7d577a4
chore: drop target format helper
2026-01-17 07:36:13 +00:00
Peter Steinberger
1ea8917e2b
refactor: trim resolver exports
2026-01-17 07:36:09 +00:00
Peter Steinberger
07c93dfd30
refactor: streamline target resolver helpers
2026-01-17 07:34:26 +00:00
Peter Steinberger
cf0ea6c756
refactor: unify target resolver metadata
2026-01-17 07:34:26 +00:00
Peter Steinberger
8c9e32c4a3
refactor: share sessions list row type
...
Co-authored-by: Adam Holt <mail@adamholt.co.nz>
2026-01-17 07:34:21 +00:00
Peter Steinberger
34d59d7913
refactor: rename hooks docs and add tests
2026-01-17 07:32:54 +00:00
Peter Steinberger
0c0d9e1d22
Merge pull request #1071 from danielz1z/fix/capabilities-object-format
...
fix: handle object-format capabilities in normalizeCapabilities
2026-01-17 07:31:52 +00:00
Peter Steinberger
2ee45d50a4
refactor: tighten media diagnostics
2026-01-17 07:27:38 +00:00
Peter Steinberger
0c0e1e4226
refactor: extend media understanding
2026-01-17 07:17:13 +00:00
Peter Steinberger
86a46874da
fix: preserve discord chunk whitespace
2026-01-17 07:11:21 +00:00
Peter Steinberger
3a6ee5ee00
feat: unify hooks installs and webhooks
2026-01-17 07:08:04 +00:00
Peter Steinberger
5dc87a2ed4
fix: respond to PTY cursor queries
2026-01-17 07:05:24 +00:00
Peter Steinberger
a85ddf258c
fix: expose deliveryContext in sessions_list
...
Co-authored-by: Adam Holt <mail@adamholt.co.nz>
2026-01-17 06:54:31 +00:00
Peter Steinberger
1f3a09b43b
fix: persist deliveryContext on last-route updates
...
Co-authored-by: Adam Holt <mail@adamholt.co.nz>
2026-01-17 06:54:31 +00:00
Peter Steinberger
7b31b280f8
refactor: reuse agent outbound target resolution
...
Co-authored-by: Adam Holt <mail@adamholt.co.nz>
2026-01-17 06:54:31 +00:00
Peter Steinberger
6a3ed5c850
fix(security): gate slash/control commands
2026-01-17 06:49:34 +00:00
Peter Steinberger
37a2eee837
refactor: drop legacy session store keys
2026-01-17 06:48:44 +00:00
Peter Steinberger
353d778988
refactor: centralize target normalization
2026-01-17 06:45:11 +00:00
Peter Steinberger
5a1ff5b9e7
refactor: tune media understanding
2026-01-17 06:44:19 +00:00
Peter Steinberger
3dc4a96330
feat: add process submit helper
2026-01-17 06:38:56 +00:00
Peter Steinberger
65a8a93854
fix: normalize delivery routing context
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 06:38:33 +00:00
Peter Steinberger
eb8a0510e0
refactor: unify queue drop handling
2026-01-17 06:38:33 +00:00
Peter Steinberger
a4178e4062
fix: stabilize pty send-keys tests
2026-01-17 06:32:24 +00:00
Roshan Singh
e7953d8164
Fix #1056 : ignore heavy paths in skills watcher
...
On macOS, watching deep dependency trees can exhaust file descriptors and lead to spawn EBADF failures. The skills watcher only needs to observe skill changes, so ignore dotfiles, node_modules, and dist by default. Adds regression coverage.
2026-01-17 06:26:27 +00:00
Peter Steinberger
5ebfc0738f
feat: add session slug generator
2026-01-17 06:23:26 +00:00
Peter Steinberger
bd32cc40e6
feat: add keypad key mappings
2026-01-17 06:22:05 +00:00
Peter Steinberger
b31d8d3b10
feat: add tmux-style process key helpers
2026-01-17 06:12:56 +00:00
Peter Steinberger
331141ad77
refactor: centralize message target resolution
...
Co-authored-by: Thinh Dinh <tobalsan@users.noreply.github.com>
2026-01-17 06:04:49 +00:00
Peter Steinberger
c7ae5100fa
refactor: share queue helpers
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 06:02:27 +00:00
Peter Steinberger
285ed8bac3
fix: sync delivery routing context
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 06:02:27 +00:00
Peter Steinberger
e59d8c5436
style: oxfmt format
2026-01-17 05:48:56 +00:00
Peter Steinberger
8b42902cee
refactor: drop legacy room chatType
2026-01-17 05:46:40 +00:00
Peter Steinberger
07a3db153d
feat: notify on exec exit
2026-01-17 05:43:34 +00:00
Peter Steinberger
68d35be383
feat: emit tool outputs for full verbose
2026-01-17 05:40:21 +00:00
Peter Steinberger
99dd428862
feat: extend verbose tool feedback
2026-01-17 05:33:39 +00:00
Peter Steinberger
4d314db750
refactor: extract subagent announce queue
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 05:29:07 +00:00
Peter Steinberger
ccea3a0615
refactor: unify delivery target resolution
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 05:29:06 +00:00
Peter Steinberger
f4f20c6762
refactor: normalize session route fields
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 05:29:06 +00:00
Peter Steinberger
a624878973
fix(security): gate slash commands by sender
2026-01-17 05:25:42 +00:00
Peter Steinberger
c8b826ea8c
fix: add media understanding decision types
2026-01-17 05:24:54 +00:00
Peter Steinberger
f7089cde54
fix: unify inbound sender labels
2026-01-17 05:21:09 +00:00
danielz1z
f42b12646d
fix: handle object-format capabilities in normalizeCapabilities
...
When capabilities is configured as an object (e.g., { inlineButtons: "dm" })
instead of a string array, normalizeCapabilities() would crash with
"capabilities.map is not a function".
This can occur when using the new Telegram inline buttons scoping feature:
channels.telegram.capabilities.inlineButtons = "dm"
The fix adds an Array.isArray() guard to return undefined for non-array
capabilities, allowing channel-specific handlers (like
resolveTelegramInlineButtonsScope) to process the object format separately.
Fixes crash when using object-format TelegramCapabilitiesConfig.
2026-01-17 05:11:57 +00:00
Peter Steinberger
572e04d5fb
refactor(cli): split outbound send deps
2026-01-17 05:06:39 +00:00
Peter Steinberger
bc49c20434
fix: finalize inbound contexts
2026-01-17 05:06:39 +00:00
Peter Steinberger
c4ea25a509
feat: add exec pty support
2026-01-17 04:57:11 +00:00
Peter Steinberger
312cb75c50
fix: trim /status oauth output
2026-01-17 04:54:28 +00:00
Peter Steinberger
ee738e6578
test: fix mocks for target resolver
2026-01-17 04:41:02 +00:00
Peter Steinberger
fcb7c9ff65
refactor: unify media understanding pipeline
2026-01-17 04:39:00 +00:00
Peter Steinberger
49ecbd8fea
test: expand accountId routing coverage
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 04:33:24 +00:00
Peter Steinberger
19ee6699d2
refactor: clarify subagent announce origin
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 04:33:24 +00:00
Peter Steinberger
5fcc9b3244
refactor: centralize target errors and cache lookups
2026-01-17 04:28:22 +00:00
Peter Steinberger
3efc5e54fa
fix: preserve account routing for explicit targets
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 04:24:59 +00:00
Peter Steinberger
780c811146
refactor: migrate subagent registry store v2
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 04:24:59 +00:00
Peter Steinberger
4f37f66264
refactor: normalize delivery context
...
Co-authored-by: adam91holt <adam91holt@users.noreply.github.com>
2026-01-17 04:24:59 +00:00
Peter Steinberger
8ebfa2950d
refactor: align message target wording
2026-01-17 04:18:59 +00:00
Peter Steinberger
6e4d86f426
refactor: require target for message actions
2026-01-17 04:15:46 +00:00
Peter Steinberger
87cecd0268
refactor: align channel chatType
2026-01-17 04:13:06 +00:00
Peter Steinberger
388b2bce01
refactor: add inbound context helpers
2026-01-17 04:05:34 +00:00
Peter Steinberger
a2b5b1f0cb
refactor: normalize inbound context
2026-01-17 04:05:33 +00:00
Peter Steinberger
9f4b7a1683
fix: normalize subagent announce delivery origin
...
Co-authored-by: Adam Holt <mail@adamholt.co.nz>
2026-01-17 04:03:28 +00:00
Peter Steinberger
dd68faef23
refactor: split message tool schema + action handling
2026-01-17 03:58:55 +00:00
Peter Steinberger
97cfa0846c
chore: remove legacy transcription helpers
2026-01-17 03:54:46 +00:00
Peter Steinberger
1b973f7506
feat: add inbound media understanding
...
Co-authored-by: Tristan Manchester <tmanchester96@gmail.com>
2026-01-17 03:54:46 +00:00
Peter Steinberger
4b749f1b8f
refactor: share telegram caption splitting
2026-01-17 03:50:09 +00:00
Peter Steinberger
7f1f9473a0
refactor: dedupe message action helpers
2026-01-17 03:46:03 +00:00
Peter Steinberger
a32e5d040c
Merge pull request #1063 from mukhtharcm/fix/telegram-caption-split
...
fix(telegram): split long captions into follow-up messages
2026-01-17 03:42:13 +00:00
Peter Steinberger
a82217a5f3
chore: format + regenerate protocol
2026-01-17 03:40:49 +00:00
Peter Steinberger
09bed2ccde
refactor: centralize outbound policy + target schema
2026-01-17 03:33:56 +00:00
Peter Steinberger
3af391eec7
refactor: centralize group sender identity
2026-01-17 03:32:48 +00:00
Peter Steinberger
3fcd6fadf3
fix: land oxlint config follow-ups ( #1064 ) (thanks @connorshea)
2026-01-17 03:25:05 +00:00
Peter Steinberger
bc7d603867
test: expand accountId delivery coverage
...
Co-authored-by: Adam Holt <adam91holt@users.noreply.github.com>
2026-01-17 03:17:33 +00:00
Peter Steinberger
46015a3dd8
feat: add cross-context messaging resolver
...
Co-authored-by: Thinh Dinh <tobalsan@users.noreply.github.com>
2026-01-17 03:17:13 +00:00
Peter Steinberger
1481a3d90f
fix: include sender info for iMessage/Signal group messages
2026-01-17 02:52:01 +00:00
Peter Steinberger
96a1d03f08
fix: remove stale previousSessionEntry param
2026-01-17 02:52:01 +00:00
Peter Steinberger
0291105913
fix: thread accountId through subagent announce delivery
...
Co-authored-by: Adam Holt <adam91holt@users.noreply.github.com>
2026-01-17 02:45:18 +00:00
Muhammed Mukhthar CM
02184dd055
fix(telegram): split long captions into follow-up messages
2026-01-17 02:16:01 +00:00
Peter Steinberger
d5332ae29a
fix: thread accountId through subagent announce
...
Co-authored-by: Adam Holt <adam91holt@users.noreply.github.com>
2026-01-17 02:09:35 +00:00
Peter Steinberger
fdaeada3ec
feat: mirror delivered outbound messages ( #1031 )
...
Co-authored-by: T Savo <TSavo@users.noreply.github.com>
2026-01-17 02:03:18 +00:00
Peter Steinberger
3fb699a84b
style: apply oxfmt
2026-01-17 01:55:42 +00:00
Peter Steinberger
767f55b127
fix: wire previous session entry and stabilize jpeg test
2026-01-17 01:55:35 +00:00
Peter Steinberger
19016f16e0
fix: queue subagent announce delivery
2026-01-17 01:44:13 +00:00
Peter Steinberger
faba508fe0
feat: add internal hooks system
2026-01-17 01:31:57 +00:00
Peter Steinberger
a76cbc43bb
fix(browser): remote profile tab ops follow-up ( #1060 ) (thanks @mukhtharcm)
...
Landed via follow-up to #1057 .
Gate: pnpm lint && pnpm build && pnpm test
2026-01-17 01:28:22 +00:00
Peter Steinberger
e16ce1a0a1
style: format health/status files
2026-01-17 01:25:10 +00:00
Peter Steinberger
c592f395df
test: update health/status and legacy migration coverage
2026-01-17 01:19:43 +00:00
Peter Steinberger
f14d622c0f
refactor: centralize account bindings + health probes
2026-01-17 01:19:43 +00:00
Peter Steinberger
fd49f39a72
Merge pull request #1057 from mukhtharcm/feat/browser-persistent-tabs-remote-profiles
...
feat(browser): use persistent Playwright connections for remote profile tab operations
2026-01-17 00:57:58 +00:00
Peter Steinberger
bbef30daa5
fix: browser remote tab ops harden ( #1057 ) (thanks @mukhtharcm)
2026-01-17 00:57:35 +00:00
Peter Steinberger
0179717d61
feat: enhance web_fetch fallbacks
2026-01-17 00:43:37 +00:00
Peter Steinberger
7ecf733342
fix: align channel config schemas and env precedence
2026-01-17 00:43:05 +00:00
Shadow
1ad26d6fea
Config: schema-driven channels and settings
2026-01-17 00:43:05 +00:00
Muhammed Mukhthar CM
02a4de0029
feat(browser): use persistent Playwright connections for remote profile tab operations
...
For remote CDP profiles (e.g., Browserless), tab operations now use Playwright's
persistent connection instead of stateless HTTP requests. This ensures tabs
persist across operations rather than being terminated after each request.
Changes:
- pw-session.ts: Add listPagesViaPlaywright, createPageViaPlaywright, and
closePageByTargetIdViaPlaywright functions using the cached Playwright connection
- pw-ai.ts: Export new functions for dynamic import
- server-context.ts: For remote profiles (!cdpIsLoopback), use Playwright-based
tab operations; local profiles continue using HTTP endpoints
- server-context.ts: Fix ensureTabAvailable to not require wsUrl for remote
profiles since Playwright accesses pages directly
This is a follow-up to #895 which added authentication support for remote CDP
profiles. The original PR description mentioned switching to persistent Playwright
connections for tab operations, but only the auth changes were merged.
2026-01-17 00:42:53 +00:00
Peter Steinberger
1be0e9b9fb
Merge pull request #1054 from tyler6204/fix/imsg-remote-attachments
...
iMessage: Add remote attachment support for VM/SSH deployments
2026-01-17 00:37:21 +00:00
Peter Steinberger
6e5eddf292
fix: avoid imessage rpc restart loop
2026-01-17 00:35:24 +00:00
Peter Steinberger
64a2ef4a18
refactor: simplify env var substitution scan
2026-01-17 00:34:00 +00:00
Peter Steinberger
25399d39cb
fix: harden env var substitution parsing ( #1044 ) (thanks @sebslight)
2026-01-17 00:29:08 +00:00
Peter Steinberger
731080375a
Merge pull request #1044 from sebslight/env-var-substitution
...
feat(config): add env var substitution in config values
2026-01-17 00:25:26 +00:00
Sash Catanzarite
89bbbe75a6
fix: honor message tool channel for tool dedupe ( #1053 )
...
- Treat message tool `channel` as provider hint for dedupe/suppression.
- Prefer NO_REPLY after message tool sends to avoid duplicate replies.
Co-authored-by: Sash Catanzarite <1166151+thesash@users.noreply.github.com>
2026-01-17 00:23:51 +00:00
Peter Steinberger
f69298d7eb
docs: clarify model key format
2026-01-17 00:15:37 +00:00
Peter Steinberger
1569db1754
style: format with oxfmt
2026-01-17 00:03:00 +00:00
Peter Steinberger
c54c665f97
feat: enhance web_fetch fallbacks
2026-01-17 00:00:49 +00:00
Peter Steinberger
13e2dd97a7
fix(session): preserve overrides on /new reset
...
Co-authored-by: Yurii Chukhlib <yuri.v.chu@gmail.com>
2026-01-16 23:59:04 +00:00
Yurii Chukhlib
6bba84b043
fix(channels): include linked field in WhatsApp describeAccount
...
Fixes #1030
The describeAccount function for WhatsApp was not returning the
linked field, causing the Channels status section to show
"Not linked" even when WhatsApp was properly linked and working.
The fix adds the linked field to describeAccount, set to the same
value as configured (Boolean(account.authDir)). This ensures that
the Channels section and Health section show consistent status.
2026-01-16 23:59:04 +00:00
Peter Steinberger
e31251293b
fix: scope history injection to pending-only
2026-01-16 23:52:42 +00:00
Tyler Yust
7a9ff18260
iMessage: Add remote attachment support for VM/SSH deployments
2026-01-16 15:51:42 -08:00
Peter Steinberger
37fa4f7eef
feat: improve web_fetch readability extraction
2026-01-16 23:18:01 +00:00
Yurii Chukhlib
171060541a
docs(web-search): document country and language parameters
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-16 23:14:33 +00:00
Yurii Chukhlib
003547c818
test(web-search): add tests for country and language parameters
...
Added three new test cases to verify the new country, search_lang, and ui_lang
parameters are correctly passed to the Brave Search API.
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-16 23:14:33 +00:00
Yurii Chukhlib
c4e1064066
feat(web-search): pass country and language params to Brave API
...
- Add country, search_lang, and ui_lang optional parameters to runWebSearch
- Pass new parameters to Brave Search API as URL query parameters
- Update cache key to include localization parameters
- Wire parameters through createWebSearchTool execute function
2026-01-16 23:14:33 +00:00
Yurii Chukhlib
d163dbcfcd
feat(web-search): add country and language optional parameters to schema
2026-01-16 23:14:33 +00:00
Yurii Chukhlib
b3b6d421cc
fix(session): reset compactionCount on /new and /reset
2026-01-16 23:14:33 +00:00
Yurii Chukhlib
cf72b9db3c
fix(sessions): preserve 0600 permissions on sessions.json writes
2026-01-16 23:14:33 +00:00
Peter Steinberger
106e308953
fix: prefer config tokens over env for discord/telegram
2026-01-16 23:13:00 +00:00
Peter Steinberger
28a5d124c3
fix: stabilize transport-ready test timing
2026-01-16 23:03:12 +00:00
Peter Steinberger
a7bec3340f
fix: drop unsigned gemini tool calls from history
2026-01-16 22:43:16 +00:00
Peter Steinberger
e44f28bd4f
feat: unify directory across channels
2026-01-16 22:40:36 +00:00
Peter Steinberger
76d3d58b5c
chore: oxfmt
2026-01-16 22:33:47 +00:00
Peter Steinberger
500c75b4f0
fix: align ZAI thinking toggles
2026-01-16 22:26:43 +00:00
Peter Steinberger
3567dc4a47
fix: hard-stop sessions.delete cleanup
2026-01-16 22:24:13 +00:00
Peter Steinberger
05d149a49b
fix: treat reply-to-bot as implicit mention across channels
2026-01-16 21:51:01 +00:00
Peter Steinberger
97a41a6509
fix: suppress zero sub-agent stop note
2026-01-16 21:41:55 +00:00
Peter Steinberger
a0be85c34c
fix: /stop aborts subagents
2026-01-16 21:37:22 +00:00
Sebastian
a36735b913
feat(config): add env var substitution in config values
...
Support ${VAR_NAME} syntax in any config string value, substituted at
config load time. Useful for referencing API keys and secrets from
environment variables without hardcoding them in the config file.
- Only uppercase env vars matched: [A-Z_][A-Z0-9_]*
- Missing/empty env vars throw MissingEnvVarError with path context
- Escape with $${VAR} to output literal ${VAR}
- Works with $include (included files also get substitution)
Closes #1009
2026-01-16 16:32:07 -05:00
tsu
390bd11f33
feat: add zalouser channel + directory CLI ( #1032 ) (thanks @suminhthanh)
...
- Unified UX: channels login + message send; no plugin-specific top-level command\n- Added generic directory CLI for channel identity/groups\n- Docs: channel + plugin pages
2026-01-16 21:28:18 +00:00
Peter Steinberger
16768a9998
fix: start fresh cron sessions each run
2026-01-16 21:27:56 +00:00
adityashaw2
e9d6869290
Telegram: Add reply-chain detection to bypass mention requirement ( #1038 )
...
* Telegram: add reply-chain detection to bypass mention requirement
* fix: allow telegram reply-chain mention bypass (#1038 ) (thanks @adityashaw2)
---------
Co-authored-by: Aditya Shaw <aditya@adityashaw.dev>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-16 21:24:45 +00:00
Peter Steinberger
9072e35f08
fix: hard-abort clears queues on /stop
2026-01-16 21:15:25 +00:00
Peter Steinberger
d887027e95
style: run oxfmt
2026-01-16 21:11:55 +00:00
Peter Steinberger
f3a37664d5
fix: tighten Vercel AI Gateway onboarding docs/tests ( #1016 ) (thanks @timolins)
2026-01-16 21:06:21 +00:00
Timo Lins
beb9eac5f7
Models: add Vercel AI Gateway auth
2026-01-16 21:00:15 +00:00
Peter Steinberger
0dcffcd5b0
fix: repair orphaned user turns before embedded prompts
2026-01-16 20:52:18 +00:00
Peter Steinberger
56efbce31e
feat: enable telegram reaction notifications by default
2026-01-16 20:51:42 +00:00