Peter Steinberger
005b831023
test: stabilize env-dependent tool defaults
2026-01-18 01:57:54 +00:00
Peter Steinberger
8013c4717c
feat: show memory summary in status
2026-01-18 01:57:54 +00:00
Peter Steinberger
14e6b21b50
test: cover perplexity baseUrl precedence
2026-01-18 01:56:34 +00:00
Peter Steinberger
62354dff9c
refactor: share allowlist match metadata
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:49:25 +00:00
Peter Steinberger
ccb30665f7
feat: add hybrid memory search
2026-01-18 01:47:58 +00:00
Peter Steinberger
0fb2777c6d
feat: add memory embedding cache
2026-01-18 01:47:58 +00:00
Peter Steinberger
568b8ee96c
refactor: split web tools and docs
2026-01-18 01:42:54 +00:00
Peter Steinberger
fc60699f03
fix: delay discord slow listener warnings
2026-01-18 01:41:10 +00:00
Peter Steinberger
c1da78a271
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
0674f1fa3c
feat: add exec approvals allowlists
2026-01-18 01:34:31 +00:00
Mykyta Bozhenko
448394a0de
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
3a0fd6be3c
test: stub slack allowlist resolvers
2026-01-18 01:25:19 +00:00
Peter Steinberger
8b1bec11d0
feat: speed up memory batch indexing
2026-01-18 01:24:51 +00:00
Peter Steinberger
f73dbdbaea
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
05f49d2846
fix(slack): resolve allowlists async
2026-01-18 01:23:25 +00:00
Peter Steinberger
1d83389776
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
36d88f6079
fix: normalize gateway dev mode detection
2026-01-18 01:08:47 +00:00
Peter Steinberger
fc45148155
fix: harden qwen oauth flow ( #1120 ) (thanks @mukhtharcm)
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
215c395fc2
UI: simplify Qwen labels
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
b56b67cdbd
UI: label Qwen provider
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
8eb80ee40a
Models: add Qwen Portal OAuth support
2026-01-18 01:03:08 +00:00
Peter Steinberger
f9e3b129ed
test: reindex on embedding model change
2026-01-18 01:00:57 +00:00
Peter Steinberger
4f0771f67b
fix(channels): clean up discord resolve typing
2026-01-18 01:00:25 +00:00
Peter Steinberger
075ff675ac
refactor(channels): share allowlist + resolver helpers
2026-01-18 01:00:25 +00:00
Peter Steinberger
c7ea47e886
feat(channels): add resolve command + defaults
2026-01-18 01:00:24 +00:00
Rodrigo Uroz
b543339373
Update tagline.ts with a nice reference from an old movie
2026-01-18 00:59:43 +00:00
Peter Steinberger
22c7f659f6
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
79a44d0da4
refactor(channels): unify target parsing
2026-01-18 00:31:42 +00:00
Peter Steinberger
d593a809f0
fix: apply openai batch defaults
2026-01-18 00:29:18 +00:00
Peter Steinberger
b44d740720
refactor: centralize cli manager cleanup
...
Co-authored-by: Nicholas Spisak <jsnsdirect@gmail.com>
2026-01-18 00:16:01 +00:00
Peter Steinberger
4d590f9254
refactor(slack): centralize target parsing
2026-01-18 00:15:05 +00:00
Peter Steinberger
a5aa48beea
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
1bf3861ca4
feat: add thinking override to sessions_spawn
2026-01-18 00:14:18 +00:00
Kevin Lin
ff9d069a33
feat(web): add Perplexity Sonar as alternative search provider
2026-01-18 08:08:36 +08:00
Peter Steinberger
a08438ae97
refactor(discord): centralize target parsing
...
Co-authored-by: Jonathan Rhyne <jonathan@pspdfkit.com>
2026-01-18 00:04:38 +00:00
Peter Steinberger
4c12c4fc04
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
794bab45ff
fix: harden memory cli manager cleanup
...
Co-authored-by: Nicholas Spisak <jsnsdirect@gmail.com>
2026-01-17 23:45:42 +00:00
Peter Steinberger
16e5fa1db9
test: cover daemon install helpers
2026-01-17 23:41:45 +00:00
Peter Steinberger
125be3e111
fix: restore wizard/doctor imports
2026-01-17 23:41:45 +00:00
Peter Steinberger
b60a53e10d
feat: enable batch indexing by default
2026-01-17 23:29:40 +00:00
Peter Steinberger
9de762faa2
refactor: unify gateway daemon install plan
2026-01-17 23:29:34 +00:00
Peter Steinberger
5aed38eebc
fix(discord): honor thread allowlists in reactions
...
Co-authored-by: Codex <codex@openai.com>
2026-01-17 23:03:51 +00:00
Peter Steinberger
e63e483c38
refactor(channels): share channel config matching
...
Co-authored-by: Codex <codex@openai.com>
2026-01-17 23:03:51 +00:00
Shadow
277e43e32c
Discord: inherit thread allowlists
2026-01-17 23:03:51 +00:00
Peter Steinberger
852aa16ca0
fix: stabilize memory sync progress
2026-01-17 23:02:03 +00:00
Peter Steinberger
82b7153ac1
fix: handle daemon install failure in wizard
2026-01-17 23:00:34 +00:00
Peter Steinberger
7d2e510087
fix: retry embedding 5xx errors
2026-01-17 22:48:50 +00:00
Peter Steinberger
9ca4c10e59
test: cover channels capabilities probes
2026-01-17 22:33:18 +00:00
Peter Steinberger
a31a79396b
feat: add OpenAI batch memory indexing
2026-01-17 22:32:04 +00:00
Peter Steinberger
9d9fff2991
fix: sessions list label fallback
...
Co-authored-by: abdaraxus <abdaraxus@users.noreply.github.com>
2026-01-17 22:22:01 +00:00
Peter Steinberger
030ed5d592
fix: skip empty memory chunks
2026-01-17 21:58:59 +00:00
Peter Steinberger
f6d359932a
fix: parallelize memory embedding indexing
2026-01-17 21:57:12 +00:00
Peter Steinberger
3200b51160
fix: format exec elevated flag first in tool summaries
2026-01-17 21:54:24 +00:00
Peter Steinberger
4b11ebb30e
fix: split long memory lines
2026-01-17 21:11:56 +00:00
Peter Steinberger
40345642fa
fix: show memory index counts in progress
2026-01-17 21:09:22 +00:00
Peter Steinberger
e932772230
fix: report memory index progress
2026-01-17 20:42:04 +00:00
Peter Steinberger
63d466fe5e
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
c2fada7062
fix: suppress duplicate discord slow-listener logs
2026-01-17 20:37:36 +00:00
Peter Steinberger
d9c29f5ce5
fix: add agent context to ws logs
2026-01-17 20:37:36 +00:00
Peter Steinberger
f5d5ef6857
feat: confirm memory index completion
2026-01-17 20:35:15 +00:00
Peter Steinberger
361a17415f
chore: release 2026.1.17-1
2026-01-17 20:26:24 +00:00
Peter Steinberger
fb393c3c51
feat: add progress to memory status deep
2026-01-17 20:25:19 +00:00
Peter Steinberger
e0158c5d5d
feat: add deep memory status checks
2026-01-17 20:18:36 +00:00
Peter Steinberger
be12b0771c
fix: soften windows daemon install
2026-01-17 20:12:26 +00:00
Peter Steinberger
1309fc1f48
test: expand frontmatter coverage
2026-01-17 20:12:04 +00:00
Peter Steinberger
4fdecfb845
fix: split memory embedding batches
2026-01-17 20:10:11 +00:00
Peter Steinberger
31c6f178f3
fix: preserve inline frontmatter values
2026-01-17 19:56:10 +00:00
Peter Steinberger
1e2ab8bf1e
fix: improve frontmatter parsing
2026-01-17 19:56:10 +00:00
Sebastian Slight
35a1d81518
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
1c4297d8b5
test: update memory cli mocks for vector probe
2026-01-17 19:49:41 +00:00
Peter Steinberger
e3638a9a9e
fix: probe memory vector availability
2026-01-17 19:46:34 +00:00
Peter Steinberger
2e231d09ec
Infra: update MiniMax usage endpoint
2026-01-17 19:45:48 +00:00
Peter Steinberger
727c07bd88
feat: add slack user scopes and teams graph hints
2026-01-17 19:33:03 +00:00
Peter Steinberger
ef40ab2933
test: expand memory cli coverage
2026-01-17 19:30:46 +00:00
Peter Steinberger
a7c0887f94
feat: add per-provider scope probes to channels capabilities
2026-01-17 19:28:52 +00:00
Peter Steinberger
53218b91c6
fix: close memory cli managers
2026-01-17 19:20:55 +00:00
Peter Steinberger
2d4de656d2
test: avoid global SIGTERM emit in child-process-bridge
2026-01-17 19:20:48 +00:00
Peter Steinberger
a828e60067
feat: add channels capabilities command
2026-01-17 19:06:07 +00:00
Peter Steinberger
96df70fccf
fix: add nested agent log context
2026-01-17 18:59:59 +00:00
Peter Steinberger
0e49dca53c
feat: add experimental session memory source
2026-01-17 18:53:52 +00:00
Peter Steinberger
8ec4af4641
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
2f6d9417bd
test(memory): await watch sync completion
2026-01-17 18:45:42 +00:00
Peter Steinberger
534a012a4e
style: apply oxfmt
2026-01-17 18:32:23 +00:00
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