Peter Steinberger
f76b426e2b
perf: reduce jiti loader alias work
2026-04-20 18:06:45 +01:00
Peter Steinberger
47d42606ac
fix: repair bundled plugin runtime deps on startup
2026-04-20 17:47:55 +01:00
Peter Steinberger
decdb92f34
test: enforce extension dependency ownership
2026-04-20 16:07:14 +01:00
Peter Steinberger
1148f245c8
build(deps): declare extension runtime dependencies
2026-04-20 16:07:14 +01:00
Peter Steinberger
f163432674
fix(discord): avoid native opus install path ( #69339 )
...
* fix(discord): avoid native opus install path
* test(tts): mock lazy facade values
2026-04-20 15:25:07 +01:00
Peter Steinberger
f6360da116
fix(deps): remove extension-owned deps from root install ( #69335 )
...
* fix(deps): remove extension runtime deps from root install
* fix(deps): keep bundled plugin deps local
* test(plugins): assert matrix deps stay plugin-local
2026-04-20 15:03:09 +01:00
Peter Steinberger
8642137252
refactor: share model allowlist entry helper
2026-04-20 15:02:51 +01:00
Peter Steinberger
3664119029
perf: reuse plugin loader config cache
2026-04-20 15:00:50 +01:00
Peter Steinberger
099d4b50b6
docs: clarify alias map memoization rationale
2026-04-20 15:00:50 +01:00
Peter Steinberger
53176153a2
test: cover alias map cache context
2026-04-20 15:00:50 +01:00
Alex Knight
2b64f4bf4b
perf: memoize buildPluginLoaderAliasMap to enable jiti sentinel reuse
...
buildPluginLoaderAliasMap() creates a new alias object via spread on every
call. jiti's normalizeAliases() uses a reference-identity sentinel
(`if (e[pt]) return e`) to skip its O(N²) normalization work — but fresh
object refs defeat the sentinel, causing the full cycle to repeat on
every call.
This change caches alias maps by their inputs (modulePath, argv1,
moduleUrl, pluginSdkResolution) so identical parameters return the same
object reference. Subsequent jiti calls hit the sentinel fast-path
instead of re-running normalization.
Includes 5 new tests covering:
- reference identity for identical inputs
- cache isolation (different modulePath, pluginSdkResolution, argv1
each produce distinct objects)
- content equivalence between cached and freshly-computed results
Refs #68983 , #63948
2026-04-20 15:00:50 +01:00
Peter Steinberger
eaea16f166
refactor: share google turn ordering sanitizer
2026-04-20 14:29:16 +01:00
Peter Steinberger
1ea02d231d
refactor: reuse plugin contract snapshot type
2026-04-20 14:17:39 +01:00
Peter Steinberger
100e587243
refactor: share provider auth choice selection
2026-04-20 14:10:06 +01:00
Peter Steinberger
283b72f2de
refactor: share setup registry scaffolding
2026-04-20 14:08:29 +01:00
Peter Steinberger
60818959b0
refactor: share bundled plugin compat decisions
2026-04-20 14:04:16 +01:00
Peter Steinberger
848348f423
refactor: share active plugin runtime lookup
2026-04-20 14:01:54 +01:00
Peter Steinberger
abe2296daf
refactor: share plugin activation decisions
2026-04-20 13:31:00 +01:00
Peter Steinberger
1e4f3f2123
refactor(test): remove legacy extension test seams
2026-04-20 13:18:49 +01:00
Peter Steinberger
dafc31502a
refactor: share provider and outbound helpers
2026-04-20 13:18:02 +01:00
竹田賢史
1d5b58ac18
feat(plugins): pass attachment metadata to before_model_resolve hook ( #67322 )
...
Merged via squash.
Prepared head SHA: 8af0ba9703
Co-authored-by: estack-takeda-yorichika <47170408+estack-takeda-yorichika@users.noreply.github.com >
Co-authored-by: sallyom <11166065+sallyom@users.noreply.github.com >
Reviewed-by: @sallyom
2026-04-20 00:14:50 -04:00
Mariano
bd3ad3436e
tasks: add detached runtime plugin registration contract ( #68915 )
...
* tasks: register detached runtime plugins
* tasks: harden detached runtime ownership
* tasks: extract detached runtime contract types
* changelog: note detached runtime contract
* changelog: attribute detached runtime contract
2026-04-19 13:13:11 +02:00
Peter Steinberger
34abb441f6
refactor: share provider plugin id filtering
2026-04-19 05:09:57 +01:00
Peter Steinberger
2a14f76964
refactor: share plugin validation diagnostics
2026-04-19 04:59:40 +01:00
Peter Steinberger
4862d34925
fix: package plugin SDK alias wrappers
2026-04-19 03:01:25 +01:00
Peter Steinberger
6ffcf4523d
test: share bundled plugin hotfix types
2026-04-19 00:29:26 +01:00
Peter Steinberger
e88a9e5ee4
test: share plugin root alias diagnostics harness
2026-04-19 00:25:12 +01:00
Peter Steinberger
17fcbcefbc
refactor: share plugin config trust helpers
2026-04-18 23:55:05 +01:00
Peter Steinberger
212c4af50d
perf: skip disabled bundle MCP scans
2026-04-18 23:34:48 +01:00
Peter Steinberger
e069169765
perf: decouple plugin facades from extension types
2026-04-18 22:06:45 +01:00
Vincent Koc
a018257487
fix(auth): harden codex oauth bridge security
2026-04-18 21:27:27 +01:00
Vincent Koc
859eb06662
refactor(auth): route codex runtimes through canonical oauth
2026-04-18 21:27:27 +01:00
Peter Steinberger
2d59395883
refactor: move provider endpoint metadata into manifests
2026-04-18 21:06:50 +01:00
Peter Steinberger
155162a8cd
chore(lint): enable additional cleanup rules
2026-04-18 20:37:13 +01:00
Peter Steinberger
4fa961d4f1
refactor(lint): enable map spread rule
2026-04-18 20:37:12 +01:00
Peter Steinberger
2b7b5774b6
chore: remove dead code
2026-04-18 20:27:42 +01:00
Peter Steinberger
85912849cc
refactor: move extension markers into manifests
2026-04-18 20:16:44 +01:00
Peter Steinberger
58759bb565
test: genericize synthetic auth coverage
2026-04-18 19:59:36 +01:00
Peter Steinberger
796f272f7d
refactor: move synthetic auth refs to manifests
2026-04-18 19:53:54 +01:00
Peter Steinberger
1f1ff0567a
refactor(lint): reduce map spread patterns
2026-04-18 19:27:43 +01:00
Peter Steinberger
235cdb3f81
refactor: remove ollama core facades
2026-04-18 18:53:04 +01:00
Peter Steinberger
df525b90f2
chore(lint): enable unnecessary type parameter rule
2026-04-18 18:31:13 +01:00
Peter Steinberger
fa2f53993a
test: trim skills and bundle mcp overhead
2026-04-18 17:42:02 +01:00
Val Alexander
f45bc09206
[codex] fix(auth): harden OAuth refresh and Codex CLI bootstrap flows ( #68396 )
...
* Harden OAuth refresh and Codex CLI bootstrap flows
- Treat near-expiry OAuth credentials as unusable for bootstrap and refresh
- Add clearer timeout and callback validation handling for OpenAI Codex OAuth
- Tighten file lock retry behavior for stale OAuth refresh contention
* fix(auth): address PR review threads
* fix(auth): adopt fresher imported refresh tokens
* test(auth): align oauth expiry fixtures with refresh margin
* fix(auth): tighten Codex OAuth bootstrap and local fallback
* Keep explicit local auth over CLI bootstrap
- Preserve existing non-OAuth local profiles during external CLI OAuth sync
- Add regression coverage for OpenAI Codex and generic external OAuth overlays
* fix(auth): distinguish oauth lock timeout sources
* fix(auth): reject cross-account external oauth bootstrap
* fix(auth): narrow refresh contention classification
2026-04-18 01:02:29 -05:00
Gustavo Madeira Santana
110f8bd2e1
fix(plugins): resolve checkout plugin sdk imports
2026-04-17 23:04:11 -04:00
Peter Steinberger
27f34f0491
test: merge provider contract wrappers
2026-04-18 01:36:33 +01:00
Peter Steinberger
3abb5fd291
test: slim channel contract hotspots
2026-04-18 01:36:33 +01:00
Peter Steinberger
569247cff8
test: speed channel contract hotspots
2026-04-18 01:36:15 +01:00
Peter Steinberger
30cbfa3457
test: slim plugin shape contracts
2026-04-18 01:36:15 +01:00
Peter Steinberger
4c12ff6d23
test: merge provider web-search contracts
2026-04-18 01:36:15 +01:00