fix(plugins): include json5 in memory runtime deps

* fix(plugins): include json5 in memory runtime deps

* chore(ci): allow bundled runtime json5 dep
This commit is contained in:
Vincent Koc
2026-05-04 16:31:49 -07:00
committed by GitHub
parent ae142cad7c
commit 8285786c22
5 changed files with 17 additions and 0 deletions

View File

@@ -62,6 +62,7 @@ Docs: https://docs.openclaw.ai
- Gateway/startup: include resolved thinking and fast-mode defaults in the `agent model` startup log line, defaulting unset startup thinking to `medium` without mixing in reasoning visibility.
- Gateway/watch: suppress sync-I/O trace output during `pnpm gateway:watch --benchmark` unless explicitly requested, so CPU profiling no longer floods the terminal with stack traces.
- Gateway/watch: when benchmark sync-I/O tracing is explicitly enabled, tee trace blocks to the benchmark output log and filter them from the terminal pane while keeping normal Gateway logs visible.
- Plugins/runtime-deps: include `json5` in the memory-core plugin runtime dependency set so packaged `memory_search` sandboxes can resolve generated OpenClaw runtime chunks that parse JSON5 config. Fixes #77461.
- Agents/OpenAI: default direct OpenAI Responses models to the SSE transport instead of WebSocket auto-selection, preventing pi runtime chat turns from hanging on servers where the WebSocket path stalls while the OpenAI HTTP stream works. Thanks @vincentkoc.
- Discord: prefer IPv4 for Discord REST and gateway WebSocket startup paths so IPv4-only networks no longer stall before Gateway READY and inbound message dispatch. Fixes #77398; refs #77526. Thanks @Beandon13.
- Channels/plugins: key bundled package-state probes, env/config presence, and read-only command defaults by channel id instead of manifest plugin id, preserving setup and native-command detection for channel plugins whose package id differs from the channel alias. Thanks @vincentkoc.

View File

@@ -41,6 +41,7 @@ const bundledPluginIgnoredRuntimeDependencies = [
"@tloncorp/tlon-skill",
"@zed-industries/codex-acp",
"jiti",
"json5",
"linkedom",
"openclaw",
"pdfjs-dist",

View File

@@ -6,6 +6,7 @@
"type": "module",
"dependencies": {
"chokidar": "^5.0.0",
"json5": "^2.2.3",
"typebox": "1.1.37"
},
"devDependencies": {

3
pnpm-lock.yaml generated
View File

@@ -924,6 +924,9 @@ importers:
chokidar:
specifier: ^5.0.0
version: 5.0.0
json5:
specifier: ^2.2.3
version: 2.2.3
typebox:
specifier: 1.1.37
version: 1.1.37

View File

@@ -30,6 +30,11 @@ const INDIRECT_RUNTIME_DEPENDENCIES = new Map<string, Set<string>>([
// LanceDB imports apache-arrow at runtime through its peer dependency.
new Set(["apache-arrow"]),
],
[
"extensions/memory-core",
// Packaged memory tools run through generated OpenClaw runtime chunks that parse JSON5 config.
new Set(["json5"]),
],
[
"extensions/tlon",
// The Tlon plugin manifest exposes the bundled skill from this package path.
@@ -215,6 +220,12 @@ describe("Discord dependency ownership", () => {
});
describe("extension runtime dependency manifests", () => {
it("keeps json5 in memory-core for packaged runtime config parsing", () => {
const manifest = readPackageManifest("extensions/memory-core/package.json");
expect(manifest.dependencies?.json5).toBeDefined();
});
for (const manifestPath of listPackageManifests(EXTENSION_ROOT)) {
const extensionDir = toPosixPath(path.dirname(manifestPath));