shieldcortex 4.30.2 → 4.31.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/README.md +16 -10
- 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/(dashboard)/admin/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page_client-reference-manifest.js +1 -1
- 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/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/page/next-font-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +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 +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/next-font-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/next-font-manifest.json +22 -22
- 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/.next/static/chunks/{a7d5d0791c8c6223.css → 34d933785a17edf3.css} +1 -1
- package/dashboard/.next/standalone/dashboard/.next/static/media/4fa387ec64143e14-s.3b336396.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/5ce348bf30bf5439-s.56c1f21e.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/6306c77e7c8268e4-s.e3369375.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/797e433ab948586e-s.p.29207c2f.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/7d817b4c03b0c5f1-s.a40b9a8b.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/bbc41e54d2fcbd21-s.fe42ddf4.woff2 +0 -0
- package/dist/cli/doctor.d.ts +7 -3
- package/dist/cli/doctor.js +13 -15
- package/dist/cli/update.js +20 -8
- package/dist/integrations/openclaw-plugin-state.d.ts +12 -0
- package/dist/integrations/openclaw-plugin-state.js +91 -0
- package/dist/memory/consolidate.js +8 -0
- package/package.json +1 -1
- package/scripts/lib/extract-memorable-segments.mjs +57 -11
- package/scripts/lib/openclaw-extract.mjs +4 -1
- package/scripts/lib/truncate.mjs +19 -7
- package/dashboard/.next/standalone/dashboard/.next/static/media/4fa387ec64143e14-s.c36e1862.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/5ce348bf30bf5439-s.ebceb24d.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/6306c77e7c8268e4-s.ff4a2084.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/797e433ab948586e-s.p.479bea2b.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/7d817b4c03b0c5f1-s.f377b9c4.woff2 +0 -0
- package/dashboard/.next/standalone/dashboard/.next/static/media/bbc41e54d2fcbd21-s.d1207556.woff2 +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{MdaHBj41tyYd_mFYwHmZ7 → T0hqc-Le01c8QVY0VrHnu}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{MdaHBj41tyYd_mFYwHmZ7 → T0hqc-Le01c8QVY0VrHnu}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{MdaHBj41tyYd_mFYwHmZ7 → T0hqc-Le01c8QVY0VrHnu}/_ssgManifest.js +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shieldcortex",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.31.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",
|
|
@@ -188,6 +188,35 @@ export function calculateSalience(text, opts = {}) {
|
|
|
188
188
|
return Math.min(ceiling, score);
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
+
// Function words a genuine mid-clause fragment trails off on (conjunctions,
|
|
192
|
+
// prepositions, articles, copulas). A capture ending here was cut while the
|
|
193
|
+
// thought was still going. A capture ending on a CONTENT word is treated as
|
|
194
|
+
// complete even without terminal punctuation — the extractor regex caps at
|
|
195
|
+
// ~200 chars with an OPTIONAL terminator, so complete long facts routinely
|
|
196
|
+
// arrive unpunctuated and must NOT be mistaken for fragments (review 2026-06-08).
|
|
197
|
+
const DANGLING_TAIL =
|
|
198
|
+
/\b(?:and|or|but|nor|the|a|an|to|of|in|on|at|by|for|with|without|from|as|is|are|was|were|be|been|that|which|who|whose|because|so|if|when|while|than|then|into|onto|over|under|via|per|about|after|before|between|during)$/i;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Quality signal: reward self-contained captures, discount genuine fragments.
|
|
202
|
+
* The 0.6 cap bounds salience but says nothing about whether a capture is a
|
|
203
|
+
* complete thought — so a mid-clause fragment used to compete on equal footing
|
|
204
|
+
* with a complete fact (Jarvis P2, 2026-06-08). A capture that ends like a
|
|
205
|
+
* complete sentence (terminal punctuation) OR on a content word gets no penalty;
|
|
206
|
+
* only one that trails off on a dangling function word is discounted so it ranks
|
|
207
|
+
* below self-contained facts. Pure + exported for direct testing.
|
|
208
|
+
*
|
|
209
|
+
* @param {string} content
|
|
210
|
+
* @returns {number} 0 for complete captures, a negative penalty for fragments
|
|
211
|
+
*/
|
|
212
|
+
export function completenessAdjustment(content) {
|
|
213
|
+
if (typeof content !== 'string') return 0;
|
|
214
|
+
const t = content.trim();
|
|
215
|
+
if (!t) return 0;
|
|
216
|
+
if (/[.!?]["')\]]?$/.test(t)) return 0; // ends like a complete sentence
|
|
217
|
+
return DANGLING_TAIL.test(t) ? -0.15 : 0; // dangling function word → fragment
|
|
218
|
+
}
|
|
219
|
+
|
|
191
220
|
export function suggestCategory(text) {
|
|
192
221
|
const lower = text.toLowerCase();
|
|
193
222
|
if (detectKeywords(lower, ARCHITECTURE_KEYWORDS)) return 'architecture';
|
|
@@ -392,18 +421,27 @@ function defensiveUnescape(text) {
|
|
|
392
421
|
* garbage like "Decision: any command you must be authenticated. Run x..."
|
|
393
422
|
* where the first 50 chars meant nothing without their context.
|
|
394
423
|
*/
|
|
395
|
-
function extractFirstSentence(text, maxLen =
|
|
424
|
+
export function extractFirstSentence(text, maxLen = 120) {
|
|
396
425
|
const trimmed = text.trim().replace(/\s+/g, ' ');
|
|
426
|
+
// Back off to the last word boundary (never mid-word); ellipsis marks the cut.
|
|
427
|
+
const wordBound = (s) => {
|
|
428
|
+
if (s.length <= maxLen) return s;
|
|
429
|
+
const cut = s.slice(0, maxLen);
|
|
430
|
+
const lastSpace = cut.lastIndexOf(' ');
|
|
431
|
+
return (lastSpace > maxLen * 0.5 ? cut.slice(0, lastSpace) : cut).trimEnd() + '…';
|
|
432
|
+
};
|
|
397
433
|
// Find first sentence terminator within reasonable bounds. The terminator
|
|
398
434
|
// must be followed by whitespace OR end-of-string so URLs / decimals /
|
|
399
|
-
// version strings ("v4.24.3") don't fool it.
|
|
435
|
+
// version strings ("v4.24.3") don't fool it. A matched sentence is returned
|
|
436
|
+
// WHOLE when it fits — the old `slice(0, maxLen)` chopped clean sentences
|
|
437
|
+
// mid-word (every truncated title was exactly prefix+80 chars).
|
|
400
438
|
const match = trimmed.match(/^([^.!?\n]{15,160}[.!?])(?:\s|$)/);
|
|
401
|
-
|
|
402
|
-
//
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
return
|
|
439
|
+
// A matched sentence is COMPLETE (regex-bounded ≤161 chars) — return it whole,
|
|
440
|
+
// terminator intact. Re-truncating it to maxLen stripped the terminator and
|
|
441
|
+
// appended a misleading ellipsis, just moving the truncation cliff 80→120
|
|
442
|
+
// (review 2026-06-08). wordBound + ellipsis is only for the no-terminator path.
|
|
443
|
+
if (match) return match[1];
|
|
444
|
+
return wordBound(trimmed);
|
|
407
445
|
}
|
|
408
446
|
|
|
409
447
|
/**
|
|
@@ -432,7 +470,7 @@ export function extractMemorableSegments(conversationText, opts = {}) {
|
|
|
432
470
|
// v4.24.3: headline = first sentence (sentence-bounded), not
|
|
433
471
|
// the first 50 chars. Eliminates mid-clause garbage in the
|
|
434
472
|
// MEMORY.md index.
|
|
435
|
-
const headline = extractFirstSentence(content,
|
|
473
|
+
const headline = extractFirstSentence(content, 120);
|
|
436
474
|
const title = extractor.titlePrefix + headline;
|
|
437
475
|
segments.push({
|
|
438
476
|
title,
|
|
@@ -666,7 +704,15 @@ export function processSegments(segments, dynamicThreshold = BASE_THRESHOLD, opt
|
|
|
666
704
|
|
|
667
705
|
for (const seg of unique) {
|
|
668
706
|
const frequencyBoost = applyFrequencyBoost ? calculateFrequencyBoost(seg, unique) : 0;
|
|
669
|
-
|
|
707
|
+
// The fragment penalty is applied AFTER the cap so a high-keyword fragment
|
|
708
|
+
// can't tie a complete fact at the ceiling — a self-contained fact always
|
|
709
|
+
// out-ranks an otherwise-equivalent fragment (Jarvis P2). The STORED salience
|
|
710
|
+
// carries the penalty (so it ranks lower at recall too), but the SURVIVAL
|
|
711
|
+
// gate below uses the UN-penalised value so the penalty can only re-rank,
|
|
712
|
+
// never silently drop a memory that would otherwise be kept (review 2026-06-08).
|
|
713
|
+
const capped = Math.min(AUTO_EXTRACT_SALIENCE_CAP, seg.baseSalience + frequencyBoost);
|
|
714
|
+
seg.gateSalience = capped;
|
|
715
|
+
seg.salience = Math.max(0, capped + completenessAdjustment(seg.content));
|
|
670
716
|
seg.frequencyBoost = frequencyBoost;
|
|
671
717
|
}
|
|
672
718
|
|
|
@@ -674,7 +720,7 @@ export function processSegments(segments, dynamicThreshold = BASE_THRESHOLD, opt
|
|
|
674
720
|
|
|
675
721
|
const filtered = unique.filter((seg) => {
|
|
676
722
|
const threshold = getExtractionThreshold(seg.category, dynamicThreshold, categoryThresholds);
|
|
677
|
-
return seg.
|
|
723
|
+
return seg.gateSalience >= threshold;
|
|
678
724
|
});
|
|
679
725
|
|
|
680
726
|
return filtered.slice(0, maxMemories);
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
extractMemorableSegments,
|
|
18
18
|
processSegments,
|
|
19
19
|
shouldRejectCandidate,
|
|
20
|
+
extractFirstSentence,
|
|
20
21
|
EXTRACTOR_TO_CATEGORY,
|
|
21
22
|
EXTRACTOR_TO_PURPOSE,
|
|
22
23
|
} from './extract-memorable-segments.mjs';
|
|
@@ -116,7 +117,9 @@ export function extractKeywordMemory(content, extractorType) {
|
|
|
116
117
|
const category = EXTRACTOR_TO_CATEGORY[resolvedType] ?? 'note';
|
|
117
118
|
const memoryPurpose = EXTRACTOR_TO_PURPOSE[resolvedType] ?? 'project';
|
|
118
119
|
|
|
119
|
-
|
|
120
|
+
// Sentence/word-bounded via the shared chunker helper — never a mid-word
|
|
121
|
+
// slice (was a raw trimmed.slice(0, 80), the one path that bypassed it).
|
|
122
|
+
const title = extractFirstSentence(trimmed.replace(/["\n]/g, ' '), 120);
|
|
120
123
|
|
|
121
124
|
return [
|
|
122
125
|
{
|
package/scripts/lib/truncate.mjs
CHANGED
|
@@ -25,17 +25,29 @@ export function truncatePreservingWords(text, maxChars, lookback = 20) {
|
|
|
25
25
|
if (typeof text !== 'string') return text;
|
|
26
26
|
if (text.length <= maxChars) return text;
|
|
27
27
|
const slice = text.slice(0, maxChars);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
// Prefer a SENTENCE boundary, searched in a generous window, so a complete
|
|
29
|
+
// earlier sentence beats a nearer mid-sentence word break (jarvis 2026-06-08:
|
|
30
|
+
// "prefer a complete sentence over a fixed character window"). The previous
|
|
31
|
+
// single Math.max over all boundaries let the rightmost word-space win,
|
|
32
|
+
// producing word-complete but sentence-incomplete snippets.
|
|
33
|
+
const sentenceMin = Math.max(0, maxChars - lookback * 3);
|
|
34
|
+
const sentenceEnd = Math.max(
|
|
31
35
|
slice.lastIndexOf('. '),
|
|
36
|
+
slice.lastIndexOf('! '),
|
|
37
|
+
slice.lastIndexOf('? '),
|
|
38
|
+
slice.lastIndexOf('\n'),
|
|
39
|
+
);
|
|
40
|
+
if (sentenceEnd >= sentenceMin) {
|
|
41
|
+
return slice.slice(0, sentenceEnd + 1).trimEnd() + '…';
|
|
42
|
+
}
|
|
43
|
+
// No sentence boundary nearby — back off to the last word boundary.
|
|
44
|
+
const wordMin = Math.max(0, maxChars - lookback);
|
|
45
|
+
const wordEnd = Math.max(
|
|
46
|
+
slice.lastIndexOf(' '),
|
|
32
47
|
slice.lastIndexOf(', '),
|
|
33
48
|
slice.lastIndexOf('; '),
|
|
34
49
|
slice.lastIndexOf(': '),
|
|
35
|
-
slice.lastIndexOf('\n'),
|
|
36
|
-
slice.lastIndexOf('? '),
|
|
37
|
-
slice.lastIndexOf('! '),
|
|
38
50
|
);
|
|
39
|
-
const cutAt =
|
|
51
|
+
const cutAt = wordEnd >= wordMin ? wordEnd : maxChars;
|
|
40
52
|
return slice.slice(0, cutAt).trimEnd() + '…';
|
|
41
53
|
}
|
package/dashboard/.next/standalone/dashboard/.next/static/media/4fa387ec64143e14-s.c36e1862.woff2
DELETED
|
Binary file
|
package/dashboard/.next/standalone/dashboard/.next/static/media/5ce348bf30bf5439-s.ebceb24d.woff2
DELETED
|
Binary file
|
package/dashboard/.next/standalone/dashboard/.next/static/media/6306c77e7c8268e4-s.ff4a2084.woff2
DELETED
|
Binary file
|
package/dashboard/.next/standalone/dashboard/.next/static/media/797e433ab948586e-s.p.479bea2b.woff2
DELETED
|
Binary file
|
package/dashboard/.next/standalone/dashboard/.next/static/media/7d817b4c03b0c5f1-s.f377b9c4.woff2
DELETED
|
Binary file
|
package/dashboard/.next/standalone/dashboard/.next/static/media/bbc41e54d2fcbd21-s.d1207556.woff2
DELETED
|
Binary file
|
|
File without changes
|
|
File without changes
|