shieldcortex 4.28.1 → 4.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/required-server-files.json +4 -4
- 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/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/dashboard/.next/standalone/dashboard/server.js +1 -1
- package/dist/cli/doctor.d.ts +17 -0
- package/dist/cli/doctor.js +44 -0
- package/dist/cli/memory.d.ts +23 -0
- package/dist/cli/memory.js +101 -0
- package/dist/database/init.d.ts +9 -0
- package/dist/database/init.js +32 -4
- package/dist/database/migrations.js +126 -0
- package/dist/memory/consolidate.d.ts +82 -6
- package/dist/memory/consolidate.js +287 -117
- package/dist/setup/openclaw.d.ts +26 -0
- package/dist/setup/openclaw.js +61 -0
- package/dist/tools/remember.js +24 -3
- package/hooks/openclaw/cortex-memory/handler.ts +223 -171
- package/hooks/openclaw/cortex-memory/runtime.mjs +64 -0
- package/package.json +1 -1
- package/scripts/lib/dedup.mjs +99 -0
- package/scripts/lib/openclaw-extract.mjs +129 -0
- package/scripts/lib/recall-log.mjs +16 -1
- package/scripts/lib/recall-relevance.mjs +191 -0
- package/scripts/lib/salience.mjs +8 -3
- package/scripts/lib/save-memory.mjs +62 -6
- package/scripts/lib/session-context.mjs +30 -0
- package/scripts/postinstall.mjs +29 -10
- package/scripts/prompt-recall-hook.mjs +118 -15
- package/scripts/session-start-hook.mjs +17 -6
- /package/dashboard/.next/standalone/dashboard/.next/static/{N9XiRuuRX4eTtiJFa43tY → VIXwBuLiDSKn9ayKIqb6h}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{N9XiRuuRX4eTtiJFa43tY → VIXwBuLiDSKn9ayKIqb6h}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{N9XiRuuRX4eTtiJFa43tY → VIXwBuLiDSKn9ayKIqb6h}/_ssgManifest.js +0 -0
|
@@ -528,4 +528,130 @@ export function runMigrations(database) {
|
|
|
528
528
|
catch (err) {
|
|
529
529
|
logIfUnexpectedDdlError(err, 'session_events.sensitivity_level column + index');
|
|
530
530
|
}
|
|
531
|
+
// ---------------------------------------------------------------------------
|
|
532
|
+
// Migration: v4.29.0 — one-time salience-wall backfill (clamp-only).
|
|
533
|
+
//
|
|
534
|
+
// Historically ~80% of stored memories landed at salience=1.0 (the "wall"),
|
|
535
|
+
// collapsing salience as a ranking signal. That stale 1.0 data is all
|
|
536
|
+
// machine-generated (auto / legacy-migrate / plugin captures). Forward-only
|
|
537
|
+
// fixes never cleaned it, so this self-healing auto-migration clamps those
|
|
538
|
+
// rows down to a flat 0.6 on the next process startup after updating.
|
|
539
|
+
//
|
|
540
|
+
// SCOPE IS CLAMP-ONLY. We deliberately do NOT re-derive category or
|
|
541
|
+
// memory_purpose — live data proved the title-prefix heuristic is not
|
|
542
|
+
// authoritative and re-deriving corrupts already-correct labels. The ONLY
|
|
543
|
+
// mutation is lowering salience.
|
|
544
|
+
//
|
|
545
|
+
// Untouched: manual/user rows (explicit user input), pinned rows, and
|
|
546
|
+
// canonical rows. updated_at is intentionally NOT re-stamped — these rows
|
|
547
|
+
// were not user-edited, and re-stamping would trigger a fleet-wide cloud
|
|
548
|
+
// re-sync burst.
|
|
549
|
+
//
|
|
550
|
+
// Run-once guard = existence of `memories_backfill_backup` (NOT user_version,
|
|
551
|
+
// which `.dump`-based disaster recovery does not preserve; the table does).
|
|
552
|
+
// The backup table also powers the revert path (Task 5).
|
|
553
|
+
//
|
|
554
|
+
// This block owns a LOUD catch (NOT logIfUnexpectedDdlError) — a data
|
|
555
|
+
// backfill failure must be visible and retried, not swallowed as idempotent.
|
|
556
|
+
try {
|
|
557
|
+
// Clamp predicate — flat 0.6 for machine rows; manual/user/pinned/canonical
|
|
558
|
+
// untouched. COALESCE guards old fleet DBs with NULL pinned/status.
|
|
559
|
+
const CLAMP_WHERE = `
|
|
560
|
+
salience > 0.6
|
|
561
|
+
AND COALESCE(pinned, 0) = 0
|
|
562
|
+
AND COALESCE(status, 'active') != 'canonical'
|
|
563
|
+
AND capture_method IN ('auto', 'legacy-migrate', 'plugin')`;
|
|
564
|
+
// Run-once guard (outside the txn): if the box already self-healed, bail
|
|
565
|
+
// before doing any FTS or write work.
|
|
566
|
+
const alreadyDone = database.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='memories_backfill_backup'").get();
|
|
567
|
+
if (!alreadyDone) {
|
|
568
|
+
// FTS rebuild FIRST, in its own try/catch (B3). On a drifted-FTS DB the
|
|
569
|
+
// per-row memories_au trigger throws "database disk image is malformed"
|
|
570
|
+
// mid-UPDATE and aborts everything. Repairing the index up front means
|
|
571
|
+
// the trigger firings during the clamp won't throw. A rebuild failure
|
|
572
|
+
// here must NOT abort the backfill, so it is isolated.
|
|
573
|
+
try {
|
|
574
|
+
database.exec("INSERT INTO memories_fts(memories_fts) VALUES('rebuild')");
|
|
575
|
+
}
|
|
576
|
+
catch (ftsErr) {
|
|
577
|
+
const msg = ftsErr instanceof Error ? ftsErr.message : String(ftsErr);
|
|
578
|
+
console.error(`[backfill v4.29.0] FTS rebuild skipped (continuing): ${msg}`);
|
|
579
|
+
}
|
|
580
|
+
// Backup-table creation + the clamp UPDATE in a SINGLE IMMEDIATE
|
|
581
|
+
// transaction (B4). IMMEDIATE grabs the write lock at BEGIN, closing the
|
|
582
|
+
// read-gate -> write race so five concurrent runMigrations processes
|
|
583
|
+
// serialise cleanly. The guard is RE-READ inside the txn: a concurrent
|
|
584
|
+
// winner may have created the table between our outer check and the lock.
|
|
585
|
+
let clamped = 0;
|
|
586
|
+
const run = database.transaction(() => {
|
|
587
|
+
const winnerCreatedTable = database.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='memories_backfill_backup'").get();
|
|
588
|
+
if (winnerCreatedTable) {
|
|
589
|
+
return; // a concurrent winner already created the table; no-op
|
|
590
|
+
}
|
|
591
|
+
// Back up just the mutated column (clamp-only). Doubles as the run-once
|
|
592
|
+
// guard: even a zero-row match creates the (empty) table so the box
|
|
593
|
+
// never re-scans on subsequent startups.
|
|
594
|
+
database.exec(`
|
|
595
|
+
CREATE TABLE IF NOT EXISTS memories_backfill_backup AS
|
|
596
|
+
SELECT id, salience, datetime('now') AS backed_up_at
|
|
597
|
+
FROM memories
|
|
598
|
+
WHERE ${CLAMP_WHERE}
|
|
599
|
+
`);
|
|
600
|
+
const res = database.prepare(`UPDATE memories SET salience = 0.6 WHERE ${CLAMP_WHERE}`).run();
|
|
601
|
+
clamped = res.changes;
|
|
602
|
+
});
|
|
603
|
+
run.immediate();
|
|
604
|
+
// SUCCESS marker (after commit) so the fleet rollout is observable via the
|
|
605
|
+
// existing cloud audit ingest. firewall_result is constrained to
|
|
606
|
+
// ALLOW/BLOCK/QUARANTINE — this is an informational ALLOW marker.
|
|
607
|
+
// ORDERING DEPENDENCY: both markers INSERT into `defence_audit`, which is
|
|
608
|
+
// created earlier in this same function — keep the table migration ahead
|
|
609
|
+
// of this backfill block or the markers will silently no-op (caught below).
|
|
610
|
+
//
|
|
611
|
+
// GATED on clamped > 0: a run that healed nothing (fresh DB, or a box with
|
|
612
|
+
// no stale machine rows) still creates the run-once guard table, but must
|
|
613
|
+
// NOT emit a "healed" telemetry row. An unconditional marker was genuine
|
|
614
|
+
// noise AND tripped the defence-pipeline-bypass invariant (every
|
|
615
|
+
// saveAutoExtractedMemory must produce exactly one defence_audit row —
|
|
616
|
+
// a spurious migration marker made it two).
|
|
617
|
+
if (clamped > 0) {
|
|
618
|
+
try {
|
|
619
|
+
database.prepare(`
|
|
620
|
+
INSERT INTO defence_audit (
|
|
621
|
+
memory_id, project, timestamp,
|
|
622
|
+
source_type, source_identifier,
|
|
623
|
+
trust_score, sensitivity_level, firewall_result,
|
|
624
|
+
anomaly_score, threat_indicators, blocked_patterns,
|
|
625
|
+
reason, fragmentation_score, pipeline_duration_ms
|
|
626
|
+
) VALUES (NULL, NULL, ?, 'migration', 'backfill-v4.29.0', 1.0, 'INTERNAL', 'ALLOW', 0, '[]', '[]', ?, NULL, 0)
|
|
627
|
+
`).run(new Date().toISOString(), JSON.stringify({ status: 'success', clamped, version: 'v4.29.0' }));
|
|
628
|
+
}
|
|
629
|
+
catch {
|
|
630
|
+
// Older schemas may predate the audit columns. The success path itself
|
|
631
|
+
// already committed; the marker is best-effort observability only.
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
catch (err) {
|
|
637
|
+
// LOUD catch — do NOT route through logIfUnexpectedDdlError. Because the
|
|
638
|
+
// guard table is created INSIDE the rolled-back transaction, a failure here
|
|
639
|
+
// leaves NO guard, so the box cleanly retries on next startup.
|
|
640
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
641
|
+
console.error(`[backfill v4.29.0] FAILED, will retry next startup: ${msg}`);
|
|
642
|
+
try {
|
|
643
|
+
database.prepare(`
|
|
644
|
+
INSERT INTO defence_audit (
|
|
645
|
+
memory_id, project, timestamp,
|
|
646
|
+
source_type, source_identifier,
|
|
647
|
+
trust_score, sensitivity_level, firewall_result,
|
|
648
|
+
anomaly_score, threat_indicators, blocked_patterns,
|
|
649
|
+
reason, fragmentation_score, pipeline_duration_ms
|
|
650
|
+
) VALUES (NULL, NULL, ?, 'migration', 'backfill-v4.29.0', 0, 'INTERNAL', 'BLOCK', 0, '[]', '[]', ?, NULL, 0)
|
|
651
|
+
`).run(new Date().toISOString(), JSON.stringify({ status: 'failed', error: msg, version: 'v4.29.0' }));
|
|
652
|
+
}
|
|
653
|
+
catch {
|
|
654
|
+
// Best-effort marker; the stderr line above carries the signal.
|
|
655
|
+
}
|
|
656
|
+
}
|
|
531
657
|
}
|
|
@@ -27,8 +27,42 @@ export declare function findDuplicateMemoryPairs(options?: {
|
|
|
27
27
|
limit?: number;
|
|
28
28
|
}): DuplicateMemoryPair[];
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
30
|
+
* De-duplicate long-term memories found as duplicate PAIRS by
|
|
31
|
+
* findDuplicateMemoryPairs (same project|category, similar title + >0.5 content
|
|
32
|
+
* overlap). Runs every ~4h on the auto path: server.ts setInterval → fullCleanup
|
|
33
|
+
* → consolidate → deduplicateMemories.
|
|
34
|
+
*
|
|
35
|
+
* B11 (memory-quality fix): the previous implementation built
|
|
36
|
+
* `kept.content + "\n\nMerged from duplicate:\n" + uniqueSentences` and wrote it
|
|
37
|
+
* back with `UPDATE memories SET content = ?`. That was the SECOND lossy-append
|
|
38
|
+
* site (mergeSimilarMemories was the first) and kept generating ever-growing
|
|
39
|
+
* "frankenmemories" on this path even after the first site was fixed. The kept
|
|
40
|
+
* memory's `content` is now NEVER modified.
|
|
41
|
+
*
|
|
42
|
+
* New policy (identical to mergeSimilarMemories — one source of truth):
|
|
43
|
+
* - KEEP the higher-EFFECTIVE-salience member of the pair (computeEffectiveSalience
|
|
44
|
+
* via the shared salience.mjs — recency/access/pin/downvote, same ranking as
|
|
45
|
+
* recall and the downvote CLI). NOTE: this can differ from the pair's raw
|
|
46
|
+
* `recommendedKeepId`, which only considered raw salience + recency.
|
|
47
|
+
* - Dispose the loser via the shared disposeLoser: combined similarity
|
|
48
|
+
* (re-measured vs the kept row) ≥ 0.85 → DELETE; below → DOWNVOTE (reversible).
|
|
49
|
+
* - Tags are unioned onto the kept row (metadata only, non-lossy). The kept
|
|
50
|
+
* content and salience are untouched.
|
|
51
|
+
*
|
|
52
|
+
* Defence re-scan removed (B11): the old re-scan existed ONLY to validate the
|
|
53
|
+
* SYNTHESIZED concatenated merged body before persisting it (two individually-
|
|
54
|
+
* clean rows could straddle a credential pattern across the join). Now that no
|
|
55
|
+
* concatenation happens here, there is no synthesized content to scan — the kept
|
|
56
|
+
* row's bytes are written verbatim and unchanged, exactly as they already exist
|
|
57
|
+
* in `memories`. So this pass introduces no new bytes to validate. (This is a
|
|
58
|
+
* narrow claim about THIS path: it does not assume every row was scanned at write
|
|
59
|
+
* time — e.g. importMemories inserts rows with no scan — only that the dedup no
|
|
60
|
+
* longer fabricates a new body that would need scanning.) Dropping the re-scan
|
|
61
|
+
* also avoids re-auditing unchanged content on every 4h pass.
|
|
62
|
+
*
|
|
63
|
+
* Only rows clustered in THIS pass are acted on; historical merged rows are not
|
|
64
|
+
* rewritten (effective salience demotes them over time). STM→LTM promotion is
|
|
65
|
+
* handled separately by processDecay/promoteMemory in consolidate().
|
|
32
66
|
*/
|
|
33
67
|
export declare function deduplicateMemories(options?: {
|
|
34
68
|
dryRun?: boolean;
|
|
@@ -55,10 +89,32 @@ export declare function clusterAndSummarise(options?: {
|
|
|
55
89
|
*/
|
|
56
90
|
export declare function enforceMemoryLimits(config?: MemoryConfig): number;
|
|
57
91
|
/**
|
|
58
|
-
* Find
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
92
|
+
* Find clusters of similar short-term memories within each project|category,
|
|
93
|
+
* KEEP the single highest-effective-salience member, and demote the rest
|
|
94
|
+
* WITHOUT destroying or concatenating their content.
|
|
95
|
+
*
|
|
96
|
+
* B11 (memory-quality fix): the previous implementation appended every loser's
|
|
97
|
+
* body into the kept memory ("Consolidated context:" bullets) and deleted the
|
|
98
|
+
* losers. Over ~417 live rows this produced 188 ever-growing "frankenmemories"
|
|
99
|
+
* — exactly the garbled content users complained about. The kept memory's
|
|
100
|
+
* `content` is now NEVER modified.
|
|
101
|
+
*
|
|
102
|
+
* Disposition per loser (see NEAR_IDENTICAL_DELETE_THRESHOLD):
|
|
103
|
+
* - combined ≥ 0.85 → DELETE (near-identical; content already in the kept row)
|
|
104
|
+
* - combined < 0.85 → DOWNVOTE (reversible; sinks via effective salience)
|
|
105
|
+
*
|
|
106
|
+
* Why the split exists at all: NO reaping path (decay.ts shouldDelete,
|
|
107
|
+
* prune.ts, expiry.ts, enforceMemoryLimits) reads `downvote_count` or effective
|
|
108
|
+
* salience — they all order by raw `salience`. So downvote-ONLY would leave the
|
|
109
|
+
* store unbounded (the dups sink in recall but never get pruned). Deleting the
|
|
110
|
+
* near-identical losers keeps the store bounded with zero information loss; the
|
|
111
|
+
* moderate near-dups are preserved and merely demoted.
|
|
112
|
+
*
|
|
113
|
+
* Tags are unioned onto the kept row and access counts summed (metadata only,
|
|
114
|
+
* non-lossy). STM→LTM promotion is handled separately by processDecay/
|
|
115
|
+
* promoteMemory in consolidate(); this function only de-duplicates.
|
|
116
|
+
*
|
|
117
|
+
* Returns the count of deleted (near-identical) losers.
|
|
62
118
|
*/
|
|
63
119
|
export declare function mergeSimilarMemories(project?: string, similarityThreshold?: number): number;
|
|
64
120
|
/**
|
|
@@ -144,5 +200,25 @@ export interface DreamModeResult {
|
|
|
144
200
|
* 1. Find near-duplicates by embedding similarity >0.9, merge them
|
|
145
201
|
* 2. Flag memories >30 days old with no access as archival candidates
|
|
146
202
|
* 3. Detect and flag contradictions
|
|
203
|
+
*
|
|
204
|
+
* DISPOSAL POLICY — deliberately DIVERGES from the auto path:
|
|
205
|
+
* This is the EXPLICIT, user-invoked `shieldcortex consolidate` command (and the
|
|
206
|
+
* public `consolidateMemories` export). Because the user has actively asked for a
|
|
207
|
+
* consolidation, aggressive cleanup is the intended behaviour: the loser of every
|
|
208
|
+
* duplicate pair is HARD-DELETED. This is on purpose and must NOT be replaced with
|
|
209
|
+
* the gentle `disposeLoser` policy.
|
|
210
|
+
*
|
|
211
|
+
* Contrast with the 4-hourly AUTO path (deduplicateMemories / mergeSimilarMemories),
|
|
212
|
+
* which runs UNATTENDED and therefore uses the conservative `disposeLoser`: it only
|
|
213
|
+
* deletes near-identical losers (combined ≥ 0.85, content already contained in the
|
|
214
|
+
* kept row) and merely DOWNVOTES (reversible) the moderate near-dups. That caution
|
|
215
|
+
* is right for an unsupervised background job, but wrong for a deliberate manual
|
|
216
|
+
* cleanup the user explicitly triggered.
|
|
217
|
+
*
|
|
218
|
+
* The two paths DO share keep-selection: both pick the kept row by EFFECTIVE
|
|
219
|
+
* salience (effectiveSalienceOfRow — recency/access/pin/downvote), so the row that
|
|
220
|
+
* survives is consistent across all three dedup sites. Effective salience also
|
|
221
|
+
* discriminates where the pair's raw `recommendedKeepId` (raw salience + recency)
|
|
222
|
+
* ties at 1.0.
|
|
147
223
|
*/
|
|
148
224
|
export declare function consolidateMemories(): DreamModeResult;
|