Peter Steinberger
fa67ab2358
fix: preserve gateway-bindable loader compatibility
2026-04-06 15:28:41 +01:00
HansY
c78defdc2f
plugins: exclude runtimeSubagentMode from loader cache key
...
The plugin loader cache key included runtimeSubagentMode, which is
derived from allowGatewaySubagentBinding. Since different call sites in
the message processing pipeline pass different values for this flag,
each call produced a distinct cache key, triggering redundant
register() calls (40+ in 24 seconds after startup).
runtimeSubagentMode does not affect which plugins are loaded or how
they are configured — it is only metadata stored alongside the active
registry state. Removing it from the cache key lets all call sites
share the same cached registry regardless of their binding mode.
Fixes #61756
2026-04-06 15:28:41 +01:00
Peter Steinberger
c39f061003
Revert "refactor(cli): remove bundled cli text providers"
...
This reverts commit 05d351c430 .
2026-04-06 13:40:41 +01:00
Peter Steinberger
7f11941134
fix(windows): preserve plugin loader alias resolution ( #61832 ) (thanks @Zeesejo)
...
# Conflicts:
# CHANGELOG.md
# src/plugins/loader.ts
2026-04-06 13:01:51 +01:00
Vincent Koc
5716d83336
feat(memory-wiki): restore llm wiki stack
2026-04-06 04:56:52 +01:00
Peter Steinberger
dc0ee2e178
feat: add music generation tooling
2026-04-06 01:47:14 +01:00
Peter Steinberger
471d056e2f
refactor: move browser runtime seams behind plugin metadata
2026-04-05 23:13:14 +01:00
Vincent Koc
94256ea1a0
revert(memory-wiki): back out llm wiki stack
2026-04-05 22:44:20 +01:00
Vincent Koc
2f72363984
feat(memory-core): bridge wiki corpus into memory tools
2026-04-05 22:34:02 +01:00
Vincent Koc
c11e7a7420
feat(memory-wiki): add prompt supplement integration
2026-04-05 22:34:01 +01:00
Peter Steinberger
05d351c430
refactor(cli): remove bundled cli text providers
2026-04-05 18:46:36 +01:00
Gustavo Madeira Santana
8d3e557fc4
Plugins: suppress trust warning noise in snapshot loads ( #61427 )
...
Merged via squash.
Prepared head SHA: a3f484bebd
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-05 13:08:43 -04:00
Peter Steinberger
629baf5fa7
refactor: move plugin setup and memory capabilities to registries
2026-04-05 14:53:53 +01:00
Jamil Zakirov
ffb5b99114
fix: propagate workspaceDir to snapshot plugin loads ( #61138 )
...
* plugins: include resolved workspaceDir in provider hook cache keys
resolveProviderPluginsForHooks, resolveProviderPluginsForCatalogHooks, and
resolveProviderRuntimePlugin used the raw params.workspaceDir for cache keys
and plugin-id discovery while resolvePluginProviders already fell back to
the active registry workspace. Resolve workspaceDir once at the top of each
function so cache keys, candidate filtering, and loading all use the same
workspace root.
* fix(plugins): inherit runtime workspace for snapshot loads
* test(gateway): stub runtime registry seam
* fix(plugins): restore workspace fallback after rebase
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-05 09:03:54 +01:00
Peter Steinberger
e3ac0f43df
feat(qwen): add qwen provider and video generation
2026-04-04 19:34:56 +01:00
Peter Steinberger
d1a4363783
fix(runtime): restore gateway watch on legacy state
2026-04-04 09:18:28 +01:00
Peter Steinberger
be15805a84
refactor(runtime): lazy-load control-ui and channel-config surfaces
2026-04-04 08:59:56 +01:00
Peter Steinberger
a23ab9b906
refactor: move voice-call realtime providers into extensions
2026-04-04 12:07:23 +09:00
Peter Steinberger
1e6e685347
fix: unblock cli startup metadata
2026-04-04 02:35:36 +01:00
Shakker
5dd6189a2a
refactor: split plugin interactive registration
2026-04-04 01:07:28 +09:00
Peter Steinberger
cd38eba316
refactor: unify plugin activation source plumbing
2026-04-03 23:39:36 +09:00
Peter Steinberger
d375cd727e
fix: migrate legacy web search config on startup
2026-04-03 23:24:02 +09:00
Peter Steinberger
bc137951e9
fix: preserve allowlist guard for auto-enabled bundled channels ( #60233 ) (thanks @dorukardahan)
2026-04-03 22:55:31 +09:00
Doruk Ardahan
cd08facd7a
fix(plugins): keep auto-enabled channels behind allowlists
2026-04-03 22:55:30 +09:00
Vincent Koc
883df8c6a8
fix(plugins): reuse runtime registries for web provider snapshots ( #59865 )
...
* fix(plugins): reuse runtime registries for web providers
* test(plugins): clarify runtime reuse intent
* chore(changelog): note web provider runtime reuse
2026-04-03 04:07:43 +09:00
Vincent Koc
def5b954a8
feat(plugins): surface imported runtime state in status tooling ( #59659 )
...
* feat(plugins): surface imported runtime state
* fix(plugins): keep status imports snapshot-only
* fix(plugins): keep status snapshots manifest-only
* fix(plugins): restore doctor load checks
* refactor(plugins): split snapshot and diagnostics reports
* fix(plugins): track imported erroring modules
* fix(plugins): keep hot metadata where required
* fix(plugins): keep hot doctor and write targeting
* fix(plugins): track throwing module imports
2026-04-02 22:50:17 +09:00
Vincent Koc
9823833383
fix(plugins): preserve activation provenance ( #59641 )
...
* fix(plugins): preserve activation provenance
* fix(gateway): preserve activation reason metadata
* fix(plugins): harden activation state policy
2026-04-02 20:57:14 +09:00
Vincent Koc
38d2faee20
!feat(plugins): add web fetch provider boundary ( #59465 )
...
* feat(plugins): add web fetch provider boundary
* feat(plugins): add web fetch provider modules
* refactor(web-fetch): remove remaining core firecrawl fetch config
* fix(web-fetch): address review follow-ups
* fix(web-fetch): harden provider runtime boundaries
* fix(web-fetch): restore firecrawl compare helper
* fix(web-fetch): restore env-based provider autodetect
* fix(web-fetch): tighten provider hardening
* fix(web-fetch): restore fetch autodetect and compat args
* chore(changelog): note firecrawl fetch config break
2026-04-02 20:25:19 +09:00
Vincent Koc
7771c69caf
fix(plugins): enforce activation before shipped imports ( #59136 )
...
* fix(plugins): enforce activation before shipped imports
* fix(plugins): remove more ambient bundled loads
* fix(plugins): tighten scoped loader matching
* fix(plugins): remove channel-id scoped loader matches
* refactor(plugin-sdk): relocate ambient provider helpers
* fix(plugin-sdk): preserve unicode ADC credential paths
* fix(plugins): restore safe setup fallback
2026-04-02 11:18:49 +09:00
dudu1111685
ed8e6b0a74
plugins: suppress provenance warning for allowlisted local plugins ( #58604 )
...
Co-authored-by: me <shlomo@vmi1916417.contaboserver.net >
2026-03-31 21:10:30 -04:00
Peter Steinberger
8bf8baef87
Revert "refactor: move tasks into bundled plugin"
...
This reverts commit c75f4695b7 .
2026-04-01 01:30:22 +09:00
Peter Steinberger
c75f4695b7
refactor: move tasks into bundled plugin
2026-03-31 15:22:08 +01:00
fuller-stack-dev
235908c30e
fix: support multi-kind plugins for dual slot ownership ( #57507 ) (thanks @fuller-stack-dev)
...
* feat(plugins): support multi-kind plugins for dual slot ownership
* fix: address review feedback on multi-kind plugin support
- Use sorted normalizeKinds() for kind-mismatch comparison in loader.ts
(fixes order-sensitive JSON.stringify for arrays)
- Derive slot-to-kind reverse mapping from SLOT_BY_KIND in slots.ts
(removes hardcoded ternary that would break for future slot types)
- Use shared hasKind() helper in config-state.ts instead of inline logic
* fix: don't disable dual-kind plugin that still owns another slot
When a new plugin takes over one slot, a dual-kind plugin that still
owns the other slot must not be disabled — otherwise context engine
resolution fails at runtime.
* fix: exempt dual-kind plugins from memory slot disablement
A plugin with kind: ["memory", "context-engine"] must stay enabled even
when it loses the memory slot, so its context engine role can still load.
* fix: address remaining review feedback
- Pass manifest kind (not hardcoded "memory") in early memory gating
- Extract kindsEqual() helper for DRY kind comparison in loader.ts
- Narrow slotKeyForPluginKind back to single PluginKind with JSDoc
- Reject empty array in parsePluginKind
- Add kindsEqual tests
* fix: use toSorted() instead of sort() per lint rules
* plugins: include default slot ownership in disable checks and gate dual-kind memory registration
2026-03-31 10:06:48 +05:30
Shakker
8746e2e216
fix: restore cli registry side-effect option
2026-03-30 18:10:08 +01:00
Ayaan Zaidi
1b557ffe65
fix(plugins): keep snapshot hook loads isolated
2026-03-30 22:00:54 +05:30
Gustavo Madeira Santana
b0077904a7
Plugins: align CLI metadata loader behavior
2026-03-29 19:20:42 -04:00
Gustavo Madeira Santana
e5dac0c39e
CLI: keep root help plugin descriptors non-activating ( #57294 )
...
Merged via squash.
Prepared head SHA: c8da48f689
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-29 18:49:57 -04:00
Peter Steinberger
8e0ab35b0e
refactor(plugins): decouple bundled plugin runtime loading
2026-03-29 09:10:38 +01:00
Ayaan Zaidi
e3faa99c6a
fix(plugins): preserve gateway-bindable registry reuse
...
# Conflicts:
# src/agents/runtime-plugins.test.ts
# src/agents/runtime-plugins.ts
# src/plugins/loader.ts
# src/plugins/tools.ts
2026-03-29 09:59:06 +05:30
Gustavo Madeira Santana
cdf19111e5
Plugins: narrow loader testing helper surface
2026-03-28 00:25:14 -04:00
Tak Hoffman
c0d4c07b88
fix(regression): scope plugin registry reuse by gateway methods
2026-03-27 23:22:10 -05:00
Gustavo Madeira Santana
ee7f5825c8
Plugins: share runtime registry resolution
2026-03-28 00:19:33 -04:00
Gustavo Madeira Santana
fd0aac297c
Plugins: add runtime registry compatibility helper
2026-03-28 00:09:37 -04:00
Peter Steinberger
546a1aad98
refactor: replace plugin-sdk dist env hacks with loader option
2026-03-27 13:46:17 +00:00
Peter Steinberger
7a35bca2ec
refactor: make memory embedding adapters generic
2026-03-27 02:02:24 +00:00
Peter Steinberger
40bd36e35d
refactor: move channel config metadata into plugin-owned manifests
2026-03-27 01:59:30 +00:00
Peter Steinberger
dbf78de7c6
refactor: move memory engine behind plugin adapters
2026-03-27 00:47:01 +00:00
Peter Steinberger
0f5a77d058
refactor: route memory runtime through memory plugin
2026-03-26 22:30:47 +00:00
Peter Steinberger
1619090693
refactor: move memory plugin state into plugin host
2026-03-26 22:15:49 +00:00
Peter Steinberger
e955d574b2
refactor: move memory tooling into memory-core extension
2026-03-26 22:00:13 +00:00