Commit Graph

3539 Commits

Author SHA1 Message Date
tsavo
7c723a3a52 refactor: add afterEach cleanup to all gateway tests
Added afterEach hooks with server/ws cleanup to:
- server.channels.test.ts (3 tests)
- server.config-apply.test.ts (2 tests)
- server.sessions-send.test.ts (already had this)

This ensures ports are properly released between tests, preventing
timeout issues from port conflicts.
2026-01-17 21:35:01 -08:00
tsavo
46f770241e refactor: remove monkeypatching from gateway tests
Replace manual process.env backup/restore with vi.stubEnv():
- server.config-apply.test.ts: Simplified env var pattern
- server.channels.test.ts: Simplified env var pattern
- server.sessions-send.test.ts: Added afterEach cleanup hook, removed try-finally blocks from all 4 tests

Uses proper Vitest isolation instead of manual restoration.
2026-01-17 21:32:14 -08:00
Peter Steinberger
f912f1bc4f refactor: centralize bootstrap file resolution 2026-01-18 05:31:04 +00:00
Peter Steinberger
39b5e0c208 feat: add bootstrap hook and soul-evil hook 2026-01-18 05:24:47 +00:00
Peter Steinberger
2f8ead5051 test: cover subagent helpers 2026-01-18 05:19:56 +00:00
Peter Steinberger
260adcb7bd refactor: share subagent helpers 2026-01-18 05:19:56 +00:00
Peter Steinberger
621cdd393d fix: abort embedded prompts on cancel 2026-01-18 05:18:10 +00:00
Peter Steinberger
78fdb3e3bb feat: expand subagent status visibility 2026-01-18 04:46:04 +00:00
Peter Steinberger
0e0b98a584 fix: align agent exec config 2026-01-18 04:37:15 +00:00
Peter Steinberger
950268782b feat: surface batch request progress 2026-01-18 04:30:15 +00:00
Peter Steinberger
a41a69b6ae perf: improve batch status logging 2026-01-18 04:28:14 +00:00
Peter Steinberger
5fa9bee53c feat: add exec host approvals flow 2026-01-18 04:27:41 +00:00
Peter Steinberger
3f408eeefc fix: resolve plugin tool meta typing 2026-01-18 04:24:16 +00:00
Peter Steinberger
aa1c76a1d4 fix: avoid keychain prompts in embedded runner 2026-01-18 04:19:28 +00:00
Peter Steinberger
00e508cc63 refactor: centralize plugin tool policy helpers 2026-01-18 04:18:32 +00:00
Peter Steinberger
17255e1b5c feat: add optional plugin tools 2026-01-18 04:08:00 +00:00
Peter Steinberger
1148323e7b perf: speed up memory batch polling 2026-01-18 03:55:14 +00:00
Peter Steinberger
679838d9c2 fix: persist session origin metadata 2026-01-18 03:41:51 +00:00
Peter Steinberger
6d2f6c1d54 fix: align plugin runtime types 2026-01-18 03:41:25 +00:00
Peter Steinberger
aede371d78 test: stabilize doctor + pi-embedded suites 2026-01-18 03:40:47 +00:00
Peter Steinberger
829a4bbc7d feat: migrate zalo plugin to sdk 2026-01-18 03:37:26 +00:00
Peter Steinberger
0996e1d589 Merge pull request #1136 from cheeeee/fix/prompt-failover
fix(agent): Enable model fallback for prompt-phase quota/rate limit errors
2026-01-18 03:32:03 +00:00
Peter Steinberger
8deb04931d feat: add bluebubbles plugin 2026-01-18 03:17:43 +00:00
Peter Steinberger
152f1d4ffc test: stabilize embedded runner tests 2026-01-18 02:55:41 +00:00
Peter Steinberger
57fd4c7dc0 chore: remove tracked artifacts 2026-01-18 02:55:07 +00:00
Peter Steinberger
17d2951675 refactor: migrate extensions to plugin sdk 2026-01-18 02:55:07 +00:00
Peter Steinberger
e30bc29172 refactor: add plugin sdk runtime scaffolding 2026-01-18 02:52:30 +00:00
Peter Steinberger
399e0fb760 feat: add session origin metadata helpers 2026-01-18 02:42:11 +00:00
Peter Steinberger
72434aeab3 feat: persist session origin metadata across connectors 2026-01-18 02:42:10 +00:00
Peter Steinberger
df9fcdd0aa style: apply oxfmt 2026-01-18 02:19:35 +00:00
Peter Steinberger
29af0bc20a feat(plugins): add memory slot plugin 2026-01-18 02:12:10 +00:00
Peter Steinberger
ebb04f4600 test: stabilize env-dependent tool defaults 2026-01-18 01:57:54 +00:00
Peter Steinberger
af3166a777 feat: show memory summary in status 2026-01-18 01:57:54 +00:00
Peter Steinberger
42a9c0f717 test: cover perplexity baseUrl precedence 2026-01-18 01:56:34 +00:00
Peter Steinberger
1b25107159 refactor: share allowlist match metadata
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:49:25 +00:00
Peter Steinberger
01b756d2ba feat: add hybrid memory search 2026-01-18 01:47:58 +00:00
Peter Steinberger
ca62c174c8 feat: add memory embedding cache 2026-01-18 01:47:58 +00:00
Peter Steinberger
689009b23b refactor: split web tools and docs 2026-01-18 01:42:54 +00:00
Peter Steinberger
6df47475a0 fix: delay discord slow listener warnings 2026-01-18 01:41:10 +00:00
Peter Steinberger
a9852693a6 refactor: share teams allowlist matching helpers
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:37:22 +00:00
Peter Steinberger
5b05b727ce feat: add exec approvals allowlists 2026-01-18 01:34:31 +00:00
Mykyta Bozhenko
78c653fb94 fix(agent): Enable model fallback for prompt-phase quota/rate limit errors
When a prompt submission fails with quota or rate limit errors, throw
FailoverError instead of the raw promptError. This enables the model
fallback system to try alternative models.

Previously, rate limit errors during the prompt phase (before streaming)
were thrown directly, bypassing fallback. Only response-phase errors
triggered model fallback.

Now checks if fallback models are configured and the error is failover-
eligible. If so, wraps in FailoverError to trigger the fallback chain.
2026-01-18 01:29:48 +00:00
Peter Steinberger
13339d3ed3 test: stub slack allowlist resolvers 2026-01-18 01:25:19 +00:00
Peter Steinberger
70b29162ed feat: speed up memory batch indexing 2026-01-18 01:24:51 +00:00
Peter Steinberger
bca39a6561 refactor: unify channel config matching and gating
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:24:00 +00:00
Peter Steinberger
1af7946a10 fix(slack): resolve allowlists async 2026-01-18 01:23:25 +00:00
Peter Steinberger
f57e7dcdcf Merge pull request #1131 from CMLKevin/feat/perplexity-search-provider
feat(web): add Perplexity Sonar as alternative search provider
2026-01-18 01:16:00 +00:00
Peter Steinberger
2718e37986 fix: normalize gateway dev mode detection 2026-01-18 01:08:47 +00:00
Peter Steinberger
1a1ad8c7b0 fix: harden qwen oauth flow (#1120) (thanks @mukhtharcm) 2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
346be24388 UI: simplify Qwen labels 2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
cbd5e36731 UI: label Qwen provider 2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
712c5ae0a8 Models: add Qwen Portal OAuth support 2026-01-18 01:03:08 +00:00
Peter Steinberger
247337b201 test: reindex on embedding model change 2026-01-18 01:00:57 +00:00
Peter Steinberger
d669ecd1b6 fix(channels): clean up discord resolve typing 2026-01-18 01:00:25 +00:00
Peter Steinberger
946f959d3f refactor(channels): share allowlist + resolver helpers 2026-01-18 01:00:25 +00:00
Peter Steinberger
6ac6a3b3c7 feat(channels): add resolve command + defaults 2026-01-18 01:00:24 +00:00
Rodrigo Uroz
9c2b1a75f7 Update tagline.ts with a nice reference from an old movie 2026-01-18 00:59:43 +00:00
Peter Steinberger
54c3bc757e fix: surface match metadata in audits and slack logs
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 00:50:36 +00:00
Peter Steinberger
8e05b6dfcd refactor(channels): unify target parsing 2026-01-18 00:31:42 +00:00
Peter Steinberger
5a84d79045 fix: apply openai batch defaults 2026-01-18 00:29:18 +00:00
Peter Steinberger
ce66f69b3a refactor: centralize cli manager cleanup
Co-authored-by: Nicholas Spisak <jsnsdirect@gmail.com>
2026-01-18 00:16:01 +00:00
Peter Steinberger
c9400003ba refactor(slack): centralize target parsing 2026-01-18 00:15:05 +00:00
Peter Steinberger
9ee54aea74 feat: add dm allowlist match metadata logs
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 00:14:44 +00:00
Peter Steinberger
4e41758512 feat: add thinking override to sessions_spawn 2026-01-18 00:14:18 +00:00
Kevin Lin
ea51e56610 feat(web): add Perplexity Sonar as alternative search provider 2026-01-18 08:08:36 +08:00
Peter Steinberger
1e001de5d3 refactor(discord): centralize target parsing
Co-authored-by: Jonathan Rhyne <jonathan@pspdfkit.com>
2026-01-18 00:04:38 +00:00
Peter Steinberger
2dc9f8bb27 feat: add channel match metadata logs
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-17 23:48:45 +00:00
Peter Steinberger
295766c29f fix: harden memory cli manager cleanup
Co-authored-by: Nicholas Spisak <jsnsdirect@gmail.com>
2026-01-17 23:45:42 +00:00
Peter Steinberger
5bb1b4419c test: cover daemon install helpers 2026-01-17 23:41:45 +00:00
Peter Steinberger
c3da97cf79 fix: restore wizard/doctor imports 2026-01-17 23:41:45 +00:00
Peter Steinberger
e8826f5045 feat: enable batch indexing by default 2026-01-17 23:29:40 +00:00
Peter Steinberger
f6ed576ddb refactor: unify gateway daemon install plan 2026-01-17 23:29:34 +00:00
Peter Steinberger
d615967569 fix(discord): honor thread allowlists in reactions
Co-authored-by: Codex <codex@openai.com>
2026-01-17 23:03:51 +00:00
Peter Steinberger
90fa8b1663 refactor(channels): share channel config matching
Co-authored-by: Codex <codex@openai.com>
2026-01-17 23:03:51 +00:00
Shadow
d42a6a837d Discord: inherit thread allowlists 2026-01-17 23:03:51 +00:00
Peter Steinberger
48501cdf7a fix: stabilize memory sync progress 2026-01-17 23:02:03 +00:00
Peter Steinberger
c8cb23ef36 fix: handle daemon install failure in wizard 2026-01-17 23:00:34 +00:00
Peter Steinberger
5b663afd6f fix: retry embedding 5xx errors 2026-01-17 22:48:50 +00:00
Peter Steinberger
5b07bc9ca8 test: cover channels capabilities probes 2026-01-17 22:33:18 +00:00
Peter Steinberger
132af4edc2 feat: add OpenAI batch memory indexing 2026-01-17 22:32:04 +00:00
Peter Steinberger
c1c42e01f4 fix: sessions list label fallback
Co-authored-by: abdaraxus <abdaraxus@users.noreply.github.com>
2026-01-17 22:22:01 +00:00
Peter Steinberger
1305f7e5aa fix: skip empty memory chunks 2026-01-17 21:58:59 +00:00
Peter Steinberger
681729f00b fix: parallelize memory embedding indexing 2026-01-17 21:57:12 +00:00
Peter Steinberger
72a5c9f402 fix: format exec elevated flag first in tool summaries 2026-01-17 21:54:24 +00:00
Peter Steinberger
bfb5367c76 fix: split long memory lines 2026-01-17 21:11:56 +00:00
Peter Steinberger
68fdd88f6f fix: show memory index counts in progress 2026-01-17 21:09:22 +00:00
Peter Steinberger
c101df891b fix: report memory index progress 2026-01-17 20:42:04 +00:00
Peter Steinberger
6384887504 fix(telegram): expand text_link entities in inbound text
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 20:41:34 +00:00
Peter Steinberger
d069ceeeb5 fix: suppress duplicate discord slow-listener logs 2026-01-17 20:37:36 +00:00
Peter Steinberger
8a58d742d4 fix: add agent context to ws logs 2026-01-17 20:37:36 +00:00
Peter Steinberger
766be6969f feat: confirm memory index completion 2026-01-17 20:35:15 +00:00
Peter Steinberger
a790471244 chore: release 2026.1.17-1 2026-01-17 20:26:24 +00:00
Peter Steinberger
e41de87566 feat: add progress to memory status deep 2026-01-17 20:25:19 +00:00
Peter Steinberger
5524a149f2 feat: add deep memory status checks 2026-01-17 20:18:36 +00:00
Peter Steinberger
77196c8b62 fix: soften windows daemon install 2026-01-17 20:12:26 +00:00
Peter Steinberger
e196b86272 test: expand frontmatter coverage 2026-01-17 20:12:04 +00:00
Peter Steinberger
a289fec8c5 fix: split memory embedding batches 2026-01-17 20:10:11 +00:00
Peter Steinberger
fca3f03363 fix: preserve inline frontmatter values 2026-01-17 19:56:10 +00:00
Peter Steinberger
f459063f92 fix: improve frontmatter parsing 2026-01-17 19:56:10 +00:00
Sebastian Slight
e2c7879acc fix: handle multi-line metadata blocks in HOOK.md frontmatter
The frontmatter parser was using a simple line-by-line regex that only
captured single-line key-value pairs. This meant multi-line metadata
blocks (as used by bundled hooks) were not parsed correctly.

Changes:
- Add extractMultiLineValue() to handle indented continuation lines
- Use JSON5 instead of JSON.parse() to support trailing commas
- Add comprehensive test coverage for frontmatter parsing

Fixes #1113
2026-01-17 19:56:10 +00:00
Peter Steinberger
52e33b27ed test: update memory cli mocks for vector probe 2026-01-17 19:49:41 +00:00
Peter Steinberger
d7cb0c7194 fix: probe memory vector availability 2026-01-17 19:46:34 +00:00
Peter Steinberger
fd2d520e47 Infra: update MiniMax usage endpoint 2026-01-17 19:45:48 +00:00
Peter Steinberger
ce0fd4fbbf feat: add slack user scopes and teams graph hints 2026-01-17 19:33:03 +00:00
Peter Steinberger
4491b7256a test: expand memory cli coverage 2026-01-17 19:30:46 +00:00
Peter Steinberger
8ea8b057b0 feat: add per-provider scope probes to channels capabilities 2026-01-17 19:28:52 +00:00
Peter Steinberger
2e885b20cb fix: close memory cli managers 2026-01-17 19:20:55 +00:00
Peter Steinberger
0365f40e59 test: avoid global SIGTERM emit in child-process-bridge 2026-01-17 19:20:48 +00:00
Peter Steinberger
ea11253447 feat: add channels capabilities command 2026-01-17 19:06:07 +00:00
Peter Steinberger
f08633aa37 fix: add nested agent log context 2026-01-17 18:59:59 +00:00
Peter Steinberger
a29738f26d feat: add experimental session memory source 2026-01-17 18:53:52 +00:00
Peter Steinberger
633089aebc fix(status): show 2 usage windows in /status (#1101)
Thanks @rhjoh.

Co-authored-by: Rhys Johnston <rhys.johnston00@gmail.com>
2026-01-17 18:46:41 +00:00
Peter Steinberger
6edc573fbb test(memory): await watch sync completion 2026-01-17 18:45:42 +00:00
Peter Steinberger
38342f6637 style: apply oxfmt 2026-01-17 18:32:23 +00:00
Peter Steinberger
8c215439c4 feat: show update availability in status 2026-01-17 18:23:27 +00:00
Peter Steinberger
acf3be56f2 fix: improve WSL2 systemd daemon hints 2026-01-17 18:19:55 +00:00
Peter Steinberger
d2f73689df fix: reuse shared ansi stripper 2026-01-17 18:18:14 +00:00
Peter Steinberger
fefbc8da51 fix: normalize exec tool alias naming 2026-01-17 18:15:45 +00:00
Peter Steinberger
b51b3e9e64 fix: add timestamped tool context to logs 2026-01-17 18:14:21 +00:00
Peter Steinberger
8924180117 fix: normalize telegram forwarded context (#1090) (thanks @sleontenko) 2026-01-17 18:08:23 +00:00
Peter Steinberger
be1885f340 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
3ed88fc31d refactor(logging): use subsystem loggers for discord/ws 2026-01-17 18:03:40 +00:00
Peter Steinberger
a009b9a673 feat: add sqlite-vec memory search acceleration 2026-01-17 18:02:34 +00:00
Peter Steinberger
4edf63aa97 fix: include context in elevated exec denial 2026-01-17 17:55:11 +00:00
Artus KG
7e9e49e838 test: make session update timestamp UTC 2026-01-17 17:45:14 +00:00
Peter Steinberger
a142aa0d6c style: apply oxfmt 2026-01-17 17:44:54 +00:00
Peter Steinberger
5b3c580c7e fix: soften discord interaction logging 2026-01-17 17:42:46 +00:00
Peter Steinberger
8814d1494d refactor: centralize telegram send param parsing 2026-01-17 17:36:37 +00:00
Peter Steinberger
24825c1747 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
4e4febbec5 fix: add Kimi Code docs + defaults (#1085) (thanks @dan-dr) 2026-01-17 17:35:40 +00:00
Peter Steinberger
8d743805b8 fix: allow media-only telegram voice sends (#1099) (thanks @mukhtharcm) 2026-01-17 17:33:08 +00:00
Muhammed Mukhthar CM
9bfd8ba33a feat(telegram): support sending audio as native voice notes via asVoice param in message tool 2026-01-17 17:32:50 +00:00
ddyo
cb55ad1cbf feat: add kimi code provider onboarding 2026-01-17 17:25:07 +00:00
Peter Steinberger
3d8e4f0b53 style: format update-cli 2026-01-17 12:51:08 +00:00
Peter Steinberger
ace361cfdc fix: stamp build commit metadata 2026-01-17 12:30:11 +00:00
Peter Steinberger
1ef95dcebc feat: add gateway update check on start 2026-01-17 12:07:17 +00:00
Peter Steinberger
cf6b3bd145 feat: add update channel support 2026-01-17 11:40:05 +00:00
Peter Steinberger
f7ea048070 style: oxfmt 2026-01-17 10:26:08 +00:00
Peter Steinberger
c3595ba31a fix: block invalid config startup
Co-authored-by: Muhammed Mukhthar CM <mukhtharcm@gmail.com>
2026-01-17 10:25:24 +00:00
Peter Steinberger
0b944bc018 refactor(security): harden CommandAuthorized plumbing 2026-01-17 10:19:34 +00:00
Peter Steinberger
c086fffb44 fix: format verbose tool output by channel 2026-01-17 10:17:57 +00:00
Peter Steinberger
a4ed06c8ad 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
edb69adfbc test: cover plugin enable/disable semantics 2026-01-17 10:16:35 +00:00
Peter Steinberger
16d19bf82b fix: avoid crash on memory embeddings errors (#1004) 2026-01-17 09:45:53 +00:00
Peter Steinberger
fa6d46bfa5 feat: bundle provider auth plugins
Co-authored-by: ItzR3NO <ItzR3NO@users.noreply.github.com>
2026-01-17 09:38:53 +00:00
Peter Steinberger
f24bf0547f fix: gate image tool and deepgram audio payload 2026-01-17 09:34:40 +00:00
Peter Steinberger
d9e932a00f refactor: unify media provider options 2026-01-17 09:28:05 +00:00
Peter Steinberger
b0cb0c0217 fix: normalize deepgram audio upload bytes 2026-01-17 09:19:27 +00:00
Peter Steinberger
39c10e273d refactor: prune legacy group targets 2026-01-17 09:01:47 +00:00
Peter Steinberger
2d8f2e96e5 feat: add deepgram audio options 2026-01-17 08:53:42 +00:00
Peter Steinberger
0f59ed8234 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
ae273cce32 refactor: share inbound envelope label helper 2026-01-17 08:51:31 +00:00
Peter Steinberger
80c6f52c8c refactor: prune legacy group prefixes 2026-01-17 08:47:25 +00:00
Peter Steinberger
647df440c7 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
14dbbedda1 fix: reduce redundant envelope formatting for iMessage and Signal 2026-01-17 08:29:54 +00:00
Tyler Yust
9cb29a9347 fix: improve message handling by logging sender issues 2026-01-17 08:29:54 +00:00
Peter Steinberger
87ebcddc50 fix(security): default-deny command execution 2026-01-17 08:28:09 +00:00
Peter Steinberger
02d445acc6 fix: cap pending process output 2026-01-17 08:26:12 +00:00
Peter Steinberger
e4a6de09f4 fix: refresh TUI session info after runs 2026-01-17 08:22:32 +00:00
Peter Steinberger
df932dc448 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
ff2cd36a83 fix: remove stray skills watcher bracket 2026-01-17 08:15:21 +00:00
Peter Steinberger
6d4622ec40 fix: allow skills watcher ignore list 2026-01-17 08:12:57 +00:00
Peter Steinberger
f97295244f fix: repair skills watcher ignored typing 2026-01-17 08:12:00 +00:00
Peter Steinberger
7fac3ead4d fix: stabilize pty tests and media kind 2026-01-17 08:10:44 +00:00
Peter Steinberger
1c43c1ac6f test: stabilize windows pty expectations 2026-01-17 08:07:31 +00:00
Peter Steinberger
d43f9f3cd0 fix: share skills watcher ignores 2026-01-17 08:07:06 +00:00
Peter Steinberger
0bfee56e46 refactor: normalize channel capabilities typing 2026-01-17 08:06:35 +00:00
Peter Steinberger
d4cc36dad9 fix: guard memory sync errors 2026-01-17 08:04:48 +00:00
Peter Steinberger
fb9eb968ef style: oxfmt 2026-01-17 08:01:46 +00:00
Peter Steinberger
7a294edcf7 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
e7f8d047a2 style: run oxfmt 2026-01-17 08:00:05 +00:00
Peter Steinberger
0c68698b29 fix: restore CI lint/build 2026-01-17 08:00:05 +00:00
Peter Steinberger
56ec405e5e 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
1437dc13f1 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
1a3d87f261 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
364b451157 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
620413fffb 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
3c1fe56e42 test: stabilize bash send-keys submit 2026-01-17 07:41:24 +00:00
Peter Steinberger
5ee0e1f5c0 refactor: canonicalize gateway session store keys 2026-01-17 07:41:24 +00:00
Peter Steinberger
3c76d59e93 refactor: prune room legacy 2026-01-17 07:41:24 +00:00
Dimitrios Ploutarchos
271ef79216 TUI: refresh token counts after agent runs complete. Closes #1078 2026-01-17 07:40:59 +00:00
Peter Steinberger
4a16a06557 refactor: normalize media attachment selection 2026-01-17 07:38:11 +00:00
Peter Steinberger
ccaa746c3f chore: drop target format helper 2026-01-17 07:36:13 +00:00
Peter Steinberger
1564850c73 refactor: trim resolver exports 2026-01-17 07:36:09 +00:00
Peter Steinberger
810e1193d7 refactor: streamline target resolver helpers 2026-01-17 07:34:26 +00:00
Peter Steinberger
3067c2711a refactor: unify target resolver metadata 2026-01-17 07:34:26 +00:00
Peter Steinberger
58e37b3fe9 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
aec3dfcd89 refactor: rename hooks docs and add tests 2026-01-17 07:32:54 +00:00
Peter Steinberger
b9a9f58ffc 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
07a781687e refactor: tighten media diagnostics 2026-01-17 07:27:38 +00:00
Peter Steinberger
92aca4c1c3 refactor: extend media understanding 2026-01-17 07:17:13 +00:00
Peter Steinberger
a2c2c853c9 fix: preserve discord chunk whitespace 2026-01-17 07:11:21 +00:00
Peter Steinberger
372ce23423 feat: unify hooks installs and webhooks 2026-01-17 07:08:04 +00:00
Peter Steinberger
e8ae532240 fix: respond to PTY cursor queries 2026-01-17 07:05:24 +00:00
Peter Steinberger
d6d5205f07 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
c1d9ee78c3 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
bd18b3327d 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
ecd3c2a0ee fix(security): gate slash/control commands 2026-01-17 06:49:34 +00:00
Peter Steinberger
38cdfc93f6 refactor: drop legacy session store keys 2026-01-17 06:48:44 +00:00
Peter Steinberger
ca49438dd5 refactor: centralize target normalization 2026-01-17 06:45:11 +00:00