Commit Graph

20 Commits

Author SHA1 Message Date
Peter Steinberger ed8f50f240 refactor: simplify plugin dependency handling
Simplify plugin installation and runtime loading around package-manager-owned dependencies, with Jiti reserved for local/TS fallback paths.

Also scans npm plugin install roots so hoisted transitive dependencies are covered by dependency denylist and node_modules symlink checks.
2026-05-01 21:32:22 +01:00
Peter Steinberger f6fea7770d fix(release): repair packaged plugin startup metadata 2026-05-01 19:44:28 +01:00
Peter Steinberger 4b09c27398 fix(gateway): repair source checkout plugin deps before load 2026-05-01 10:46:55 +01:00
Peter Steinberger 29ed5266bf fix: keep runtime deps repair out of hot paths 2026-05-01 09:26:45 +01:00
Peter Steinberger 250376f885 fix: simplify bundled runtime dependency repair (#75183)
Summary:
- Merged fix: simplify bundled runtime dependency repair after ClawSweeper review.

ClawSweeper fixups:
- Included follow-up commit: fix: verify cached bundled runtime roots
- Included follow-up commit: refactor: simplify plugin runtime startup paths
- Included follow-up commit: refactor: trim plugin startup policy helpers
- Included follow-up commit: refactor: trust package manager runtime deps materialization
- Included follow-up commit: fix: narrow channel runtime deps skip policy
- Included follow-up commit: refactor: defer startup plugin runtime deps
- Ran the ClawSweeper repair loop before final review.

Validation:
- ClawSweeper review passed for head 04dc566534.
- Required merge gates passed before the squash merge.

Prepared head SHA: 04dc566534
Review: https://github.com/openclaw/openclaw/pull/75183#issuecomment-4358383786

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Shakker <shakkerdroid@gmail.com>
Co-authored-by: clawsweeper-repair <clawsweeper-repair@users.noreply.github.com>
2026-05-01 07:49:02 +00:00
Peter Steinberger 8cf724a381 fix(plugins): simplify bundled runtime deps staging
* fix(plugins): simplify bundled runtime deps staging

* refactor(plugins): declare bundled root runtime deps

* fix(plugins): isolate pnpm runtime dependency installs

* test(gateway): wait for deferred agent routing calls in server suite

* test(ci): follow extracted update-channel assertions

* fix(plugins): bypass pnpm age gate for bundled runtime deps

* test: drop stale rebase leftovers

* test: preserve mirrored root dependency drift guard

* test: stage mirrored deps in facade fixtures

* fix(plugin-sdk): expose provider setup metadata

* test(plugin-sdk): satisfy spread lint in facade deps fixture

* refactor(plugins): share bundled runtime deps install flow

* fix(plugins): finish runtime deps rebase cleanup

* fix(plugins): remove stale mirror import

* refactor(plugins): centralize bundled runtime root preparation

* fix(plugins): skip Windows pnpm cmd shims

* refactor(plugins): let package managers own runtime deps staging

* fix(plugins): validate staged runtime deps

* fix(plugins): preserve lazy runtime deps fallback
2026-04-29 17:04:56 +01:00
Vincent Koc 3a6d3dfa06 test(gateway): mock bundled runtime deps pruning 2026-04-29 01:25:27 -07:00
Peter Steinberger 62f8cff33a fix: avoid full runtime dependency restaging 2026-04-28 00:15:15 +01:00
Intern Dev f07844450c Prevent disabled plugins from warming the gateway plugin graph
A local containment profile uses plugins.enabled=false to stop plugin and channel runtime churn. The previous startup path still built plugin lookup tables and doctor stale scans despite the global disable, which made the switch noisy and slow.

Constraint: plugins.enabled=false must leave channel blocker warnings intact while treating stale plugin config as inert.
Rejected: Clear user plugin config automatically | would mutate a reversible containment setting.
Confidence: high
Scope-risk: narrow
Directive: Do not reintroduce plugin registry discovery before checking plugins.enabled.
Tested: pnpm test src/gateway/server-startup-plugins.test.ts src/config/plugin-auto-enable.core.test.ts src/commands/doctor/shared/stale-plugin-config.test.ts src/commands/doctor/shared/preview-warnings.test.ts
Tested: pnpm check:changed
Tested: pnpm build
2026-04-27 23:57:31 +01:00
Shakker 197c83138e fix: reuse startup metadata in plugin bootstrap 2026-04-27 17:02:57 +01:00
Shakker ab28cfa9d4 fix: guard plugin metadata snapshot reuse 2026-04-27 17:02:57 +01:00
Shakker 9de2bc6ffc refactor: reuse startup plugin metadata snapshot 2026-04-27 17:02:57 +01:00
Shakker f88c330657 fix: preserve runtime config during source plugin activation 2026-04-27 14:29:49 +01:00
Shakker a964dcbddb fix: honor source plugin activation at startup 2026-04-27 14:29:49 +01:00
Peter Steinberger f97cc58760 fix(browser): auto-start configured browser plugin 2026-04-27 09:37:10 +01:00
Shakker 45b0d5ccc2 chore: add plugin lookup startup trace metrics 2026-04-27 08:48:18 +01:00
Shakker bed76c26e7 fix: reuse lookup table for deferred plugin reload 2026-04-27 08:48:18 +01:00
Shakker 7c985890af refactor: reuse lookup table during gateway plugin load 2026-04-27 08:48:18 +01:00
Shakker 3f38d3af88 refactor: add plugin lookup table 2026-04-27 08:48:17 +01:00
Peter Steinberger 1ea12fe3e2 fix: stage bundled plugin runtime deps safely 2026-04-27 06:16:26 +01:00