@drakon-systems/shieldcortex-realtime 4.19.1 → 4.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,7 +12,11 @@ OpenClaw is declared as an **optional** peer dependency, so installs on older Op
12
12
 
13
13
  ### Packaging note for OpenClaw discovery
14
14
 
15
- The main `shieldcortex` package and the dedicated `@drakon-systems/shieldcortex-realtime` plugin both expose OpenClaw metadata. From `4.18.3`, the main package also ships a root `openclaw.plugin.json` matching the canonical plugin manifest. This is intentional: OpenClaw's npm discovery validates packages with a `package.json.openclaw.extensions` entry by looking for a root manifest. Without it, `openclaw update` can stop the gateway and then fail config validation with `plugin manifest not found`.
15
+ Only the dedicated `@drakon-systems/shieldcortex-realtime` plugin declares OpenClaw plugin metadata (`openclaw.extensions` + a root `openclaw.plugin.json`). The main `shieldcortex` package keeps an `openclaw.hooks` entry needed for the documented `openclaw hooks install` flow but **as of v4.20.0 it no longer declares `openclaw.extensions`** so OpenClaw's npm discovery cannot mistake the bare main package for a plugin.
16
+
17
+ Why this matters. The realtime plugin's `peerDependencies.shieldcortex` causes OpenClaw to install the main package alongside in its own npm tree (`~/.openclaw/npm/node_modules/shieldcortex`). With the old contract (pre-v4.20.0) OpenClaw scanned that bare copy, found `openclaw.extensions`, registered it as a duplicate of this plugin, and emitted `duplicate plugin id detected; global plugin will be overridden by global plugin`. Functionally it dedupes — the right `dist/index.js` always wins — but the warning was noise. Removing `openclaw.extensions` from the main package makes the bare copy invisible to discovery; the warning goes away and the dedicated plugin remains the only registration target.
18
+
19
+ The defensive root `openclaw.plugin.json` is kept for one release on the main package as a shim against OpenClaw versions that might still consult it; it can be removed in a follow-up once that's confirmed clear. History: the v4.18.2 incident (Jarvis, 2026-05-16) was `plugin manifest not found` because the package declared `openclaw.extensions` *without* a root manifest. v4.18.3 added the manifest; v4.20.0 removes the declaration that required it in the first place.
16
20
 
17
21
  ### Known limitations under OpenClaw 2026.4.23
18
22
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "shieldcortex-realtime",
3
- "version": "4.19.1",
3
+ "version": "4.20.0",
4
4
  "name": "ShieldCortex Real-time Scanner",
5
5
  "description": "Real-time defence scanning on LLM input, memory extraction on LLM output, and active tool call interception with approval gating.",
6
6
  "kind": null,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "shieldcortex-realtime",
3
- "version": "4.19.1",
3
+ "version": "4.20.0",
4
4
  "name": "ShieldCortex Real-time Scanner",
5
5
  "description": "Real-time defence scanning on LLM input, memory extraction on LLM output, and active tool call interception with approval gating.",
6
6
  "kind": null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drakon-systems/shieldcortex-realtime",
3
- "version": "4.19.1",
3
+ "version": "4.20.0",
4
4
  "description": "OpenClaw plugin for ShieldCortex real-time defence scanning and optional memory extraction.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -30,7 +30,7 @@
30
30
  "pack:verify": "npm pack --dry-run"
31
31
  },
32
32
  "peerDependencies": {
33
- "shieldcortex": "^4.19.1",
33
+ "shieldcortex": "^4.20.0",
34
34
  "openclaw": ">=2026.3.22"
35
35
  },
36
36
  "peerDependenciesMeta": {