Peter Steinberger
6df6a691fc
perf: lazy-load plugin runtime heavy surfaces
2026-03-22 22:33:07 +00:00
Peter Steinberger
cf8891a824
fix: stabilize docker live test lanes
2026-03-22 20:07:27 +00:00
Peter Steinberger
88d39b1542
refactor: simplify remaining runtime singletons
2026-03-22 18:09:45 +00:00
Peter Steinberger
05279539a8
docs(plugin-sdk): document public SDK surface
2026-03-22 08:50:48 -07:00
Peter Steinberger
8b7f40580d
perf: split telegram audit runtime seams
2026-03-22 00:53:12 +00:00
scoootscooob
d6367c2c55
refactor: route Telegram runtime through plugin sdk ( #51772 )
2026-03-21 10:24:56 -07:00
scoootscooob
c0e482f4bd
refactor: route iMessage runtime through plugin sdk ( #51770 )
2026-03-21 10:21:20 -07:00
scoootscooob
6516cfa566
refactor: route Slack runtime through plugin sdk ( #51766 )
2026-03-21 10:11:17 -07:00
scoootscooob
f10d054745
refactor: route discord runtime through plugin sdk ( #51444 )
2026-03-21 07:40:51 -07:00
Cypherm
6b4c24c2e5
feat(telegram): support custom apiRoot for alternative API endpoints ( #48842 )
...
* feat(telegram): support custom apiRoot for alternative API endpoints
Add `apiRoot` config option to allow users to specify custom Telegram Bot
API endpoints (e.g., self-hosted Bot API servers). Threads the configured
base URL through all Telegram API call sites: bot creation, send, probe,
audit, media download, and api-fetch. Extends SSRF policy to dynamically
trust custom apiRoot hostname for media downloads.
Closes #28535
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
* fix(telegram): thread apiRoot through allowFrom lookups
* fix(telegram): honor lookup transport and local file paths
* refactor(telegram): unify username lookup plumbing
* fix(telegram): restore doctor lookup imports
* fix: document Telegram apiRoot support (#48842 ) (thanks @Cypherm)
---------
Co-authored-by: Cypherm <28184436+Cypherm@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-21 10:10:38 +05:30
Tyler Yust
b71686ab44
Enhance web search provider config validation and compatibility handling
...
- Added a test to ensure no warnings for legacy Brave config when bundled web search allowlist compatibility is applied.
- Updated validation logic to incorporate compatibility configuration for bundled web search plugins.
- Refactored the ensureRegistry function to utilize the new compatibility handling.
2026-03-20 18:20:50 -07:00
Peter Steinberger
62ddc9d9e0
refactor: consolidate plugin sdk surface
2026-03-20 19:24:10 +00:00
Vincent Koc
aa78a0c00e
refactor(plugin-sdk): formalize runtime contract barrels
2026-03-20 09:30:34 -07:00
Gustavo Madeira Santana
ff6541f69d
Matrix: fix Jiti runtime API boundary
2026-03-19 11:40:44 -04:00
Gustavo Madeira Santana
dd10f290e8
Matrix: wire thread binding command support
2026-03-19 09:24:31 -04:00
Peter Steinberger
30a94dfd3b
refactor: untangle whatsapp runtime boundary
2026-03-19 03:13:48 +00:00
Peter Steinberger
46f49eb6eb
refactor: shrink plugin sdk public surface
2026-03-18 23:31:08 +00:00
Vincent Koc
152d179302
Plugin SDK: add public WhatsApp runtime subpaths
2026-03-18 11:13:19 -07:00
Vincent Koc
8240fd900a
Plugin SDK: route core channel runtimes through public subpaths
2026-03-18 11:00:58 -07:00
Vincent Koc
73539ac787
Core: move web media seam out of plugin sdk
2026-03-18 09:12:23 -07:00
Peter Steinberger
0cddb5fb7c
fix: restore full gate
2026-03-18 15:34:27 +00:00
Gustavo Madeira Santana
1777b99ccc
Signal: move message actions behind plugin boundary
2026-03-18 03:19:35 +00:00
Gustavo Madeira Santana
9e8b9aba1f
WhatsApp: isolate lazy action runtime boundary
2026-03-18 02:20:57 +00:00
Gustavo Madeira Santana
8165db758b
WhatsApp: move action runtime into extension
2026-03-18 02:08:08 +00:00
Gustavo Madeira Santana
b3ae50c71c
Slack: move action runtime into extension
2026-03-18 02:08:08 +00:00
Vincent Koc
77f145f1db
docs(types): add JSDoc to plugin API capability registration methods
...
Label each registerX method with its capability type and add module-level
doc comment to channel runtime types.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 15:00:33 -07:00
Peter Steinberger
6d9bf6de93
refactor: narrow extension public seams
2026-03-17 09:58:33 -07:00
Peter Steinberger
4b125762f6
refactor: clean extension api boundaries
2026-03-17 09:38:21 -07:00
Peter Steinberger
795f1f438b
refactor: expose lazy runtime helper to plugins
2026-03-17 08:37:11 -07:00
Josh Lehman
1399ca5fcb
fix(plugins): forward plugin subagent overrides ( #48277 )
...
Merged via squash.
Prepared head SHA: ffa45893e0ea72bc21b48d0ea227253ba207eec0
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-17 07:20:27 -07:00
Peter Steinberger
9648e7fecb
refactor: consolidate lazy runtime surfaces
2026-03-17 00:59:20 -07:00
Peter Steinberger
52ad686ab5
refactor(runtime-tests): share typing lease assertions
2026-03-17 07:23:44 +00:00
Peter Steinberger
3dec814fda
refactor: bundle lazy runtime surfaces
2026-03-17 00:00:45 -07:00
Peter Steinberger
38a6415a70
build: tighten lazy runtime boundaries
2026-03-16 23:24:17 -07:00
Peter Steinberger
e793e3873f
refactor(whatsapp): reuse login tool implementation
2026-03-17 06:24:01 +00:00
Peter Steinberger
aa2d5aaa0c
feat(plugins): add image generation capability
2026-03-16 22:58:55 -07:00
Vincent Koc
38bc364aed
Runtime: narrow WhatsApp login tool surface
2026-03-16 21:39:21 -07:00
Peter Steinberger
4bba2888e7
feat(plugins): add web search runtime capability
2026-03-16 21:31:00 -07:00
Peter Steinberger
f4fa84aea7
feat(plugins): tighten media runtime integration
2026-03-16 21:13:51 -07:00
Peter Steinberger
c081dc52b7
feat(plugins): move media understanding into vendor plugins
2026-03-16 20:58:34 -07:00
Peter Steinberger
85781353ec
feat(plugins): expand speech runtime ownership
2026-03-16 20:01:24 -07:00
Josh Lehman
eeb140b4f0
fix(plugins): late-binding subagent runtime for non-gateway load paths ( #46648 )
...
Merged via squash.
Prepared head SHA: 44742652c9ac2eec82a6d958fd77f84ba1d29c0a
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-16 14:27:54 -07:00
Tak Hoffman
2de28379dd
Plugins: remove public extension-api surface ( #48462 )
...
* Plugins: remove public extension-api surface
* Plugins: fix loader setup routing follow-ups
* CI: ignore non-extension helper dirs in extension-fast
* Docs: note extension-api removal as breaking
2026-03-16 15:51:08 -05:00
Vincent Koc
898d6840dc
Runtime: lazy-load Telegram and Slack channel ops
2026-03-16 02:21:57 -07:00
Vincent Koc
abb21d9163
Runtime: lazy-load Discord channel ops
2026-03-16 02:07:13 -07:00
Peter Steinberger
f11589b311
refactor: tighten plugin sdk channel seams
2026-03-16 01:05:51 -07:00
Peter Steinberger
74d0c39b32
refactor: move session lifecycle and outbound fallbacks into plugins
2026-03-16 00:40:43 -07:00
Peter Steinberger
7964563299
refactor: finish plugin-owned channel runtime seams
2026-03-16 00:25:19 -07:00
Harold Hunt
aa1454d1a8
Plugins: broaden plugin surface for Codex App Server ( #45318 )
...
* Plugins: add inbound claim and Telegram interaction seams
* Plugins: add Discord interaction surface
* Chore: fix formatting after plugin rebase
* fix(hooks): preserve observers after inbound claim
* test(hooks): cover claimed inbound observer delivery
* fix(plugins): harden typing lease refreshes
* fix(discord): pass real auth to plugin interactions
* fix(plugins): remove raw session binding runtime exposure
* fix(plugins): tighten interactive callback handling
* Plugins: gate conversation binding with approvals
* Plugins: migrate legacy plugin binding records
* Plugins/phone-control: update test command context
* Plugins: migrate legacy binding ids
* Plugins: migrate legacy codex session bindings
* Discord: fix plugin interaction handling
* Discord: support direct plugin conversation binds
* Plugins: preserve Discord command bind targets
* Tests: fix plugin binding and interactive fallout
* Discord: stabilize directory lookup tests
* Discord: route bound DMs to plugins
* Discord: restore plugin bindings after restart
* Telegram: persist detached plugin bindings
* Plugins: limit binding APIs to Telegram and Discord
* Plugins: harden bound conversation routing
* Plugins: fix extension target imports
* Plugins: fix Telegram runtime extension imports
* Plugins: format rebased binding handlers
* Discord: bind group DM interactions by channel
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-03-15 16:06:11 -07:00
scoootscooob
439c21e078
refactor: remove channel shim directories, point all imports to extensions ( #45967 )
...
* refactor: remove channel shim directories, point all imports to extensions
Delete the 6 backward-compat shim directories (src/telegram, src/discord,
src/slack, src/signal, src/imessage, src/web) that were re-exporting from
extensions. Update all 112+ source files to import directly from
extensions/{channel}/src/ instead of through the shims.
Also:
- Move src/channels/telegram/ (allow-from, api) to extensions/telegram/src/
- Fix outbound adapters to use resolveOutboundSendDep (fixes 5 pre-existing TS errors)
- Update cross-extension imports (src/web/media.js → extensions/whatsapp/src/media.js)
- Update vitest, tsdown, knip, labeler, and script configs for new paths
- Update guard test allowlists for extension paths
After this, src/ has zero channel-specific implementation code — only the
generic plugin framework remains.
* fix: update raw-fetch guard allowlist line numbers after shim removal
* refactor: document direct extension channel imports
* test: mock transcript module in delivery helpers
2026-03-14 03:43:07 -07:00