@drakon-systems/shieldcortex-realtime 4.25.1 → 4.25.4

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "shieldcortex-realtime",
3
- "version": "4.25.1",
3
+ "version": "4.25.4",
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.25.1",
3
+ "version": "4.25.4",
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.25.1",
3
+ "version": "4.25.4",
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",
@@ -20,14 +20,11 @@
20
20
  "intercept-ingest.ts",
21
21
  "cloud-sync.ts",
22
22
  "openclaw.plugin.json",
23
- "README.md",
24
- "llm_input/",
25
- "llm_output/",
26
- "before_tool_call/",
27
- "session_end/"
23
+ "README.md"
28
24
  ],
29
25
  "scripts": {
30
- "pack:verify": "npm pack --dry-run"
26
+ "pack:verify": "npm pack --dry-run",
27
+ "prepublishOnly": "node -e \"if(!require('fs').existsSync('dist/index.js'))throw new Error('plugin dist/index.js missing — run `npm run build:ts` from the repo root before publishing')\""
31
28
  },
32
29
  "peerDependencies": {
33
30
  "shieldcortex": ">=4.18.3 <5.0.0",
@@ -48,12 +45,6 @@
48
45
  "openclaw": {
49
46
  "extensions": [
50
47
  "./dist/index.js"
51
- ],
52
- "hooks": [
53
- "llm_input",
54
- "llm_output",
55
- "before_tool_call",
56
- "session_end"
57
48
  ]
58
49
  },
59
50
  "repository": {
@@ -1,20 +0,0 @@
1
- ---
2
- name: before_tool_call
3
- description: Active threat gating on tool calls
4
- ---
5
-
6
- # before_tool_call
7
-
8
- Active threat gating for tool calls. The interceptor inspects each tool call's
9
- arguments against the ShieldCortex defence pipeline and either allows, warns,
10
- or blocks based on severity action policy. Block decisions throw a
11
- `ShieldCortex: …` error which propagates to the caller; non-block errors are
12
- logged and the tool call is allowed through (interceptor must never wedge a
13
- session).
14
-
15
- The handler is registered at runtime by the plugin's main entry point
16
- (`./dist/index.js` via `openclaw.extensions` in `package.json`), which calls
17
- `api.registerHook("before_tool_call", ...)` during plugin init. This directory
18
- and its `handler.js` exist to satisfy OpenClaw 2026.5.5+'s install-time
19
- hook-pack validation; the file in this directory is not what gets invoked at
20
- runtime.
@@ -1,6 +0,0 @@
1
- // Stub for OpenClaw 2026.5.5+ install-time hook-pack validation.
2
- // The real before_tool_call handler is registered at runtime via the plugin
3
- // entry (./dist/index.js, see openclaw.extensions in ../package.json) which
4
- // calls api.registerHook("before_tool_call", ...) during plugin init. This
5
- // file exists purely so validateHookDir's existence check passes.
6
- export default function beforeToolCallStub() {}
package/llm_input/HOOK.md DELETED
@@ -1,17 +0,0 @@
1
- ---
2
- name: llm_input
3
- description: Real-time threat scanning on LLM input
4
- ---
5
-
6
- # llm_input
7
-
8
- Scans inbound LLM prompts (user message + recent history) for prompt-injection
9
- patterns, credential leaks, and other threats. Findings are logged to
10
- `~/.shieldcortex/audit/realtime-<date>.jsonl` and forwarded to ShieldCortex
11
- Cloud when configured.
12
-
13
- The handler is registered at runtime by the plugin's main entry point
14
- (`./dist/index.js` via `openclaw.extensions` in `package.json`), which calls
15
- `api.registerHook("llm_input", ...)` during plugin init. This directory and
16
- its `handler.js` exist to satisfy OpenClaw 2026.5.5+'s install-time hook-pack
17
- validation; the file in this directory is not what gets invoked at runtime.
@@ -1,6 +0,0 @@
1
- // Stub for OpenClaw 2026.5.5+ install-time hook-pack validation.
2
- // The real llm_input handler is registered at runtime via the plugin entry
3
- // (./dist/index.js, see openclaw.extensions in ../package.json) which calls
4
- // api.registerHook("llm_input", ...) during plugin init. This file exists
5
- // purely so validateHookDir's existence check passes.
6
- export default function llmInputStub() {}
@@ -1,17 +0,0 @@
1
- ---
2
- name: llm_output
3
- description: Memory extraction from LLM output
4
- ---
5
-
6
- # llm_output
7
-
8
- Inspects assistant text from LLM output for high-signal patterns (decisions,
9
- fixes, learnings, preferences) and writes them to ShieldCortex memory via the
10
- `remember` MCP tool. Includes a Jaccard-similarity novelty gate to suppress
11
- near-duplicate memories.
12
-
13
- The handler is registered at runtime by the plugin's main entry point
14
- (`./dist/index.js` via `openclaw.extensions` in `package.json`), which calls
15
- `api.registerHook("llm_output", ...)` during plugin init. This directory and
16
- its `handler.js` exist to satisfy OpenClaw 2026.5.5+'s install-time hook-pack
17
- validation; the file in this directory is not what gets invoked at runtime.
@@ -1,6 +0,0 @@
1
- // Stub for OpenClaw 2026.5.5+ install-time hook-pack validation.
2
- // The real llm_output handler is registered at runtime via the plugin entry
3
- // (./dist/index.js, see openclaw.extensions in ../package.json) which calls
4
- // api.registerHook("llm_output", ...) during plugin init. This file exists
5
- // purely so validateHookDir's existence check passes.
6
- export default function llmOutputStub() {}
@@ -1,27 +0,0 @@
1
- ---
2
- name: session_end
3
- description: Clear interceptor deny cache on session end
4
- ---
5
-
6
- # session_end
7
-
8
- Resets the interceptor's per-session deny cache when a session ends, so
9
- short-lived blocks don't carry over to a new agent session. Best-effort —
10
- older OpenClaw runtimes that don't expose a session_end hook fall back to
11
- the interceptor's TTL safety net.
12
-
13
- The handler is registered at runtime by the plugin's main entry point
14
- (`./dist/index.js` via `openclaw.extensions` in `package.json`), which calls
15
- `api.registerHook("session_end", ...)` during plugin init. This directory and
16
- its `handler.js` exist to satisfy OpenClaw 2026.5.5+'s install-time hook-pack
17
- validation; the file in this directory is not what gets invoked at runtime.
18
-
19
- ## Defence audit guarantees
20
-
21
- The auto-extract path (`scripts/session-end-hook.mjs`) routes every
22
- captured candidate through the full defence pipeline before insert. ALLOW
23
- rows produce a `defence_audit` row with `source_type = 'hook'` and land
24
- in `memories`. QUARANTINE rows go to the `quarantine` table for review.
25
- BLOCK rows are dropped with an audit trail. Pipeline failures are also
26
- audited so no capture is silently lost. See
27
- `hooks/openclaw/cortex-memory/HOOK.md` for the full guarantees.
@@ -1,6 +0,0 @@
1
- // Stub for OpenClaw 2026.5.5+ install-time hook-pack validation.
2
- // The real session_end handler is registered at runtime via the plugin entry
3
- // (./dist/index.js, see openclaw.extensions in ../package.json) which calls
4
- // api.registerHook("session_end", ...) during plugin init. This file exists
5
- // purely so validateHookDir's existence check passes.
6
- export default function sessionEndStub() {}