shieldcortex 4.24.2 → 4.25.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/server/app/_global-error.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
- package/dist/cli/inspect.d.ts +12 -0
- package/dist/cli/inspect.js +137 -0
- package/dist/cli/memory.d.ts +16 -0
- package/dist/cli/memory.js +228 -0
- package/dist/database/init.js +17 -1
- package/dist/database/schema.sql +2 -0
- package/dist/index.js +14 -0
- package/package.json +1 -1
- package/plugins/openclaw/dist/openclaw.plugin.json +1 -1
- package/scripts/lib/extract-memorable-segments.mjs +139 -47
- package/scripts/lib/precompact-log.mjs +142 -0
- package/scripts/lib/recall-rank.mjs +29 -12
- package/scripts/lib/salience.mjs +83 -0
- package/scripts/lib/save-memory.mjs +17 -5
- package/scripts/pre-compact-hook.mjs +32 -0
- package/scripts/prompt-recall-hook.mjs +93 -5
- /package/dashboard/.next/standalone/dashboard/.next/static/{_aYycB3qp_UNTlAYX3vd2 → 7iaOcy1kc6vGZ8eXyOttR}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{_aYycB3qp_UNTlAYX3vd2 → 7iaOcy1kc6vGZ8eXyOttR}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{_aYycB3qp_UNTlAYX3vd2 → 7iaOcy1kc6vGZ8eXyOttR}/_ssgManifest.js +0 -0
|
@@ -22,6 +22,7 @@ import { getAutoMemoryConfig } from './lib/auto-memory-config.mjs';
|
|
|
22
22
|
import { recordHookInvocation } from './lib/telemetry.mjs';
|
|
23
23
|
import { deriveProjectKey } from './lib/project-key.mjs';
|
|
24
24
|
import { recordSessionEvent } from './lib/session-capture.mjs';
|
|
25
|
+
import { writePrecompactLog } from './lib/precompact-log.mjs';
|
|
25
26
|
import {
|
|
26
27
|
extractMemorableSegments,
|
|
27
28
|
processSegments,
|
|
@@ -183,9 +184,12 @@ process.stdin.on('end', async () => {
|
|
|
183
184
|
console.error(`[auto-extract] Dynamic threshold: ${dynamicThreshold.toFixed(2)}`);
|
|
184
185
|
|
|
185
186
|
// Only attempt extraction if we have conversation content
|
|
187
|
+
let precompactCandidates = [];
|
|
188
|
+
let rawSegmentCount = 0;
|
|
186
189
|
if (conversationText && conversationText.length > 100) {
|
|
187
190
|
// Extract memorable segments
|
|
188
191
|
const segments = extractMemorableSegments(conversationText);
|
|
192
|
+
rawSegmentCount = segments.length;
|
|
189
193
|
const processedSegments = processSegments(segments, dynamicThreshold, {
|
|
190
194
|
maxMemories: MAX_AUTO_MEMORIES,
|
|
191
195
|
categoryThresholds: PRE_COMPACT_CATEGORY_THRESHOLDS,
|
|
@@ -194,19 +198,47 @@ process.stdin.on('end', async () => {
|
|
|
194
198
|
|
|
195
199
|
// Save auto-extracted memories
|
|
196
200
|
for (const memory of processedSegments) {
|
|
201
|
+
// v4.25.0: collect candidate metadata for the precompact ring buffer.
|
|
202
|
+
// Operators read this via `shieldcortex inspect last-precompact`
|
|
203
|
+
// when diagnosing why extraction did/didn't pick a particular line.
|
|
204
|
+
const candidate = {
|
|
205
|
+
extractorType: memory.extractorType,
|
|
206
|
+
category: memory.category,
|
|
207
|
+
memoryPurpose: memory.memoryPurpose,
|
|
208
|
+
title: memory.title,
|
|
209
|
+
salience: memory.salience,
|
|
210
|
+
frequencyBoost: memory.frequencyBoost ?? 0,
|
|
211
|
+
saved: false,
|
|
212
|
+
error: null,
|
|
213
|
+
};
|
|
197
214
|
try {
|
|
198
215
|
await saveMemory(db, memory, project);
|
|
199
216
|
autoExtractedCount++;
|
|
217
|
+
candidate.saved = true;
|
|
200
218
|
const boostInfo = memory.frequencyBoost > 0 ? ` +${memory.frequencyBoost.toFixed(2)} boost` : '';
|
|
201
219
|
console.error(`[auto-extract] Saved: ${memory.title} (salience: ${memory.salience.toFixed(2)}${boostInfo}, category: ${memory.category})`);
|
|
202
220
|
} catch (err) {
|
|
221
|
+
candidate.error = err.message;
|
|
203
222
|
console.error(`[auto-extract] Failed to save "${memory.title}": ${err.message}`);
|
|
204
223
|
}
|
|
224
|
+
precompactCandidates.push(candidate);
|
|
205
225
|
}
|
|
206
226
|
} else {
|
|
207
227
|
notes = 'no-content';
|
|
208
228
|
}
|
|
209
229
|
|
|
230
|
+
// v4.25.0: write the run to the rolling ring buffer at
|
|
231
|
+
// ~/.shieldcortex/precompact-log/. Best-effort — never throw.
|
|
232
|
+
try {
|
|
233
|
+
writePrecompactLog({
|
|
234
|
+
thresholdUsed: dynamicThreshold,
|
|
235
|
+
contextFullnessPct: maxMemories > 0 ? Math.round((totalMemories / maxMemories) * 100) : null,
|
|
236
|
+
totalMemories,
|
|
237
|
+
rawSegmentCount,
|
|
238
|
+
candidates: precompactCandidates,
|
|
239
|
+
});
|
|
240
|
+
} catch { /* best-effort */ }
|
|
241
|
+
|
|
210
242
|
console.error(`[shieldcortex] Pre-compact complete: ${autoExtractedCount} memories auto-extracted`);
|
|
211
243
|
|
|
212
244
|
outputReminder(autoExtractedCount, dynamicThreshold);
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import Database from 'better-sqlite3';
|
|
13
|
-
import {
|
|
13
|
+
import { createHash } from 'crypto';
|
|
14
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
14
15
|
import { join } from 'path';
|
|
15
16
|
import { homedir } from 'os';
|
|
16
17
|
import { deriveProjectKey } from './lib/project-key.mjs';
|
|
@@ -22,10 +23,16 @@ import { compareRecallResults } from './lib/recall-rank.mjs';
|
|
|
22
23
|
// ==================== CONFIG ====================
|
|
23
24
|
|
|
24
25
|
const CONFIG_PATH = join(homedir(), '.shieldcortex', 'config.json');
|
|
26
|
+
const RECALL_DEDUP_PATH = join(homedir(), '.shieldcortex', '.recall-dedup.json');
|
|
25
27
|
const MAX_RESULTS = 5;
|
|
26
28
|
const MAX_CONTENT_LENGTH = 150;
|
|
27
29
|
const MIN_PROMPT_LENGTH = 8;
|
|
28
30
|
const MIN_SALIENCE = 0.2;
|
|
31
|
+
// v4.24.3: how many recent recall turns to remember for dedupe.
|
|
32
|
+
// Suppresses a recalled memory if its content hash appeared in any of the
|
|
33
|
+
// last DEDUP_RING_SIZE turns of THIS session. Per-session, not global.
|
|
34
|
+
const DEDUP_RING_SIZE = 5;
|
|
35
|
+
const DEDUP_TTL_MS = 60 * 60 * 1000; // forget session rings after 1h idle
|
|
29
36
|
|
|
30
37
|
function loadConfig() {
|
|
31
38
|
try {
|
|
@@ -73,8 +80,15 @@ function recallRelevant(db, project, prompt) {
|
|
|
73
80
|
const ftsQuery = escapeFts5(prompt);
|
|
74
81
|
if (ftsQuery.trim()) {
|
|
75
82
|
try {
|
|
83
|
+
// v4.25.0: project pinned/access_count/last_accessed/downvote_count
|
|
84
|
+
// so compareRecallResults can compute effective salience without a
|
|
85
|
+
// second query. COALESCE on downvote_count for DBs that pre-date the
|
|
86
|
+
// 4.25 migration (the prompt-recall-hook runs against legacy DBs too).
|
|
76
87
|
const ftsRows = db.prepare(`
|
|
77
|
-
SELECT
|
|
88
|
+
SELECT
|
|
89
|
+
m.id, m.title, m.content, m.category, m.salience, fts.rank,
|
|
90
|
+
m.pinned, m.access_count, m.last_accessed,
|
|
91
|
+
COALESCE(m.downvote_count, 0) AS downvote_count
|
|
78
92
|
FROM memories m
|
|
79
93
|
JOIN memories_fts fts ON m.id = fts.rowid
|
|
80
94
|
WHERE memories_fts MATCH ?
|
|
@@ -105,8 +119,14 @@ function recallRelevant(db, project, prompt) {
|
|
|
105
119
|
|
|
106
120
|
if (categoryBoost && results.length < MAX_RESULTS) {
|
|
107
121
|
try {
|
|
122
|
+
// v4.25.0: project the salience-formula inputs (same as the FTS
|
|
123
|
+
// SELECT above) so compareRecallResults can compute effective
|
|
124
|
+
// salience for rows that came in via this fallback path.
|
|
108
125
|
const catRows = db.prepare(`
|
|
109
|
-
SELECT
|
|
126
|
+
SELECT
|
|
127
|
+
id, title, content, category, salience,
|
|
128
|
+
pinned, access_count, last_accessed,
|
|
129
|
+
COALESCE(downvote_count, 0) AS downvote_count
|
|
110
130
|
FROM memories
|
|
111
131
|
WHERE category = ?
|
|
112
132
|
AND (project = ? OR project IS NULL OR scope = 'global')
|
|
@@ -132,6 +152,46 @@ function recallRelevant(db, project, prompt) {
|
|
|
132
152
|
return results.slice(0, MAX_RESULTS);
|
|
133
153
|
}
|
|
134
154
|
|
|
155
|
+
// ==================== DEDUPE STATE ====================
|
|
156
|
+
//
|
|
157
|
+
// Per-session ring of recently-injected content hashes, persisted to
|
|
158
|
+
// `~/.shieldcortex/.recall-dedup.json`. v4.24.3 — Jarvis flagged that
|
|
159
|
+
// near-identical recalls were being injected in adjacent turns. The cheap
|
|
160
|
+
// fix: hash content + suppress if seen in any of the last DEDUP_RING_SIZE
|
|
161
|
+
// turns of this session. Best-effort — failures don't block recall.
|
|
162
|
+
|
|
163
|
+
function loadDedupState() {
|
|
164
|
+
try {
|
|
165
|
+
if (!existsSync(RECALL_DEDUP_PATH)) return {};
|
|
166
|
+
const raw = JSON.parse(readFileSync(RECALL_DEDUP_PATH, 'utf-8'));
|
|
167
|
+
if (!raw || typeof raw !== 'object') return {};
|
|
168
|
+
// Purge stale sessions to keep the file bounded.
|
|
169
|
+
const now = Date.now();
|
|
170
|
+
for (const sid of Object.keys(raw)) {
|
|
171
|
+
const entry = raw[sid];
|
|
172
|
+
if (!entry || typeof entry.touched !== 'number' || now - entry.touched > DEDUP_TTL_MS) {
|
|
173
|
+
delete raw[sid];
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return raw;
|
|
177
|
+
} catch {
|
|
178
|
+
return {};
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
function saveDedupState(state) {
|
|
183
|
+
try {
|
|
184
|
+
mkdirSync(join(homedir(), '.shieldcortex'), { recursive: true });
|
|
185
|
+
writeFileSync(RECALL_DEDUP_PATH, JSON.stringify(state), { mode: 0o600 });
|
|
186
|
+
} catch {
|
|
187
|
+
// Best-effort.
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
function hashContent(s) {
|
|
192
|
+
return createHash('sha256').update(s).digest('hex').slice(0, 16);
|
|
193
|
+
}
|
|
194
|
+
|
|
135
195
|
// ==================== FORMAT ====================
|
|
136
196
|
|
|
137
197
|
function formatRecallContext(memories) {
|
|
@@ -140,7 +200,11 @@ function formatRecallContext(memories) {
|
|
|
140
200
|
const lines = ['🧠 Recalled from memory:'];
|
|
141
201
|
for (const m of memories) {
|
|
142
202
|
const content = truncatePreservingWords(m.content, MAX_CONTENT_LENGTH);
|
|
143
|
-
|
|
203
|
+
// v4.24.3: append a source ref so the operator can grep / inspect
|
|
204
|
+
// the backing memory. Uses memory ID (always available); a future
|
|
205
|
+
// schema change could store the source_file path for clickability.
|
|
206
|
+
const source = m.id != null ? ` _[mem #${m.id}]_` : '';
|
|
207
|
+
lines.push(`- **${m.title}**: ${content}${source}`);
|
|
144
208
|
}
|
|
145
209
|
return lines.join('\n');
|
|
146
210
|
}
|
|
@@ -216,15 +280,39 @@ process.stdin.on('end', () => {
|
|
|
216
280
|
}
|
|
217
281
|
|
|
218
282
|
const db = new Database(dbPath, { readonly: true, timeout: 2000 });
|
|
219
|
-
|
|
283
|
+
let memories = recallRelevant(db, project, prompt);
|
|
220
284
|
db.close();
|
|
221
285
|
|
|
222
286
|
if (memories.length === 0) {
|
|
223
287
|
process.exit(0);
|
|
224
288
|
}
|
|
225
289
|
|
|
290
|
+
// v4.24.3: suppress memories whose content hash appeared in any of
|
|
291
|
+
// the last DEDUP_RING_SIZE turns of this session. Avoids the
|
|
292
|
+
// "near-identical recall in adjacent turns" failure Jarvis flagged.
|
|
293
|
+
let dedupState = null;
|
|
294
|
+
let sessionRing = [];
|
|
295
|
+
if (sessionId) {
|
|
296
|
+
dedupState = loadDedupState();
|
|
297
|
+
const entry = dedupState[sessionId] ?? { ring: [], touched: Date.now() };
|
|
298
|
+
sessionRing = Array.isArray(entry.ring) ? entry.ring : [];
|
|
299
|
+
const recentHashes = new Set(sessionRing);
|
|
300
|
+
memories = memories.filter((m) => !recentHashes.has(hashContent(m.content)));
|
|
301
|
+
if (memories.length === 0) {
|
|
302
|
+
process.exit(0);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
226
306
|
const context = formatRecallContext(memories);
|
|
227
307
|
|
|
308
|
+
// Update the session ring with the hashes of what we just injected.
|
|
309
|
+
if (sessionId && dedupState) {
|
|
310
|
+
const newHashes = memories.map((m) => hashContent(m.content));
|
|
311
|
+
const merged = [...newHashes, ...sessionRing].slice(0, DEDUP_RING_SIZE);
|
|
312
|
+
dedupState[sessionId] = { ring: merged, touched: Date.now() };
|
|
313
|
+
saveDedupState(dedupState);
|
|
314
|
+
}
|
|
315
|
+
|
|
228
316
|
// Reinforce access counts (fire-and-forget in a writable connection)
|
|
229
317
|
try {
|
|
230
318
|
const writeDb = new Database(dbPath, { timeout: 1000 });
|
|
File without changes
|
|
File without changes
|