Peter Steinberger
56875c4d32
refactor: split generic plugin test fixtures
2026-04-28 01:21:39 +01:00
Peter Steinberger
f34b41f198
refactor: split plugin sdk test helpers
2026-04-28 01:14:19 +01:00
Peter Steinberger
e27c32b9b0
refactor(plugin-sdk): publish route helpers
2026-04-28 01:13:01 +01:00
Peter Steinberger
fc055e2393
fix: speed up Telegram status diagnostics
2026-04-28 00:28:22 +01:00
Peter Steinberger
90b6665ded
refactor: move plugin api test helper to sdk
2026-04-28 00:24:54 +01:00
Peter Steinberger
0df6e5a473
refactor: expose plugin test helpers via sdk
2026-04-27 23:45:26 +01:00
Peter Steinberger
c35a96bcbc
fix(test): use focused plugin sdk test seams
2026-04-27 22:47:57 +01:00
Peter Steinberger
a8c548f4f3
test: route extension tests through sdk seams
2026-04-27 22:34:21 +01:00
Peter Steinberger
74e62c32c3
test: route extension tests through sdk subpaths
2026-04-27 21:58:48 +01:00
Peter Steinberger
e9b1fbb8c4
refactor: pin remaining extension api surfaces
2026-04-27 21:02:53 +01:00
Peter Steinberger
f0000ab72d
refactor(plugin-sdk): split infra runtime barrel
2026-04-27 20:50:35 +01:00
Peter Steinberger
d7c3a77b93
fix(telegram): skip polling webhook probe
2026-04-27 20:49:57 +01:00
Peter Steinberger
467ee701ef
fix(ci): align tests with runtime barrels
2026-04-27 15:15:07 +01:00
Peter Steinberger
9090457da7
test(plugin-sdk): use narrow config runtime mocks
2026-04-27 15:14:02 +01:00
Peter Steinberger
4336a7f3a9
refactor(plugin-sdk): narrow config runtime imports
2026-04-27 14:58:32 +01:00
Peter Steinberger
0141471dd5
refactor: move shared helpers off reserved sdk seams
2026-04-27 13:07:54 +01:00
Peter Steinberger
eaae63d288
refactor: keep plugin sdk owner seams explicit
2026-04-27 12:50:31 +01:00
Peter Steinberger
7f3f108521
refactor(config): migrate plugin config access
2026-04-27 12:35:58 +01:00
Peter Steinberger
7363fb4a44
refactor: move telegram poll visibility out of core
2026-04-27 12:25:57 +01:00
Bartok
f0b327cf68
fix(media): gate markdown image extraction by channel ( #72718 )
...
Closes #72642
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-27 11:27:35 +01:00
Vincent Koc
1fc5b2b703
feat(migrations): add plugin-owned Hermes import
...
* feat: add migration providers
* feat: offer Hermes migration during onboarding
* feat(hermes): map imported config surfaces
* feat(onboard): require fresh migration imports
* docs(cli): clarify Hermes import coverage
* chore(migrations): rename Hermes importer package
* chore(migrations): rewire Hermes importer id
* fix(migrations): redact migration JSON details
* fix(hermes): use provider runtime for config imports
* test(hermes): cover missing source planning
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-27 00:34:29 -07:00
Vincent Koc
dcff28d285
fix(telegram): hide acknowledged failed-tool warnings from chat ( #72410 )
...
* fix(telegram): hide acknowledged failed-tool warnings from chat
* fix(clownfish): address review for ghcrawl-207034-agentic-merge (1)
* fix(clownfish): address review for ghcrawl-207034-agentic-merge (1)
2026-04-26 23:29:19 -07:00
Vincent Koc
d5063d5b16
fix(telegram): avoid materializing tool-progress drafts
...
Address Clownfish follow-up on Telegram native draft finalization. Requires real streamed assistant partials before materializing drafts, clears stale native draft previews, and keeps media/buttons on normal send path.
2026-04-26 19:43:23 -07:00
Rubén Cuevas
a08b65a90a
fix(telegram): send fresh finals for stale previews ( #72038 )
...
* fix(telegram): send fresh finals for stale previews
* test(telegram): cover stale preview send fallback
* fix(telegram): keep stale archived preview fallback
* fix(telegram): clear stale active previews
* fix(telegram): reset preview state after fresh finals
2026-04-26 15:44:30 -07:00
Peter Steinberger
606a7dbc75
test: stabilize telegram command pagination retry
2026-04-26 08:57:49 +01:00
Peter Steinberger
d613c8e29b
refactor(tts): resolve voice delivery from channel capabilities
2026-04-26 07:03:25 +01:00
VACInc
78c7292c95
fix: keep telegram tool progress without preview ( #71825 ) (thanks @VACInc)
...
* fix(telegram): keep default tool progress without preview
* fix: keep telegram tool progress without preview (#71825 ) (thanks @VACInc)
---------
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-26 11:11:18 +05:30
Peter Steinberger
257e767e5b
fix(telegram): include native quote excerpts for replies
2026-04-26 06:32:46 +01:00
Rubén Cuevas
f9146cabfc
fix(telegram): preserve native quote replies
...
Preserve exact Telegram selected quote text for native quote replies, share Telegram reply parameter construction between bot delivery and direct outbound sends, and retry with legacy replies when Telegram rejects native quote parameters.\n\nThanks @rubencu.
2026-04-26 06:09:43 +01:00
Peter Steinberger
6a67f65568
fix(voice): reuse preflight transcripts across channels
2026-04-26 05:42:04 +01:00
Peter Steinberger
8a731c1ef7
perf(plugin-sdk): add narrow outbound send deps entry
2026-04-25 22:19:09 +01:00
Peter Steinberger
6a7b76e119
fix(acp): guard sessions_spawn runtime targets
2026-04-25 21:23:24 +01:00
Peter Steinberger
8bead989da
fix(telegram): frame audio transcripts as untrusted
2026-04-25 17:45:40 +01:00
Sahil Satralkar
3064ea78ab
fix(telegram): recover incomplete preview finalization ( #71554 )
...
Fix Telegram partial-stream preview finalization so ambiguous final edit failures fall back to a final send when the visible preview is a strict prefix of the answer.
Includes archived-preview regression coverage and generated config metadata refresh.
Thanks @sahilsatralkar.
Co-authored-by: Sahil Satralkar <62758655+sahilsatralkar@users.noreply.github.com >
2026-04-25 13:01:10 +01:00
Peter Steinberger
c6770d3694
fix: align native think menus with session models
2026-04-25 10:30:49 +01:00
Vincent Koc
ceace83556
fix(telegram): keep polling watchdog active for wedged runner
2026-04-25 02:18:49 -07:00
Chinar Amrutkar
bf34fde235
fix(telegram): remove offset confirmation getUpdates call
...
Remove the startup persisted-offset getUpdates preflight so polling restarts do not self-conflict before the grammY runner starts.\n\nFixes #69304.\n\nThanks @chinar-amrutkar.
2026-04-25 09:53:50 +01:00
Peter Steinberger
3169886a21
fix(telegram): guard duplicate polling leases
2026-04-25 09:38:51 +01:00
Peter Steinberger
2011de69d3
feat: add Crestodian setup helper
2026-04-25 08:58:21 +01:00
Peter Steinberger
e8191e5b8f
fix: ack Telegram webhooks before update handling
2026-04-25 08:23:03 +01:00
Jamil Zakirov
52267a6b75
fix(auto-reply): run message_sending before inbound delivery
...
Run inbound auto-reply delivery through message_sending hooks before sending replies.
Co-authored-by: Jamil Zakirov <15848838+jzakirov@users.noreply.github.com >
2026-04-25 10:07:35 +05:30
Peter Steinberger
70fd1c91aa
fix(channels): harden tool progress previews
2026-04-25 04:54:29 +01:00
Peter Steinberger
f29e15c05d
fix(telegram): bound tool progress preview formatting
...
Co-authored-by: Neerav Makwana <261249544+neeravmakwana@users.noreply.github.com >
2026-04-25 03:19:01 +01:00
Neerav Makwana
e54a37a91e
fix(telegram): harden progress preview rendering
2026-04-25 03:19:01 +01:00
Neerav Makwana
c4a8b80dfa
fix(telegram): hide tool progress by default
2026-04-25 03:19:01 +01:00
Peter Steinberger
e68b2269b9
test(telegram): avoid current marker in model display regression ( #71016 ) (thanks @iskim77)
2026-04-25 02:38:14 +01:00
Peter Steinberger
a9c46d5b1a
test(telegram): cover model picker display names ( #71016 ) (thanks @iskim77)
2026-04-25 02:38:14 +01:00
Atlas Bot
d1386ada5a
fix(telegram): pass modelNames to buildModelsKeyboard in button-click callback
...
When navigating the /models picker via provider button click, the model
list showed raw model IDs (e.g. gemini-3.1-pro-preview) instead of
configured display names (e.g. Gemini 3.1 Pro (Bridge)).
Root cause: the button-click callback handler destructured modelData as
{ byProvider, providers } omitting modelNames, then called
buildModelsKeyboard() without it. buildModelsKeyboard falls back to the
raw model ID via modelNames?.get(...) ?? model when modelNames is absent.
The text-command path (/models <provider>) already passes modelNames
correctly through buildTelegramModelsListChannelData, confirming the fix.
Fix: destructure modelNames from modelData and forward it to
buildModelsKeyboard in the button-click callback handler.
Closes #70560
2026-04-25 02:38:14 +01:00
Peter Steinberger
ae57a7998e
fix(telegram): persist accepted update offsets
2026-04-25 01:35:05 +01:00
Peter Steinberger
bbef1c5557
fix(release): harden subagent completion delivery
...
(cherry picked from commit 855872986e )
2026-04-24 18:22:24 +01:00