shieldcortex 4.10.7 ā 4.11.1
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/prerender-manifest.json +3 -3
- 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 +1 -1
- 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/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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.json +1 -1
- package/dist/cloud/cli.js +15 -1
- package/dist/cloud/config.d.ts +9 -1
- package/dist/cloud/config.js +37 -2
- package/dist/index.js +34 -0
- package/dist/setup/claude-md.js +72 -22
- package/hooks/openclaw/cortex-memory/handler.ts +1 -1
- package/package.json +1 -1
- package/plugins/openclaw/dist/interceptor.js +8 -3
- package/plugins/openclaw/dist/openclaw.plugin.json +4 -4
- package/scripts/pre-compact-hook.mjs +23 -39
- package/scripts/prompt-recall-hook.mjs +1 -1
- package/scripts/session-start-hook.mjs +8 -2
- /package/dashboard/.next/standalone/dashboard/.next/static/{IwpBGnbmCXX3ppNfhE2Ih ā Z4iHJ2EI_hUaAO4mHtKgU}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{IwpBGnbmCXX3ppNfhE2Ih ā Z4iHJ2EI_hUaAO4mHtKgU}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{IwpBGnbmCXX3ppNfhE2Ih ā Z4iHJ2EI_hUaAO4mHtKgU}/_ssgManifest.js +0 -0
package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
:HL["/_next/static/chunks/915d5a8cf2d0807e.css","style"]
|
|
2
2
|
:HL["/_next/static/media/797e433ab948586e-s.p.dbea232f.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
3
3
|
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
4
|
-
0:{"buildId":"
|
|
4
|
+
0:{"buildId":"Z4iHJ2EI_hUaAO4mHtKgU","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"(dashboard)","paramType":null,"paramKey":"(dashboard)","hasRuntimePrefetch":false,"slots":{"children":{"name":"xray","paramType":null,"paramKey":"xray","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--Z4iHJ2EI_hUaAO4mHtKgU--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/915d5a8cf2d0807e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/d878b929b21636c4.js"/><script src="/_next/static/chunks/d9ad4c35fc865415.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-79214717b23f7452.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 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/915d5a8cf2d0807e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"Z4iHJ2EI_hUaAO4mHtKgU\",\"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/915d5a8cf2d0807e.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\",\"children\":[\"$\",\"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: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: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: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: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><!--Z4iHJ2EI_hUaAO4mHtKgU--><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/d9ad4c35fc865415.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-79214717b23f7452.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\":\"Z4iHJ2EI_hUaAO4mHtKgU\",\"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>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"ho1yOzUZA9sKRAJnXibo67Gjrl5HT3Ae3B82cVy4nHA=\"\n}"
|
package/dist/cloud/cli.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getCloudConfig, setCloudConfig, getDefenceMode, setDefenceMode, getVerifyConfig, setVerifyConfig, getOpenClawAutoMemory, setOpenClawAutoMemory, isProactiveRecallEnabled, setProactiveRecall, } from './config.js';
|
|
1
|
+
import { getCloudConfig, setCloudConfig, getDefenceMode, setDefenceMode, getVerifyConfig, setVerifyConfig, getOpenClawAutoMemory, setOpenClawAutoMemory, isProactiveRecallEnabled, setProactiveRecall, restore410Defaults, } from './config.js';
|
|
2
2
|
import { syncAllGraphToCloud } from './graph-sync.js';
|
|
3
3
|
import { syncAllMemoriesToCloud } from './memory-sync.js';
|
|
4
4
|
import { isFeatureEnabled } from '../license/gate.js';
|
|
@@ -115,6 +115,19 @@ export function handleCloudConfig(args) {
|
|
|
115
115
|
console.log(`OpenClaw auto-memory ${enabled ? 'enabled' : 'disabled'}.`);
|
|
116
116
|
changed = true;
|
|
117
117
|
}
|
|
118
|
+
if (args.includes('--restore-4.10-defaults')) {
|
|
119
|
+
restore410Defaults();
|
|
120
|
+
console.log('Restored v4.10.x defaults:');
|
|
121
|
+
console.log(' proactiveRecall: true');
|
|
122
|
+
console.log(' interceptor.severityActions.high: require_approval');
|
|
123
|
+
console.log(' interceptor.severityActions.critical: require_approval');
|
|
124
|
+
console.log(' sessionStart.preamble: minimal');
|
|
125
|
+
console.log('');
|
|
126
|
+
console.log('Note: the v4.11.0 MAX_CONTEXT_MEMORIES reduction (15 ā 5) is a');
|
|
127
|
+
console.log('constant and cannot be reverted via config. Pin shieldcortex@4.10.7');
|
|
128
|
+
console.log('if you need that behaviour.');
|
|
129
|
+
changed = true;
|
|
130
|
+
}
|
|
118
131
|
const proactiveRecallIdx = args.indexOf('--proactive-recall');
|
|
119
132
|
if (proactiveRecallIdx !== -1) {
|
|
120
133
|
const value = args[proactiveRecallIdx + 1];
|
|
@@ -144,6 +157,7 @@ export function handleCloudConfig(args) {
|
|
|
144
157
|
console.log(' --cloud-status Show current configuration');
|
|
145
158
|
console.log(' --openclaw-auto-memory <true|false> Enable or disable OpenClaw auto-memory extraction');
|
|
146
159
|
console.log(' --proactive-recall <true|false> Enable or disable proactive memory recall on prompts');
|
|
160
|
+
console.log(' --restore-4.10-defaults Restore pre-v4.11.0 defaults (recall on, strict interceptor, minimal preamble)');
|
|
147
161
|
console.log('');
|
|
148
162
|
console.log('LLM Verification:');
|
|
149
163
|
console.log(' --verify-enable Enable LLM verification (requires cloud + verify scope)');
|
package/dist/cloud/config.d.ts
CHANGED
|
@@ -84,13 +84,21 @@ export declare function getOpenClawAutoMemory(): boolean;
|
|
|
84
84
|
export declare function setOpenClawAutoMemory(enabled: boolean): void;
|
|
85
85
|
/**
|
|
86
86
|
* Returns whether proactive memory recall is enabled on prompt submit.
|
|
87
|
-
* Default is
|
|
87
|
+
* Default is false since v4.11.0 ā opt-in with --proactive-recall true.
|
|
88
|
+
* Per-turn recall was found to be net-negative for fast agent loops; kept
|
|
89
|
+
* available for interactive sessions that want it.
|
|
88
90
|
*/
|
|
89
91
|
export declare function isProactiveRecallEnabled(): boolean;
|
|
90
92
|
/**
|
|
91
93
|
* Persists proactive recall preference to ~/.shieldcortex/config.json.
|
|
92
94
|
*/
|
|
93
95
|
export declare function setProactiveRecall(enabled: boolean): void;
|
|
96
|
+
/**
|
|
97
|
+
* Restores the v4.10.x defaults for users who preferred the old behaviour.
|
|
98
|
+
* Writes explicit overrides for every default the v4.11.0 release flipped,
|
|
99
|
+
* so the flip is a one-command undo.
|
|
100
|
+
*/
|
|
101
|
+
export declare function restore410Defaults(): void;
|
|
94
102
|
export interface ToolResponseScanConfig {
|
|
95
103
|
scanToolResponses: boolean;
|
|
96
104
|
toolResponseMode: 'advisory' | 'enforce';
|
package/dist/cloud/config.js
CHANGED
|
@@ -365,11 +365,13 @@ export function setOpenClawAutoMemory(enabled) {
|
|
|
365
365
|
// āā Proactive Recall āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
366
366
|
/**
|
|
367
367
|
* Returns whether proactive memory recall is enabled on prompt submit.
|
|
368
|
-
* Default is
|
|
368
|
+
* Default is false since v4.11.0 ā opt-in with --proactive-recall true.
|
|
369
|
+
* Per-turn recall was found to be net-negative for fast agent loops; kept
|
|
370
|
+
* available for interactive sessions that want it.
|
|
369
371
|
*/
|
|
370
372
|
export function isProactiveRecallEnabled() {
|
|
371
373
|
const raw = readRawConfig();
|
|
372
|
-
return raw.proactiveRecall
|
|
374
|
+
return raw.proactiveRecall === true;
|
|
373
375
|
}
|
|
374
376
|
/**
|
|
375
377
|
* Persists proactive recall preference to ~/.shieldcortex/config.json.
|
|
@@ -379,6 +381,39 @@ export function setProactiveRecall(enabled) {
|
|
|
379
381
|
raw.proactiveRecall = enabled;
|
|
380
382
|
writeRawConfig(raw);
|
|
381
383
|
}
|
|
384
|
+
/**
|
|
385
|
+
* Restores the v4.10.x defaults for users who preferred the old behaviour.
|
|
386
|
+
* Writes explicit overrides for every default the v4.11.0 release flipped,
|
|
387
|
+
* so the flip is a one-command undo.
|
|
388
|
+
*/
|
|
389
|
+
export function restore410Defaults() {
|
|
390
|
+
const raw = readRawConfig();
|
|
391
|
+
raw.proactiveRecall = true;
|
|
392
|
+
const existingInterceptor = (raw.interceptor && typeof raw.interceptor === 'object')
|
|
393
|
+
? raw.interceptor
|
|
394
|
+
: {};
|
|
395
|
+
const existingSeverity = (existingInterceptor.severityActions && typeof existingInterceptor.severityActions === 'object')
|
|
396
|
+
? existingInterceptor.severityActions
|
|
397
|
+
: {};
|
|
398
|
+
raw.interceptor = {
|
|
399
|
+
...existingInterceptor,
|
|
400
|
+
severityActions: {
|
|
401
|
+
...existingSeverity,
|
|
402
|
+
low: 'log',
|
|
403
|
+
medium: 'warn',
|
|
404
|
+
high: 'require_approval',
|
|
405
|
+
critical: 'require_approval',
|
|
406
|
+
},
|
|
407
|
+
};
|
|
408
|
+
const existingSessionStart = (raw.sessionStart && typeof raw.sessionStart === 'object')
|
|
409
|
+
? raw.sessionStart
|
|
410
|
+
: {};
|
|
411
|
+
raw.sessionStart = {
|
|
412
|
+
...existingSessionStart,
|
|
413
|
+
preamble: 'minimal',
|
|
414
|
+
};
|
|
415
|
+
writeRawConfig(raw);
|
|
416
|
+
}
|
|
382
417
|
const DEFAULT_TOOL_RESPONSE_SCAN_CONFIG = {
|
|
383
418
|
scanToolResponses: true,
|
|
384
419
|
toolResponseMode: 'advisory',
|
package/dist/index.js
CHANGED
|
@@ -672,6 +672,40 @@ ${bold}DOCS${reset}
|
|
|
672
672
|
if (mainUpdated) {
|
|
673
673
|
console.log('Restart Claude Code / OpenClaw gateway to use the new version.');
|
|
674
674
|
}
|
|
675
|
+
// One-time notice for users crossing the v4.11.0 default-changes boundary.
|
|
676
|
+
// `currentVersion` was captured pre-update, so any main-updated run that
|
|
677
|
+
// came from <4.11.0 has the migration message shown once.
|
|
678
|
+
try {
|
|
679
|
+
const crossed4_11 = mainUpdated && /^\d+\.\d+\.\d+/.test(currentVersion) && (() => {
|
|
680
|
+
const [maj, min] = currentVersion.split('.').map(Number);
|
|
681
|
+
return maj < 4 || (maj === 4 && min < 11);
|
|
682
|
+
})();
|
|
683
|
+
if (crossed4_11) {
|
|
684
|
+
console.log('');
|
|
685
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
686
|
+
console.log(' ShieldCortex v4.11.0 ā default behaviour changes');
|
|
687
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
688
|
+
console.log('');
|
|
689
|
+
console.log(' ⢠Proactive recall on prompt submit is now OFF by default.');
|
|
690
|
+
console.log(' ⢠Tool-call interceptor no longer blocks critical/high');
|
|
691
|
+
console.log(' severity writes with an approval prompt (defence still');
|
|
692
|
+
console.log(' denies on failurePolicy).');
|
|
693
|
+
console.log(' ⢠SessionStart preamble instruction block is now OFF.');
|
|
694
|
+
console.log(' ⢠SessionStart memory cap reduced 15 ā 5.');
|
|
695
|
+
console.log(' ⢠PreCompact thresholds raised; auto-memories cap 5 ā 2.');
|
|
696
|
+
console.log('');
|
|
697
|
+
console.log(' Why: fleet evidence showed per-turn memory-injection tax');
|
|
698
|
+
console.log(' was net-negative on fast agent loops. The defence pipeline');
|
|
699
|
+
console.log(' stays on; only the memory-injection side is now opt-in.');
|
|
700
|
+
console.log('');
|
|
701
|
+
console.log(' To restore pre-v4.11.0 behaviour:');
|
|
702
|
+
console.log(' shieldcortex config --restore-4.10-defaults');
|
|
703
|
+
console.log('');
|
|
704
|
+
console.log(' See CHANGELOG: https://github.com/Drakon-Systems-Ltd/ShieldCortex/blob/main/CHANGELOG.md');
|
|
705
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
catch { /* notice is best-effort */ }
|
|
675
709
|
return;
|
|
676
710
|
}
|
|
677
711
|
// Handle "graph" subcommand
|
package/dist/setup/claude-md.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import fs from 'fs';
|
|
12
12
|
import path from 'path';
|
|
13
13
|
import os from 'os';
|
|
14
|
+
import { execSync } from 'child_process';
|
|
14
15
|
import { installOpenClawHook, findAllHooksDirs } from './openclaw.js';
|
|
15
16
|
import { setupHooks } from './settings-hooks.js';
|
|
16
17
|
const MARKER = '# ShieldCortex ā Memory System';
|
|
@@ -78,45 +79,94 @@ function setupClaudeCode() {
|
|
|
78
79
|
console.log('ā Claude Code: added memory instructions to ~/.claude/CLAUDE.md');
|
|
79
80
|
}
|
|
80
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Resolve the best shieldcortex command for the MCP stdio registration.
|
|
84
|
+
*
|
|
85
|
+
* Prefers an installed global binary over `npx -y shieldcortex`. Reason:
|
|
86
|
+
* Claude Code / OpenClaw hash the effective MCP config to decide whether
|
|
87
|
+
* to reset the active CLI session. `npx -y` resolves dynamically on every
|
|
88
|
+
* invocation ā when the npm cache shifts (version drift, fresh publish,
|
|
89
|
+
* cache miss), the resolved command changes, the hash changes, and the
|
|
90
|
+
* active CLI session is silently reset. Every reset wipes conversation
|
|
91
|
+
* context mid-flight. On TARS (v4.10.x install on Oracle ARM) this fired
|
|
92
|
+
* every ~30 minutes and surfaced as the fleet "Fresh session, no prior
|
|
93
|
+
* context" bug on 2026-04-22.
|
|
94
|
+
*
|
|
95
|
+
* If no global binary exists (single-shot `npx shieldcortex setup`),
|
|
96
|
+
* falls back to `npx -y shieldcortex` ā which still works, just trades
|
|
97
|
+
* stability for availability in ephemeral installs.
|
|
98
|
+
*/
|
|
99
|
+
function resolveMcpCommand() {
|
|
100
|
+
try {
|
|
101
|
+
const whichCmd = process.platform === 'win32' ? 'where' : 'which';
|
|
102
|
+
const resolved = execSync(`${whichCmd} shieldcortex`, {
|
|
103
|
+
encoding: 'utf-8',
|
|
104
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
105
|
+
}).trim().split('\n')[0];
|
|
106
|
+
if (resolved && fs.existsSync(resolved)) {
|
|
107
|
+
return { command: resolved, args: [] };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// No global install on PATH.
|
|
112
|
+
}
|
|
113
|
+
return { command: 'npx', args: ['-y', 'shieldcortex'] };
|
|
114
|
+
}
|
|
115
|
+
function isIdealMcpEntry(entry, ideal) {
|
|
116
|
+
if (!entry || typeof entry !== 'object')
|
|
117
|
+
return false;
|
|
118
|
+
const e = entry;
|
|
119
|
+
if (e.command !== ideal.command)
|
|
120
|
+
return false;
|
|
121
|
+
if (!Array.isArray(e.args) || e.args.length !== ideal.args.length)
|
|
122
|
+
return false;
|
|
123
|
+
return e.args.every((v, i) => v === ideal.args[i]);
|
|
124
|
+
}
|
|
81
125
|
function setupGlobalMcp() {
|
|
82
126
|
// Claude Code reads user-scope MCP servers from ~/.claude.json
|
|
83
127
|
const mcpPath = path.join(os.homedir(), '.claude.json');
|
|
84
|
-
|
|
128
|
+
const ideal = resolveMcpCommand();
|
|
129
|
+
const idealEntry = {
|
|
130
|
+
type: 'stdio',
|
|
131
|
+
command: ideal.command,
|
|
132
|
+
args: ideal.args,
|
|
133
|
+
};
|
|
134
|
+
const isStablePath = ideal.command !== 'npx';
|
|
85
135
|
if (fs.existsSync(mcpPath)) {
|
|
86
136
|
try {
|
|
87
137
|
const existing = JSON.parse(fs.readFileSync(mcpPath, 'utf-8'));
|
|
88
138
|
const servers = existing.mcpServers || {};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
console.log(
|
|
139
|
+
const current = servers.memory;
|
|
140
|
+
if (isIdealMcpEntry(current, idealEntry)) {
|
|
141
|
+
console.log(`ā MCP: global server already configured in ~/.claude.json (stable binary: ${isStablePath ? ideal.command : 'npx'})`);
|
|
92
142
|
return;
|
|
93
143
|
}
|
|
94
|
-
//
|
|
144
|
+
// Detect whether this is a fresh add or an upgrade from the old
|
|
145
|
+
// `npx -y shieldcortex` form so we log the right message.
|
|
146
|
+
const currentIsShieldCortex = !!current && (current.command?.includes?.('shieldcortex') ||
|
|
147
|
+
current.args?.some?.((a) => typeof a === 'string' && a.includes('shieldcortex')));
|
|
95
148
|
existing.mcpServers = servers;
|
|
96
|
-
existing.mcpServers.memory =
|
|
97
|
-
type: 'stdio',
|
|
98
|
-
command: 'npx',
|
|
99
|
-
args: ['-y', 'shieldcortex'],
|
|
100
|
-
};
|
|
149
|
+
existing.mcpServers.memory = idealEntry;
|
|
101
150
|
fs.writeFileSync(mcpPath, JSON.stringify(existing, null, 2) + '\n', 'utf-8');
|
|
102
|
-
|
|
151
|
+
if (currentIsShieldCortex && isStablePath) {
|
|
152
|
+
console.log(`ā MCP: upgraded shieldcortex server to stable binary path (${ideal.command})`);
|
|
153
|
+
console.log(' Reason: `npx -y` resolution drift was causing periodic CLI session resets.');
|
|
154
|
+
}
|
|
155
|
+
else if (currentIsShieldCortex) {
|
|
156
|
+
console.log('ā MCP: refreshed shieldcortex server registration');
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
console.log(`ā MCP: added shieldcortex server to ~/.claude.json (${ideal.command})`);
|
|
160
|
+
}
|
|
103
161
|
return;
|
|
104
162
|
}
|
|
105
163
|
catch {
|
|
106
|
-
// Parse error ā create fresh
|
|
164
|
+
// Parse error ā fall through and create fresh below.
|
|
107
165
|
}
|
|
108
166
|
}
|
|
109
|
-
const config = {
|
|
110
|
-
mcpServers: {
|
|
111
|
-
memory: {
|
|
112
|
-
type: 'stdio',
|
|
113
|
-
command: 'npx',
|
|
114
|
-
args: ['-y', 'shieldcortex'],
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
};
|
|
167
|
+
const config = { mcpServers: { memory: idealEntry } };
|
|
118
168
|
fs.writeFileSync(mcpPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
119
|
-
console.log(
|
|
169
|
+
console.log(`ā MCP: created global server config at ~/.claude.json (${ideal.command})`);
|
|
120
170
|
}
|
|
121
171
|
export async function setupClaudeMd(options) {
|
|
122
172
|
console.log('Setting up ShieldCortex...\n');
|
|
@@ -26,7 +26,7 @@ async function isOpenClawAutoMemoryEnabled() {
|
|
|
26
26
|
|
|
27
27
|
async function isProactiveRecallEnabled() {
|
|
28
28
|
const config = await loadShieldConfig();
|
|
29
|
-
return config?.proactiveRecall
|
|
29
|
+
return config?.proactiveRecall === true; // Default: false since v4.11.0 (opt-in)
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
// ==================== NOVELTY / DEDUPE GATE ====================
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shieldcortex",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.11.1",
|
|
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",
|
|
@@ -7,13 +7,18 @@ const CONTENT_FIELDS = {
|
|
|
7
7
|
remember: ['content', 'title'],
|
|
8
8
|
mcp__memory__remember: ['content', 'title'],
|
|
9
9
|
};
|
|
10
|
+
// Defaults relaxed in v4.11.0: critical/high no longer block the tool call with
|
|
11
|
+
// a synchronous approval prompt. The defence pipeline still runs and
|
|
12
|
+
// `failurePolicy` still denies on critical/high, so the block is preserved ā
|
|
13
|
+
// what changes is the user-facing approval gate. Opt back in with
|
|
14
|
+
// `severityActions: { high: 'require_approval', critical: 'require_approval' }`.
|
|
10
15
|
const DEFAULT_CONFIG = {
|
|
11
16
|
enabled: true,
|
|
12
17
|
severityActions: {
|
|
13
18
|
low: 'log',
|
|
14
|
-
medium: '
|
|
15
|
-
high: '
|
|
16
|
-
critical: '
|
|
19
|
+
medium: 'log',
|
|
20
|
+
high: 'warn',
|
|
21
|
+
critical: 'log',
|
|
17
22
|
},
|
|
18
23
|
failurePolicy: {
|
|
19
24
|
low: 'allow',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "shieldcortex-realtime",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.11.1",
|
|
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,
|
|
@@ -108,9 +108,9 @@
|
|
|
108
108
|
"additionalProperties": false,
|
|
109
109
|
"properties": {
|
|
110
110
|
"low": { "type": "string", "enum": ["log", "warn", "require_approval"], "default": "log" },
|
|
111
|
-
"medium": { "type": "string", "enum": ["log", "warn", "require_approval"], "default": "
|
|
112
|
-
"high": { "type": "string", "enum": ["log", "warn", "require_approval"], "default": "
|
|
113
|
-
"critical": { "type": "string", "enum": ["log", "warn", "require_approval"], "default": "
|
|
111
|
+
"medium": { "type": "string", "enum": ["log", "warn", "require_approval"], "default": "log" },
|
|
112
|
+
"high": { "type": "string", "enum": ["log", "warn", "require_approval"], "default": "warn" },
|
|
113
|
+
"critical": { "type": "string", "enum": ["log", "warn", "require_approval"], "default": "log" }
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
"failurePolicy": {
|
|
@@ -40,19 +40,21 @@ const MAX_LONG_TERM_MEMORIES = 1000;
|
|
|
40
40
|
// Lowered from 0.45 to capture more content
|
|
41
41
|
const BASE_THRESHOLD = 0.35;
|
|
42
42
|
|
|
43
|
-
// Category-specific extraction thresholds (lower = easier to extract)
|
|
44
|
-
//
|
|
43
|
+
// Category-specific extraction thresholds (lower = easier to extract).
|
|
44
|
+
// Raised +0.1 across the board in v4.11.0 after fleet evidence showed the
|
|
45
|
+
// previous permissive thresholds produced ~5% signal and flooded recall with
|
|
46
|
+
// noise. Prefer missing a marginal memory to saving a noisy one.
|
|
45
47
|
const CATEGORY_EXTRACTION_THRESHOLDS = {
|
|
46
|
-
architecture: 0.
|
|
47
|
-
error: 0.
|
|
48
|
-
context: 0.
|
|
49
|
-
learning: 0.
|
|
50
|
-
pattern: 0.
|
|
51
|
-
preference: 0.
|
|
52
|
-
note: 0.
|
|
53
|
-
todo: 0.
|
|
54
|
-
relationship: 0.
|
|
55
|
-
custom: 0.
|
|
48
|
+
architecture: 0.38,
|
|
49
|
+
error: 0.40,
|
|
50
|
+
context: 0.42,
|
|
51
|
+
learning: 0.42,
|
|
52
|
+
pattern: 0.45,
|
|
53
|
+
preference: 0.48,
|
|
54
|
+
note: 0.52,
|
|
55
|
+
todo: 0.50,
|
|
56
|
+
relationship: 0.45,
|
|
57
|
+
custom: 0.45,
|
|
56
58
|
};
|
|
57
59
|
|
|
58
60
|
// ==================== PROJECT DETECTION (Mirrors src/context/project-context.ts) ====================
|
|
@@ -88,8 +90,9 @@ function extractProjectFromPath(path) {
|
|
|
88
90
|
return null;
|
|
89
91
|
}
|
|
90
92
|
|
|
91
|
-
// Maximum memories to auto-create per compaction
|
|
92
|
-
|
|
93
|
+
// Maximum memories to auto-create per compaction.
|
|
94
|
+
// Dropped 5 ā 2 in v4.11.0 for the same reason thresholds were raised.
|
|
95
|
+
const MAX_AUTO_MEMORIES = 2;
|
|
93
96
|
|
|
94
97
|
// ==================== DYNAMIC THRESHOLD CALCULATION ====================
|
|
95
98
|
|
|
@@ -738,33 +741,14 @@ function extractConversationText(hookData) {
|
|
|
738
741
|
|
|
739
742
|
/**
|
|
740
743
|
* Output reminder message to stdout.
|
|
741
|
-
*
|
|
742
|
-
*
|
|
744
|
+
* v4.11.0: preamble instructions removed. The memories themselves are the
|
|
745
|
+
* signal; repeating "use remember proactively" every compaction just eats
|
|
746
|
+
* context. The one-line status note is kept for human visibility when the
|
|
747
|
+
* hook runs interactively.
|
|
743
748
|
*/
|
|
744
749
|
function outputReminder(autoExtractedCount, dynamicThreshold) {
|
|
745
750
|
if (autoExtractedCount > 0) {
|
|
746
|
-
console.log(`\nš§ AUTO-MEMORY: ${autoExtractedCount}
|
|
747
|
-
} else {
|
|
748
|
-
const thresholdNote = dynamicThreshold > 0.5
|
|
749
|
-
? ' (Memory near capacity - being selective)'
|
|
750
|
-
: '';
|
|
751
|
-
console.log(`\nš§ PRE-COMPACT: No auto-extractable content found with high enough salience${thresholdNote}.
|
|
752
|
-
If there's something important, use 'remember' to save it explicitly.`);
|
|
751
|
+
console.log(`\nš§ AUTO-MEMORY: ${autoExtractedCount} item(s) saved before compaction.`);
|
|
753
752
|
}
|
|
754
|
-
|
|
755
|
-
// Proactive memory instructions
|
|
756
|
-
console.log(`
|
|
757
|
-
## IMPORTANT: Proactive Memory Use
|
|
758
|
-
|
|
759
|
-
You have access to a persistent memory system. Use it proactively:
|
|
760
|
-
|
|
761
|
-
**ALWAYS use \`remember\` immediately when:**
|
|
762
|
-
- Making architecture/design decisions
|
|
763
|
-
- Fixing bugs (capture the root cause and solution)
|
|
764
|
-
- Learning something new about the codebase
|
|
765
|
-
- User states a preference
|
|
766
|
-
- Completing significant features
|
|
767
|
-
|
|
768
|
-
**Don't wait** - call \`remember\` right after the event, not at the end of the session.
|
|
769
|
-
`);
|
|
753
|
+
// No stdout when nothing was extracted ā silence is cheaper than chatter.
|
|
770
754
|
}
|
|
@@ -39,7 +39,10 @@ function getDbPath() {
|
|
|
39
39
|
|
|
40
40
|
const { path: DB_PATH } = getDbPath();
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
// Reduced 15 ā 5 in v4.11.0. Each memory is 100ā400 tokens; 15 of them was
|
|
43
|
+
// 500ā2000 tokens of boot-time context pollution. Five high-salience items
|
|
44
|
+
// is enough to jog a returning session without eating the window.
|
|
45
|
+
const MAX_CONTEXT_MEMORIES = 5;
|
|
43
46
|
const MIN_SALIENCE_THRESHOLD = 0.3;
|
|
44
47
|
|
|
45
48
|
// Sources Claude Code passes on SessionStart. Only 'startup' should trigger
|
|
@@ -213,7 +216,10 @@ process.stdin.on('end', () => {
|
|
|
213
216
|
}
|
|
214
217
|
|
|
215
218
|
const config = loadConfig();
|
|
216
|
-
|
|
219
|
+
// v4.11.0: default preamble off. The memory list is the signal ā prescriptive
|
|
220
|
+
// "use remember proactively" text is drumbeat noise. Opt in via
|
|
221
|
+
// config.sessionStart.preamble = 'minimal' | 'full'.
|
|
222
|
+
const preambleMode = config.sessionStart?.preamble ?? 'off';
|
|
217
223
|
const preamble = preambleFor(preambleMode);
|
|
218
224
|
|
|
219
225
|
let memories = [];
|
|
File without changes
|
|
File without changes
|