Gustavo Madeira Santana
afb6e4b185
Plugins: extract provider auth and wizard flows
2026-03-15 17:47:31 +00:00
Gustavo Madeira Santana
1303419471
Plugins: extract provider discovery
2026-03-15 17:41:46 +00:00
Gustavo Madeira Santana
19087405d2
Plugins: extract provider runtime
2026-03-15 17:35:54 +00:00
Gustavo Madeira Santana
af7ac14eed
Plugins: extract tool runtime
2026-03-15 17:33:53 +00:00
Gustavo Madeira Santana
b5757a6625
Plugins: extract CLI lifecycle
2026-03-15 17:27:26 +00:00
Gustavo Madeira Santana
6b24e65719
Plugins: extract service lifecycle
2026-03-15 17:25:32 +00:00
Gustavo Madeira Santana
0e190d64d4
Plugins: extract registry compatibility facade
2026-03-15 17:10:47 +00:00
Gustavo Madeira Santana
a1e1dcc01a
Plugins: extract plugin api facade
2026-03-15 17:04:07 +00:00
Gustavo Madeira Santana
b407d7f476
Plugins: extract hook compatibility
2026-03-15 16:58:05 +00:00
Gustavo Madeira Santana
27fc645484
Plugins: extend registry writes for hooks
2026-03-15 16:55:12 +00:00
Gustavo Madeira Santana
bc71592270
Plugins: extend registry write helpers
2026-03-15 16:52:40 +00:00
Gustavo Madeira Santana
07c3ae9c87
Plugins: extract low-risk registry writes
2026-03-15 16:49:35 +00:00
Gustavo Madeira Santana
d32f65eb5e
Plugins: add loader lifecycle state machine
2026-03-15 14:42:33 +00:00
Gustavo Madeira Santana
c8d82a8f19
Plugins: extract loader orchestration
2026-03-15 14:39:44 +00:00
Gustavo Madeira Santana
6590e19095
Plugins: extract loader cache control
2026-03-15 11:54:43 +00:00
Gustavo Madeira Santana
33ef55a9ee
Plugins: add loader lifecycle state mapping
2026-03-15 11:51:44 +00:00
Gustavo Madeira Santana
0c44d8049b
Plugins: extract loader finalization
2026-03-15 11:48:32 +00:00
Gustavo Madeira Santana
e1b207f4cf
Plugins: extract loader candidate orchestration
2026-03-15 11:43:44 +00:00
Gustavo Madeira Santana
fc81454038
Plugins: extract loader import flow
2026-03-15 11:36:50 +00:00
Gustavo Madeira Santana
3a122c95fa
Plugins: extract loader register flow
2026-03-15 11:34:19 +00:00
Gustavo Madeira Santana
7bc3135082
Plugins: extract loader candidate planning
2026-03-15 11:30:50 +00:00
Gustavo Madeira Santana
1aab89e820
Plugins: extract loader host seams
2026-03-15 11:27:05 +00:00
Gustavo Madeira Santana
6abf6750ee
Plugins: add extension host registry boundary
2026-03-15 11:26:41 +00:00
Tak Hoffman
f00db91590
fix(plugins): prefer explicit installs over bundled duplicates ( #46722 )
...
* fix(plugins): prefer explicit installs over bundled duplicates
* test(feishu): mock structured card sends in outbound tests
* fix(plugins): align duplicate diagnostics with loader precedence
2026-03-14 21:08:32 -05:00
ufhy
3928b4872a
fix: persist context-engine auto-compaction counts ( #42629 )
...
Merged via squash.
Prepared head SHA: df8f292039
Co-authored-by: uf-hy <41638541+uf-hy@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-14 16:22:10 -07:00
Tak Hoffman
e81442ac80
Fix full local gate on main
2026-03-14 15:52:11 -05:00
Nimrod Gutman
9aac55d306
Add /btw side questions ( #45444 )
...
* feat(agent): add /btw side questions
* fix(agent): gate and log /btw reviews
* feat(btw): isolate side-question delivery
* test(reply): update route reply runtime mocks
* fix(btw): complete side-result delivery across clients
* fix(gateway): handle streamed btw side results
* fix(telegram): unblock btw side questions
* fix(reply): make external btw replies explicit
* fix(chat): keep btw side results ephemeral in internal history
* fix(btw): address remaining review feedback
* fix(chat): preserve btw history on mobile refresh
* fix(acp): keep btw replies out of prompt history
* refactor(btw): narrow side questions to live channels
* fix(btw): preserve channel typing indicators
* fix(btw): keep side questions isolated in chat
* fix(outbound): restore typed channel send deps
* fix(btw): avoid blocking replies on transcript persistence
* fix(btw): keep side questions fast
* docs(commands): document btw slash command
* docs(changelog): add btw side questions entry
* test(outbound): align session transcript mocks
2026-03-14 17:27:54 +02: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
Vincent Koc
bcbfbb831e
Plugins: fail fast on channel and binding collisions ( #45628 )
...
* Plugins: reject duplicate channel ids
* Bindings: reject duplicate adapter registration
* Plugins: fail on export id mismatch
2026-03-13 19:13:35 -07:00
Peter Steinberger
e794417623
fix: resolve current ci regressions
2026-03-14 00:51:12 +00:00
Peter Steinberger
da1ec45505
refactor: share plugin temp dir helpers
2026-03-13 20:19:39 +00:00
Peter Steinberger
4ec0fcf1b6
refactor: share plugin test fixtures
2026-03-13 20:19:38 +00:00
Peter Steinberger
60d308cff0
test: fix CI type regressions
2026-03-13 19:53:40 +00:00
Vincent Koc
cc5168b5c3
Fix plugin update dependency failures and dedupe warnings
2026-03-13 11:26:14 -07:00
Peter Steinberger
3cf06f7939
docs(plugins): clarify workspace shadowing
2026-03-13 13:15:46 +00:00
Peter Steinberger
6472949f25
fix(plugins): normalize bundled provider ids
2026-03-13 04:10:06 +00:00
Peter Steinberger
ec3c20d96d
test: harden plugin fixture permissions on macos
2026-03-13 03:13:25 +00:00
Peter Steinberger
21fa50f564
test: harden plugin env-scoped fixtures
2026-03-13 03:01:47 +00:00
Peter Steinberger
c80da4e72f
refactor: validate provider plugin metadata
2026-03-13 01:19:35 +00:00
Peter Steinberger
87ad1ce9b1
refactor: add non-interactive provider plugin setup
2026-03-13 01:19:35 +00:00
Peter Steinberger
2c8f31135b
test: cover provider plugin boundaries
2026-03-12 22:43:55 +00:00
Peter Steinberger
d83491e751
feat: modularize provider plugin architecture
2026-03-12 22:24:35 +00:00
Vincent Koc
3e28e10c2f
Plugins: require explicit trust for workspace-discovered plugins ( #44174 )
...
* Plugins: disable implicit workspace plugin auto-load
* Tests: cover workspace plugin trust gating
* Changelog: note workspace plugin trust hardening
* Plugins: keep workspace trust gate ahead of memory slot defaults
* Tests: cover workspace memory-slot trust bypass
2026-03-12 12:12:41 -04:00
Gustavo Madeira Santana
e6897c800b
Plugins: fix env-aware root resolution and caching ( #44046 )
...
Merged via squash.
Prepared head SHA: 6e8852a188
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-03-12 15:31:31 +00:00
Peter Steinberger
43a10677ed
fix: isolate plugin discovery env from global state
2026-03-12 02:46:29 +00:00
Peter Steinberger
e11be576fb
fix: repair bundled plugin dirs after npm install
2026-03-11 23:53:50 +00:00
Robin Waslander
a1520d70ff
fix(gateway): propagate real gateway client into plugin subagent runtime
...
Plugin subagent dispatch used a hardcoded synthetic client carrying
operator.admin, operator.approvals, and operator.pairing for all
runtime.subagent.* calls. Plugin HTTP routes with auth:"plugin" require
no gateway auth by design, so an unauthenticated external request could
drive admin-only gateway methods (sessions.delete, agent.run) through
the subagent runtime.
Propagate the real gateway client into the plugin runtime request scope
when one is available. Plugin HTTP routes now run inside a scoped
runtime client: auth:"plugin" routes receive a non-admin synthetic
operator.write client; gateway-authenticated routes retain admin-capable
scopes. The security boundary is enforced at the HTTP handler level.
Fixes GHSA-xw77-45gv-p728
2026-03-11 14:17:01 +01:00
Xinhua Gu
4790e40ac6
fix(plugins): expose model auth API to context-engine plugins ( #41090 )
...
Merged via squash.
Prepared head SHA: ee96e96bb9
Co-authored-by: xinhuagu <562450+xinhuagu@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-09 16:07:26 -07:00
Vincent Koc
12702e11a5
plugins: harden global hook runner state ( #40184 )
2026-03-09 11:20:33 -07:00
Peter Steinberger
e8775cda93
fix(agents): re-expose configured tools under restrictive profiles
2026-03-09 03:49:50 +00:00