shieldcortex 4.32.3 → 4.32.5
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/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
- package/dist/cli/doctor.js +1 -1
- package/dist/database/better-sqlite3-guard.js +3 -2
- package/dist/database/init.js +3 -3
- package/dist/index.js +9 -0
- package/dist/setup/native-binding.d.ts +44 -23
- package/dist/setup/native-binding.js +54 -29
- package/dist/worker/brain-worker.js +15 -15
- package/package.json +1 -1
- package/scripts/postinstall.mjs +8 -5
- /package/dashboard/.next/standalone/dashboard/.next/static/{W2BNlEtr4qM_FD1F8jjIw → zKWzeUOIrZv2aaXazoUQm}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{W2BNlEtr4qM_FD1F8jjIw → zKWzeUOIrZv2aaXazoUQm}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{W2BNlEtr4qM_FD1F8jjIw → zKWzeUOIrZv2aaXazoUQm}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--zKWzeUOIrZv2aaXazoUQm--><html lang="en" class="dark" data-theme="terminal"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/34d933785a17edf3.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/aee9601911b790ca.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/d878b929b21636c4.js"/><script src="/_next/static/chunks/f70f563804550a9c.js" async=""></script><script src="/_next/static/chunks/43d761df92da7cb6.js" async=""></script><script src="/_next/static/chunks/e281719dbabcca1d.js" async=""></script><script src="/_next/static/chunks/9e56d1f8f4d7adcb.js" async=""></script><script src="/_next/static/chunks/turbopack-768a6a8b9db952e0.js" async=""></script><script src="/_next/static/chunks/4ddb24d8ce3b8617.js" async=""></script><script src="/_next/static/chunks/417032eeb2cd875f.js" async=""></script><script src="/_next/static/chunks/d334b69bff7779be.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>ShieldCortex</title><meta name="description" content="AI Memory Security Dashboard — Defence pipeline, audit logs, quarantine review"/><script>
|
|
2
2
|
try {
|
|
3
3
|
var t = localStorage.getItem('sc-theme');
|
|
4
4
|
if (t !== 'glass' && t !== 'terminal') t = 'terminal';
|
|
@@ -6,4 +6,4 @@ try {
|
|
|
6
6
|
} catch (e) {
|
|
7
7
|
document.documentElement.dataset.theme = 'terminal';
|
|
8
8
|
}
|
|
9
|
-
</script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased bg-slate-950"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/d878b929b21636c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[36111,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"Providers\"]\n3:I[57043,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n4:I[10445,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\",\"/_next/static/chunks/d334b69bff7779be.js\"],\"default\"]\n5:I[27657,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n6:I[56978,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[56978,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"ViewportBoundary\"]\nb:I[56978,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"MetadataBoundary\"]\nd:I[30687,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n:HL[\"/_next/static/chunks/34d933785a17edf3.css\",\"style\"]\n:HL[\"/_next/static/chunks/aee9601911b790ca.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
9
|
+
</script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased bg-slate-950"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/d878b929b21636c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[36111,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"Providers\"]\n3:I[57043,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n4:I[10445,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\",\"/_next/static/chunks/d334b69bff7779be.js\"],\"default\"]\n5:I[27657,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n6:I[56978,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[56978,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"ViewportBoundary\"]\nb:I[56978,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"MetadataBoundary\"]\nd:I[30687,[\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n:HL[\"/_next/static/chunks/34d933785a17edf3.css\",\"style\"]\n:HL[\"/_next/static/chunks/aee9601911b790ca.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"zKWzeUOIrZv2aaXazoUQm\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/34d933785a17edf3.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/aee9601911b790ca.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/4ddb24d8ce3b8617.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/417032eeb2cd875f.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"data-theme\":\"terminal\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\ntry {\\n var t = localStorage.getItem('sc-theme');\\n if (t !== 'glass' \u0026\u0026 t !== 'terminal') t = 'terminal';\\n document.documentElement.dataset.theme = t;\\n} catch (e) {\\n document.documentElement.dataset.theme = 'terminal';\\n}\\n\"}}]}],[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased bg-slate-950\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$4\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/d334b69bff7779be.js\",\"async\":true}]],\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"ShieldCortex\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI Memory Security Dashboard — Defence pipeline, audit logs, quarantine review\"}]]\n"])</script></body></html>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/d878b929b21636c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57043,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n3:I[27657,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n4:I[56978,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[56978,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"ViewportBoundary\"]\n9:I[56978,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"MetadataBoundary\"]\nb:I[30687,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--zKWzeUOIrZv2aaXazoUQm--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/d878b929b21636c4.js"/><script src="/_next/static/chunks/f70f563804550a9c.js" async=""></script><script src="/_next/static/chunks/43d761df92da7cb6.js" async=""></script><script src="/_next/static/chunks/e281719dbabcca1d.js" async=""></script><script src="/_next/static/chunks/9e56d1f8f4d7adcb.js" async=""></script><script src="/_next/static/chunks/turbopack-768a6a8b9db952e0.js" async=""></script><script src="/_next/static/chunks/102f894cc892994d.js" async=""></script><script src="/_next/static/chunks/417032eeb2cd875f.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/d878b929b21636c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57043,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n3:I[27657,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n4:I[56978,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[56978,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"ViewportBoundary\"]\n9:I[56978,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"MetadataBoundary\"]\nb:I[30687,[\"/_next/static/chunks/102f894cc892994d.js\",\"/_next/static/chunks/417032eeb2cd875f.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"zKWzeUOIrZv2aaXazoUQm\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/102f894cc892994d.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/417032eeb2cd875f.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
|
package/dist/cli/doctor.js
CHANGED
|
@@ -127,7 +127,7 @@ async function checkDatabase() {
|
|
|
127
127
|
status: 'fail',
|
|
128
128
|
message: `cannot open — ${msg}`,
|
|
129
129
|
fix: /bindings file|napi|abi|MODULE_VERSION|was compiled against/i.test(msg)
|
|
130
|
-
? `Native DB engine failed to load. Run \`shieldcortex repair\` (
|
|
130
|
+
? `Native DB engine failed to load. Run \`shieldcortex repair\` (compiles better-sqlite3 from source + re-verifies), or manually: cd "${path.join(resolveSelfInstallDir(), 'node_modules', 'better-sqlite3')}" && npm run build-release`
|
|
131
131
|
: 'Back up and delete `~/.shieldcortex/memories.db`, then restart the MCP server',
|
|
132
132
|
};
|
|
133
133
|
}
|
|
@@ -47,8 +47,9 @@ export function formatNativeLoadError(err, nodeVersion, abi) {
|
|
|
47
47
|
'the module was not compiled locally.',
|
|
48
48
|
'',
|
|
49
49
|
'Fix one of these:',
|
|
50
|
-
' •
|
|
51
|
-
'
|
|
50
|
+
' • Run `shieldcortex repair` (compiles better-sqlite3 from source + re-verifies)',
|
|
51
|
+
' • Or recompile manually in the better-sqlite3 package dir: npm run build-release',
|
|
52
|
+
' (requires a C/C++ toolchain — Xcode CLT / build-essential; a plain `npm rebuild` can silently no-op)',
|
|
52
53
|
' • Or run ShieldCortex on a supported Node LTS (20.x or 22.x),',
|
|
53
54
|
' which ship prebuilt binaries — no compiler needed.',
|
|
54
55
|
'',
|
package/dist/database/init.js
CHANGED
|
@@ -459,9 +459,9 @@ export function initDatabase(dbPath) {
|
|
|
459
459
|
const detail = openError instanceof Error ? openError.message : String(openError);
|
|
460
460
|
throw new Error('ShieldCortex could not load its database engine (the better-sqlite3 native module). ' +
|
|
461
461
|
`This is an install / Node-version issue, NOT database corruption — your data at ${expandedPath} is untouched. ` +
|
|
462
|
-
'Rebuild the native module and retry:\n' +
|
|
463
|
-
' cd "$(npm root -g)/shieldcortex" && npm
|
|
464
|
-
'(install a C/C++ toolchain first if it fails to compile)\n' +
|
|
462
|
+
'Rebuild the native module and retry — easiest is `shieldcortex repair`, or manually:\n' +
|
|
463
|
+
' cd "$(npm root -g)/shieldcortex/node_modules/better-sqlite3" && npm run build-release\n' +
|
|
464
|
+
'(install a C/C++ toolchain first if it fails to compile; a plain `npm rebuild` can silently no-op)\n' +
|
|
465
465
|
`Underlying error: ${detail}`);
|
|
466
466
|
}
|
|
467
467
|
// Database file is corrupt or not a valid SQLite database
|
package/dist/index.js
CHANGED
|
@@ -183,6 +183,15 @@ function parseArgs() {
|
|
|
183
183
|
* Start MCP server for Claude Code integration
|
|
184
184
|
*/
|
|
185
185
|
async function startMcpServer(dbPath) {
|
|
186
|
+
// MCP stdio contract: stdout is the JSON-RPC channel — NOTHING else may write
|
|
187
|
+
// to it, or the client's transport hits a non-JSON byte and reports
|
|
188
|
+
// "Connection closed". Route any stray console.log (ours, a lazily-imported
|
|
189
|
+
// module's, or a dependency's — notably the in-process brain worker started
|
|
190
|
+
// below) to stderr. The SDK's StdioServerTransport writes JSON-RPC via
|
|
191
|
+
// process.stdout.write directly, so it is unaffected. Defence-in-depth: each
|
|
192
|
+
// module also logs to stderr in its own right, but this guarantees the stream
|
|
193
|
+
// stays clean even if a future code path forgets.
|
|
194
|
+
console.log = (...args) => { console.error(...args); };
|
|
186
195
|
// Lazy-load heavy server/worker/embedding modules — only the actual MCP
|
|
187
196
|
// server path needs them, so they stay out of fast CLI/hook startup.
|
|
188
197
|
const { createServer } = await import('./server.js');
|
|
@@ -13,13 +13,15 @@
|
|
|
13
13
|
* successfully" — a no-op. So this module resolves the install dir from the
|
|
14
14
|
* running code's own location and rebuilds there.
|
|
15
15
|
*
|
|
16
|
-
* The second trap (
|
|
17
|
-
* `npm rebuild` can report "rebuilt
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
16
|
+
* The second trap (proven on clawdbot1): even in the right dir, `npm rebuild
|
|
17
|
+
* better-sqlite3` — AND `npm rebuild … --build-from-source` — can report "rebuilt
|
|
18
|
+
* dependencies successfully" while the binary never built. better-sqlite3's
|
|
19
|
+
* install runs prebuild-install, which on a platform with no matching prebuilt
|
|
20
|
+
* exits 0 WITHOUT building (the `--build-from-source` flag does not reliably force
|
|
21
|
+
* it). So when a plain rebuild doesn't heal, we escalate to better-sqlite3's own
|
|
22
|
+
* `npm run build-release` (= `node-gyp rebuild --release`) IN its package dir,
|
|
23
|
+
* which bypasses prebuild-install and actually compiles — surfacing the real
|
|
24
|
+
* build error (almost always a missing C/C++ toolchain) if it can't.
|
|
23
25
|
*
|
|
24
26
|
* Used by: `shieldcortex update` (verify+heal step), `shieldcortex repair`,
|
|
25
27
|
* `shieldcortex doctor` (correct remediation text), and the postinstall guidance.
|
|
@@ -64,13 +66,31 @@ export declare function resolveSelfInstallDir(): string;
|
|
|
64
66
|
*/
|
|
65
67
|
export declare function verifyNativeBinding(): VerifyResult;
|
|
66
68
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
+
* The command used to (re)build the binding — split out so the choice is
|
|
70
|
+
* unit-testable without actually spawning npm.
|
|
69
71
|
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
72
|
+
* - normal: `npm rebuild better-sqlite3` in the install dir. Fast, and places a
|
|
73
|
+
* matching prebuilt when one exists for this platform/ABI.
|
|
74
|
+
* - fromSource: `npm run build-release` IN the better-sqlite3 dir — its own script
|
|
75
|
+
* (`node-gyp rebuild --release`). This is the ONLY reliable force-compile:
|
|
76
|
+
* `npm rebuild … --build-from-source` still goes through prebuild-install, which
|
|
77
|
+
* on a platform with no matching prebuilt exits 0 WITHOUT building and reports
|
|
78
|
+
* "rebuilt dependencies successfully" (proven on arm64 Node 22). build-release
|
|
79
|
+
* bypasses prebuild-install entirely and invokes node-gyp directly.
|
|
80
|
+
*/
|
|
81
|
+
export declare function nativeRebuildCommand(installDir: string, fromSource?: boolean): {
|
|
82
|
+
cmd: string;
|
|
83
|
+
args: string[];
|
|
84
|
+
cwd: string;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Run the binding (re)build. Async (the compile can take tens of seconds) so
|
|
88
|
+
* callers can keep a spinner alive. Never throws.
|
|
89
|
+
*
|
|
90
|
+
* With `{ fromSource: true }` it forces a real compile via better-sqlite3's
|
|
91
|
+
* `build-release` (node-gyp) — bypassing prebuild-install's silent no-op — and
|
|
92
|
+
* captures the build output so a failed compile surfaces its real error rather
|
|
93
|
+
* than npm's misleading "rebuilt dependencies successfully".
|
|
74
94
|
*/
|
|
75
95
|
export declare function rebuildNativeBinding(installDir: string, opts?: {
|
|
76
96
|
fromSource?: boolean;
|
|
@@ -79,13 +99,13 @@ export declare function rebuildNativeBinding(installDir: string, opts?: {
|
|
|
79
99
|
output: string;
|
|
80
100
|
}>;
|
|
81
101
|
/**
|
|
82
|
-
* The correct copy-paste remediation
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
102
|
+
* The correct copy-paste remediation. Two things users (and a naive
|
|
103
|
+
* `npm rebuild`) get wrong, both leading to a silent no-op:
|
|
104
|
+
* 1. running the rebuild outside the package's install dir, and
|
|
105
|
+
* 2. using `npm rebuild`/`--build-from-source`, which goes through
|
|
106
|
+
* prebuild-install and exits 0 without building when no prebuilt matches.
|
|
107
|
+
* The reliable command is better-sqlite3's own `build-release` (node-gyp) run in
|
|
108
|
+
* its package dir, which compiles from source directly.
|
|
89
109
|
*/
|
|
90
110
|
export declare function nativeBindingRemediation(installDir: string): string;
|
|
91
111
|
/**
|
|
@@ -96,8 +116,9 @@ export declare function nativeBindingRemediation(installDir: string): string;
|
|
|
96
116
|
*
|
|
97
117
|
* Two rebuild attempts when needed: first a plain `npm rebuild` (fast, uses a
|
|
98
118
|
* matching prebuilt if one exists), then — only if that didn't heal it — a
|
|
99
|
-
* forced
|
|
100
|
-
*
|
|
101
|
-
*
|
|
119
|
+
* forced `npm run build-release` (node-gyp) source compile. The forced build is
|
|
120
|
+
* what actually produces the binary when no prebuilt matches AND surfaces the
|
|
121
|
+
* real error if it can't (and `rebuildOutput` in the failed result carries IT,
|
|
122
|
+
* not the earlier misleading "rebuilt dependencies successfully").
|
|
102
123
|
*/
|
|
103
124
|
export declare function ensureNativeBinding(deps?: Partial<BindingDeps>): Promise<EnsureResult>;
|
|
@@ -13,13 +13,15 @@
|
|
|
13
13
|
* successfully" — a no-op. So this module resolves the install dir from the
|
|
14
14
|
* running code's own location and rebuilds there.
|
|
15
15
|
*
|
|
16
|
-
* The second trap (
|
|
17
|
-
* `npm rebuild` can report "rebuilt
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
16
|
+
* The second trap (proven on clawdbot1): even in the right dir, `npm rebuild
|
|
17
|
+
* better-sqlite3` — AND `npm rebuild … --build-from-source` — can report "rebuilt
|
|
18
|
+
* dependencies successfully" while the binary never built. better-sqlite3's
|
|
19
|
+
* install runs prebuild-install, which on a platform with no matching prebuilt
|
|
20
|
+
* exits 0 WITHOUT building (the `--build-from-source` flag does not reliably force
|
|
21
|
+
* it). So when a plain rebuild doesn't heal, we escalate to better-sqlite3's own
|
|
22
|
+
* `npm run build-release` (= `node-gyp rebuild --release`) IN its package dir,
|
|
23
|
+
* which bypasses prebuild-install and actually compiles — surfacing the real
|
|
24
|
+
* build error (almost always a missing C/C++ toolchain) if it can't.
|
|
23
25
|
*
|
|
24
26
|
* Used by: `shieldcortex update` (verify+heal step), `shieldcortex repair`,
|
|
25
27
|
* `shieldcortex doctor` (correct remediation text), and the postinstall guidance.
|
|
@@ -58,15 +60,39 @@ export function verifyNativeBinding() {
|
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
+
* The command used to (re)build the binding — split out so the choice is
|
|
64
|
+
* unit-testable without actually spawning npm.
|
|
63
65
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
66
|
+
* - normal: `npm rebuild better-sqlite3` in the install dir. Fast, and places a
|
|
67
|
+
* matching prebuilt when one exists for this platform/ABI.
|
|
68
|
+
* - fromSource: `npm run build-release` IN the better-sqlite3 dir — its own script
|
|
69
|
+
* (`node-gyp rebuild --release`). This is the ONLY reliable force-compile:
|
|
70
|
+
* `npm rebuild … --build-from-source` still goes through prebuild-install, which
|
|
71
|
+
* on a platform with no matching prebuilt exits 0 WITHOUT building and reports
|
|
72
|
+
* "rebuilt dependencies successfully" (proven on arm64 Node 22). build-release
|
|
73
|
+
* bypasses prebuild-install entirely and invokes node-gyp directly.
|
|
74
|
+
*/
|
|
75
|
+
export function nativeRebuildCommand(installDir, fromSource = false) {
|
|
76
|
+
if (fromSource) {
|
|
77
|
+
return {
|
|
78
|
+
cmd: 'npm',
|
|
79
|
+
args: ['run', 'build-release'],
|
|
80
|
+
cwd: path.join(installDir, 'node_modules', 'better-sqlite3'),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return { cmd: 'npm', args: ['rebuild', 'better-sqlite3', '--no-audit', '--no-fund'], cwd: installDir };
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Run the binding (re)build. Async (the compile can take tens of seconds) so
|
|
87
|
+
* callers can keep a spinner alive. Never throws.
|
|
88
|
+
*
|
|
89
|
+
* With `{ fromSource: true }` it forces a real compile via better-sqlite3's
|
|
90
|
+
* `build-release` (node-gyp) — bypassing prebuild-install's silent no-op — and
|
|
91
|
+
* captures the build output so a failed compile surfaces its real error rather
|
|
92
|
+
* than npm's misleading "rebuilt dependencies successfully".
|
|
68
93
|
*/
|
|
69
94
|
export function rebuildNativeBinding(installDir, opts = {}) {
|
|
95
|
+
const { cmd, args, cwd } = nativeRebuildCommand(installDir, opts.fromSource ?? false);
|
|
70
96
|
return new Promise((resolve) => {
|
|
71
97
|
let output = '';
|
|
72
98
|
let settled = false;
|
|
@@ -74,13 +100,10 @@ export function rebuildNativeBinding(installDir, opts = {}) {
|
|
|
74
100
|
settled = true;
|
|
75
101
|
resolve({ ok, output });
|
|
76
102
|
} };
|
|
77
|
-
const args = ['rebuild', 'better-sqlite3', '--no-audit', '--no-fund'];
|
|
78
|
-
if (opts.fromSource)
|
|
79
|
-
args.push('--build-from-source', '--foreground-scripts');
|
|
80
103
|
let child;
|
|
81
104
|
try {
|
|
82
|
-
child = spawn(
|
|
83
|
-
cwd
|
|
105
|
+
child = spawn(cmd, args, {
|
|
106
|
+
cwd,
|
|
84
107
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
85
108
|
shell: false,
|
|
86
109
|
});
|
|
@@ -126,17 +149,18 @@ function toolchainHint() {
|
|
|
126
149
|
return 'If it fails for lack of a compiler: sudo apt-get install -y python3 make g++ (Debian/Ubuntu; or your distro\'s build-essential).';
|
|
127
150
|
}
|
|
128
151
|
/**
|
|
129
|
-
* The correct copy-paste remediation
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
152
|
+
* The correct copy-paste remediation. Two things users (and a naive
|
|
153
|
+
* `npm rebuild`) get wrong, both leading to a silent no-op:
|
|
154
|
+
* 1. running the rebuild outside the package's install dir, and
|
|
155
|
+
* 2. using `npm rebuild`/`--build-from-source`, which goes through
|
|
156
|
+
* prebuild-install and exits 0 without building when no prebuilt matches.
|
|
157
|
+
* The reliable command is better-sqlite3's own `build-release` (node-gyp) run in
|
|
158
|
+
* its package dir, which compiles from source directly.
|
|
136
159
|
*/
|
|
137
160
|
export function nativeBindingRemediation(installDir) {
|
|
161
|
+
const pkgDir = path.join(installDir, 'node_modules', 'better-sqlite3');
|
|
138
162
|
return [
|
|
139
|
-
`cd "${
|
|
163
|
+
`cd "${pkgDir}" && npm run build-release`,
|
|
140
164
|
toolchainHint(),
|
|
141
165
|
'Then restart Claude Code / the OpenClaw gateway so processes reload the binding.',
|
|
142
166
|
].join('\n');
|
|
@@ -149,9 +173,10 @@ export function nativeBindingRemediation(installDir) {
|
|
|
149
173
|
*
|
|
150
174
|
* Two rebuild attempts when needed: first a plain `npm rebuild` (fast, uses a
|
|
151
175
|
* matching prebuilt if one exists), then — only if that didn't heal it — a
|
|
152
|
-
* forced
|
|
153
|
-
*
|
|
154
|
-
*
|
|
176
|
+
* forced `npm run build-release` (node-gyp) source compile. The forced build is
|
|
177
|
+
* what actually produces the binary when no prebuilt matches AND surfaces the
|
|
178
|
+
* real error if it can't (and `rebuildOutput` in the failed result carries IT,
|
|
179
|
+
* not the earlier misleading "rebuilt dependencies successfully").
|
|
155
180
|
*/
|
|
156
181
|
export async function ensureNativeBinding(deps = {}) {
|
|
157
182
|
const verify = deps.verify ?? verifyNativeBinding;
|
|
@@ -112,17 +112,17 @@ export class BrainWorker {
|
|
|
112
112
|
*/
|
|
113
113
|
start() {
|
|
114
114
|
if (this.isRunning) {
|
|
115
|
-
console.
|
|
115
|
+
console.error('[BrainWorker] Already running');
|
|
116
116
|
return;
|
|
117
117
|
}
|
|
118
118
|
this.isRunning = true;
|
|
119
|
-
console.
|
|
120
|
-
console.
|
|
119
|
+
console.error(`[BrainWorker] Starting background worker (profile=${this.config.profile} pid=${process.pid})`);
|
|
120
|
+
console.error(`[BrainWorker] Light tick interval: ${this.config.lightTickIntervalMs / 1000}s`);
|
|
121
121
|
if (this.config.profile === 'full') {
|
|
122
|
-
console.
|
|
122
|
+
console.error(`[BrainWorker] Medium tick interval: ${this.config.mediumTickIntervalMs / 1000}s`);
|
|
123
123
|
}
|
|
124
124
|
else {
|
|
125
|
-
console.
|
|
125
|
+
console.error('[BrainWorker] MCP profile — medium tick + cloud sync disabled');
|
|
126
126
|
}
|
|
127
127
|
// Light tick — every 5 min (full) or every 15 min (mcp)
|
|
128
128
|
this.lightTimer = setInterval(() => this.lightTick(), this.config.lightTickIntervalMs);
|
|
@@ -158,7 +158,7 @@ export class BrainWorker {
|
|
|
158
158
|
*/
|
|
159
159
|
stop() {
|
|
160
160
|
if (!this.isRunning) {
|
|
161
|
-
console.
|
|
161
|
+
console.error('[BrainWorker] Not running');
|
|
162
162
|
return;
|
|
163
163
|
}
|
|
164
164
|
this.isRunning = false;
|
|
@@ -174,7 +174,7 @@ export class BrainWorker {
|
|
|
174
174
|
clearTimeout(this.initialLightTickTimer);
|
|
175
175
|
this.initialLightTickTimer = null;
|
|
176
176
|
}
|
|
177
|
-
console.
|
|
177
|
+
console.error('[BrainWorker] Stopped');
|
|
178
178
|
}
|
|
179
179
|
/**
|
|
180
180
|
* Check if the worker is currently running
|
|
@@ -202,7 +202,7 @@ export class BrainWorker {
|
|
|
202
202
|
const stats = getMemoryStats();
|
|
203
203
|
const decision = shouldTriggerPredictiveConsolidation(stats, this.config);
|
|
204
204
|
if (decision.shouldRun) {
|
|
205
|
-
console.
|
|
205
|
+
console.error(`[BrainWorker] Predictive consolidation triggered: ${decision.reason}`);
|
|
206
206
|
result.predictiveConsolidation = consolidate();
|
|
207
207
|
this.lastConsolidation = new Date();
|
|
208
208
|
this.stats.consolidations++;
|
|
@@ -221,7 +221,7 @@ export class BrainWorker {
|
|
|
221
221
|
try {
|
|
222
222
|
const pressurePurged = purgeAuditUnderSizePressure();
|
|
223
223
|
if (pressurePurged > 0) {
|
|
224
|
-
console.
|
|
224
|
+
console.error(`[BrainWorker] Audit size-pressure valve purged ${pressurePurged} rows`);
|
|
225
225
|
}
|
|
226
226
|
const now = result.timestamp.getTime();
|
|
227
227
|
const dueForPurge = this.lastAuditPurge === null ||
|
|
@@ -230,7 +230,7 @@ export class BrainWorker {
|
|
|
230
230
|
const purged = purgeOldAuditEntries();
|
|
231
231
|
this.lastAuditPurge = result.timestamp;
|
|
232
232
|
if (purged > 0) {
|
|
233
|
-
console.
|
|
233
|
+
console.error(`[BrainWorker] Audit retention purged ${purged} entries older than 90d`);
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
}
|
|
@@ -248,7 +248,7 @@ export class BrainWorker {
|
|
|
248
248
|
try {
|
|
249
249
|
const retryResult = await processRetryQueue(this.config.profile === 'mcp' ? { maxRows: MCP_RETRY_QUEUE_BUDGET } : {});
|
|
250
250
|
if (retryResult.processed > 0) {
|
|
251
|
-
console.
|
|
251
|
+
console.error(`[BrainWorker] Sync retry queue: processed ${retryResult.processed} ` +
|
|
252
252
|
`(${retryResult.succeeded} ok, ${retryResult.failed} retry, ${retryResult.permanentlyFailed} failed)`);
|
|
253
253
|
}
|
|
254
254
|
}
|
|
@@ -284,7 +284,7 @@ export class BrainWorker {
|
|
|
284
284
|
emitWorkerLightTick(result);
|
|
285
285
|
// Log summary
|
|
286
286
|
if (result.activationsPruned > 0 || result.predictiveConsolidation) {
|
|
287
|
-
console.
|
|
287
|
+
console.error(`[BrainWorker] Light tick: pruned ${result.activationsPruned} activations` +
|
|
288
288
|
(result.predictiveConsolidation
|
|
289
289
|
? `, consolidated ${result.predictiveConsolidation.consolidated}`
|
|
290
290
|
: ''));
|
|
@@ -328,7 +328,7 @@ export class BrainWorker {
|
|
|
328
328
|
// Emit medium tick event
|
|
329
329
|
emitWorkerMediumTick(result);
|
|
330
330
|
// Log summary
|
|
331
|
-
console.
|
|
331
|
+
console.error(`[BrainWorker] Medium tick: scanned ${result.memoriesScanned} memories, ` +
|
|
332
332
|
`discovered ${result.linksDiscovered} links, ` +
|
|
333
333
|
`found ${result.contradictionsFound} contradictions`);
|
|
334
334
|
}
|
|
@@ -351,7 +351,7 @@ export class BrainWorker {
|
|
|
351
351
|
}
|
|
352
352
|
const entityCount = db.prepare('SELECT COUNT(*) as c FROM entities').get().c;
|
|
353
353
|
const tripleCount = db.prepare('SELECT COUNT(*) as c FROM triples').get().c;
|
|
354
|
-
console.
|
|
354
|
+
console.error(`[brain-worker] Graph: ${entityCount} entities, ${tripleCount} triples${orphans.length > 0 ? `, pruned ${orphans.length} orphans` : ''}`);
|
|
355
355
|
}
|
|
356
356
|
catch (e) {
|
|
357
357
|
console.error('[brain-worker] Graph maintenance failed:', e);
|
|
@@ -360,7 +360,7 @@ export class BrainWorker {
|
|
|
360
360
|
try {
|
|
361
361
|
const purged = purgeOldEntries();
|
|
362
362
|
if (purged > 0) {
|
|
363
|
-
console.
|
|
363
|
+
console.error(`[BrainWorker] Purged ${purged} old sync queue entries`);
|
|
364
364
|
}
|
|
365
365
|
}
|
|
366
366
|
catch (e) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shieldcortex",
|
|
3
|
-
"version": "4.32.
|
|
3
|
+
"version": "4.32.5",
|
|
4
4
|
"description": "Trustworthy memory and security for AI agents. Recall debugging, review queue, OpenClaw session capture, and memory poisoning defence for Claude Code, Codex, OpenClaw, LangChain, and MCP agents.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
package/scripts/postinstall.mjs
CHANGED
|
@@ -140,18 +140,21 @@ function verifyNativeModule() {
|
|
|
140
140
|
return true;
|
|
141
141
|
} catch (err) {
|
|
142
142
|
const detail = err && err.message ? err.message : String(err);
|
|
143
|
-
// Install dir = this package's root (where better-sqlite3 lives).
|
|
144
|
-
//
|
|
143
|
+
// Install dir = this package's root (where better-sqlite3 lives). The
|
|
144
|
+
// reliable manual compile is `npm run build-release` IN the better-sqlite3
|
|
145
|
+
// dir — a plain `npm rebuild` goes through prebuild-install and can silently
|
|
146
|
+
// no-op when no prebuilt matches this Node/arch.
|
|
145
147
|
const installDir = join(dirname(fileURLToPath(import.meta.url)), '..');
|
|
148
|
+
const betterSqliteDir = join(installDir, 'node_modules', 'better-sqlite3');
|
|
146
149
|
console.log('');
|
|
147
150
|
console.warn('\x1b[33m[shieldcortex] ⚠ Database engine (better-sqlite3) failed to load.\x1b[0m');
|
|
148
151
|
console.warn(`[shieldcortex] Node ${process.version} (ABI ${process.versions.modules}) has no matching`);
|
|
149
152
|
console.warn('[shieldcortex] prebuilt binary and it was not compiled locally.');
|
|
150
153
|
console.warn('[shieldcortex] Fix it (one command, self-healing):');
|
|
151
154
|
console.warn('[shieldcortex] \x1b[36mshieldcortex repair\x1b[0m');
|
|
152
|
-
console.warn('[shieldcortex] Or
|
|
153
|
-
console.warn(`[shieldcortex] cd "${
|
|
154
|
-
console.warn('[shieldcortex] (
|
|
155
|
+
console.warn('[shieldcortex] Or compile manually IN THE better-sqlite3 DIR (the cd is required):');
|
|
156
|
+
console.warn(`[shieldcortex] cd "${betterSqliteDir}" && npm run build-release`);
|
|
157
|
+
console.warn('[shieldcortex] (needs a C/C++ toolchain — e.g. python3 make g++; a plain `npm rebuild` can silently no-op)');
|
|
155
158
|
console.warn(`[shieldcortex] Underlying error: ${detail}`);
|
|
156
159
|
return false;
|
|
157
160
|
}
|
|
File without changes
|
|
File without changes
|