mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 17:00:50 +00:00
test(plugins): cover runtime deps package manifest fallback
This commit is contained in:
@@ -25,6 +25,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Plugins/runtime-deps: prune inactive same-package versioned runtime-deps roots after bundled dependency repair, so upgrades do not leave old `openclaw-<version>-<hash>` package caches behind after doctor runs. Thanks @vincentkoc.
|
||||
- Plugins/runtime-deps: prune legacy version-scoped plugin runtime-deps roots during bundled dependency repair and cover the path in Package Acceptance's upgrade-survivor matrix, so upgrades from 2026.4.x no longer leave stale per-plugin runtime trees after doctor runs. Thanks @vincentkoc.
|
||||
- Plugins/runtime-deps: keep Gateway startup plugin imports and runtime plugin fallback loads verify-only after startup/config repair planning, so packaged installs no longer spawn package-manager repair from hot paths after readiness. Refs #75283 and #75069. Thanks @brokemac79 and @xiaohuaxi.
|
||||
- Plugins/runtime-deps: treat package.json runtime-deps manifests as supersets when generated materialization metadata is absent, so bundled plugin activation stops restaging already-installed dependency subsets on every activation. Fixes #75429. (#75431) Thanks @loyur.
|
||||
- Voice Call/realtime: add default-off fast memory/session context for `openclaw_agent_consult`, giving live calls a bounded answer-or-miss path before the full agent consult. Fixes #71849. Thanks @amzzzzzzz.
|
||||
- Google Meet: interrupt Realtime provider output when local barge-in clears playback, so command-pair audio stops model speech instead of only restarting Chrome playback. Fixes #73850. (#73834) Thanks @shhtheonlyperson.
|
||||
- Gateway/config: cap oversized plugin-owned schemas in the full `config.schema` response so large installed plugin sets cannot balloon Gateway RSS or crash schema clients. Thanks @vincentkoc.
|
||||
|
||||
@@ -3187,6 +3187,23 @@ describe("ensureBundledPluginRuntimeDeps", () => {
|
||||
expect(result).toEqual({ installedSpecs: [] });
|
||||
});
|
||||
|
||||
it("accepts package.json runtime-deps supersets when generated metadata is absent", () => {
|
||||
const installRoot = makeTempDir();
|
||||
fs.writeFileSync(
|
||||
path.join(installRoot, "package.json"),
|
||||
JSON.stringify({
|
||||
name: "openclaw-bundled-runtime-deps",
|
||||
dependencies: {
|
||||
"alpha-runtime": "1.0.0",
|
||||
tokenjuice: "0.7.0",
|
||||
},
|
||||
}),
|
||||
);
|
||||
writeInstalledPackage(installRoot, "alpha-runtime", "1.0.0");
|
||||
|
||||
expect(isRuntimeDepsPlanMaterialized(installRoot, ["alpha-runtime@1.0.0"])).toBe(true);
|
||||
});
|
||||
|
||||
it("drops stale package versions from the next package-level plan", () => {
|
||||
const packageRoot = makeTempDir();
|
||||
const stageDir = makeTempDir();
|
||||
|
||||
Reference in New Issue
Block a user