shieldcortex 4.12.11 → 4.12.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
- package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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/review/page.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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.js.nft.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_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +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 +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.meta +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +7 -7
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +2 -2
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +7 -7
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +7 -7
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +2 -2
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +7 -7
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +7 -7
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +2 -2
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +7 -7
- 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 +2 -2
- 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 +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- 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 +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +7 -7
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +2 -2
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +7 -7
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +7 -7
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +2 -2
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +7 -7
- 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 +2 -2
- 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 +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +6 -6
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +7 -7
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +2 -2
- 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 +5 -5
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +7 -7
- 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 +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__c2b92077._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_01f6ceb0._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_11878109._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_1bfd1423._.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_35a9932a._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_35c9f22e._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_37f17371._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_836b4a04._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_9770c429._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_9dd626ed._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_c219bf07._.js +8 -2
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_e94d2da2._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_d5fc66fc._.js → dashboard_fefd3b85._.js} +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_protection_ProtectionOverview_tsx_54554a97._.js +3 -1
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_xray_XRayOverview_tsx_ceba698e._.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/079a5be036130e37.js +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/1770a8ce7abb2437.js +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/1a074f8ddc7cd385.js +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/24da99d1341bd573.css +3 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/2aa8afb655c1c2e5.js +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/385ec610bad1acc5.js +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/3d53807a9a943ce7.js +15 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/4f57582c2d186438.js +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/7fca141efba9d353.js +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/8593e1796c9d043d.js +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/c288964c4c00982a.js +3 -0
- package/dist/api/routes/admin.js +295 -8
- package/dist/api/visualization-server.js +5 -0
- package/dist/audit/index.d.ts +2 -1
- package/dist/audit/index.js +1 -1
- package/dist/audit/memory-scanner.d.ts +66 -1
- package/dist/audit/memory-scanner.js +441 -28
- package/dist/cli/review-copilot.d.ts +1 -0
- package/dist/cli/review-copilot.js +197 -0
- package/dist/cloud/cli.js +3 -1
- package/dist/cloud/config.d.ts +17 -0
- package/dist/cloud/config.js +110 -25
- package/dist/database/init.js +37 -0
- package/dist/database/schema.sql +20 -0
- package/dist/defence/explainer/index.d.ts +5 -0
- package/dist/defence/explainer/index.js +28 -0
- package/dist/defence/explainer/prompt.d.ts +2 -0
- package/dist/defence/explainer/prompt.js +49 -0
- package/dist/defence/explainer/schema.d.ts +3 -0
- package/dist/defence/explainer/schema.js +204 -0
- package/dist/defence/explainer/types.d.ts +26 -0
- package/dist/defence/explainer/types.js +1 -0
- package/dist/defence/judge/annotate.d.ts +8 -0
- package/dist/defence/judge/annotate.js +107 -0
- package/dist/defence/judge/annotations-store.d.ts +4 -0
- package/dist/defence/judge/annotations-store.js +67 -0
- package/dist/defence/judge/decision.d.ts +10 -0
- package/dist/defence/judge/decision.js +165 -0
- package/dist/defence/judge/fallback.d.ts +4 -0
- package/dist/defence/judge/fallback.js +19 -0
- package/dist/defence/judge/grouping.d.ts +4 -0
- package/dist/defence/judge/grouping.js +52 -0
- package/dist/defence/judge/index.d.ts +9 -0
- package/dist/defence/judge/index.js +34 -0
- package/dist/defence/judge/prompt.d.ts +3 -0
- package/dist/defence/judge/prompt.js +49 -0
- package/dist/defence/judge/runner.d.ts +3 -0
- package/dist/defence/judge/runner.js +160 -0
- package/dist/defence/judge/schema.d.ts +15 -0
- package/dist/defence/judge/schema.js +118 -0
- package/dist/defence/judge/telemetry.d.ts +28 -0
- package/dist/defence/judge/telemetry.js +43 -0
- package/dist/defence/judge/types.d.ts +67 -0
- package/dist/defence/judge/types.js +1 -0
- package/dist/defence/judge/worker.d.ts +1 -0
- package/dist/defence/judge/worker.js +106 -0
- package/dist/defence/quarantine/review.js +16 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.js +10 -1
- package/dist/lib.d.ts +9 -1
- package/dist/lib.js +7 -1
- package/dist/license/gate.d.ts +1 -1
- package/dist/license/gate.js +6 -0
- package/package.json +4 -1
- package/plugins/openclaw/dist/openclaw.plugin.json +1 -1
- package/scripts/ensure-bin-executable.mjs +17 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__4a575c8d._.js +0 -3
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_0734b815._.js +0 -3
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_21edaee1._.js +0 -3
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_354daf70._.js +0 -3
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_8481163e._.js +0 -3
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_a3053031._.js +0 -3
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_a38f5767._.js +0 -3
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_f6813b70._.js +0 -3
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/1482af194911d5e7.js +0 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/2c2a280eeaed7ed2.js +0 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/2f92786ac35bbdb9.js +0 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/90f35860c69b2f0b.js +0 -9
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/915d5a8cf2d0807e.css +0 -3
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/927fe0465516b94a.js +0 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/99a618b860658c5c.js +0 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/b31e08a78b0cb6fb.js +0 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/c2ccb1c0ed7b2af2.js +0 -1
- /package/dashboard/.next/standalone/dashboard/.next/static/{Azzglh6qPGDH5Kl8B76tx → 5HSptYF0HaABlloA3Hir3}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{Azzglh6qPGDH5Kl8B76tx → 5HSptYF0HaABlloA3Hir3}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{Azzglh6qPGDH5Kl8B76tx → 5HSptYF0HaABlloA3Hir3}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { parentPort } from 'worker_threads';
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
+
let generator = null;
|
|
4
|
+
let activeModelId = null;
|
|
5
|
+
let loadError = null;
|
|
6
|
+
async function initTransformers(cacheDir, allowRemoteModels) {
|
|
7
|
+
try {
|
|
8
|
+
const mod = await import('@huggingface/transformers');
|
|
9
|
+
mod.env.allowRemoteModels = allowRemoteModels;
|
|
10
|
+
mod.env.allowLocalModels = true;
|
|
11
|
+
mod.env.cacheDir = cacheDir;
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
loadError = error instanceof Error ? error.message : String(error);
|
|
15
|
+
throw new Error(`transformers_load_failed:${loadError}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async function loadModel(modelId, cacheDir, allowRemoteModels) {
|
|
19
|
+
if (generator && activeModelId === modelId)
|
|
20
|
+
return;
|
|
21
|
+
if (loadError)
|
|
22
|
+
throw new Error(loadError);
|
|
23
|
+
await initTransformers(cacheDir, allowRemoteModels);
|
|
24
|
+
const mod = await import('@huggingface/transformers');
|
|
25
|
+
generator = await mod.pipeline('text-generation', modelId, {
|
|
26
|
+
dtype: 'q4',
|
|
27
|
+
});
|
|
28
|
+
activeModelId = modelId;
|
|
29
|
+
}
|
|
30
|
+
async function withTimeout(promise, timeoutMs) {
|
|
31
|
+
let timeout = null;
|
|
32
|
+
try {
|
|
33
|
+
return await Promise.race([
|
|
34
|
+
promise,
|
|
35
|
+
new Promise((_, reject) => {
|
|
36
|
+
timeout = setTimeout(() => reject(new Error(`timeout:${timeoutMs}`)), timeoutMs);
|
|
37
|
+
}),
|
|
38
|
+
]);
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
if (timeout)
|
|
42
|
+
clearTimeout(timeout);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function generate(prompt, timeoutMs) {
|
|
46
|
+
const messages = [
|
|
47
|
+
{
|
|
48
|
+
role: 'system',
|
|
49
|
+
content: 'You are ShieldCortex Review Copilot. Return exactly one valid JSON object and no other text.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
role: 'user',
|
|
53
|
+
content: prompt,
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
const output = await withTimeout(generator(messages, {
|
|
57
|
+
max_new_tokens: 768,
|
|
58
|
+
do_sample: false,
|
|
59
|
+
temperature: 0,
|
|
60
|
+
return_full_text: false,
|
|
61
|
+
}), timeoutMs);
|
|
62
|
+
if (Array.isArray(output) && output[0]?.generated_text) {
|
|
63
|
+
const generated = output[0].generated_text;
|
|
64
|
+
if (Array.isArray(generated)) {
|
|
65
|
+
const last = generated[generated.length - 1];
|
|
66
|
+
return String(last?.content ?? '');
|
|
67
|
+
}
|
|
68
|
+
return String(generated);
|
|
69
|
+
}
|
|
70
|
+
if (typeof output === 'object' && output && 'generated_text' in output) {
|
|
71
|
+
const generated = output.generated_text;
|
|
72
|
+
if (Array.isArray(generated)) {
|
|
73
|
+
const last = generated[generated.length - 1];
|
|
74
|
+
return String(last?.content ?? '');
|
|
75
|
+
}
|
|
76
|
+
return String(generated);
|
|
77
|
+
}
|
|
78
|
+
return String(output ?? '');
|
|
79
|
+
}
|
|
80
|
+
parentPort?.postMessage({ type: 'ready' });
|
|
81
|
+
setInterval(() => {
|
|
82
|
+
parentPort?.postMessage({ type: 'heartbeat' });
|
|
83
|
+
}, 5000).unref();
|
|
84
|
+
parentPort?.on('message', async (msg) => {
|
|
85
|
+
try {
|
|
86
|
+
if (msg.type === 'ping') {
|
|
87
|
+
parentPort?.postMessage({ id: msg.id, ok: true, rawText: 'pong' });
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
await loadModel(msg.modelId, msg.cacheDir, msg.allowRemoteModels);
|
|
91
|
+
if (msg.type === 'load') {
|
|
92
|
+
parentPort?.postMessage({ id: msg.id, ok: true, rawText: 'loaded' });
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (!msg.prompt) {
|
|
96
|
+
parentPort?.postMessage({ id: msg.id, ok: false, reason: 'missing_prompt' });
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const rawText = await generate(msg.prompt, msg.timeoutMs);
|
|
100
|
+
parentPort?.postMessage({ id: msg.id, ok: true, rawText });
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
104
|
+
parentPort?.postMessage({ id: msg.id, ok: false, reason });
|
|
105
|
+
}
|
|
106
|
+
});
|
|
@@ -42,14 +42,24 @@ function promoteApprovedQuarantineRow(row, reviewedBy) {
|
|
|
42
42
|
: 'quarantine:review',
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
function
|
|
45
|
+
function markPendingRowReviewed(id, status, reviewedBy) {
|
|
46
46
|
const db = getDatabase();
|
|
47
|
-
const memory = promoteApprovedQuarantineRow(row, reviewedBy);
|
|
48
47
|
const reviewedAt = new Date().toISOString();
|
|
49
|
-
const result = db.prepare('UPDATE quarantine SET status = ?, reviewed_at = ?, reviewed_by = ? WHERE id = ? AND status = ?').run(
|
|
48
|
+
const result = db.prepare('UPDATE quarantine SET status = ?, reviewed_at = ?, reviewed_by = ? WHERE id = ? AND status = ?').run(status, reviewedAt, reviewedBy, id, 'pending');
|
|
50
49
|
if (result.changes === 0) {
|
|
51
50
|
throw new Error('Quarantine entry not found or already reviewed');
|
|
52
51
|
}
|
|
52
|
+
}
|
|
53
|
+
function approveExistingPendingRow(row, reviewedBy) {
|
|
54
|
+
if (row.source_type === 'memory_file') {
|
|
55
|
+
markPendingRowReviewed(row.id, 'approved', reviewedBy);
|
|
56
|
+
return {
|
|
57
|
+
id: row.id,
|
|
58
|
+
status: 'approved',
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const memory = promoteApprovedQuarantineRow(row, reviewedBy);
|
|
62
|
+
markPendingRowReviewed(row.id, 'approved', reviewedBy);
|
|
53
63
|
return {
|
|
54
64
|
id: row.id,
|
|
55
65
|
status: 'approved',
|
|
@@ -57,12 +67,11 @@ function approveExistingPendingRow(row, reviewedBy) {
|
|
|
57
67
|
};
|
|
58
68
|
}
|
|
59
69
|
function rejectPendingQuarantineRow(id, reviewedBy) {
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
const result = db.prepare('UPDATE quarantine SET status = ?, reviewed_at = ?, reviewed_by = ? WHERE id = ? AND status = ?').run('rejected', reviewedAt, reviewedBy, id, 'pending');
|
|
63
|
-
if (result.changes === 0) {
|
|
70
|
+
const row = getPendingQuarantineRow(id);
|
|
71
|
+
if (!row) {
|
|
64
72
|
return null;
|
|
65
73
|
}
|
|
74
|
+
markPendingRowReviewed(row.id, 'rejected', reviewedBy);
|
|
66
75
|
return { id, status: 'rejected' };
|
|
67
76
|
}
|
|
68
77
|
export function approveQuarantineItem(id, reviewedBy = 'dashboard') {
|
package/dist/index.d.ts
CHANGED
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
* shieldcortex config --openclaw-auto-memory true # Enable OpenClaw auto-memory extraction
|
|
38
38
|
* shieldcortex config --openclaw-auto-memory false # Disable OpenClaw auto-memory extraction
|
|
39
39
|
* shieldcortex cloud sync --full # Backfill local memories + graph to ShieldCortex Cloud
|
|
40
|
+
* shieldcortex review-copilot status # Local AI Explainer status (Pro)
|
|
40
41
|
* shieldcortex copilot install # Configure MCP server for VS Code + Cursor
|
|
41
42
|
* shieldcortex copilot uninstall # Remove MCP server configuration
|
|
42
43
|
* shieldcortex copilot status # Check MCP server configuration
|
package/dist/index.js
CHANGED
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
* shieldcortex config --openclaw-auto-memory true # Enable OpenClaw auto-memory extraction
|
|
38
38
|
* shieldcortex config --openclaw-auto-memory false # Disable OpenClaw auto-memory extraction
|
|
39
39
|
* shieldcortex cloud sync --full # Backfill local memories + graph to ShieldCortex Cloud
|
|
40
|
+
* shieldcortex review-copilot status # Local AI Explainer status (Pro)
|
|
40
41
|
* shieldcortex copilot install # Configure MCP server for VS Code + Cursor
|
|
41
42
|
* shieldcortex copilot uninstall # Remove MCP server configuration
|
|
42
43
|
* shieldcortex copilot status # Check MCP server configuration
|
|
@@ -453,6 +454,7 @@ ${bold}COMMANDS${reset}
|
|
|
453
454
|
${cyan}quickstart${reset} [target] Detect integrations and guide/install setup
|
|
454
455
|
${cyan}config${reset} [options] Configure cloud sync and settings
|
|
455
456
|
${cyan}cloud${reset} sync --full Backfill local memories + graph to ShieldCortex Cloud
|
|
457
|
+
${cyan}review-copilot${reset} <action> Local AI Explainer for quarantine review (Pro)
|
|
456
458
|
${cyan}cortex${reset} <command> Mistake learning & pre-flight checks (Pro)
|
|
457
459
|
${cyan}license${reset} <action> Manage licence key (activate, status, deactivate)
|
|
458
460
|
${cyan}iron-dome${reset} <action> Manage behaviour protection layer
|
|
@@ -480,6 +482,7 @@ ${bold}EXAMPLES${reset}
|
|
|
480
482
|
shieldcortex license activate sc_pro_...
|
|
481
483
|
shieldcortex config --cloud-enable --cloud-api-key <key>
|
|
482
484
|
shieldcortex cloud sync --full
|
|
485
|
+
shieldcortex review-copilot status
|
|
483
486
|
|
|
484
487
|
${bold}DOCS${reset}
|
|
485
488
|
https://shieldcortex.ai/docs
|
|
@@ -575,6 +578,12 @@ ${bold}DOCS${reset}
|
|
|
575
578
|
await handleCloudCommand(process.argv.slice(3));
|
|
576
579
|
return;
|
|
577
580
|
}
|
|
581
|
+
// Handle "review-copilot" subcommand (backwards-compatible Local AI Explainer command)
|
|
582
|
+
if (process.argv[2] === 'review-copilot') {
|
|
583
|
+
const { handleReviewCopilotCommand } = await import('./cli/review-copilot.js');
|
|
584
|
+
await handleReviewCopilotCommand(process.argv.slice(3), parsedArgs.dbPath);
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
578
587
|
// Handle "status" subcommand
|
|
579
588
|
if (process.argv[2] === 'status') {
|
|
580
589
|
const { handleStatusCommand } = await import('./setup/status.js');
|
|
@@ -954,7 +963,7 @@ ${bold}DOCS${reset}
|
|
|
954
963
|
const knownCommands = new Set([
|
|
955
964
|
'doctor', 'quickstart', 'setup', 'install', 'migrate', 'uninstall', 'hook', 'update',
|
|
956
965
|
'openclaw', 'clawdbot', 'copilot', 'codex', 'service', 'config', 'status',
|
|
957
|
-
'graph', 'license', 'licence', 'audit', 'iron-dome', 'scan', 'cloud',
|
|
966
|
+
'graph', 'license', 'licence', 'audit', 'iron-dome', 'scan', 'cloud', 'review-copilot',
|
|
958
967
|
'scan-skill', 'scan-skills', 'dashboard', 'api', 'worker', 'stats', 'cortex', 'consolidate', 'xray', 'xray-preinstall',
|
|
959
968
|
]);
|
|
960
969
|
const arg = process.argv[2];
|
package/dist/lib.d.ts
CHANGED
|
@@ -11,6 +11,13 @@
|
|
|
11
11
|
export { runDefencePipeline, runDefencePipelineWithVerify, DEFAULT_DEFENCE_CONFIG, scoreSource, filterByTrust, analyzeFirewall, classifySensitivity, redactContent, redactForDisplay, analyzeFragmentation, storeFragmentationData, scanForCredentials, redactCredentials, DEFAULT_CREDENTIAL_CONFIG, logAudit, queryAuditLogs, getAuditStats, getDefenceMode, setDefenceMode, isConfigTampered, getCloudConfig, setCloudConfig, clearCloudConfigCache, getOpenClawAutoMemory, setOpenClawAutoMemory, getOpenClawMemoryConfig, setOpenClawMemoryConfig, getVerifyConfig, setVerifyConfig, syncToCloud, syncQuarantineToCloud, submitVerification, pollVerification, getDeviceId, getDeviceName, } from './defence/index.js';
|
|
12
12
|
export type { DefenceConfig, DefencePipelineResultWithVerify, DefenceSource, SensitivityLevel, FirewallResult, VerifyResult, VerifyThreat, } from './defence/types.js';
|
|
13
13
|
export type { VerifyConfig } from './cloud/config.js';
|
|
14
|
+
export { getReviewCopilotConfig, setReviewCopilotConfig } from './cloud/config.js';
|
|
15
|
+
export { reviewQuarantineItem, groupReviewAnnotations, groupSimilarItems, parseReviewAnnotation, validateReviewAnnotation, fallbackAnnotation, } from './defence/judge/index.js';
|
|
16
|
+
export { annotateQuarantineItem, annotatePendingQuarantineItems, getAnnotationForItem, } from './defence/judge/annotate.js';
|
|
17
|
+
export type { ReviewCopilotConfig } from './cloud/config.js';
|
|
18
|
+
export type { ReviewAnnotation, ReviewBatch, ReviewCopilotCategory, ReviewCopilotSuggestion, ReviewQuarantineItem, AnnotationRunResult, } from './defence/judge/index.js';
|
|
19
|
+
export { explainLocalAiSubject, buildLocalAiExplainPrompt, parseLocalAiExplanation, fallbackLocalAiExplanation, } from './defence/explainer/index.js';
|
|
20
|
+
export type { LocalAiEvidence, LocalAiExplanation, LocalAiExplainSubject, LocalAiExplainSubjectKind, } from './defence/explainer/index.js';
|
|
14
21
|
export { scanToolResponse, shouldScanToolResponse } from './defence/tool-response-scanner.js';
|
|
15
22
|
export type { ToolResponseScanResult } from './defence/types.js';
|
|
16
23
|
export { activateIronDome, deactivateIronDome, getIronDomeStatus, isChannelTrusted, isActionAllowed, scanForInjection, checkPII, handleKillPhrase, IRON_DOME_PROFILES, DEFAULT_IRON_DOME_CONFIG, } from './defence/iron-dome/index.js';
|
|
@@ -32,8 +39,9 @@ export { extractFromMemory } from './graph/extract.js';
|
|
|
32
39
|
export { processExtractionResult, mergeEntities } from './graph/resolve.js';
|
|
33
40
|
export { backfillGraph } from './graph/backfill.js';
|
|
34
41
|
export { initDatabase } from './database/init.js';
|
|
35
|
-
export { scanMemories, scanMcpConfigs, scanEnvFiles, scanRulesFiles } from './audit/index.js';
|
|
42
|
+
export { discoverMemoryFiles, isShieldCortexOwnMemoryPath, scanMemories, scanMemoryFilesDetailed, scanMcpConfigs, scanEnvFiles, scanRulesFiles, } from './audit/index.js';
|
|
36
43
|
export { formatTerminalReport, formatMarkdownReport, formatJsonReport } from './audit/index.js';
|
|
44
|
+
export type { DetailedMemoryFileScanResult, DiscoveredMemoryFile, MemoryFileDiscoveryOptions, MemoryFileEvidence, MemoryFileRisk, MemoryFileScanRecord, MemoryFileScanSummary, } from './audit/index.js';
|
|
37
45
|
export type { AuditFinding, AuditSeverity } from './audit/types.js';
|
|
38
46
|
export { getLicense, getLicenseTier, isFeatureEnabled, requireFeature, listFeatures, FeatureGatedError, verifyLicenseKey, TIER_RANK, } from './license/index.js';
|
|
39
47
|
export type { LicenseTier, LicenseInfo, GatedFeature, } from './license/index.js';
|
package/dist/lib.js
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
*/
|
|
11
11
|
// ── Defence ────────────────────────────────────────────────
|
|
12
12
|
export { runDefencePipeline, runDefencePipelineWithVerify, DEFAULT_DEFENCE_CONFIG, scoreSource, filterByTrust, analyzeFirewall, classifySensitivity, redactContent, redactForDisplay, analyzeFragmentation, storeFragmentationData, scanForCredentials, redactCredentials, DEFAULT_CREDENTIAL_CONFIG, logAudit, queryAuditLogs, getAuditStats, getDefenceMode, setDefenceMode, isConfigTampered, getCloudConfig, setCloudConfig, clearCloudConfigCache, getOpenClawAutoMemory, setOpenClawAutoMemory, getOpenClawMemoryConfig, setOpenClawMemoryConfig, getVerifyConfig, setVerifyConfig, syncToCloud, syncQuarantineToCloud, submitVerification, pollVerification, getDeviceId, getDeviceName, } from './defence/index.js';
|
|
13
|
+
// ── Review Copilot ───────────────────────────────────────
|
|
14
|
+
export { getReviewCopilotConfig, setReviewCopilotConfig } from './cloud/config.js';
|
|
15
|
+
export { reviewQuarantineItem, groupReviewAnnotations, groupSimilarItems, parseReviewAnnotation, validateReviewAnnotation, fallbackAnnotation, } from './defence/judge/index.js';
|
|
16
|
+
export { annotateQuarantineItem, annotatePendingQuarantineItems, getAnnotationForItem, } from './defence/judge/annotate.js';
|
|
17
|
+
// ── Local AI Explainer ────────────────────────────────────
|
|
18
|
+
export { explainLocalAiSubject, buildLocalAiExplainPrompt, parseLocalAiExplanation, fallbackLocalAiExplanation, } from './defence/explainer/index.js';
|
|
13
19
|
// ── Tool Response Scanner ─────────────────────────────────
|
|
14
20
|
export { scanToolResponse, shouldScanToolResponse } from './defence/tool-response-scanner.js';
|
|
15
21
|
// ── Iron Dome ─────────────────────────────────────────────
|
|
@@ -36,7 +42,7 @@ export { backfillGraph } from './graph/backfill.js';
|
|
|
36
42
|
// ── Database ───────────────────────────────────────────────
|
|
37
43
|
export { initDatabase } from './database/init.js';
|
|
38
44
|
// ── Audit ──────────────────────────────────────────────────
|
|
39
|
-
export { scanMemories, scanMcpConfigs, scanEnvFiles, scanRulesFiles } from './audit/index.js';
|
|
45
|
+
export { discoverMemoryFiles, isShieldCortexOwnMemoryPath, scanMemories, scanMemoryFilesDetailed, scanMcpConfigs, scanEnvFiles, scanRulesFiles, } from './audit/index.js';
|
|
40
46
|
export { formatTerminalReport, formatMarkdownReport, formatJsonReport } from './audit/index.js';
|
|
41
47
|
// ── License ────────────────────────────────────────────────
|
|
42
48
|
export { getLicense, getLicenseTier, isFeatureEnabled, requireFeature, listFeatures, FeatureGatedError, verifyLicenseKey, TIER_RANK, } from './license/index.js';
|
package/dist/license/gate.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* isFeatureEnabled('cloud_sync'); // returns boolean (soft check)
|
|
7
7
|
*/
|
|
8
8
|
import { type LicenseTier } from './keys.js';
|
|
9
|
-
export type GatedFeature = 'custom_injection_patterns' | 'custom_iron_dome_policies' | 'custom_firewall_rules' | 'audit_export' | 'skill_scanner_deep' | 'cloud_sync' | 'team_management' | 'shared_patterns' | 'cortex_learning' | 'deps_quarantine' | 'deps_clean' | 'deps_auto_protect' | 'deps_global_scan' | 'memory_types' | 'memory_scopes' | 'dream_mode' | 'llm_reranking' | 'positive_feedback' | 'xray_deep';
|
|
9
|
+
export type GatedFeature = 'custom_injection_patterns' | 'custom_iron_dome_policies' | 'custom_firewall_rules' | 'audit_export' | 'skill_scanner_deep' | 'cloud_sync' | 'team_management' | 'shared_patterns' | 'cortex_learning' | 'deps_quarantine' | 'deps_clean' | 'deps_auto_protect' | 'deps_global_scan' | 'memory_types' | 'memory_scopes' | 'dream_mode' | 'llm_reranking' | 'positive_feedback' | 'local_ai_explainer' | 'memory_file_scan' | 'review_copilot' | 'xray_deep';
|
|
10
10
|
export declare class FeatureGatedError extends Error {
|
|
11
11
|
feature: GatedFeature;
|
|
12
12
|
requiredTier: LicenseTier;
|
package/dist/license/gate.js
CHANGED
|
@@ -26,6 +26,9 @@ const FEATURE_TIERS = {
|
|
|
26
26
|
dream_mode: 'pro',
|
|
27
27
|
llm_reranking: 'pro',
|
|
28
28
|
positive_feedback: 'pro',
|
|
29
|
+
local_ai_explainer: 'pro',
|
|
30
|
+
memory_file_scan: 'pro',
|
|
31
|
+
review_copilot: 'pro',
|
|
29
32
|
xray_deep: 'pro',
|
|
30
33
|
};
|
|
31
34
|
const FEATURE_DESCRIPTIONS = {
|
|
@@ -47,6 +50,9 @@ const FEATURE_DESCRIPTIONS = {
|
|
|
47
50
|
dream_mode: 'Background memory consolidation — merge duplicates, archive stale, detect contradictions.',
|
|
48
51
|
llm_reranking: 'LLM-powered memory reranking for precision recall.',
|
|
49
52
|
positive_feedback: 'Capture what worked, not just what failed — learn from success.',
|
|
53
|
+
local_ai_explainer: 'Local AI explanations for memories, X-Ray findings, and quarantine review without sending content to the cloud.',
|
|
54
|
+
memory_file_scan: 'Scan persistent agent memory files for poisoned instructions and credential leaks.',
|
|
55
|
+
review_copilot: 'Local AI quarantine review annotations, grouping, and batch triage.',
|
|
50
56
|
xray_deep: 'Deep X-Ray scanning: npm registry analysis, binary file inspection, dependency graph risk, and AI-directive detection in metadata and filenames.',
|
|
51
57
|
};
|
|
52
58
|
// ── Error class ──────────────────────────────────────────
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shieldcortex",
|
|
3
|
-
"version": "4.12.
|
|
3
|
+
"version": "4.12.12",
|
|
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",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"scripts": {
|
|
44
44
|
"postinstall": "node scripts/postinstall.mjs",
|
|
45
45
|
"build:ts": "node -e \"fs.rmSync('dist', { recursive: true, force: true }); fs.rmSync('plugins/openclaw/dist', { recursive: true, force: true })\" && tsc -p tsconfig.build.json && tsc -p tsconfig.openclaw-plugin.json && cp plugins/openclaw/openclaw.plugin.json plugins/openclaw/dist/ && cp src/database/schema.sql dist/database/",
|
|
46
|
+
"postbuild:ts": "node scripts/ensure-bin-executable.mjs",
|
|
46
47
|
"bootstrap:dashboard": "node -e \"if (!require('fs').existsSync('dashboard/node_modules')) { process.exit(1); }\" || (cd dashboard && npm ci --no-audit --no-fund)",
|
|
47
48
|
"build:dashboard": "npm run bootstrap:dashboard && cd dashboard && npm run build && (cp -r .next/static .next/standalone/dashboard/.next/ 2>/dev/null || true) && (cp -r public .next/standalone/dashboard/ 2>/dev/null || true) && cd .. && node scripts/prune-dashboard-standalone.mjs",
|
|
48
49
|
"build": "npm run build:ts && npm run build:dashboard",
|
|
@@ -57,6 +58,7 @@
|
|
|
57
58
|
"test:watch": "node scripts/run-jest.mjs --watch",
|
|
58
59
|
"test:coverage": "node scripts/run-jest.mjs --coverage",
|
|
59
60
|
"audit:security": "npm audit --audit-level=moderate",
|
|
61
|
+
"prepack": "node scripts/ensure-bin-executable.mjs",
|
|
60
62
|
"prepublishOnly": "npm run build"
|
|
61
63
|
},
|
|
62
64
|
"keywords": [
|
|
@@ -139,6 +141,7 @@
|
|
|
139
141
|
"hooks/openclaw",
|
|
140
142
|
"plugins/openclaw/dist",
|
|
141
143
|
"scripts/postinstall.mjs",
|
|
144
|
+
"scripts/ensure-bin-executable.mjs",
|
|
142
145
|
"scripts/pre-compact-hook.mjs",
|
|
143
146
|
"scripts/run-jest.mjs",
|
|
144
147
|
"scripts/session-end-hook.mjs",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "shieldcortex-realtime",
|
|
3
|
-
"version": "4.12.
|
|
3
|
+
"version": "4.12.12",
|
|
4
4
|
"name": "ShieldCortex Real-time Scanner",
|
|
5
5
|
"description": "Real-time defence scanning on LLM input, memory extraction on LLM output, and active tool call interception with approval gating.",
|
|
6
6
|
"kind": null,
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { chmodSync, existsSync, statSync } from 'fs';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
|
|
6
|
+
const entrypoint = join(process.cwd(), 'dist', 'index.js');
|
|
7
|
+
|
|
8
|
+
if (!existsSync(entrypoint)) {
|
|
9
|
+
console.error('[ensure-bin-executable] Missing dist/index.js. Run npm run build:ts first.');
|
|
10
|
+
process.exit(1);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const currentMode = statSync(entrypoint).mode;
|
|
14
|
+
const executableMode = currentMode | 0o755;
|
|
15
|
+
|
|
16
|
+
chmodSync(entrypoint, executableMode);
|
|
17
|
+
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[90382,(a,b,c)=>{"use strict";b.exports=a.r(14865).vendored["react-ssr"].ReactServerDOMTurbopackClient},53731,(a,b,c)=>{"use strict";b.exports=a.r(14865).vendored.contexts.HooksClientContext},69136,(a,b,c)=>{"use strict";b.exports=a.r(14865).vendored.contexts.ServerInsertedHtml},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},54935,(a,b,c)=>{"use strict";b.exports=a.r(14865).vendored.contexts.AppRouterContext},18780,(a,b,c)=>{"use strict";b.exports=a.r(14865).vendored["react-ssr"].ReactDOM},9315,a=>{"use strict";var b=a.i(98419),c=a.i(14220),d=a.i(86044);let e=process.env.NEXT_PUBLIC_WS_URL||"ws://localhost:3001/ws/events";function f(a={}){let{enabled:g=!0,onMessage:h}=a,i=(0,c.useQueryClient)(),j=(0,b.useRef)(null),k=(0,b.useRef)(null),l=(0,b.useRef)(0),m=(0,b.useRef)(1e3),n=(0,b.useRef)(()=>{}),[o,p]=(0,b.useState)(!1),[q,r]=(0,b.useState)(!1),[s,t]=(0,b.useState)(null),u=(0,b.useRef)(h);(0,b.useEffect)(()=>{u.current=h},[h]);let v=(0,b.useCallback)(async()=>{if(g&&j.current?.readyState!==WebSocket.OPEN){k.current&&(clearTimeout(k.current),k.current=null);try{let a=await (0,d.getApiToken)(),b=`${e}?token=${encodeURIComponent(a)}`,c=new WebSocket(b);j.current=c,c.onopen=()=>{p(!0),l.current=0,m.current=1e3,console.log("[WebSocket] Connected to memory server")},c.onmessage=a=>{try{let b=JSON.parse(a.data);switch(t({type:b.type,data:b.data,timestamp:b.timestamp||new Date().toISOString()}),u.current?.(b),b.type){case"initial_state":case"consolidation_complete":case"predictive_consolidation":i.invalidateQueries({queryKey:["memories"]}),i.invalidateQueries({queryKey:["stats"]}),i.invalidateQueries({queryKey:["links"]});break;case"memory_created":case"memory_updated":case"memory_deleted":i.invalidateQueries({queryKey:["memories"]}),i.invalidateQueries({queryKey:["stats"]});break;case"decay_tick":case"worker_light_tick":case"worker_medium_tick":break;case"link_discovered":i.invalidateQueries({queryKey:["links"]});break;case"defence_event":i.invalidateQueries({queryKey:["agents"]}),i.invalidateQueries({queryKey:["agent-timeline"]}),i.invalidateQueries({queryKey:["audit-logs"]}),i.invalidateQueries({queryKey:["audit-stats"]});break;case"kill_switch_activated":case"kill_switch_deactivated":i.invalidateQueries({queryKey:["control-status"]}),i.invalidateQueries({queryKey:["iron-dome-status"]}),i.invalidateQueries({queryKey:["iron-dome-audit"]});break;case"update_started":case"update_complete":case"update_failed":"update_complete"===b.type&&(i.invalidateQueries({queryKey:["version"]}),i.invalidateQueries({queryKey:["version-check"]}));break;case"server_restarting":console.log("[WebSocket] Server restarting, will reconnect shortly...");break;case"xray_detection":i.invalidateQueries({queryKey:["xray-activity"]}),i.invalidateQueries({queryKey:["xray-watch-sessions"]}),i.invalidateQueries({queryKey:["xray-findings"]}),i.invalidateQueries({queryKey:["xray-status"]})}}catch(a){console.error("[WebSocket] Failed to parse message:",a)}},c.onerror=()=>{console.warn("[WebSocket] Connection failed - is the API server running?")},c.onclose=a=>{if(p(!1),console.log("[WebSocket] Disconnected",a.code),(1008===a.code||4001===a.code||4003===a.code)&&(0,d.invalidateApiToken)(),g&&l.current<10){let a=m.current;l.current++,m.current=Math.min(2*m.current,3e4),console.log(`[WebSocket] Reconnecting in ${a}ms (attempt ${l.current}/10)...`),k.current=setTimeout(()=>{n.current()},a)}else l.current>=10&&(r(!0),console.error("[WebSocket] Max reconnection attempts reached. Use reconnect() to try again."))}}catch(a){console.error("[WebSocket] Failed to connect:",a)}}},[g,i]);return(0,b.useEffect)(()=>{n.current=v}),(0,b.useEffect)(()=>(g&&v(),()=>{k.current&&clearTimeout(k.current),j.current&&(j.current.close(),j.current=null)}),[g,v]),{isConnected:o,connectionFailed:q,lastEvent:s,reconnect:(0,b.useCallback)(()=>{l.current=0,m.current=1e3,r(!1),v()},[v])}}a.s(["useMemoryWebSocket",()=>f])},66397,a=>{"use strict";let b=(0,a.i(70694).default)("scan-search",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m16 16-1.9-1.9",key:"1dq9hf"}]]);a.s(["ScanSearch",()=>b],66397)},68839,a=>{"use strict";let b;var c=a.i(98419);let d=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},e=a=>{let b=a?d(a):d,e=a=>(function(a,b=a=>a){let d=c.default.useSyncExternalStore(a.subscribe,c.default.useCallback(()=>b(a.getState()),[a,b]),c.default.useCallback(()=>b(a.getInitialState()),[a,b]));return c.default.useDebugValue(d),d})(b,a);return Object.assign(e,b),e},f=(b=a=>({selectedMemory:null,setSelectedMemory:b=>a({selectedMemory:b}),selectedAuditEntry:null,setSelectedAuditEntry:b=>a({selectedAuditEntry:b}),viewMode:"overview",setViewMode:b=>a({viewMode:b}),typeFilter:null,categoryFilter:null,projectFilter:null,setTypeFilter:b=>a({typeFilter:b}),setCategoryFilter:b=>a({categoryFilter:b}),setProjectFilter:b=>a({projectFilter:b}),reviewFocus:null,setReviewFocus:b=>a({reviewFocus:b}),recentEvents:[],addEvent:b=>a(a=>({recentEvents:[b,...a.recentEvents].slice(0,50)})),clearEvents:()=>a({recentEvents:[]}),cameraPosition:[0,0,12],setCameraPosition:b=>a({cameraPosition:b}),showLeftSidebar:!0,showRightSidebar:!0,toggleLeftSidebar:()=>a(a=>({showLeftSidebar:!a.showLeftSidebar})),toggleRightSidebar:()=>a(a=>({showRightSidebar:!a.showRightSidebar})),searchQuery:"",setSearchQuery:b=>a({searchQuery:b}),sidebarPinned:!1,toggleSidebarPinned:()=>a(a=>({sidebarPinned:!a.sidebarPinned})),activeTab:{},setActiveTab:(b,c)=>a(a=>({activeTab:{...a.activeTab,[b]:c}}))}))?e(b):e;a.s(["useDashboardStore",0,f],68839)},95480,a=>{"use strict";let b=(0,a.i(70694).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],95480)},76625,a=>{"use strict";let b=(0,a.i(70694).default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);a.s(["Database",()=>b],76625)},70694,a=>{"use strict";var b=a.i(98419);let c=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)},d=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:c=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:c,height:c,stroke:a,strokeWidth:g?24*Number(f)/Number(c):f,className:d("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:d(`lucide-${c(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=c(a),g};a.s(["default",()=>g],70694)},98472,a=>{"use strict";let b=(0,a.i(70694).default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);a.s(["Shield",()=>b],98472)},73683,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},64575,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},40145,a=>{"use strict";let b=(0,a.i(70694).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Settings",()=>b],40145)},37197,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},67789,a=>{"use strict";var b=a.i(40458),c=a.i(66807),d=a.i(14220),e=a.i(86044),f=a.i(9315);let g=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";async function h(a){let b=new URLSearchParams;a?.project&&b.set("project",a.project),a?.type&&b.set("type",a.type),a?.category&&b.set("category",a.category),a?.limit&&b.set("limit",a.limit.toString()),a?.offset&&b.set("offset",a.offset.toString()),a?.mode&&b.set("mode",a.mode),a?.query&&b.set("query",a.query);let c=await (0,e.authFetch)(`${g}/api/memories?${b}`);if(!c.ok)throw Error("Failed to fetch memories");return c.json()}async function i(a){let b=a?`?project=${a}`:"",c=await (0,e.authFetch)(`${g}/api/stats${b}`);if(!c.ok)throw Error("Failed to fetch stats");return c.json()}async function j(){let a=await (0,e.authFetch)(`${g}/api/capture/openclaw/sessions`);if(!a.ok)throw Error("Failed to fetch OpenClaw sessions");return a.json()}async function k(a){let b=await (0,e.authFetch)(`${g}/api/memories/${a}/access`,{method:"POST"});if(!b.ok)throw Error("Failed to access memory");return b.json()}function l(a){return(0,b.useQuery)({queryKey:["stats",a],queryFn:()=>i(a),refetchInterval:3e4})}function m(){return(0,b.useQuery)({queryKey:["openclaw-sessions"],queryFn:j,staleTime:3e4})}function n(a){let c,d=(0,f.useMemoryWebSocket)();return{...{...c=(0,b.useQuery)({queryKey:["memories",a],queryFn:()=>h(a),refetchInterval:3e4}),data:c.data?.memories,pagination:c.data?.pagination},isConnected:d.isConnected,lastEvent:d.lastEvent}}function o(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:k,onSuccess:()=>{a.invalidateQueries({queryKey:["memories"]}),a.invalidateQueries({queryKey:["stats"]})}})}async function p(){let a=await (0,e.authFetch)(`${g}/api/version`);if(!a.ok)throw Error("Failed to fetch version");return a.json()}function q(){return(0,b.useQuery)({queryKey:["version"],queryFn:p,refetchInterval:6e4,staleTime:3e4})}async function r(a){let b=a?`?project=${a}`:"",c=await (0,e.authFetch)(`${g}/api/memories/quality${b}`);if(!c.ok)throw Error("Failed to fetch quality");return c.json()}function s(a){return(0,b.useQuery)({queryKey:["quality",a],queryFn:()=>r(a),staleTime:3e5})}async function t(a){let b=a?`?project=${a}`:"",c=await (0,e.authFetch)(`${g}/api/contradictions${b}`);if(!c.ok)throw Error("Failed to fetch contradictions");return c.json()}function u(a){return(0,b.useQuery)({queryKey:["contradictions",a],queryFn:()=>t(a),staleTime:3e5})}a.s(["useAccessMemory",()=>o,"useContradictions",()=>u,"useMemoriesWithRealtime",()=>n,"useOpenClawSessions",()=>m,"useQuality",()=>s,"useStats",()=>l,"useVersion",()=>q])},5479,a=>{"use strict";let b=(0,a.i(70694).default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);a.s(["Pin",()=>b],5479)},67819,a=>{"use strict";var b=a.i(16306),c=a.i(11160),d=a.i(52181),e=a.i(70694);let f=(0,e.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var g=a.i(5479);let h=(0,e.default)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var i=a.i(98472),j=a.i(95480),k=a.i(64565),l=a.i(76625);let m=(0,e.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var n=a.i(66397),o=a.i(40145);let p=[{href:"/overview",label:"Overview",icon:m},{href:"/memory",label:"Memory",icon:l.Database},{href:"/protection",label:"Protection",icon:i.Shield},{href:"/xray",label:"X-Ray",icon:n.ScanSearch},{href:"/settings",label:"Settings",icon:o.Settings}];var q=a.i(68839),r=a.i(67789),s=a.i(98419);let t=new Set;function u(){let a,e=(0,d.usePathname)(),{sidebarPinned:l,toggleSidebarPinned:m}=(0,q.useDashboardStore)(),[n,o]=(0,s.useState)(!1),[u,v]=(0,s.useState)(null),w=u===e,x=(a=(0,s.useCallback)(a=>(t.add(a),()=>{t.delete(a)}),[]),(0,s.useSyncExternalStore)(a,()=>!1,()=>!1)),{data:y}=(0,r.useVersion)(),z=l||n||w;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:()=>v(e),className:"fixed left-3 top-3 z-50 flex h-10 w-10 items-center justify-center rounded-xl bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] text-[var(--sc-text-secondary)] md:hidden","aria-label":"Open navigation",children:(0,b.jsx)(f,{size:18})}),w&&(0,b.jsx)("div",{className:"fixed inset-0 z-40 bg-black/50 backdrop-blur-sm md:hidden",onClick:()=>v(null)}),(0,b.jsxs)("aside",{className:(0,k.cn)("z-50 flex shrink-0 flex-col border-r border-[var(--sc-border)] bg-[var(--sc-bg-deep)] transition-all duration-300","fixed inset-y-0 left-0 md:relative",w?"translate-x-0":"-translate-x-full md:translate-x-0",z?"w-60":"w-16"),onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:[(0,b.jsxs)("div",{className:"flex h-16 items-center gap-3 border-b border-[var(--sc-border)] px-4",children:[(0,b.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-gradient-to-br from-[var(--sc-coral)] to-[var(--sc-coral-dark)]",children:(0,b.jsx)(i.Shield,{size:16,className:"text-white"})}),(0,b.jsxs)("div",{className:(0,k.cn)("overflow-hidden whitespace-nowrap transition-all duration-300",z?"w-auto opacity-100":"w-0 opacity-0"),children:[(0,b.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-[var(--sc-coral)]",children:"ShieldCortex"}),(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Dashboard"})]}),w&&(0,b.jsx)("button",{onClick:()=>v(null),className:"ml-auto text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)] md:hidden","aria-label":"Close navigation",children:(0,b.jsx)(j.X,{size:18})})]}),(0,b.jsx)("nav",{className:"flex-1 space-y-1 px-2 py-4",role:"navigation","aria-label":"Main navigation",children:p.map(a=>{var d;let f=a.icon,g="/overview"===(d=a.href)?"/overview"===e||"/"===e:e===d||e.startsWith(`${d}/`);return(0,b.jsxs)(c.default,{href:a.href,"aria-current":g?"page":void 0,className:(0,k.cn)("relative flex items-center gap-3 rounded-xl px-3 py-2.5 transition-all duration-200 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--sc-cyan)]",g?"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-primary)]":"text-[var(--sc-text-muted)] hover:bg-[var(--sc-surface-interactive)] hover:text-[var(--sc-text-secondary)]"),children:[g&&(0,b.jsx)("div",{className:"absolute left-0 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-r bg-[var(--sc-coral)]"}),(0,b.jsx)(f,{size:18,className:(0,k.cn)("shrink-0",g&&"text-[var(--sc-coral)]")}),(0,b.jsx)("span",{className:(0,k.cn)("overflow-hidden whitespace-nowrap text-sm font-medium transition-all duration-300",z?"w-auto opacity-100":"w-0 opacity-0"),children:a.label})]},a.href)})}),(0,b.jsxs)("div",{className:"space-y-2 border-t border-[var(--sc-border)] px-2 py-3",children:[z&&(0,b.jsxs)("button",{onClick:m,className:"hidden w-full items-center gap-3 rounded-xl px-3 py-2 text-[var(--sc-text-muted)] transition-colors hover:bg-[var(--sc-surface-interactive)] hover:text-[var(--sc-text-secondary)] md:flex","aria-label":l?"Unpin sidebar":"Pin sidebar",children:[l?(0,b.jsx)(h,{size:16}):(0,b.jsx)(g.Pin,{size:16}),(0,b.jsx)("span",{className:"text-xs",children:l?"Unpin":"Pin sidebar"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 px-3 py-1",children:[(0,b.jsx)("span",{className:(0,k.cn)("h-2 w-2 shrink-0 rounded-full",x?"bg-[var(--sc-cyan)] pulse-cyan":"bg-[var(--sc-coral)] pulse-coral"),"aria-label":x?"Real-time connected":"Real-time disconnected"}),(0,b.jsx)("span",{className:(0,k.cn)("overflow-hidden whitespace-nowrap text-[11px] text-[var(--sc-text-muted)] transition-all duration-300",z?"w-auto opacity-100":"w-0 opacity-0"),children:x?"Connected":"Disconnected"})]}),(0,b.jsxs)("div",{className:(0,k.cn)("overflow-hidden whitespace-nowrap px-3 font-mono text-[10px] text-[var(--sc-text-muted)] transition-all duration-300",z?"opacity-100":"h-0 opacity-0"),children:["v",y?.version??"..."]})]})]})]})}a.s(["Sidebar",()=>u],67819)},81662,a=>{"use strict";var b=a.i(16306),c=a.i(83364);function d(){return(0,b.jsx)(c.Toaster,{position:"bottom-right",toastOptions:{style:{background:"var(--sc-bg-surface)",border:"1px solid var(--sc-border)",color:"var(--sc-text-primary)",fontFamily:"system-ui, sans-serif"}},theme:"dark"})}a.s(["ToastProvider",()=>d])},16525,a=>{"use strict";var b=a.i(98419),c=a.i(83364),d=a.i(9315);let e=new Map;function f(){let a=(0,b.useCallback)(a=>{var b;if("defence_event"!==a.type)return;let d=a.data;if(!d||"ALLOW"===d.firewall_result)return;let f="BLOCK"===d.firewall_result,g=d.source_identifier||d.source_type||"unknown source",h=(b=d.threat_indicators,b?.length?b.slice(0,3).map(a=>a.replace(/_/g," ")).join(", "):""),i=d.reason?.trim()||(h?`Threats: ${h}`:"See audit log for details");if(function(a){let b=Date.now(),c=e.get(a);if(c&&b-c<2e3)return!0;if(e.set(a,b),e.size>50){let a=b-2e3;for(let[b,c]of e)c<a&&e.delete(b)}return!1}(`${d.firewall_result}:${g}:${(d.reason||"").slice(0,80)}`))return;let j=f?`\u{1F6E1} Blocked attack from ${g}`:`\u{26A0}\u{FE0F} Quarantined input from ${g}`,k={description:i,duration:f?8e3:5e3};f?c.toast.error(j,k):c.toast.warning(j,k)},[]);return(0,d.useMemoryWebSocket)({onMessage:a}),null}a.s(["BlockToastBridge",()=>f])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__4a575c8d._.js.map
|
package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_0734b815._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[54100,60210,a=>{"use strict";var b=a.i(16306),c=a.i(64565);let d={critical:"severity-critical",high:"severity-high",medium:"severity-medium",low:"severity-low",safe:"severity-safe",info:"severity-info"};function e({children:a,className:e,hover:f=!1,hoverCyan:g=!1,strong:h=!1,severity:i,onClick:j,selected:k=!1}){return(0,b.jsx)("div",{className:(0,c.cn)(h?"glass-card-strong":"glass-card",f&&"glass-card-hover cursor-pointer",g&&"glass-card-hover-cyan cursor-pointer",j&&!f&&!g&&"cursor-pointer",i&&d[i],k&&"border-[var(--sc-cyan)] shadow-[0_0_20px_var(--sc-glow-cyan)]",e),onClick:j,onKeyDown:j?a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),j())}:void 0,role:j?"button":void 0,tabIndex:j?0:void 0,children:a})}a.s(["GlassCard",()=>e],54100);let f={critical:"bg-[var(--sc-coral)]/15 text-[var(--sc-coral)] border-[var(--sc-coral)]/30",high:"bg-[var(--sc-coral-mid)]/15 text-[var(--sc-coral-mid)] border-[var(--sc-coral-mid)]/30",medium:"bg-[var(--sc-amber)]/15 text-[var(--sc-amber)] border-[var(--sc-amber)]/30",low:"bg-[var(--sc-cyan-mid)]/15 text-[var(--sc-cyan-mid)] border-[var(--sc-cyan-mid)]/30",safe:"bg-[var(--sc-cyan)]/15 text-[var(--sc-cyan)] border-[var(--sc-cyan)]/30",info:"bg-[var(--sc-text-muted)]/15 text-[var(--sc-text-secondary)] border-[var(--sc-text-muted)]/30",coral:"bg-[var(--sc-coral)]/15 text-[var(--sc-coral)] border-[var(--sc-coral)]/30",cyan:"bg-[var(--sc-cyan)]/15 text-[var(--sc-cyan)] border-[var(--sc-cyan)]/30",amber:"bg-[var(--sc-amber)]/15 text-[var(--sc-amber)] border-[var(--sc-amber)]/30",muted:"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-secondary)] border-[var(--sc-border)]"},g={critical:"bg-[var(--sc-coral)]",high:"bg-[var(--sc-coral-mid)]",medium:"bg-[var(--sc-amber)]",low:"bg-[var(--sc-cyan-mid)]",safe:"bg-[var(--sc-cyan)]",info:"bg-[var(--sc-text-muted)]",coral:"bg-[var(--sc-coral)]",cyan:"bg-[var(--sc-cyan)]",amber:"bg-[var(--sc-amber)]",muted:"bg-[var(--sc-text-muted)]"};function h({children:a,variant:d="muted",className:e,dot:h=!1,pulse:i=!1}){return(0,b.jsxs)("span",{className:(0,c.cn)("inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-[11px] font-semibold uppercase tracking-wider",f[d],e),children:[h&&(0,b.jsx)("span",{className:(0,c.cn)("h-1.5 w-1.5 rounded-full",g[d],i&&"animate-pulse")}),a]})}function i(a){let b=a.toUpperCase();return"CRITICAL"===b?"critical":"HIGH"===b?"high":"MEDIUM"===b?"medium":"LOW"===b?"low":"SAFE"===b?"safe":"info"}a.s(["Badge",()=>h,"riskVariant",()=>i],60210)},20203,a=>{"use strict";let b=(0,a.i(70694).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",()=>b],20203)},13106,a=>{"use strict";var b=a.i(16306),c=a.i(64565);function d({className:a}){return(0,b.jsx)("div",{className:(0,c.cn)("animate-pulse rounded-xl bg-[var(--sc-surface-interactive)]",a)})}function e(){return(0,b.jsxs)("div",{className:"mx-auto max-w-7xl space-y-6 p-6",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(d,{className:"h-3 w-24"}),(0,b.jsx)(d,{className:"h-7 w-56"}),(0,b.jsx)(d,{className:"h-4 w-80"})]}),(0,b.jsx)(d,{className:"h-10 w-96"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:[(0,b.jsx)(d,{className:"h-24"}),(0,b.jsx)(d,{className:"h-24"}),(0,b.jsx)(d,{className:"h-24"}),(0,b.jsx)(d,{className:"h-24"})]}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsx)(d,{className:"h-64"}),(0,b.jsx)(d,{className:"h-64"})]})]})}a.s(["PageSkeleton",()=>e])},29448,14126,a=>{"use strict";var b=a.i(70694);let c=(0,b.default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);a.s(["GitBranch",()=>c],29448);let d=(0,b.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);a.s(["Sparkles",()=>d],14126)},47520,a=>{"use strict";let b=(0,a.i(70694).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",()=>b],47520)},74150,a=>{"use strict";let b=(0,a.i(70694).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],74150)},79155,a=>{"use strict";let b=(0,a.i(70694).default)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);a.s(["ShieldAlert",()=>b],79155)},77115,a=>{"use strict";let b=(0,a.i(70694).default)("clock-3",[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Clock3",()=>b],77115)},35031,79030,a=>{"use strict";var b=a.i(40458),c=a.i(66807),d=a.i(14220),e=a.i(86044);let f=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";async function g(){let a=await (0,e.authFetch)(`${f}/api/license/status`);if(!a.ok)throw Error("Failed to fetch license status");return a.json()}async function h(a){let b=await (0,e.authFetch)(`${f}/api/license/activate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:a})});if(!b.ok)throw Error((await b.json().catch(()=>({error:"Activation failed"}))).error||"Activation failed");return b.json()}async function i(){let a=await (0,e.authFetch)(`${f}/api/license/deactivate`,{method:"POST"});if(!a.ok)throw Error("Failed to deactivate license");return a.json()}function j(){return(0,b.useQuery)({queryKey:["license-status"],queryFn:g,refetchInterval:6e4,retry:2})}function k(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:a=>h(a),onSuccess:()=>{a.invalidateQueries({queryKey:["license-status"]})}})}function l(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:i,onSuccess:()=>{a.invalidateQueries({queryKey:["license-status"]})}})}a.s(["useActivateLicense",()=>k,"useDeactivateLicense",()=>l,"useLicenseStatus",()=>j],35031),a.s(["PLAN_PRICING",0,{pro:{label:"Pro",price:"£29/mo"},team:{label:"Team",price:"£99/mo"}},"TIER_BG",0,{free:"bg-[var(--sc-surface-interactive)]",pro:"bg-[var(--sc-cyan)]/10",team:"bg-[var(--sc-coral)]/10",enterprise:"bg-[var(--sc-amber)]/10"},"TIER_COLOURS",0,{free:"text-[var(--sc-text-muted)]",pro:"text-[var(--sc-cyan)]",team:"text-[var(--sc-coral)]",enterprise:"text-[var(--sc-amber)]"},"TIER_LABELS",0,{free:"Free",pro:"Pro",team:"Team",enterprise:"Enterprise"}],79030)},48036,a=>{"use strict";let b=(0,a.i(70694).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",()=>b],48036)},84692,a=>{"use strict";let b=(0,a.i(70694).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",()=>b],84692)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=dashboard_0734b815._.js.map
|
package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_21edaee1._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[88904,a=>{"use strict";let b=(0,a.i(70694).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",()=>b],88904)},94992,a=>{"use strict";let b=(0,a.i(70694).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",()=>b],94992)},62606,a=>{"use strict";let b=(0,a.i(70694).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",()=>b],62606)},6321,a=>{"use strict";let b=(0,a.i(70694).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",()=>b],6321)},48195,a=>{"use strict";var b=a.i(16306),c=a.i(64565);let d={coral:{icon:"text-[var(--sc-coral)]",iconBg:"bg-[var(--sc-coral)]/10",trendUp:"text-[var(--sc-coral)]",trendDown:"text-[var(--sc-cyan)]"},cyan:{icon:"text-[var(--sc-cyan)]",iconBg:"bg-[var(--sc-cyan)]/10",trendUp:"text-[var(--sc-cyan)]",trendDown:"text-[var(--sc-coral)]"},amber:{icon:"text-[var(--sc-amber)]",iconBg:"bg-[var(--sc-amber)]/10",trendUp:"text-[var(--sc-amber)]",trendDown:"text-[var(--sc-text-muted)]"},muted:{icon:"text-[var(--sc-text-secondary)]",iconBg:"bg-[var(--sc-surface-interactive)]",trendUp:"text-[var(--sc-cyan)]",trendDown:"text-[var(--sc-coral)]"}};function e({label:a,value:e,icon:f,trend:g,accent:h="cyan",className:i}){let j=d[h];return(0,b.jsx)("div",{className:(0,c.cn)("glass-card p-5",i),children:(0,b.jsxs)("div",{className:"flex items-start justify-between",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-xs font-medium uppercase tracking-wider text-[var(--sc-text-muted)]",children:a}),(0,b.jsx)("p",{className:"mt-2 text-2xl font-bold text-[var(--sc-text-primary)]",children:e}),g&&(0,b.jsxs)("p",{className:(0,c.cn)("mt-1 text-xs",g.value>=0?j.trendUp:j.trendDown),children:[g.value>=0?"+":"",g.value,"% ",g.label]})]}),(0,b.jsx)("div",{className:(0,c.cn)("rounded-xl p-2.5",j.iconBg),children:(0,b.jsx)(f,{size:20,className:j.icon})})]})})}a.s(["StatCard",()=>e])},54100,60210,a=>{"use strict";var b=a.i(16306),c=a.i(64565);let d={critical:"severity-critical",high:"severity-high",medium:"severity-medium",low:"severity-low",safe:"severity-safe",info:"severity-info"};function e({children:a,className:e,hover:f=!1,hoverCyan:g=!1,strong:h=!1,severity:i,onClick:j,selected:k=!1}){return(0,b.jsx)("div",{className:(0,c.cn)(h?"glass-card-strong":"glass-card",f&&"glass-card-hover cursor-pointer",g&&"glass-card-hover-cyan cursor-pointer",j&&!f&&!g&&"cursor-pointer",i&&d[i],k&&"border-[var(--sc-cyan)] shadow-[0_0_20px_var(--sc-glow-cyan)]",e),onClick:j,onKeyDown:j?a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),j())}:void 0,role:j?"button":void 0,tabIndex:j?0:void 0,children:a})}a.s(["GlassCard",()=>e],54100);let f={critical:"bg-[var(--sc-coral)]/15 text-[var(--sc-coral)] border-[var(--sc-coral)]/30",high:"bg-[var(--sc-coral-mid)]/15 text-[var(--sc-coral-mid)] border-[var(--sc-coral-mid)]/30",medium:"bg-[var(--sc-amber)]/15 text-[var(--sc-amber)] border-[var(--sc-amber)]/30",low:"bg-[var(--sc-cyan-mid)]/15 text-[var(--sc-cyan-mid)] border-[var(--sc-cyan-mid)]/30",safe:"bg-[var(--sc-cyan)]/15 text-[var(--sc-cyan)] border-[var(--sc-cyan)]/30",info:"bg-[var(--sc-text-muted)]/15 text-[var(--sc-text-secondary)] border-[var(--sc-text-muted)]/30",coral:"bg-[var(--sc-coral)]/15 text-[var(--sc-coral)] border-[var(--sc-coral)]/30",cyan:"bg-[var(--sc-cyan)]/15 text-[var(--sc-cyan)] border-[var(--sc-cyan)]/30",amber:"bg-[var(--sc-amber)]/15 text-[var(--sc-amber)] border-[var(--sc-amber)]/30",muted:"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-secondary)] border-[var(--sc-border)]"},g={critical:"bg-[var(--sc-coral)]",high:"bg-[var(--sc-coral-mid)]",medium:"bg-[var(--sc-amber)]",low:"bg-[var(--sc-cyan-mid)]",safe:"bg-[var(--sc-cyan)]",info:"bg-[var(--sc-text-muted)]",coral:"bg-[var(--sc-coral)]",cyan:"bg-[var(--sc-cyan)]",amber:"bg-[var(--sc-amber)]",muted:"bg-[var(--sc-text-muted)]"};function h({children:a,variant:d="muted",className:e,dot:h=!1,pulse:i=!1}){return(0,b.jsxs)("span",{className:(0,c.cn)("inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-[11px] font-semibold uppercase tracking-wider",f[d],e),children:[h&&(0,b.jsx)("span",{className:(0,c.cn)("h-1.5 w-1.5 rounded-full",g[d],i&&"animate-pulse")}),a]})}function i(a){let b=a.toUpperCase();return"CRITICAL"===b?"critical":"HIGH"===b?"high":"MEDIUM"===b?"medium":"LOW"===b?"low":"SAFE"===b?"safe":"info"}a.s(["Badge",()=>h,"riskVariant",()=>i],60210)},26943,26804,a=>{"use strict";let b=(0,a.i(70694).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",()=>b],26943);var c=a.i(66807),d=a.i(40458),e=a.i(14220),f=a.i(86044);let g=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";async function h(a,b){let c=await (0,f.gatedFetch)(`${g}${a}`);if(!c.ok)throw Error(await (0,f.readApiError)(c,b));return c.json()}async function i(a){let b=await (0,f.gatedFetch)(`${g}/api/xray/scan`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error(await (0,f.readApiError)(b,"Failed to run X-Ray scan"));return b.json()}async function j(a){let b=await (0,f.gatedFetch)(`${g}/api/xray/pick-target`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kind:a})});if(!b.ok)throw Error(await (0,f.readApiError)(b,`Failed to open ${a} picker`));return b.json()}function k(a,b){return!(b instanceof f.FeatureLockedError)&&a<2}function l(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))d&&"all"!==d&&"ALL"!==d&&b.set(c,d);let c=b.toString();return c?`?${c}`:""}function m(){return(0,d.useQuery)({queryKey:["xray-status"],queryFn:()=>h("/api/xray/status","Failed to fetch X-Ray status"),refetchInterval:3e4,retry:k})}function n(a={}){return(0,d.useQuery)({queryKey:["xray-history",a],queryFn:()=>h(`/api/xray/history${l({risk:a.risk,targetType:a.targetType,deep:a.deep,search:a.search?.trim()||void 0})}`,"Failed to fetch X-Ray history"),refetchInterval:3e4,retry:k})}function o(a){return(0,d.useQuery)({queryKey:["xray-history-entry",a],queryFn:()=>h(`/api/xray/history/${a}`,"Failed to fetch X-Ray scan detail"),enabled:!!a,retry:k})}function p(a=25,b={}){return(0,d.useQuery)({queryKey:["xray-activity",a,b],queryFn:()=>h(`/api/xray/activity${l({limit:String(a),kind:b.kind,status:b.status,risk:b.risk,targetType:b.targetType,search:b.search?.trim()||void 0})}`,"Failed to fetch X-Ray activity"),refetchInterval:15e3,retry:k})}function q(a=20,b={}){return(0,d.useQuery)({queryKey:["xray-watch-sessions",a,b],queryFn:()=>h(`/api/xray/watch-sessions${l({limit:String(a),state:b.state,deep:b.deep,search:b.search?.trim()||void 0})}`,"Failed to fetch X-Ray watch sessions"),refetchInterval:15e3,retry:k})}function r(){let a=(0,e.useQueryClient)();return(0,c.useMutation)({mutationFn:i,onSuccess:()=>{a.invalidateQueries({queryKey:["xray-history"]}),a.invalidateQueries({queryKey:["xray-activity"]}),a.invalidateQueries({queryKey:["xray-watch-sessions"]}),a.invalidateQueries({queryKey:["xray-status"]})}})}function s(){return(0,c.useMutation)({mutationFn:a=>j(a)})}async function t(a){let b=await (0,f.gatedFetch)(`${g}/api/xray/watch/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error(await (0,f.readApiError)(b,"Failed to start watch"));return b.json()}async function u(a){let b=await (0,f.gatedFetch)(`${g}/api/xray/watch/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:a})});if(!b.ok)throw Error(await (0,f.readApiError)(b,"Failed to stop watch"));return b.json()}function v(){return(0,d.useQuery)({queryKey:["xray-active-watchers"],queryFn:()=>h("/api/xray/watch/active","Failed to fetch active watchers"),refetchInterval:1e4})}function w(){let a=(0,e.useQueryClient)();return(0,c.useMutation)({mutationFn:t,onSuccess:()=>{a.invalidateQueries({queryKey:["xray-watch-sessions"]}),a.invalidateQueries({queryKey:["xray-active-watchers"]}),a.invalidateQueries({queryKey:["xray-status"]})}})}function x(){let a=(0,e.useQueryClient)();return(0,c.useMutation)({mutationFn:u,onSuccess:()=>{a.invalidateQueries({queryKey:["xray-watch-sessions"]}),a.invalidateQueries({queryKey:["xray-active-watchers"]}),a.invalidateQueries({queryKey:["xray-status"]})}})}a.s(["useActiveWatchers",()=>v,"usePickXRayTarget",()=>s,"useStartWatch",()=>w,"useStopWatch",()=>x,"useXRayActivity",()=>p,"useXRayHistory",()=>n,"useXRayHistoryEntry",()=>o,"useXRayScan",()=>r,"useXRayStatus",()=>m,"useXRayWatchSessions",()=>q],26804)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=dashboard_21edaee1._.js.map
|
package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_354daf70._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[54100,60210,a=>{"use strict";var b=a.i(16306),c=a.i(64565);let d={critical:"severity-critical",high:"severity-high",medium:"severity-medium",low:"severity-low",safe:"severity-safe",info:"severity-info"};function e({children:a,className:e,hover:f=!1,hoverCyan:g=!1,strong:h=!1,severity:i,onClick:j,selected:k=!1}){return(0,b.jsx)("div",{className:(0,c.cn)(h?"glass-card-strong":"glass-card",f&&"glass-card-hover cursor-pointer",g&&"glass-card-hover-cyan cursor-pointer",j&&!f&&!g&&"cursor-pointer",i&&d[i],k&&"border-[var(--sc-cyan)] shadow-[0_0_20px_var(--sc-glow-cyan)]",e),onClick:j,onKeyDown:j?a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),j())}:void 0,role:j?"button":void 0,tabIndex:j?0:void 0,children:a})}a.s(["GlassCard",()=>e],54100);let f={critical:"bg-[var(--sc-coral)]/15 text-[var(--sc-coral)] border-[var(--sc-coral)]/30",high:"bg-[var(--sc-coral-mid)]/15 text-[var(--sc-coral-mid)] border-[var(--sc-coral-mid)]/30",medium:"bg-[var(--sc-amber)]/15 text-[var(--sc-amber)] border-[var(--sc-amber)]/30",low:"bg-[var(--sc-cyan-mid)]/15 text-[var(--sc-cyan-mid)] border-[var(--sc-cyan-mid)]/30",safe:"bg-[var(--sc-cyan)]/15 text-[var(--sc-cyan)] border-[var(--sc-cyan)]/30",info:"bg-[var(--sc-text-muted)]/15 text-[var(--sc-text-secondary)] border-[var(--sc-text-muted)]/30",coral:"bg-[var(--sc-coral)]/15 text-[var(--sc-coral)] border-[var(--sc-coral)]/30",cyan:"bg-[var(--sc-cyan)]/15 text-[var(--sc-cyan)] border-[var(--sc-cyan)]/30",amber:"bg-[var(--sc-amber)]/15 text-[var(--sc-amber)] border-[var(--sc-amber)]/30",muted:"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-secondary)] border-[var(--sc-border)]"},g={critical:"bg-[var(--sc-coral)]",high:"bg-[var(--sc-coral-mid)]",medium:"bg-[var(--sc-amber)]",low:"bg-[var(--sc-cyan-mid)]",safe:"bg-[var(--sc-cyan)]",info:"bg-[var(--sc-text-muted)]",coral:"bg-[var(--sc-coral)]",cyan:"bg-[var(--sc-cyan)]",amber:"bg-[var(--sc-amber)]",muted:"bg-[var(--sc-text-muted)]"};function h({children:a,variant:d="muted",className:e,dot:h=!1,pulse:i=!1}){return(0,b.jsxs)("span",{className:(0,c.cn)("inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-[11px] font-semibold uppercase tracking-wider",f[d],e),children:[h&&(0,b.jsx)("span",{className:(0,c.cn)("h-1.5 w-1.5 rounded-full",g[d],i&&"animate-pulse")}),a]})}function i(a){let b=a.toUpperCase();return"CRITICAL"===b?"critical":"HIGH"===b?"high":"MEDIUM"===b?"medium":"LOW"===b?"low":"SAFE"===b?"safe":"info"}a.s(["Badge",()=>h,"riskVariant",()=>i],60210)},74150,a=>{"use strict";let b=(0,a.i(70694).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],74150)},79155,a=>{"use strict";let b=(0,a.i(70694).default)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);a.s(["ShieldAlert",()=>b],79155)},48195,a=>{"use strict";var b=a.i(16306),c=a.i(64565);let d={coral:{icon:"text-[var(--sc-coral)]",iconBg:"bg-[var(--sc-coral)]/10",trendUp:"text-[var(--sc-coral)]",trendDown:"text-[var(--sc-cyan)]"},cyan:{icon:"text-[var(--sc-cyan)]",iconBg:"bg-[var(--sc-cyan)]/10",trendUp:"text-[var(--sc-cyan)]",trendDown:"text-[var(--sc-coral)]"},amber:{icon:"text-[var(--sc-amber)]",iconBg:"bg-[var(--sc-amber)]/10",trendUp:"text-[var(--sc-amber)]",trendDown:"text-[var(--sc-text-muted)]"},muted:{icon:"text-[var(--sc-text-secondary)]",iconBg:"bg-[var(--sc-surface-interactive)]",trendUp:"text-[var(--sc-cyan)]",trendDown:"text-[var(--sc-coral)]"}};function e({label:a,value:e,icon:f,trend:g,accent:h="cyan",className:i}){let j=d[h];return(0,b.jsx)("div",{className:(0,c.cn)("glass-card p-5",i),children:(0,b.jsxs)("div",{className:"flex items-start justify-between",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-xs font-medium uppercase tracking-wider text-[var(--sc-text-muted)]",children:a}),(0,b.jsx)("p",{className:"mt-2 text-2xl font-bold text-[var(--sc-text-primary)]",children:e}),g&&(0,b.jsxs)("p",{className:(0,c.cn)("mt-1 text-xs",g.value>=0?j.trendUp:j.trendDown),children:[g.value>=0?"+":"",g.value,"% ",g.label]})]}),(0,b.jsx)("div",{className:(0,c.cn)("rounded-xl p-2.5",j.iconBg),children:(0,b.jsx)(f,{size:20,className:j.icon})})]})})}a.s(["StatCard",()=>e])},13106,a=>{"use strict";var b=a.i(16306),c=a.i(64565);function d({className:a}){return(0,b.jsx)("div",{className:(0,c.cn)("animate-pulse rounded-xl bg-[var(--sc-surface-interactive)]",a)})}function e(){return(0,b.jsxs)("div",{className:"mx-auto max-w-7xl space-y-6 p-6",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(d,{className:"h-3 w-24"}),(0,b.jsx)(d,{className:"h-7 w-56"}),(0,b.jsx)(d,{className:"h-4 w-80"})]}),(0,b.jsx)(d,{className:"h-10 w-96"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:[(0,b.jsx)(d,{className:"h-24"}),(0,b.jsx)(d,{className:"h-24"}),(0,b.jsx)(d,{className:"h-24"}),(0,b.jsx)(d,{className:"h-24"})]}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsx)(d,{className:"h-64"}),(0,b.jsx)(d,{className:"h-64"})]})]})}a.s(["PageSkeleton",()=>e])},29448,14126,a=>{"use strict";var b=a.i(70694);let c=(0,b.default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);a.s(["GitBranch",()=>c],29448);let d=(0,b.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);a.s(["Sparkles",()=>d],14126)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=dashboard_354daf70._.js.map
|