shieldcortex 4.9.1 → 4.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
- package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js +1 -1
- 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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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.js.nft.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +17 -16
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +17 -16
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +17 -16
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +17 -16
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +14 -13
- 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 -4
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +14 -13
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_@tanstack_785e068c._.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{[root-of-the-server]__453bd501._.js → [root-of-the-server]__4a575c8d._.js} +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_src_29acd7a4._.js → dashboard_src_564ea5ae._.js} +2 -2
- 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/{a18776eadc9ef21a.js → 2f92786ac35bbdb9.js} +1 -1
- package/dist/environment/fetcher.d.ts +11 -0
- package/dist/environment/fetcher.js +137 -0
- package/dist/environment/hidden-detector.d.ts +2 -0
- package/dist/environment/hidden-detector.js +134 -0
- package/dist/environment/index.d.ts +6 -0
- package/dist/environment/index.js +5 -0
- package/dist/environment/provenance.d.ts +6 -0
- package/dist/environment/provenance.js +127 -0
- package/dist/environment/report.d.ts +3 -0
- package/dist/environment/report.js +89 -0
- package/dist/environment/scanner.d.ts +2 -0
- package/dist/environment/scanner.js +119 -0
- package/dist/environment/taint.d.ts +10 -0
- package/dist/environment/taint.js +43 -0
- package/dist/environment/types.d.ts +56 -0
- package/dist/environment/types.js +1 -0
- package/dist/index.js +31 -0
- package/package.json +5 -1
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_@tanstack_68dcbde9._.js +0 -3
- /package/dashboard/.next/standalone/dashboard/.next/static/{iofdwl2apExjYTMl9CA5i → zLH5idYCQNtqiYpWTaxUj}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{iofdwl2apExjYTMl9CA5i → zLH5idYCQNtqiYpWTaxUj}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{iofdwl2apExjYTMl9CA5i → zLH5idYCQNtqiYpWTaxUj}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,90976,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},17278,e=>{"use strict";let t=(0,e.i(24929).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],17278)},54130,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["Settings",()=>t],54130)},88069,e=>{"use strict";var t=e.i(22534),a=e.i(45688),r=e.i(71921),n=e.i(1235),o=e.i(88969),s=e.i(94156);let i=t.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";async function l(e){let t=new URLSearchParams;e?.project&&t.set("project",e.project),e?.type&&t.set("type",e.type),e?.category&&t.set("category",e.category),e?.limit&&t.set("limit",e.limit.toString()),e?.offset&&t.set("offset",e.offset.toString()),e?.mode&&t.set("mode",e.mode),e?.query&&t.set("query",e.query);let a=await (0,o.authFetch)(`${i}/api/memories?${t}`);if(!a.ok)throw Error("Failed to fetch memories");return a.json()}async function u(e){let t=e?`?project=${e}`:"",a=await (0,o.authFetch)(`${i}/api/stats${t}`);if(!a.ok)throw Error("Failed to fetch stats");return a.json()}async function c(){let e=await (0,o.authFetch)(`${i}/api/capture/openclaw/sessions`);if(!e.ok)throw Error("Failed to fetch OpenClaw sessions");return e.json()}async function d(e){let t=await (0,o.authFetch)(`${i}/api/memories/${e}/access`,{method:"POST"});if(!t.ok)throw Error("Failed to access memory");return t.json()}function f(e){return(0,a.useQuery)({queryKey:["stats",e],queryFn:()=>u(e),refetchInterval:3e4})}function p(){return(0,a.useQuery)({queryKey:["openclaw-sessions"],queryFn:c,staleTime:3e4})}function h(e){let t,r=(0,s.useMemoryWebSocket)();return{...{...t=(0,a.useQuery)({queryKey:["memories",e],queryFn:()=>l(e),refetchInterval:3e4}),data:t.data?.memories,pagination:t.data?.pagination},isConnected:r.isConnected,lastEvent:r.lastEvent}}function m(){let e=(0,n.useQueryClient)();return(0,r.useMutation)({mutationFn:d,onSuccess:()=>{e.invalidateQueries({queryKey:["memories"]}),e.invalidateQueries({queryKey:["stats"]})}})}async function y(){let e=await (0,o.authFetch)(`${i}/api/version`);if(!e.ok)throw Error("Failed to fetch version");return e.json()}function g(){return(0,a.useQuery)({queryKey:["version"],queryFn:y,refetchInterval:6e4,staleTime:3e4})}async function v(e){let t=e?`?project=${e}`:"",a=await (0,o.authFetch)(`${i}/api/memories/quality${t}`);if(!a.ok)throw Error("Failed to fetch quality");return a.json()}function b(e){return(0,a.useQuery)({queryKey:["quality",e],queryFn:()=>v(e),staleTime:3e5})}async function x(e){let t=e?`?project=${e}`:"",a=await (0,o.authFetch)(`${i}/api/contradictions${t}`);if(!a.ok)throw Error("Failed to fetch contradictions");return a.json()}function w(e){return(0,a.useQuery)({queryKey:["contradictions",e],queryFn:()=>x(e),staleTime:3e5})}e.s(["useAccessMemory",()=>m,"useContradictions",()=>w,"useMemoriesWithRealtime",()=>h,"useOpenClawSessions",()=>p,"useQuality",()=>b,"useStats",()=>f,"useVersion",()=>g])},42098,e=>{"use strict";let t;var a=e.i(4);let r=e=>{let t,a=new Set,r=(e,r)=>{let n="function"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=r?r:"object"!=typeof n||null===n)?n:Object.assign({},t,n),a.forEach(a=>a(t,e))}},n=()=>t,o={setState:r,getState:n,getInitialState:()=>s,subscribe:e=>(a.add(e),()=>a.delete(e))},s=t=e(r,n,o);return o},n=e=>{let t=e?r(e):r,n=e=>(function(e,t=e=>e){let r=a.default.useSyncExternalStore(e.subscribe,a.default.useCallback(()=>t(e.getState()),[e,t]),a.default.useCallback(()=>t(e.getInitialState()),[e,t]));return a.default.useDebugValue(r),r})(t,e);return Object.assign(n,t),n},o=(t=e=>({selectedMemory:null,setSelectedMemory:t=>e({selectedMemory:t}),selectedAuditEntry:null,setSelectedAuditEntry:t=>e({selectedAuditEntry:t}),viewMode:"overview",setViewMode:t=>e({viewMode:t}),typeFilter:null,categoryFilter:null,projectFilter:null,setTypeFilter:t=>e({typeFilter:t}),setCategoryFilter:t=>e({categoryFilter:t}),setProjectFilter:t=>e({projectFilter:t}),reviewFocus:null,setReviewFocus:t=>e({reviewFocus:t}),recentEvents:[],addEvent:t=>e(e=>({recentEvents:[t,...e.recentEvents].slice(0,50)})),clearEvents:()=>e({recentEvents:[]}),cameraPosition:[0,0,12],setCameraPosition:t=>e({cameraPosition:t}),showLeftSidebar:!0,showRightSidebar:!0,toggleLeftSidebar:()=>e(e=>({showLeftSidebar:!e.showLeftSidebar})),toggleRightSidebar:()=>e(e=>({showRightSidebar:!e.showRightSidebar})),searchQuery:"",setSearchQuery:t=>e({searchQuery:t}),sidebarPinned:!1,toggleSidebarPinned:()=>e(e=>({sidebarPinned:!e.sidebarPinned})),activeTab:{},setActiveTab:(t,a)=>e(e=>({activeTab:{...e.activeTab,[t]:a}}))}))?n(t):n;e.s(["useDashboardStore",0,o],42098)},16871,(e,t,a)=>{t.exports=e.r(57234)},7571,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["Database",()=>t],7571)},80039,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["Pin",()=>t],80039)},24929,e=>{"use strict";var t=e.i(4);let a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,a)=>a?a.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)},r=(...e)=>e.filter((e,t,a)=>!!e&&""!==e.trim()&&a.indexOf(e)===t).join(" ").trim();var n={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 o=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:o=2,absoluteStrokeWidth:s,className:i="",children:l,iconNode:u,...c},d)=>(0,t.createElement)("svg",{ref:d,...n,width:a,height:a,stroke:e,strokeWidth:s?24*Number(o)/Number(a):o,className:r("lucide",i),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0})(c)&&{"aria-hidden":"true"},...c},[...u.map(([e,a])=>(0,t.createElement)(e,a)),...Array.isArray(l)?l:[l]])),s=(e,n)=>{let s=(0,t.forwardRef)(({className:s,...i},l)=>(0,t.createElement)(o,{ref:l,iconNode:n,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...i}));return s.displayName=a(e),s};e.s(["default",()=>s],24929)},71921,e=>{"use strict";var t=e.i(4),a=e.i(21230),r=e.i(79736),n=e.i(70207),o=e.i(60904),s=class extends n.Subscribable{#e;#t=void 0;#a;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#n()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,o.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#a,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,o.hashKey)(t.mutationKey)!==(0,o.hashKey)(this.options.mutationKey)?this.reset():this.#a?.state.status==="pending"&&this.#a.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#a?.removeObserver(this)}onMutationUpdate(e){this.#n(),this.#o(e)}getCurrentResult(){return this.#t}reset(){this.#a?.removeObserver(this),this.#a=void 0,this.#n(),this.#o()}mutate(e,t){return this.#r=t,this.#a?.removeObserver(this),this.#a=this.#e.getMutationCache().build(this.#e,this.options),this.#a.addObserver(this),this.#a.execute(e)}#n(){let e=this.#a?.state??(0,a.getDefaultState)();this.#t={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#o(e){r.notifyManager.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,a=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#r.onSuccess?.(e.data,t,a,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,a,r)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#r.onError?.(e.error,t,a,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,a,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},i=e.i(1235);function l(e,a){let n=(0,i.useQueryClient)(a),[l]=t.useState(()=>new s(n,e));t.useEffect(()=>{l.setOptions(e)},[l,e]);let u=t.useSyncExternalStore(t.useCallback(e=>l.subscribe(r.notifyManager.batchCalls(e)),[l]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),c=t.useCallback((e,t)=>{l.mutate(e,t).catch(o.noop)},[l]);if(u.error&&(0,o.shouldThrowError)(l.options.throwOnError,[u.error]))throw u.error;return{...u,mutate:c,mutateAsync:u.mutate}}e.s(["useMutation",()=>l],71921)},27528,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["Shield",()=>t],27528)},94156,e=>{"use strict";var t=e.i(22534),a=e.i(4),r=e.i(1235),n=e.i(88969);let o=t.default.env.NEXT_PUBLIC_WS_URL||"ws://localhost:3001/ws/events";function s(e={}){let{enabled:t=!0,onMessage:i}=e,l=(0,r.useQueryClient)(),u=(0,a.useRef)(null),c=(0,a.useRef)(null),d=(0,a.useRef)(0),f=(0,a.useRef)(1e3),p=(0,a.useRef)(()=>{}),[h,m]=(0,a.useState)(!1),[y,g]=(0,a.useState)(!1),[v,b]=(0,a.useState)(null),x=(0,a.useRef)(i);(0,a.useEffect)(()=>{x.current=i},[i]);let w=(0,a.useCallback)(async()=>{if(t&&u.current?.readyState!==WebSocket.OPEN){c.current&&(clearTimeout(c.current),c.current=null);try{let e=await (0,n.getApiToken)(),a=`${o}?token=${encodeURIComponent(e)}`,r=new WebSocket(a);u.current=r,r.onopen=()=>{m(!0),d.current=0,f.current=1e3,console.log("[WebSocket] Connected to memory server")},r.onmessage=e=>{try{let t=JSON.parse(e.data);switch(b({type:t.type,data:t.data,timestamp:t.timestamp||new Date().toISOString()}),x.current?.(t),t.type){case"initial_state":case"consolidation_complete":case"predictive_consolidation":l.invalidateQueries({queryKey:["memories"]}),l.invalidateQueries({queryKey:["stats"]}),l.invalidateQueries({queryKey:["links"]});break;case"memory_created":case"memory_updated":case"memory_deleted":l.invalidateQueries({queryKey:["memories"]}),l.invalidateQueries({queryKey:["stats"]});break;case"decay_tick":case"worker_light_tick":case"worker_medium_tick":break;case"link_discovered":l.invalidateQueries({queryKey:["links"]});break;case"defence_event":l.invalidateQueries({queryKey:["agents"]}),l.invalidateQueries({queryKey:["agent-timeline"]}),l.invalidateQueries({queryKey:["audit-logs"]}),l.invalidateQueries({queryKey:["audit-stats"]});break;case"kill_switch_activated":case"kill_switch_deactivated":l.invalidateQueries({queryKey:["control-status"]}),l.invalidateQueries({queryKey:["iron-dome-status"]}),l.invalidateQueries({queryKey:["iron-dome-audit"]});break;case"update_started":case"update_complete":case"update_failed":"update_complete"===t.type&&(l.invalidateQueries({queryKey:["version"]}),l.invalidateQueries({queryKey:["version-check"]}));break;case"server_restarting":console.log("[WebSocket] Server restarting, will reconnect shortly...");break;case"xray_detection":l.invalidateQueries({queryKey:["xray-activity"]}),l.invalidateQueries({queryKey:["xray-watch-sessions"]}),l.invalidateQueries({queryKey:["xray-findings"]}),l.invalidateQueries({queryKey:["xray-status"]})}}catch(e){console.error("[WebSocket] Failed to parse message:",e)}},r.onerror=()=>{console.warn("[WebSocket] Connection failed - is the API server running?")},r.onclose=e=>{if(m(!1),console.log("[WebSocket] Disconnected",e.code),(1008===e.code||4001===e.code||4003===e.code)&&(0,n.invalidateApiToken)(),t&&d.current<10){let e=f.current;d.current++,f.current=Math.min(2*f.current,3e4),console.log(`[WebSocket] Reconnecting in ${e}ms (attempt ${d.current}/10)...`),c.current=setTimeout(()=>{p.current()},e)}else d.current>=10&&(g(!0),console.error("[WebSocket] Max reconnection attempts reached. Use reconnect() to try again."))}}catch(e){console.error("[WebSocket] Failed to connect:",e)}}},[t,l]);return(0,a.useEffect)(()=>{p.current=w}),(0,a.useEffect)(()=>(t&&w(),()=>{c.current&&clearTimeout(c.current),u.current&&(u.current.close(),u.current=null)}),[t,w]),{isConnected:h,connectionFailed:y,lastEvent:v,reconnect:(0,a.useCallback)(()=>{d.current=0,f.current=1e3,g(!1),w()},[w])}}e.s(["useMemoryWebSocket",()=>s])},76344,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["ScanSearch",()=>t],76344)},21475,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return i}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});function o(e){let t={};for(let[a,r]of e.entries()){let e=t[a];void 0===e?t[a]=r:Array.isArray(e)?e.push(r):t[a]=[e,r]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[a,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(a,s(e));else t.set(a,s(r));return t}function l(e,...t){for(let a of t){for(let t of a.keys())e.delete(t);for(let[t,r]of a.entries())e.append(t,r)}return e}},78559,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={formatUrl:function(){return i},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});let o=e.r(87533)._(e.r(21475)),s=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:a}=e,r=e.protocol||"",n=e.pathname||"",i=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:a&&(u=t+(~a.indexOf(":")?`[${a}]`:a),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||s.test(r))&&!1!==u?(u="//"+(u||""),n&&"/"!==n[0]&&(n="/"+n)):u||(u=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),n=n.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${n}${c}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return i(e)}},65445,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"useMergedRef",{enumerable:!0,get:function(){return n}});let r=e.r(4);function n(e,t){let a=(0,r.useRef)(null),n=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=a.current;e&&(a.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(a.current=o(e,r)),t&&(n.current=o(t,r))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let a=e(t);return"function"==typeof a?a:()=>e(null)}}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},45212,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return x},NormalizeError:function(){return v},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return y},WEB_VITALS:function(){return o},execOnce:function(){return s},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return k}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,a=!1;return(...r)=>(a||(a=!0,t=e(...r)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>i.test(e);function u(){let{protocol:e,hostname:t,port:a}=window.location;return`${e}//${t}${a?":"+a:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let a=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(a&&f(a))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r}let m="u">typeof performance,y=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class v extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class x extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},81412,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"isLocalURL",{enumerable:!0,get:function(){return o}});let r=e.r(45212),n=e.r(35814);function o(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),a=new URL(e,t);return a.origin===t&&(0,n.hasBasePath)(a.pathname)}catch(e){return!1}}},44083,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},56640,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={default:function(){return g},useLinkStatus:function(){return b}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});let o=e.r(87533),s=e.r(27493),i=o._(e.r(4)),l=e.r(78559),u=e.r(94132),c=e.r(65445),d=e.r(45212),f=e.r(43612);e.r(90976);let p=e.r(39271),h=e.r(81412),m=e.r(68714);function y(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var a;let r,n,o,[l,g]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,i.useRef)(null),{href:x,as:w,children:k,prefetch:E=null,passHref:S,replace:j,shallow:M,scroll:C,onClick:N,onMouseEnter:P,onTouchStart:T,legacyBehavior:R=!1,onNavigate:O,ref:_,unstable_dynamicOnHover:$,...A}=t;r=k,R&&("string"==typeof r||"number"==typeof r)&&(r=(0,s.jsx)("a",{children:r}));let z=i.default.useContext(u.AppRouterContext),F=!1!==E,L=!1!==E?null===(a=E)||"auto"===a?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,{href:q,as:I}=i.default.useMemo(()=>{let e=y(x);return{href:e,as:w?y(w):e}},[x,w]);if(R){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=i.default.Children.only(r)}let K=R?n&&"object"==typeof n&&n.ref:_,B=i.default.useCallback(e=>(null!==z&&(b.current=(0,p.mountLinkInstance)(e,q,z,L,F,g)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[F,q,z,L,g]),D={ref:(0,c.useMergedRef)(B,K),onClick(t){R||"function"!=typeof N||N(t),R&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(t),!z||t.defaultPrevented||function(t,a,r,n,o,s,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(a)){o&&(t.preventDefault(),location.replace(a));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(87046);i.default.startTransition(()=>{d(r||a,o?"replace":"push",s??!0,n.current)})}}(t,q,I,b,j,C,O)},onMouseEnter(e){R||"function"!=typeof P||P(e),R&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),z&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){R||"function"!=typeof T||T(e),R&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),z&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,d.isAbsoluteUrl)(I)?D.href=I:R&&!S&&("a"!==n.type||"href"in n.props)||(D.href=(0,f.addBasePath)(I)),o=R?i.default.cloneElement(n,D):(0,s.jsx)("a",{...A,...D,children:r}),(0,s.jsx)(v.Provider,{value:l,children:o})}e.r(44083);let v=(0,i.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,i.useContext)(v);("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},48615,e=>{"use strict";var t=e.i(4),a=e.i(9854);let r=Array(12).fill(0),n=({visible:e,className:a})=>t.default.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":e},t.default.createElement("div",{className:"sonner-spinner"},r.map((e,a)=>t.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),o=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),s=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),i=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),l=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),u=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},t.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),t.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),c=1,d=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:a,...r}=e,n="number"==typeof(null==e?void 0:e.id)||(null==(t=e.id)?void 0:t.length)>0?e.id:c++,o=this.toasts.find(e=>e.id===n),s=void 0===e.dismissible||e.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),o?this.toasts=this.toasts.map(t=>t.id===n?(this.publish({...t,...e,id:n,title:a}),{...t,...e,id:n,dismissible:s,title:a}):t):this.addToast({title:a,...r,dismissible:s,id:n}),n},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,a)=>{let r,n;if(!a)return;void 0!==a.loading&&(n=this.create({...a,promise:e,type:"loading",message:a.loading,description:"function"!=typeof a.description?a.description:void 0}));let o=Promise.resolve(e instanceof Function?e():e),s=void 0!==n,i=o.then(async e=>{if(r=["resolve",e],t.default.isValidElement(e))s=!1,this.create({id:n,type:"default",message:e});else if(f(e)&&!e.ok){s=!1;let r="function"==typeof a.error?await a.error(`HTTP error! status: ${e.status}`):a.error,o="function"==typeof a.description?await a.description(`HTTP error! status: ${e.status}`):a.description,i="object"!=typeof r||t.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"error",description:o,...i})}else if(e instanceof Error){s=!1;let r="function"==typeof a.error?await a.error(e):a.error,o="function"==typeof a.description?await a.description(e):a.description,i="object"!=typeof r||t.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"error",description:o,...i})}else if(void 0!==a.success){s=!1;let r="function"==typeof a.success?await a.success(e):a.success,o="function"==typeof a.description?await a.description(e):a.description,i="object"!=typeof r||t.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"success",description:o,...i})}}).catch(async e=>{if(r=["reject",e],void 0!==a.error){s=!1;let r="function"==typeof a.error?await a.error(e):a.error,o="function"==typeof a.description?await a.description(e):a.description,i="object"!=typeof r||t.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"error",description:o,...i})}}).finally(()=>{s&&(this.dismiss(n),n=void 0),null==a.finally||a.finally.call(a)}),l=()=>new Promise((e,t)=>i.then(()=>"reject"===r[0]?t(r[1]):e(r[1])).catch(t));return"string"!=typeof n&&"number"!=typeof n?{unwrap:l}:Object.assign(n,{unwrap:l})},this.custom=(e,t)=>{let a=(null==t?void 0:t.id)||c++;return this.create({jsx:e(a),id:a,...t}),a},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},f=e=>e&&"object"==typeof e&&"ok"in e&&"boolean"==typeof e.ok&&"status"in e&&"number"==typeof e.status,p=Object.assign((e,t)=>{let a=(null==t?void 0:t.id)||c++;return d.addToast({title:e,...t,id:a}),a},{success:d.success,info:d.info,warning:d.warning,error:d.error,custom:d.custom,message:d.message,promise:d.promise,dismiss:d.dismiss,loading:d.loading},{getHistory:()=>d.toasts,getToasts:()=>d.getActiveToasts()});function h(e){return void 0!==e.label}function m(...e){return e.filter(Boolean).join(" ")}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let y=e=>{var a,r,c,d,f,p,y,g,v,b,x,w,k;let{invert:E,toast:S,unstyled:j,interacting:M,setHeights:C,visibleToasts:N,heights:P,index:T,toasts:R,expanded:O,removeToast:_,defaultRichColors:$,closeButton:A,style:z,cancelButtonStyle:F,actionButtonStyle:L,className:q="",descriptionClassName:I="",duration:K,position:B,gap:D,expandByDefault:U,classNames:Q,icons:V,closeButtonAriaLabel:W="Close toast"}=e,[Y,X]=t.default.useState(null),[H,Z]=t.default.useState(null),[J,G]=t.default.useState(!1),[ee,et]=t.default.useState(!1),[ea,er]=t.default.useState(!1),[en,eo]=t.default.useState(!1),[es,ei]=t.default.useState(!1),[el,eu]=t.default.useState(0),[ec,ed]=t.default.useState(0),ef=t.default.useRef(S.duration||K||4e3),ep=t.default.useRef(null),eh=t.default.useRef(null),em=0===T,ey=T+1<=N,eg=S.type,ev=!1!==S.dismissible,eb=S.className||"",ex=S.descriptionClassName||"",ew=t.default.useMemo(()=>P.findIndex(e=>e.toastId===S.id)||0,[P,S.id]),ek=t.default.useMemo(()=>{var e;return null!=(e=S.closeButton)?e:A},[S.closeButton,A]),eE=t.default.useMemo(()=>S.duration||K||4e3,[S.duration,K]),eS=t.default.useRef(0),ej=t.default.useRef(0),eM=t.default.useRef(0),eC=t.default.useRef(null),[eN,eP]=B.split("-"),eT=t.default.useMemo(()=>P.reduce((e,t,a)=>a>=ew?e:e+t.height,0),[P,ew]),eR=(()=>{let[e,a]=t.default.useState(document.hidden);return t.default.useEffect(()=>{let e=()=>{a(document.hidden)};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)},[]),e})(),eO=S.invert||E,e_="loading"===eg;ej.current=t.default.useMemo(()=>ew*D+eT,[ew,eT]),t.default.useEffect(()=>{ef.current=eE},[eE]),t.default.useEffect(()=>{G(!0)},[]),t.default.useEffect(()=>{let e=eh.current;if(e){let t=e.getBoundingClientRect().height;return ed(t),C(e=>[{toastId:S.id,height:t,position:S.position},...e]),()=>C(e=>e.filter(e=>e.toastId!==S.id))}},[C,S.id]),t.default.useLayoutEffect(()=>{if(!J)return;let e=eh.current,t=e.style.height;e.style.height="auto";let a=e.getBoundingClientRect().height;e.style.height=t,ed(a),C(e=>e.find(e=>e.toastId===S.id)?e.map(e=>e.toastId===S.id?{...e,height:a}:e):[{toastId:S.id,height:a,position:S.position},...e])},[J,S.title,S.description,C,S.id,S.jsx,S.action,S.cancel]);let e$=t.default.useCallback(()=>{et(!0),eu(ej.current),C(e=>e.filter(e=>e.toastId!==S.id)),setTimeout(()=>{_(S)},200)},[S,_,C,ej]);t.default.useEffect(()=>{let e;if((!S.promise||"loading"!==eg)&&S.duration!==1/0&&"loading"!==S.type){if(O||M||eR){if(eM.current<eS.current){let e=new Date().getTime()-eS.current;ef.current=ef.current-e}eM.current=new Date().getTime()}else ef.current!==1/0&&(eS.current=new Date().getTime(),e=setTimeout(()=>{null==S.onAutoClose||S.onAutoClose.call(S,S),e$()},ef.current));return()=>clearTimeout(e)}},[O,M,S,eg,eR,e$]),t.default.useEffect(()=>{S.delete&&(e$(),null==S.onDismiss||S.onDismiss.call(S,S))},[e$,S.delete]);let eA=S.icon||(null==V?void 0:V[eg])||(e=>{switch(e){case"success":return o;case"info":return i;case"warning":return s;case"error":return l;default:return null}})(eg);return t.default.createElement("li",{tabIndex:0,ref:eh,className:m(q,eb,null==Q?void 0:Q.toast,null==S||null==(a=S.classNames)?void 0:a.toast,null==Q?void 0:Q.default,null==Q?void 0:Q[eg],null==S||null==(r=S.classNames)?void 0:r[eg]),"data-sonner-toast":"","data-rich-colors":null!=(b=S.richColors)?b:$,"data-styled":!(S.jsx||S.unstyled||j),"data-mounted":J,"data-promise":!!S.promise,"data-swiped":es,"data-removed":ee,"data-visible":ey,"data-y-position":eN,"data-x-position":eP,"data-index":T,"data-front":em,"data-swiping":ea,"data-dismissible":ev,"data-type":eg,"data-invert":eO,"data-swipe-out":en,"data-swipe-direction":H,"data-expanded":!!(O||U&&J),"data-testid":S.testId,style:{"--index":T,"--toasts-before":T,"--z-index":R.length-T,"--offset":`${ee?el:ej.current}px`,"--initial-height":U?"auto":`${ec}px`,...z,...S.style},onDragEnd:()=>{er(!1),X(null),eC.current=null},onPointerDown:e=>{2===e.button||e_||!ev||(ep.current=new Date,eu(ej.current),e.target.setPointerCapture(e.pointerId),"BUTTON"!==e.target.tagName&&(er(!0),eC.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{var e,t,a,r,n;if(en||!ev)return;eC.current=null;let o=Number((null==(e=eh.current)?void 0:e.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(t=eh.current)?void 0:t.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=ep.current)?void 0:a.getTime()),l="x"===Y?o:s,u=Math.abs(l)/i;if(Math.abs(l)>=45||u>.11){eu(ej.current),null==S.onDismiss||S.onDismiss.call(S,S),"x"===Y?Z(o>0?"right":"left"):Z(s>0?"down":"up"),e$(),eo(!0);return}null==(r=eh.current)||r.style.setProperty("--swipe-amount-x","0px"),null==(n=eh.current)||n.style.setProperty("--swipe-amount-y","0px"),ei(!1),er(!1),X(null)},onPointerMove:t=>{var a,r,n,o;if(!eC.current||!ev||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let s=t.clientY-eC.current.y,i=t.clientX-eC.current.x,l=null!=(o=e.swipeDirections)?o:function(e){let[t,a]=e.split("-"),r=[];return t&&r.push(t),a&&r.push(a),r}(B);!Y&&(Math.abs(i)>1||Math.abs(s)>1)&&X(Math.abs(i)>Math.abs(s)?"x":"y");let u={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if("y"===Y){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&s<0||l.includes("bottom")&&s>0)u.y=s;else{let e=s*c(s);u.y=Math.abs(e)<Math.abs(s)?e:s}}else if("x"===Y&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)u.x=i;else{let e=i*c(i);u.x=Math.abs(e)<Math.abs(i)?e:i}(Math.abs(u.x)>0||Math.abs(u.y)>0)&&ei(!0),null==(r=eh.current)||r.style.setProperty("--swipe-amount-x",`${u.x}px`),null==(n=eh.current)||n.style.setProperty("--swipe-amount-y",`${u.y}px`)}},ek&&!S.jsx&&"loading"!==eg?t.default.createElement("button",{"aria-label":W,"data-disabled":e_,"data-close-button":!0,onClick:e_||!ev?()=>{}:()=>{e$(),null==S.onDismiss||S.onDismiss.call(S,S)},className:m(null==Q?void 0:Q.closeButton,null==S||null==(c=S.classNames)?void 0:c.closeButton)},null!=(x=null==V?void 0:V.close)?x:u):null,(eg||S.icon||S.promise)&&null!==S.icon&&((null==V?void 0:V[eg])!==null||S.icon)?t.default.createElement("div",{"data-icon":"",className:m(null==Q?void 0:Q.icon,null==S||null==(d=S.classNames)?void 0:d.icon)},S.promise||"loading"===S.type&&!S.icon?S.icon||((null==V?void 0:V.loading)?t.default.createElement("div",{className:m(null==Q?void 0:Q.loader,null==S||null==(k=S.classNames)?void 0:k.loader,"sonner-loader"),"data-visible":"loading"===eg},V.loading):t.default.createElement(n,{className:m(null==Q?void 0:Q.loader,null==S||null==(w=S.classNames)?void 0:w.loader),visible:"loading"===eg})):null,"loading"!==S.type?eA:null):null,t.default.createElement("div",{"data-content":"",className:m(null==Q?void 0:Q.content,null==S||null==(f=S.classNames)?void 0:f.content)},t.default.createElement("div",{"data-title":"",className:m(null==Q?void 0:Q.title,null==S||null==(p=S.classNames)?void 0:p.title)},S.jsx?S.jsx:"function"==typeof S.title?S.title():S.title),S.description?t.default.createElement("div",{"data-description":"",className:m(I,ex,null==Q?void 0:Q.description,null==S||null==(y=S.classNames)?void 0:y.description)},"function"==typeof S.description?S.description():S.description):null),t.default.isValidElement(S.cancel)?S.cancel:S.cancel&&h(S.cancel)?t.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:S.cancelButtonStyle||F,onClick:e=>{!h(S.cancel)||ev&&(null==S.cancel.onClick||S.cancel.onClick.call(S.cancel,e),e$())},className:m(null==Q?void 0:Q.cancelButton,null==S||null==(g=S.classNames)?void 0:g.cancelButton)},S.cancel.label):null,t.default.isValidElement(S.action)?S.action:S.action&&h(S.action)?t.default.createElement("button",{"data-button":!0,"data-action":!0,style:S.actionButtonStyle||L,onClick:e=>{!h(S.action)||(null==S.action.onClick||S.action.onClick.call(S.action,e),e.defaultPrevented||e$())},className:m(null==Q?void 0:Q.actionButton,null==S||null==(v=S.classNames)?void 0:v.actionButton)},S.action.label):null)};function g(){if("u"<typeof window||"u"<typeof document)return"ltr";let e=document.documentElement.getAttribute("dir");return"auto"!==e&&e?e:window.getComputedStyle(document.documentElement).direction}let v=t.default.forwardRef(function(e,r){let{id:n,invert:o,position:s="bottom-right",hotkey:i=["altKey","KeyT"],expand:l,closeButton:u,className:c,offset:f,mobileOffset:p,theme:h="light",richColors:m,duration:v,style:b,visibleToasts:x=3,toastOptions:w,dir:k=g(),gap:E=14,icons:S,containerAriaLabel:j="Notifications"}=e,[M,C]=t.default.useState([]),N=t.default.useMemo(()=>n?M.filter(e=>e.toasterId===n):M.filter(e=>!e.toasterId),[M,n]),P=t.default.useMemo(()=>Array.from(new Set([s].concat(N.filter(e=>e.position).map(e=>e.position)))),[N,s]),[T,R]=t.default.useState([]),[O,_]=t.default.useState(!1),[$,A]=t.default.useState(!1),[z,F]=t.default.useState("system"!==h?h:"u">typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),L=t.default.useRef(null),q=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),I=t.default.useRef(null),K=t.default.useRef(!1),B=t.default.useCallback(e=>{C(t=>{var a;return(null==(a=t.find(t=>t.id===e.id))?void 0:a.delete)||d.dismiss(e.id),t.filter(({id:t})=>t!==e.id)})},[]);return t.default.useEffect(()=>d.subscribe(e=>{e.dismiss?requestAnimationFrame(()=>{C(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))}):setTimeout(()=>{a.default.flushSync(()=>{C(t=>{let a=t.findIndex(t=>t.id===e.id);return -1!==a?[...t.slice(0,a),{...t[a],...e},...t.slice(a+1)]:[e,...t]})})})}),[M]),t.default.useEffect(()=>{if("system"!==h)return void F(h);if("system"===h&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?F("dark"):F("light")),"u"<typeof window)return;let e=window.matchMedia("(prefers-color-scheme: dark)");try{e.addEventListener("change",({matches:e})=>{e?F("dark"):F("light")})}catch(t){e.addListener(({matches:e})=>{try{e?F("dark"):F("light")}catch(e){console.error(e)}})}},[h]),t.default.useEffect(()=>{M.length<=1&&_(!1)},[M]),t.default.useEffect(()=>{let e=e=>{var t,a;i.every(t=>e[t]||e.code===t)&&(_(!0),null==(a=L.current)||a.focus()),"Escape"===e.code&&(document.activeElement===L.current||(null==(t=L.current)?void 0:t.contains(document.activeElement)))&&_(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[i]),t.default.useEffect(()=>{if(L.current)return()=>{I.current&&(I.current.focus({preventScroll:!0}),I.current=null,K.current=!1)}},[L.current]),t.default.createElement("section",{ref:r,"aria-label":`${j} ${q}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},P.map((a,r)=>{var n;let s,[i,d]=a.split("-");return N.length?t.default.createElement("ol",{key:a,dir:"auto"===k?g():k,tabIndex:-1,ref:L,className:c,"data-sonner-toaster":!0,"data-sonner-theme":z,"data-y-position":i,"data-x-position":d,style:{"--front-toast-height":`${(null==(n=T[0])?void 0:n.height)||0}px`,"--width":"356px","--gap":`${E}px`,...b,...(s={},[f,p].forEach((e,t)=>{let a=1===t,r=a?"--mobile-offset":"--offset",n=a?"16px":"24px";function o(e){["top","right","bottom","left"].forEach(t=>{s[`${r}-${t}`]="number"==typeof e?`${e}px`:e})}"number"==typeof e||"string"==typeof e?o(e):"object"==typeof e?["top","right","bottom","left"].forEach(t=>{void 0===e[t]?s[`${r}-${t}`]=n:s[`${r}-${t}`]="number"==typeof e[t]?`${e[t]}px`:e[t]}):o(n)}),s)},onBlur:e=>{K.current&&!e.currentTarget.contains(e.relatedTarget)&&(K.current=!1,I.current&&(I.current.focus({preventScroll:!0}),I.current=null))},onFocus:e=>{!(e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible)&&(K.current||(K.current=!0,I.current=e.relatedTarget))},onMouseEnter:()=>_(!0),onMouseMove:()=>_(!0),onMouseLeave:()=>{$||_(!1)},onDragEnd:()=>_(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible||A(!0)},onPointerUp:()=>A(!1)},N.filter(e=>!e.position&&0===r||e.position===a).map((r,n)=>{var s,i;return t.default.createElement(y,{key:r.id,icons:S,index:n,toast:r,defaultRichColors:m,duration:null!=(s=null==w?void 0:w.duration)?s:v,className:null==w?void 0:w.className,descriptionClassName:null==w?void 0:w.descriptionClassName,invert:o,visibleToasts:x,closeButton:null!=(i=null==w?void 0:w.closeButton)?i:u,interacting:$,position:a,style:null==w?void 0:w.style,unstyled:null==w?void 0:w.unstyled,classNames:null==w?void 0:w.classNames,cancelButtonStyle:null==w?void 0:w.cancelButtonStyle,actionButtonStyle:null==w?void 0:w.actionButtonStyle,closeButtonAriaLabel:null==w?void 0:w.closeButtonAriaLabel,removeToast:B,toasts:N.filter(e=>e.position==r.position),heights:T.filter(e=>e.position==r.position),setHeights:R,expandByDefault:l,gap:E,expanded:O,swipeDirections:e.swipeDirections})})):null}))});e.s(["Toaster",()=>v,"toast",()=>p])},48416,e=>{"use strict";var t=e.i(27493),a=e.i(56640),r=e.i(16871),n=e.i(24929);let o=(0,n.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var s=e.i(80039);let i=(0,n.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 l=e.i(27528),u=e.i(17278),c=e.i(76490),d=e.i(7571);let f=(0,n.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 p=e.i(76344),h=e.i(54130);let m=[{href:"/overview",label:"Overview",icon:f},{href:"/memory",label:"Memory",icon:d.Database},{href:"/protection",label:"Protection",icon:l.Shield},{href:"/xray",label:"X-Ray",icon:p.ScanSearch},{href:"/settings",label:"Settings",icon:h.Settings}];var y=e.i(42098),g=e.i(88069),v=e.i(4);let b=!1,x=new Set;function w(){x.forEach(e=>e())}function k(){try{let e=new WebSocket("ws://localhost:3001/ws/events");e.onopen=()=>{b=!0,w(),e.close()},e.onerror=()=>{b=!1,w()}}catch{b=!1,w()}}function E(){let e,n=(0,r.usePathname)(),{sidebarPinned:d,toggleSidebarPinned:f}=(0,y.useDashboardStore)(),[p,h]=(0,v.useState)(!1),[w,k]=(0,v.useState)(null),E=w===n,S=(e=(0,v.useCallback)(e=>(x.add(e),()=>{x.delete(e)}),[]),(0,v.useSyncExternalStore)(e,()=>b,()=>!1)),{data:j}=(0,g.useVersion)(),M=d||p||E;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>k(n),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,t.jsx)(o,{size:18})}),E&&(0,t.jsx)("div",{className:"fixed inset-0 z-40 bg-black/50 backdrop-blur-sm md:hidden",onClick:()=>k(null)}),(0,t.jsxs)("aside",{className:(0,c.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",E?"translate-x-0":"-translate-x-full md:translate-x-0",M?"w-60":"w-16"),onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),children:[(0,t.jsxs)("div",{className:"flex h-16 items-center gap-3 border-b border-[var(--sc-border)] px-4",children:[(0,t.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,t.jsx)(l.Shield,{size:16,className:"text-white"})}),(0,t.jsxs)("div",{className:(0,c.cn)("overflow-hidden whitespace-nowrap transition-all duration-300",M?"w-auto opacity-100":"w-0 opacity-0"),children:[(0,t.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-[var(--sc-coral)]",children:"ShieldCortex"}),(0,t.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Dashboard"})]}),E&&(0,t.jsx)("button",{onClick:()=>k(null),className:"ml-auto text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)] md:hidden","aria-label":"Close navigation",children:(0,t.jsx)(u.X,{size:18})})]}),(0,t.jsx)("nav",{className:"flex-1 space-y-1 px-2 py-4",role:"navigation","aria-label":"Main navigation",children:m.map(e=>{var r;let o=e.icon,s="/overview"===(r=e.href)?"/overview"===n||"/"===n:n===r||n.startsWith(`${r}/`);return(0,t.jsxs)(a.default,{href:e.href,"aria-current":s?"page":void 0,className:(0,c.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)]",s?"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:[s&&(0,t.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,t.jsx)(o,{size:18,className:(0,c.cn)("shrink-0",s&&"text-[var(--sc-coral)]")}),(0,t.jsx)("span",{className:(0,c.cn)("overflow-hidden whitespace-nowrap text-sm font-medium transition-all duration-300",M?"w-auto opacity-100":"w-0 opacity-0"),children:e.label})]},e.href)})}),(0,t.jsxs)("div",{className:"space-y-2 border-t border-[var(--sc-border)] px-2 py-3",children:[M&&(0,t.jsxs)("button",{onClick:f,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":d?"Unpin sidebar":"Pin sidebar",children:[d?(0,t.jsx)(i,{size:16}):(0,t.jsx)(s.Pin,{size:16}),(0,t.jsx)("span",{className:"text-xs",children:d?"Unpin":"Pin sidebar"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-1",children:[(0,t.jsx)("span",{className:(0,c.cn)("h-2 w-2 shrink-0 rounded-full",S?"bg-[var(--sc-cyan)] pulse-cyan":"bg-[var(--sc-coral)] pulse-coral"),"aria-label":S?"Real-time connected":"Real-time disconnected"}),(0,t.jsx)("span",{className:(0,c.cn)("overflow-hidden whitespace-nowrap text-[11px] text-[var(--sc-text-muted)] transition-all duration-300",M?"w-auto opacity-100":"w-0 opacity-0"),children:S?"Connected":"Disconnected"})]}),(0,t.jsxs)("div",{className:(0,c.cn)("overflow-hidden whitespace-nowrap px-3 font-mono text-[10px] text-[var(--sc-text-muted)] transition-all duration-300",M?"opacity-100":"h-0 opacity-0"),children:["v",j?.version??"..."]})]})]})]})}k(),setInterval(k,15e3),e.s(["Sidebar",()=>E],48416)},24478,e=>{"use strict";var t=e.i(27493),a=e.i(48615);function r(){return(0,t.jsx)(a.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"})}e.s(["ToastProvider",()=>r])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,90976,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},17278,e=>{"use strict";let t=(0,e.i(24929).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],17278)},54130,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["Settings",()=>t],54130)},88069,e=>{"use strict";var t=e.i(22534),a=e.i(45688),r=e.i(71921),n=e.i(1235),o=e.i(88969),s=e.i(94156);let i=t.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";async function l(e){let t=new URLSearchParams;e?.project&&t.set("project",e.project),e?.type&&t.set("type",e.type),e?.category&&t.set("category",e.category),e?.limit&&t.set("limit",e.limit.toString()),e?.offset&&t.set("offset",e.offset.toString()),e?.mode&&t.set("mode",e.mode),e?.query&&t.set("query",e.query);let a=await (0,o.authFetch)(`${i}/api/memories?${t}`);if(!a.ok)throw Error("Failed to fetch memories");return a.json()}async function u(e){let t=e?`?project=${e}`:"",a=await (0,o.authFetch)(`${i}/api/stats${t}`);if(!a.ok)throw Error("Failed to fetch stats");return a.json()}async function c(){let e=await (0,o.authFetch)(`${i}/api/capture/openclaw/sessions`);if(!e.ok)throw Error("Failed to fetch OpenClaw sessions");return e.json()}async function d(e){let t=await (0,o.authFetch)(`${i}/api/memories/${e}/access`,{method:"POST"});if(!t.ok)throw Error("Failed to access memory");return t.json()}function f(e){return(0,a.useQuery)({queryKey:["stats",e],queryFn:()=>u(e),refetchInterval:3e4})}function p(){return(0,a.useQuery)({queryKey:["openclaw-sessions"],queryFn:c,staleTime:3e4})}function h(e){let t,r=(0,s.useMemoryWebSocket)();return{...{...t=(0,a.useQuery)({queryKey:["memories",e],queryFn:()=>l(e),refetchInterval:3e4}),data:t.data?.memories,pagination:t.data?.pagination},isConnected:r.isConnected,lastEvent:r.lastEvent}}function m(){let e=(0,n.useQueryClient)();return(0,r.useMutation)({mutationFn:d,onSuccess:()=>{e.invalidateQueries({queryKey:["memories"]}),e.invalidateQueries({queryKey:["stats"]})}})}async function y(){let e=await (0,o.authFetch)(`${i}/api/version`);if(!e.ok)throw Error("Failed to fetch version");return e.json()}function g(){return(0,a.useQuery)({queryKey:["version"],queryFn:y,refetchInterval:6e4,staleTime:3e4})}async function v(e){let t=e?`?project=${e}`:"",a=await (0,o.authFetch)(`${i}/api/memories/quality${t}`);if(!a.ok)throw Error("Failed to fetch quality");return a.json()}function b(e){return(0,a.useQuery)({queryKey:["quality",e],queryFn:()=>v(e),staleTime:3e5})}async function w(e){let t=e?`?project=${e}`:"",a=await (0,o.authFetch)(`${i}/api/contradictions${t}`);if(!a.ok)throw Error("Failed to fetch contradictions");return a.json()}function x(e){return(0,a.useQuery)({queryKey:["contradictions",e],queryFn:()=>w(e),staleTime:3e5})}e.s(["useAccessMemory",()=>m,"useContradictions",()=>x,"useMemoriesWithRealtime",()=>h,"useOpenClawSessions",()=>p,"useQuality",()=>b,"useStats",()=>f,"useVersion",()=>g])},42098,e=>{"use strict";let t;var a=e.i(4);let r=e=>{let t,a=new Set,r=(e,r)=>{let n="function"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=r?r:"object"!=typeof n||null===n)?n:Object.assign({},t,n),a.forEach(a=>a(t,e))}},n=()=>t,o={setState:r,getState:n,getInitialState:()=>s,subscribe:e=>(a.add(e),()=>a.delete(e))},s=t=e(r,n,o);return o},n=e=>{let t=e?r(e):r,n=e=>(function(e,t=e=>e){let r=a.default.useSyncExternalStore(e.subscribe,a.default.useCallback(()=>t(e.getState()),[e,t]),a.default.useCallback(()=>t(e.getInitialState()),[e,t]));return a.default.useDebugValue(r),r})(t,e);return Object.assign(n,t),n},o=(t=e=>({selectedMemory:null,setSelectedMemory:t=>e({selectedMemory:t}),selectedAuditEntry:null,setSelectedAuditEntry:t=>e({selectedAuditEntry:t}),viewMode:"overview",setViewMode:t=>e({viewMode:t}),typeFilter:null,categoryFilter:null,projectFilter:null,setTypeFilter:t=>e({typeFilter:t}),setCategoryFilter:t=>e({categoryFilter:t}),setProjectFilter:t=>e({projectFilter:t}),reviewFocus:null,setReviewFocus:t=>e({reviewFocus:t}),recentEvents:[],addEvent:t=>e(e=>({recentEvents:[t,...e.recentEvents].slice(0,50)})),clearEvents:()=>e({recentEvents:[]}),cameraPosition:[0,0,12],setCameraPosition:t=>e({cameraPosition:t}),showLeftSidebar:!0,showRightSidebar:!0,toggleLeftSidebar:()=>e(e=>({showLeftSidebar:!e.showLeftSidebar})),toggleRightSidebar:()=>e(e=>({showRightSidebar:!e.showRightSidebar})),searchQuery:"",setSearchQuery:t=>e({searchQuery:t}),sidebarPinned:!1,toggleSidebarPinned:()=>e(e=>({sidebarPinned:!e.sidebarPinned})),activeTab:{},setActiveTab:(t,a)=>e(e=>({activeTab:{...e.activeTab,[t]:a}}))}))?n(t):n;e.s(["useDashboardStore",0,o],42098)},16871,(e,t,a)=>{t.exports=e.r(57234)},7571,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["Database",()=>t],7571)},80039,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["Pin",()=>t],80039)},24929,e=>{"use strict";var t=e.i(4);let a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,a)=>a?a.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)},r=(...e)=>e.filter((e,t,a)=>!!e&&""!==e.trim()&&a.indexOf(e)===t).join(" ").trim();var n={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 o=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:o=2,absoluteStrokeWidth:s,className:i="",children:l,iconNode:u,...c},d)=>(0,t.createElement)("svg",{ref:d,...n,width:a,height:a,stroke:e,strokeWidth:s?24*Number(o)/Number(a):o,className:r("lucide",i),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0})(c)&&{"aria-hidden":"true"},...c},[...u.map(([e,a])=>(0,t.createElement)(e,a)),...Array.isArray(l)?l:[l]])),s=(e,n)=>{let s=(0,t.forwardRef)(({className:s,...i},l)=>(0,t.createElement)(o,{ref:l,iconNode:n,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...i}));return s.displayName=a(e),s};e.s(["default",()=>s],24929)},71921,e=>{"use strict";var t=e.i(4),a=e.i(21230),r=e.i(79736),n=e.i(70207),o=e.i(60904),s=class extends n.Subscribable{#e;#t=void 0;#a;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#n()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,o.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#a,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,o.hashKey)(t.mutationKey)!==(0,o.hashKey)(this.options.mutationKey)?this.reset():this.#a?.state.status==="pending"&&this.#a.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#a?.removeObserver(this)}onMutationUpdate(e){this.#n(),this.#o(e)}getCurrentResult(){return this.#t}reset(){this.#a?.removeObserver(this),this.#a=void 0,this.#n(),this.#o()}mutate(e,t){return this.#r=t,this.#a?.removeObserver(this),this.#a=this.#e.getMutationCache().build(this.#e,this.options),this.#a.addObserver(this),this.#a.execute(e)}#n(){let e=this.#a?.state??(0,a.getDefaultState)();this.#t={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#o(e){r.notifyManager.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,a=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#r.onSuccess?.(e.data,t,a,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,a,r)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#r.onError?.(e.error,t,a,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,a,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},i=e.i(1235);function l(e,a){let n=(0,i.useQueryClient)(a),[l]=t.useState(()=>new s(n,e));t.useEffect(()=>{l.setOptions(e)},[l,e]);let u=t.useSyncExternalStore(t.useCallback(e=>l.subscribe(r.notifyManager.batchCalls(e)),[l]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),c=t.useCallback((e,t)=>{l.mutate(e,t).catch(o.noop)},[l]);if(u.error&&(0,o.shouldThrowError)(l.options.throwOnError,[u.error]))throw u.error;return{...u,mutate:c,mutateAsync:u.mutate}}e.s(["useMutation",()=>l],71921)},27528,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["Shield",()=>t],27528)},94156,e=>{"use strict";var t=e.i(22534),a=e.i(4),r=e.i(1235),n=e.i(88969);let o=t.default.env.NEXT_PUBLIC_WS_URL||"ws://localhost:3001/ws/events";function s(e={}){let{enabled:t=!0,onMessage:i}=e,l=(0,r.useQueryClient)(),u=(0,a.useRef)(null),c=(0,a.useRef)(null),d=(0,a.useRef)(0),f=(0,a.useRef)(1e3),p=(0,a.useRef)(()=>{}),[h,m]=(0,a.useState)(!1),[y,g]=(0,a.useState)(!1),[v,b]=(0,a.useState)(null),w=(0,a.useRef)(i);(0,a.useEffect)(()=>{w.current=i},[i]);let x=(0,a.useCallback)(async()=>{if(t&&u.current?.readyState!==WebSocket.OPEN){c.current&&(clearTimeout(c.current),c.current=null);try{let e=await (0,n.getApiToken)(),a=`${o}?token=${encodeURIComponent(e)}`,r=new WebSocket(a);u.current=r,r.onopen=()=>{m(!0),d.current=0,f.current=1e3,console.log("[WebSocket] Connected to memory server")},r.onmessage=e=>{try{let t=JSON.parse(e.data);switch(b({type:t.type,data:t.data,timestamp:t.timestamp||new Date().toISOString()}),w.current?.(t),t.type){case"initial_state":case"consolidation_complete":case"predictive_consolidation":l.invalidateQueries({queryKey:["memories"]}),l.invalidateQueries({queryKey:["stats"]}),l.invalidateQueries({queryKey:["links"]});break;case"memory_created":case"memory_updated":case"memory_deleted":l.invalidateQueries({queryKey:["memories"]}),l.invalidateQueries({queryKey:["stats"]});break;case"decay_tick":case"worker_light_tick":case"worker_medium_tick":break;case"link_discovered":l.invalidateQueries({queryKey:["links"]});break;case"defence_event":l.invalidateQueries({queryKey:["agents"]}),l.invalidateQueries({queryKey:["agent-timeline"]}),l.invalidateQueries({queryKey:["audit-logs"]}),l.invalidateQueries({queryKey:["audit-stats"]});break;case"kill_switch_activated":case"kill_switch_deactivated":l.invalidateQueries({queryKey:["control-status"]}),l.invalidateQueries({queryKey:["iron-dome-status"]}),l.invalidateQueries({queryKey:["iron-dome-audit"]});break;case"update_started":case"update_complete":case"update_failed":"update_complete"===t.type&&(l.invalidateQueries({queryKey:["version"]}),l.invalidateQueries({queryKey:["version-check"]}));break;case"server_restarting":console.log("[WebSocket] Server restarting, will reconnect shortly...");break;case"xray_detection":l.invalidateQueries({queryKey:["xray-activity"]}),l.invalidateQueries({queryKey:["xray-watch-sessions"]}),l.invalidateQueries({queryKey:["xray-findings"]}),l.invalidateQueries({queryKey:["xray-status"]})}}catch(e){console.error("[WebSocket] Failed to parse message:",e)}},r.onerror=()=>{console.warn("[WebSocket] Connection failed - is the API server running?")},r.onclose=e=>{if(m(!1),console.log("[WebSocket] Disconnected",e.code),(1008===e.code||4001===e.code||4003===e.code)&&(0,n.invalidateApiToken)(),t&&d.current<10){let e=f.current;d.current++,f.current=Math.min(2*f.current,3e4),console.log(`[WebSocket] Reconnecting in ${e}ms (attempt ${d.current}/10)...`),c.current=setTimeout(()=>{p.current()},e)}else d.current>=10&&(g(!0),console.error("[WebSocket] Max reconnection attempts reached. Use reconnect() to try again."))}}catch(e){console.error("[WebSocket] Failed to connect:",e)}}},[t,l]);return(0,a.useEffect)(()=>{p.current=x}),(0,a.useEffect)(()=>(t&&x(),()=>{c.current&&clearTimeout(c.current),u.current&&(u.current.close(),u.current=null)}),[t,x]),{isConnected:h,connectionFailed:y,lastEvent:v,reconnect:(0,a.useCallback)(()=>{d.current=0,f.current=1e3,g(!1),x()},[x])}}e.s(["useMemoryWebSocket",()=>s])},76344,e=>{"use strict";let t=(0,e.i(24929).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"}]]);e.s(["ScanSearch",()=>t],76344)},21475,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return i}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});function o(e){let t={};for(let[a,r]of e.entries()){let e=t[a];void 0===e?t[a]=r:Array.isArray(e)?e.push(r):t[a]=[e,r]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[a,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(a,s(e));else t.set(a,s(r));return t}function l(e,...t){for(let a of t){for(let t of a.keys())e.delete(t);for(let[t,r]of a.entries())e.append(t,r)}return e}},78559,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={formatUrl:function(){return i},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});let o=e.r(87533)._(e.r(21475)),s=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:a}=e,r=e.protocol||"",n=e.pathname||"",i=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:a&&(u=t+(~a.indexOf(":")?`[${a}]`:a),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||s.test(r))&&!1!==u?(u="//"+(u||""),n&&"/"!==n[0]&&(n="/"+n)):u||(u=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),n=n.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${n}${c}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return i(e)}},65445,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"useMergedRef",{enumerable:!0,get:function(){return n}});let r=e.r(4);function n(e,t){let a=(0,r.useRef)(null),n=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=a.current;e&&(a.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(a.current=o(e,r)),t&&(n.current=o(t,r))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let a=e(t);return"function"==typeof a?a:()=>e(null)}}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},45212,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return w},NormalizeError:function(){return v},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return y},WEB_VITALS:function(){return o},execOnce:function(){return s},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return k}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,a=!1;return(...r)=>(a||(a=!0,t=e(...r)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>i.test(e);function u(){let{protocol:e,hostname:t,port:a}=window.location;return`${e}//${t}${a?":"+a:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let a=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(a&&f(a))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r}let m="u">typeof performance,y=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class v extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},81412,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"isLocalURL",{enumerable:!0,get:function(){return o}});let r=e.r(45212),n=e.r(35814);function o(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),a=new URL(e,t);return a.origin===t&&(0,n.hasBasePath)(a.pathname)}catch(e){return!1}}},44083,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},56640,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={default:function(){return g},useLinkStatus:function(){return b}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});let o=e.r(87533),s=e.r(27493),i=o._(e.r(4)),l=e.r(78559),u=e.r(94132),c=e.r(65445),d=e.r(45212),f=e.r(43612);e.r(90976);let p=e.r(39271),h=e.r(81412),m=e.r(68714);function y(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var a;let r,n,o,[l,g]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,i.useRef)(null),{href:w,as:x,children:k,prefetch:E=null,passHref:S,replace:M,shallow:j,scroll:C,onClick:N,onMouseEnter:P,onTouchStart:T,legacyBehavior:R=!1,onNavigate:_,ref:O,unstable_dynamicOnHover:$,...A}=t;r=k,R&&("string"==typeof r||"number"==typeof r)&&(r=(0,s.jsx)("a",{children:r}));let F=i.default.useContext(u.AppRouterContext),z=!1!==E,L=!1!==E?null===(a=E)||"auto"===a?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,{href:B,as:q}=i.default.useMemo(()=>{let e=y(w);return{href:e,as:x?y(x):e}},[w,x]);if(R){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=i.default.Children.only(r)}let I=R?n&&"object"==typeof n&&n.ref:O,K=i.default.useCallback(e=>(null!==F&&(b.current=(0,p.mountLinkInstance)(e,B,F,L,z,g)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[z,B,F,L,g]),D={ref:(0,c.useMergedRef)(K,I),onClick(t){R||"function"!=typeof N||N(t),R&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(t),!F||t.defaultPrevented||function(t,a,r,n,o,s,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(a)){o&&(t.preventDefault(),location.replace(a));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(87046);i.default.startTransition(()=>{d(r||a,o?"replace":"push",s??!0,n.current)})}}(t,B,q,b,M,C,_)},onMouseEnter(e){R||"function"!=typeof P||P(e),R&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),F&&z&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){R||"function"!=typeof T||T(e),R&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),F&&z&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,d.isAbsoluteUrl)(q)?D.href=q:R&&!S&&("a"!==n.type||"href"in n.props)||(D.href=(0,f.addBasePath)(q)),o=R?i.default.cloneElement(n,D):(0,s.jsx)("a",{...A,...D,children:r}),(0,s.jsx)(v.Provider,{value:l,children:o})}e.r(44083);let v=(0,i.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,i.useContext)(v);("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},48615,e=>{"use strict";var t=e.i(4),a=e.i(9854);let r=Array(12).fill(0),n=({visible:e,className:a})=>t.default.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":e},t.default.createElement("div",{className:"sonner-spinner"},r.map((e,a)=>t.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),o=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),s=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),i=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),l=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),u=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},t.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),t.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),c=1,d=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:a,...r}=e,n="number"==typeof(null==e?void 0:e.id)||(null==(t=e.id)?void 0:t.length)>0?e.id:c++,o=this.toasts.find(e=>e.id===n),s=void 0===e.dismissible||e.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),o?this.toasts=this.toasts.map(t=>t.id===n?(this.publish({...t,...e,id:n,title:a}),{...t,...e,id:n,dismissible:s,title:a}):t):this.addToast({title:a,...r,dismissible:s,id:n}),n},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,a)=>{let r,n;if(!a)return;void 0!==a.loading&&(n=this.create({...a,promise:e,type:"loading",message:a.loading,description:"function"!=typeof a.description?a.description:void 0}));let o=Promise.resolve(e instanceof Function?e():e),s=void 0!==n,i=o.then(async e=>{if(r=["resolve",e],t.default.isValidElement(e))s=!1,this.create({id:n,type:"default",message:e});else if(f(e)&&!e.ok){s=!1;let r="function"==typeof a.error?await a.error(`HTTP error! status: ${e.status}`):a.error,o="function"==typeof a.description?await a.description(`HTTP error! status: ${e.status}`):a.description,i="object"!=typeof r||t.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"error",description:o,...i})}else if(e instanceof Error){s=!1;let r="function"==typeof a.error?await a.error(e):a.error,o="function"==typeof a.description?await a.description(e):a.description,i="object"!=typeof r||t.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"error",description:o,...i})}else if(void 0!==a.success){s=!1;let r="function"==typeof a.success?await a.success(e):a.success,o="function"==typeof a.description?await a.description(e):a.description,i="object"!=typeof r||t.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"success",description:o,...i})}}).catch(async e=>{if(r=["reject",e],void 0!==a.error){s=!1;let r="function"==typeof a.error?await a.error(e):a.error,o="function"==typeof a.description?await a.description(e):a.description,i="object"!=typeof r||t.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"error",description:o,...i})}}).finally(()=>{s&&(this.dismiss(n),n=void 0),null==a.finally||a.finally.call(a)}),l=()=>new Promise((e,t)=>i.then(()=>"reject"===r[0]?t(r[1]):e(r[1])).catch(t));return"string"!=typeof n&&"number"!=typeof n?{unwrap:l}:Object.assign(n,{unwrap:l})},this.custom=(e,t)=>{let a=(null==t?void 0:t.id)||c++;return this.create({jsx:e(a),id:a,...t}),a},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},f=e=>e&&"object"==typeof e&&"ok"in e&&"boolean"==typeof e.ok&&"status"in e&&"number"==typeof e.status,p=Object.assign((e,t)=>{let a=(null==t?void 0:t.id)||c++;return d.addToast({title:e,...t,id:a}),a},{success:d.success,info:d.info,warning:d.warning,error:d.error,custom:d.custom,message:d.message,promise:d.promise,dismiss:d.dismiss,loading:d.loading},{getHistory:()=>d.toasts,getToasts:()=>d.getActiveToasts()});function h(e){return void 0!==e.label}function m(...e){return e.filter(Boolean).join(" ")}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let y=e=>{var a,r,c,d,f,p,y,g,v,b,w,x,k;let{invert:E,toast:S,unstyled:M,interacting:j,setHeights:C,visibleToasts:N,heights:P,index:T,toasts:R,expanded:_,removeToast:O,defaultRichColors:$,closeButton:A,style:F,cancelButtonStyle:z,actionButtonStyle:L,className:B="",descriptionClassName:q="",duration:I,position:K,gap:D,expandByDefault:U,classNames:Q,icons:W,closeButtonAriaLabel:V="Close toast"}=e,[Y,X]=t.default.useState(null),[H,Z]=t.default.useState(null),[J,G]=t.default.useState(!1),[ee,et]=t.default.useState(!1),[ea,er]=t.default.useState(!1),[en,eo]=t.default.useState(!1),[es,ei]=t.default.useState(!1),[el,eu]=t.default.useState(0),[ec,ed]=t.default.useState(0),ef=t.default.useRef(S.duration||I||4e3),ep=t.default.useRef(null),eh=t.default.useRef(null),em=0===T,ey=T+1<=N,eg=S.type,ev=!1!==S.dismissible,eb=S.className||"",ew=S.descriptionClassName||"",ex=t.default.useMemo(()=>P.findIndex(e=>e.toastId===S.id)||0,[P,S.id]),ek=t.default.useMemo(()=>{var e;return null!=(e=S.closeButton)?e:A},[S.closeButton,A]),eE=t.default.useMemo(()=>S.duration||I||4e3,[S.duration,I]),eS=t.default.useRef(0),eM=t.default.useRef(0),ej=t.default.useRef(0),eC=t.default.useRef(null),[eN,eP]=K.split("-"),eT=t.default.useMemo(()=>P.reduce((e,t,a)=>a>=ex?e:e+t.height,0),[P,ex]),eR=(()=>{let[e,a]=t.default.useState(document.hidden);return t.default.useEffect(()=>{let e=()=>{a(document.hidden)};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)},[]),e})(),e_=S.invert||E,eO="loading"===eg;eM.current=t.default.useMemo(()=>ex*D+eT,[ex,eT]),t.default.useEffect(()=>{ef.current=eE},[eE]),t.default.useEffect(()=>{G(!0)},[]),t.default.useEffect(()=>{let e=eh.current;if(e){let t=e.getBoundingClientRect().height;return ed(t),C(e=>[{toastId:S.id,height:t,position:S.position},...e]),()=>C(e=>e.filter(e=>e.toastId!==S.id))}},[C,S.id]),t.default.useLayoutEffect(()=>{if(!J)return;let e=eh.current,t=e.style.height;e.style.height="auto";let a=e.getBoundingClientRect().height;e.style.height=t,ed(a),C(e=>e.find(e=>e.toastId===S.id)?e.map(e=>e.toastId===S.id?{...e,height:a}:e):[{toastId:S.id,height:a,position:S.position},...e])},[J,S.title,S.description,C,S.id,S.jsx,S.action,S.cancel]);let e$=t.default.useCallback(()=>{et(!0),eu(eM.current),C(e=>e.filter(e=>e.toastId!==S.id)),setTimeout(()=>{O(S)},200)},[S,O,C,eM]);t.default.useEffect(()=>{let e;if((!S.promise||"loading"!==eg)&&S.duration!==1/0&&"loading"!==S.type){if(_||j||eR){if(ej.current<eS.current){let e=new Date().getTime()-eS.current;ef.current=ef.current-e}ej.current=new Date().getTime()}else ef.current!==1/0&&(eS.current=new Date().getTime(),e=setTimeout(()=>{null==S.onAutoClose||S.onAutoClose.call(S,S),e$()},ef.current));return()=>clearTimeout(e)}},[_,j,S,eg,eR,e$]),t.default.useEffect(()=>{S.delete&&(e$(),null==S.onDismiss||S.onDismiss.call(S,S))},[e$,S.delete]);let eA=S.icon||(null==W?void 0:W[eg])||(e=>{switch(e){case"success":return o;case"info":return i;case"warning":return s;case"error":return l;default:return null}})(eg);return t.default.createElement("li",{tabIndex:0,ref:eh,className:m(B,eb,null==Q?void 0:Q.toast,null==S||null==(a=S.classNames)?void 0:a.toast,null==Q?void 0:Q.default,null==Q?void 0:Q[eg],null==S||null==(r=S.classNames)?void 0:r[eg]),"data-sonner-toast":"","data-rich-colors":null!=(b=S.richColors)?b:$,"data-styled":!(S.jsx||S.unstyled||M),"data-mounted":J,"data-promise":!!S.promise,"data-swiped":es,"data-removed":ee,"data-visible":ey,"data-y-position":eN,"data-x-position":eP,"data-index":T,"data-front":em,"data-swiping":ea,"data-dismissible":ev,"data-type":eg,"data-invert":e_,"data-swipe-out":en,"data-swipe-direction":H,"data-expanded":!!(_||U&&J),"data-testid":S.testId,style:{"--index":T,"--toasts-before":T,"--z-index":R.length-T,"--offset":`${ee?el:eM.current}px`,"--initial-height":U?"auto":`${ec}px`,...F,...S.style},onDragEnd:()=>{er(!1),X(null),eC.current=null},onPointerDown:e=>{2===e.button||eO||!ev||(ep.current=new Date,eu(eM.current),e.target.setPointerCapture(e.pointerId),"BUTTON"!==e.target.tagName&&(er(!0),eC.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{var e,t,a,r,n;if(en||!ev)return;eC.current=null;let o=Number((null==(e=eh.current)?void 0:e.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(t=eh.current)?void 0:t.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=ep.current)?void 0:a.getTime()),l="x"===Y?o:s,u=Math.abs(l)/i;if(Math.abs(l)>=45||u>.11){eu(eM.current),null==S.onDismiss||S.onDismiss.call(S,S),"x"===Y?Z(o>0?"right":"left"):Z(s>0?"down":"up"),e$(),eo(!0);return}null==(r=eh.current)||r.style.setProperty("--swipe-amount-x","0px"),null==(n=eh.current)||n.style.setProperty("--swipe-amount-y","0px"),ei(!1),er(!1),X(null)},onPointerMove:t=>{var a,r,n,o;if(!eC.current||!ev||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let s=t.clientY-eC.current.y,i=t.clientX-eC.current.x,l=null!=(o=e.swipeDirections)?o:function(e){let[t,a]=e.split("-"),r=[];return t&&r.push(t),a&&r.push(a),r}(K);!Y&&(Math.abs(i)>1||Math.abs(s)>1)&&X(Math.abs(i)>Math.abs(s)?"x":"y");let u={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if("y"===Y){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&s<0||l.includes("bottom")&&s>0)u.y=s;else{let e=s*c(s);u.y=Math.abs(e)<Math.abs(s)?e:s}}else if("x"===Y&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)u.x=i;else{let e=i*c(i);u.x=Math.abs(e)<Math.abs(i)?e:i}(Math.abs(u.x)>0||Math.abs(u.y)>0)&&ei(!0),null==(r=eh.current)||r.style.setProperty("--swipe-amount-x",`${u.x}px`),null==(n=eh.current)||n.style.setProperty("--swipe-amount-y",`${u.y}px`)}},ek&&!S.jsx&&"loading"!==eg?t.default.createElement("button",{"aria-label":V,"data-disabled":eO,"data-close-button":!0,onClick:eO||!ev?()=>{}:()=>{e$(),null==S.onDismiss||S.onDismiss.call(S,S)},className:m(null==Q?void 0:Q.closeButton,null==S||null==(c=S.classNames)?void 0:c.closeButton)},null!=(w=null==W?void 0:W.close)?w:u):null,(eg||S.icon||S.promise)&&null!==S.icon&&((null==W?void 0:W[eg])!==null||S.icon)?t.default.createElement("div",{"data-icon":"",className:m(null==Q?void 0:Q.icon,null==S||null==(d=S.classNames)?void 0:d.icon)},S.promise||"loading"===S.type&&!S.icon?S.icon||((null==W?void 0:W.loading)?t.default.createElement("div",{className:m(null==Q?void 0:Q.loader,null==S||null==(k=S.classNames)?void 0:k.loader,"sonner-loader"),"data-visible":"loading"===eg},W.loading):t.default.createElement(n,{className:m(null==Q?void 0:Q.loader,null==S||null==(x=S.classNames)?void 0:x.loader),visible:"loading"===eg})):null,"loading"!==S.type?eA:null):null,t.default.createElement("div",{"data-content":"",className:m(null==Q?void 0:Q.content,null==S||null==(f=S.classNames)?void 0:f.content)},t.default.createElement("div",{"data-title":"",className:m(null==Q?void 0:Q.title,null==S||null==(p=S.classNames)?void 0:p.title)},S.jsx?S.jsx:"function"==typeof S.title?S.title():S.title),S.description?t.default.createElement("div",{"data-description":"",className:m(q,ew,null==Q?void 0:Q.description,null==S||null==(y=S.classNames)?void 0:y.description)},"function"==typeof S.description?S.description():S.description):null),t.default.isValidElement(S.cancel)?S.cancel:S.cancel&&h(S.cancel)?t.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:S.cancelButtonStyle||z,onClick:e=>{!h(S.cancel)||ev&&(null==S.cancel.onClick||S.cancel.onClick.call(S.cancel,e),e$())},className:m(null==Q?void 0:Q.cancelButton,null==S||null==(g=S.classNames)?void 0:g.cancelButton)},S.cancel.label):null,t.default.isValidElement(S.action)?S.action:S.action&&h(S.action)?t.default.createElement("button",{"data-button":!0,"data-action":!0,style:S.actionButtonStyle||L,onClick:e=>{!h(S.action)||(null==S.action.onClick||S.action.onClick.call(S.action,e),e.defaultPrevented||e$())},className:m(null==Q?void 0:Q.actionButton,null==S||null==(v=S.classNames)?void 0:v.actionButton)},S.action.label):null)};function g(){if("u"<typeof window||"u"<typeof document)return"ltr";let e=document.documentElement.getAttribute("dir");return"auto"!==e&&e?e:window.getComputedStyle(document.documentElement).direction}let v=t.default.forwardRef(function(e,r){let{id:n,invert:o,position:s="bottom-right",hotkey:i=["altKey","KeyT"],expand:l,closeButton:u,className:c,offset:f,mobileOffset:p,theme:h="light",richColors:m,duration:v,style:b,visibleToasts:w=3,toastOptions:x,dir:k=g(),gap:E=14,icons:S,containerAriaLabel:M="Notifications"}=e,[j,C]=t.default.useState([]),N=t.default.useMemo(()=>n?j.filter(e=>e.toasterId===n):j.filter(e=>!e.toasterId),[j,n]),P=t.default.useMemo(()=>Array.from(new Set([s].concat(N.filter(e=>e.position).map(e=>e.position)))),[N,s]),[T,R]=t.default.useState([]),[_,O]=t.default.useState(!1),[$,A]=t.default.useState(!1),[F,z]=t.default.useState("system"!==h?h:"u">typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),L=t.default.useRef(null),B=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),q=t.default.useRef(null),I=t.default.useRef(!1),K=t.default.useCallback(e=>{C(t=>{var a;return(null==(a=t.find(t=>t.id===e.id))?void 0:a.delete)||d.dismiss(e.id),t.filter(({id:t})=>t!==e.id)})},[]);return t.default.useEffect(()=>d.subscribe(e=>{e.dismiss?requestAnimationFrame(()=>{C(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))}):setTimeout(()=>{a.default.flushSync(()=>{C(t=>{let a=t.findIndex(t=>t.id===e.id);return -1!==a?[...t.slice(0,a),{...t[a],...e},...t.slice(a+1)]:[e,...t]})})})}),[j]),t.default.useEffect(()=>{if("system"!==h)return void z(h);if("system"===h&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?z("dark"):z("light")),"u"<typeof window)return;let e=window.matchMedia("(prefers-color-scheme: dark)");try{e.addEventListener("change",({matches:e})=>{e?z("dark"):z("light")})}catch(t){e.addListener(({matches:e})=>{try{e?z("dark"):z("light")}catch(e){console.error(e)}})}},[h]),t.default.useEffect(()=>{j.length<=1&&O(!1)},[j]),t.default.useEffect(()=>{let e=e=>{var t,a;i.every(t=>e[t]||e.code===t)&&(O(!0),null==(a=L.current)||a.focus()),"Escape"===e.code&&(document.activeElement===L.current||(null==(t=L.current)?void 0:t.contains(document.activeElement)))&&O(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[i]),t.default.useEffect(()=>{if(L.current)return()=>{q.current&&(q.current.focus({preventScroll:!0}),q.current=null,I.current=!1)}},[L.current]),t.default.createElement("section",{ref:r,"aria-label":`${M} ${B}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},P.map((a,r)=>{var n;let s,[i,d]=a.split("-");return N.length?t.default.createElement("ol",{key:a,dir:"auto"===k?g():k,tabIndex:-1,ref:L,className:c,"data-sonner-toaster":!0,"data-sonner-theme":F,"data-y-position":i,"data-x-position":d,style:{"--front-toast-height":`${(null==(n=T[0])?void 0:n.height)||0}px`,"--width":"356px","--gap":`${E}px`,...b,...(s={},[f,p].forEach((e,t)=>{let a=1===t,r=a?"--mobile-offset":"--offset",n=a?"16px":"24px";function o(e){["top","right","bottom","left"].forEach(t=>{s[`${r}-${t}`]="number"==typeof e?`${e}px`:e})}"number"==typeof e||"string"==typeof e?o(e):"object"==typeof e?["top","right","bottom","left"].forEach(t=>{void 0===e[t]?s[`${r}-${t}`]=n:s[`${r}-${t}`]="number"==typeof e[t]?`${e[t]}px`:e[t]}):o(n)}),s)},onBlur:e=>{I.current&&!e.currentTarget.contains(e.relatedTarget)&&(I.current=!1,q.current&&(q.current.focus({preventScroll:!0}),q.current=null))},onFocus:e=>{!(e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible)&&(I.current||(I.current=!0,q.current=e.relatedTarget))},onMouseEnter:()=>O(!0),onMouseMove:()=>O(!0),onMouseLeave:()=>{$||O(!1)},onDragEnd:()=>O(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible||A(!0)},onPointerUp:()=>A(!1)},N.filter(e=>!e.position&&0===r||e.position===a).map((r,n)=>{var s,i;return t.default.createElement(y,{key:r.id,icons:S,index:n,toast:r,defaultRichColors:m,duration:null!=(s=null==x?void 0:x.duration)?s:v,className:null==x?void 0:x.className,descriptionClassName:null==x?void 0:x.descriptionClassName,invert:o,visibleToasts:w,closeButton:null!=(i=null==x?void 0:x.closeButton)?i:u,interacting:$,position:a,style:null==x?void 0:x.style,unstyled:null==x?void 0:x.unstyled,classNames:null==x?void 0:x.classNames,cancelButtonStyle:null==x?void 0:x.cancelButtonStyle,actionButtonStyle:null==x?void 0:x.actionButtonStyle,closeButtonAriaLabel:null==x?void 0:x.closeButtonAriaLabel,removeToast:K,toasts:N.filter(e=>e.position==r.position),heights:T.filter(e=>e.position==r.position),setHeights:R,expandByDefault:l,gap:E,expanded:_,swipeDirections:e.swipeDirections})})):null}))});e.s(["Toaster",()=>v,"toast",()=>p])},48416,e=>{"use strict";var t=e.i(27493),a=e.i(56640),r=e.i(16871),n=e.i(24929);let o=(0,n.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var s=e.i(80039);let i=(0,n.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 l=e.i(27528),u=e.i(17278),c=e.i(76490),d=e.i(7571);let f=(0,n.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 p=e.i(76344),h=e.i(54130);let m=[{href:"/overview",label:"Overview",icon:f},{href:"/memory",label:"Memory",icon:d.Database},{href:"/protection",label:"Protection",icon:l.Shield},{href:"/xray",label:"X-Ray",icon:p.ScanSearch},{href:"/settings",label:"Settings",icon:h.Settings}];var y=e.i(42098),g=e.i(88069),v=e.i(4);let b=!1,w=new Set;function x(){w.forEach(e=>e())}function k(){try{let e=new WebSocket("ws://localhost:3001/ws/events");e.onopen=()=>{b=!0,x(),e.close()},e.onerror=()=>{b=!1,x()}}catch{b=!1,x()}}function E(){let e,n=(0,r.usePathname)(),{sidebarPinned:d,toggleSidebarPinned:f}=(0,y.useDashboardStore)(),[p,h]=(0,v.useState)(!1),[x,k]=(0,v.useState)(null),E=x===n,S=(e=(0,v.useCallback)(e=>(w.add(e),()=>{w.delete(e)}),[]),(0,v.useSyncExternalStore)(e,()=>b,()=>!1)),{data:M}=(0,g.useVersion)(),j=d||p||E;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>k(n),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,t.jsx)(o,{size:18})}),E&&(0,t.jsx)("div",{className:"fixed inset-0 z-40 bg-black/50 backdrop-blur-sm md:hidden",onClick:()=>k(null)}),(0,t.jsxs)("aside",{className:(0,c.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",E?"translate-x-0":"-translate-x-full md:translate-x-0",j?"w-60":"w-16"),onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),children:[(0,t.jsxs)("div",{className:"flex h-16 items-center gap-3 border-b border-[var(--sc-border)] px-4",children:[(0,t.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,t.jsx)(l.Shield,{size:16,className:"text-white"})}),(0,t.jsxs)("div",{className:(0,c.cn)("overflow-hidden whitespace-nowrap transition-all duration-300",j?"w-auto opacity-100":"w-0 opacity-0"),children:[(0,t.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-[var(--sc-coral)]",children:"ShieldCortex"}),(0,t.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Dashboard"})]}),E&&(0,t.jsx)("button",{onClick:()=>k(null),className:"ml-auto text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)] md:hidden","aria-label":"Close navigation",children:(0,t.jsx)(u.X,{size:18})})]}),(0,t.jsx)("nav",{className:"flex-1 space-y-1 px-2 py-4",role:"navigation","aria-label":"Main navigation",children:m.map(e=>{var r;let o=e.icon,s="/overview"===(r=e.href)?"/overview"===n||"/"===n:n===r||n.startsWith(`${r}/`);return(0,t.jsxs)(a.default,{href:e.href,"aria-current":s?"page":void 0,className:(0,c.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)]",s?"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:[s&&(0,t.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,t.jsx)(o,{size:18,className:(0,c.cn)("shrink-0",s&&"text-[var(--sc-coral)]")}),(0,t.jsx)("span",{className:(0,c.cn)("overflow-hidden whitespace-nowrap text-sm font-medium transition-all duration-300",j?"w-auto opacity-100":"w-0 opacity-0"),children:e.label})]},e.href)})}),(0,t.jsxs)("div",{className:"space-y-2 border-t border-[var(--sc-border)] px-2 py-3",children:[j&&(0,t.jsxs)("button",{onClick:f,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":d?"Unpin sidebar":"Pin sidebar",children:[d?(0,t.jsx)(i,{size:16}):(0,t.jsx)(s.Pin,{size:16}),(0,t.jsx)("span",{className:"text-xs",children:d?"Unpin":"Pin sidebar"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-1",children:[(0,t.jsx)("span",{className:(0,c.cn)("h-2 w-2 shrink-0 rounded-full",S?"bg-[var(--sc-cyan)] pulse-cyan":"bg-[var(--sc-coral)] pulse-coral"),"aria-label":S?"Real-time connected":"Real-time disconnected"}),(0,t.jsx)("span",{className:(0,c.cn)("overflow-hidden whitespace-nowrap text-[11px] text-[var(--sc-text-muted)] transition-all duration-300",j?"w-auto opacity-100":"w-0 opacity-0"),children:S?"Connected":"Disconnected"})]}),(0,t.jsxs)("div",{className:(0,c.cn)("overflow-hidden whitespace-nowrap px-3 font-mono text-[10px] text-[var(--sc-text-muted)] transition-all duration-300",j?"opacity-100":"h-0 opacity-0"),children:["v",M?.version??"..."]})]})]})]})}k(),setInterval(k,15e3),e.s(["Sidebar",()=>E],48416)},24478,e=>{"use strict";var t=e.i(27493),a=e.i(48615);function r(){return(0,t.jsx)(a.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"})}e.s(["ToastProvider",()=>r])},4167,e=>{"use strict";var t=e.i(4),a=e.i(48615),r=e.i(94156);let n=new Map;function o(){let e=(0,t.useCallback)(e=>{var t;if("defence_event"!==e.type)return;let r=e.data;if(!r||"ALLOW"===r.firewall_result)return;let o="BLOCK"===r.firewall_result,s=r.source_identifier||r.source_type||"unknown source",i=(t=r.threat_indicators,t?.length?t.slice(0,3).map(e=>e.replace(/_/g," ")).join(", "):""),l=r.reason?.trim()||(i?`Threats: ${i}`:"See audit log for details");if(function(e){let t=Date.now(),a=n.get(e);if(a&&t-a<2e3)return!0;if(n.set(e,t),n.size>50){let e=t-2e3;for(let[t,a]of n)a<e&&n.delete(t)}return!1}(`${r.firewall_result}:${s}:${(r.reason||"").slice(0,80)}`))return;let u=o?`\u{1F6E1} Blocked attack from ${s}`:`\u{26A0}\u{FE0F} Quarantined input from ${s}`,c={description:l,duration:o?8e3:5e3};o?a.toast.error(u,c):a.toast.warning(u,c)},[]);return(0,r.useMemoryWebSocket)({onMessage:e}),null}e.s(["BlockToastBridge",()=>o])}]);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface FetchOutcome {
|
|
2
|
+
finalUrl: string;
|
|
3
|
+
redirectChain: string[];
|
|
4
|
+
statusCode: number | null;
|
|
5
|
+
contentType: string | null;
|
|
6
|
+
body: string;
|
|
7
|
+
bytesReceived: number;
|
|
8
|
+
durationMs: number;
|
|
9
|
+
error: string | null;
|
|
10
|
+
}
|
|
11
|
+
export declare function fetchWithProvenance(rawUrl: string): Promise<FetchOutcome>;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
const MAX_REDIRECTS = 10;
|
|
2
|
+
const MAX_BYTES = 2 * 1024 * 1024;
|
|
3
|
+
const FETCH_TIMEOUT_MS = 15000;
|
|
4
|
+
const USER_AGENT = 'ShieldCortex-EnvScanner/1.0 (+https://shieldcortex.ai)';
|
|
5
|
+
export async function fetchWithProvenance(rawUrl) {
|
|
6
|
+
const started = Date.now();
|
|
7
|
+
const redirectChain = [];
|
|
8
|
+
let current;
|
|
9
|
+
try {
|
|
10
|
+
current = new URL(rawUrl);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return {
|
|
14
|
+
finalUrl: rawUrl,
|
|
15
|
+
redirectChain: [],
|
|
16
|
+
statusCode: null,
|
|
17
|
+
contentType: null,
|
|
18
|
+
body: '',
|
|
19
|
+
bytesReceived: 0,
|
|
20
|
+
durationMs: Date.now() - started,
|
|
21
|
+
error: 'Invalid URL',
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (current.protocol !== 'http:' && current.protocol !== 'https:') {
|
|
25
|
+
return {
|
|
26
|
+
finalUrl: current.toString(),
|
|
27
|
+
redirectChain: [],
|
|
28
|
+
statusCode: null,
|
|
29
|
+
contentType: null,
|
|
30
|
+
body: '',
|
|
31
|
+
bytesReceived: 0,
|
|
32
|
+
durationMs: Date.now() - started,
|
|
33
|
+
error: `Unsupported protocol: ${current.protocol}`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const controller = new AbortController();
|
|
37
|
+
const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
38
|
+
try {
|
|
39
|
+
for (let i = 0; i <= MAX_REDIRECTS; i++) {
|
|
40
|
+
const res = await fetch(current.toString(), {
|
|
41
|
+
method: 'GET',
|
|
42
|
+
redirect: 'manual',
|
|
43
|
+
signal: controller.signal,
|
|
44
|
+
headers: {
|
|
45
|
+
'User-Agent': USER_AGENT,
|
|
46
|
+
Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
if (res.status >= 300 && res.status < 400) {
|
|
50
|
+
const loc = res.headers.get('location');
|
|
51
|
+
if (!loc)
|
|
52
|
+
break;
|
|
53
|
+
redirectChain.push(current.toString());
|
|
54
|
+
current = new URL(loc, current);
|
|
55
|
+
if (i === MAX_REDIRECTS) {
|
|
56
|
+
return {
|
|
57
|
+
finalUrl: current.toString(),
|
|
58
|
+
redirectChain,
|
|
59
|
+
statusCode: res.status,
|
|
60
|
+
contentType: res.headers.get('content-type'),
|
|
61
|
+
body: '',
|
|
62
|
+
bytesReceived: 0,
|
|
63
|
+
durationMs: Date.now() - started,
|
|
64
|
+
error: 'Too many redirects',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
const reader = res.body?.getReader();
|
|
70
|
+
let received = 0;
|
|
71
|
+
const chunks = [];
|
|
72
|
+
if (reader) {
|
|
73
|
+
while (received < MAX_BYTES) {
|
|
74
|
+
const { value, done } = await reader.read();
|
|
75
|
+
if (done)
|
|
76
|
+
break;
|
|
77
|
+
if (value) {
|
|
78
|
+
received += value.length;
|
|
79
|
+
chunks.push(value);
|
|
80
|
+
if (received >= MAX_BYTES)
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
try {
|
|
85
|
+
await reader.cancel();
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// ignore
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
const buffer = new Uint8Array(received);
|
|
92
|
+
let offset = 0;
|
|
93
|
+
for (const chunk of chunks) {
|
|
94
|
+
buffer.set(chunk.subarray(0, Math.min(chunk.length, MAX_BYTES - offset)), offset);
|
|
95
|
+
offset += chunk.length;
|
|
96
|
+
if (offset >= MAX_BYTES)
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
const body = new TextDecoder('utf-8', { fatal: false }).decode(buffer);
|
|
100
|
+
return {
|
|
101
|
+
finalUrl: res.url || current.toString(),
|
|
102
|
+
redirectChain,
|
|
103
|
+
statusCode: res.status,
|
|
104
|
+
contentType: res.headers.get('content-type'),
|
|
105
|
+
body,
|
|
106
|
+
bytesReceived: received,
|
|
107
|
+
durationMs: Date.now() - started,
|
|
108
|
+
error: null,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
finalUrl: current.toString(),
|
|
113
|
+
redirectChain,
|
|
114
|
+
statusCode: null,
|
|
115
|
+
contentType: null,
|
|
116
|
+
body: '',
|
|
117
|
+
bytesReceived: 0,
|
|
118
|
+
durationMs: Date.now() - started,
|
|
119
|
+
error: 'Redirect loop without body',
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
return {
|
|
124
|
+
finalUrl: current.toString(),
|
|
125
|
+
redirectChain,
|
|
126
|
+
statusCode: null,
|
|
127
|
+
contentType: null,
|
|
128
|
+
body: '',
|
|
129
|
+
bytesReceived: 0,
|
|
130
|
+
durationMs: Date.now() - started,
|
|
131
|
+
error: error instanceof Error ? error.message : String(error),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
finally {
|
|
135
|
+
clearTimeout(timer);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
const HIDDEN_SAMPLE_CHARS = 120;
|
|
2
|
+
function stripTagContent(html, tagNames) {
|
|
3
|
+
let out = html;
|
|
4
|
+
for (const tag of tagNames) {
|
|
5
|
+
const re = new RegExp(`<${tag}\\b[^>]*>[\\s\\S]*?</${tag}>`, 'gi');
|
|
6
|
+
out = out.replace(re, ' ');
|
|
7
|
+
}
|
|
8
|
+
return out;
|
|
9
|
+
}
|
|
10
|
+
function decodeHtmlEntities(input) {
|
|
11
|
+
return input
|
|
12
|
+
.replace(/</gi, '<')
|
|
13
|
+
.replace(/>/gi, '>')
|
|
14
|
+
.replace(/"/gi, '"')
|
|
15
|
+
.replace(/'/gi, "'")
|
|
16
|
+
.replace(/'/gi, "'")
|
|
17
|
+
.replace(/&/gi, '&')
|
|
18
|
+
.replace(/ /gi, ' ')
|
|
19
|
+
.replace(/&#(\d+);/g, (_, n) => {
|
|
20
|
+
const code = parseInt(n, 10);
|
|
21
|
+
return Number.isFinite(code) && code < 0x10ffff ? String.fromCodePoint(code) : '';
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function innerText(rawHtml) {
|
|
25
|
+
const withoutComments = rawHtml.replace(/<!--[\s\S]*?-->/g, ' ');
|
|
26
|
+
const withoutScripts = stripTagContent(withoutComments, ['script', 'style', 'noscript', 'template']);
|
|
27
|
+
const withoutTags = withoutScripts.replace(/<[^>]+>/g, ' ');
|
|
28
|
+
return decodeHtmlEntities(withoutTags).replace(/\s+/g, ' ').trim();
|
|
29
|
+
}
|
|
30
|
+
function collectHiddenSpans(html) {
|
|
31
|
+
const results = [];
|
|
32
|
+
const patterns = [
|
|
33
|
+
['display_none', /<([a-z][\w-]*)\b[^>]*style=["'][^"']*display\s*:\s*none[^"']*["'][^>]*>([\s\S]*?)<\/\1>/gi],
|
|
34
|
+
['visibility_hidden', /<([a-z][\w-]*)\b[^>]*style=["'][^"']*visibility\s*:\s*hidden[^"']*["'][^>]*>([\s\S]*?)<\/\1>/gi],
|
|
35
|
+
['zero_font_size', /<([a-z][\w-]*)\b[^>]*style=["'][^"']*font-size\s*:\s*0(?:px|em|rem)?[^"']*["'][^>]*>([\s\S]*?)<\/\1>/gi],
|
|
36
|
+
['offscreen_position', /<([a-z][\w-]*)\b[^>]*style=["'][^"']*(?:position\s*:\s*absolute[^"']*(?:left|top)\s*:\s*-\d{3,}|text-indent\s*:\s*-\d{4,})[^"']*["'][^>]*>([\s\S]*?)<\/\1>/gi],
|
|
37
|
+
['aria_hidden', /<([a-z][\w-]*)\b[^>]*aria-hidden=["']true["'][^>]*>([\s\S]*?)<\/\1>/gi],
|
|
38
|
+
];
|
|
39
|
+
for (const [technique, re] of patterns) {
|
|
40
|
+
let match;
|
|
41
|
+
re.lastIndex = 0;
|
|
42
|
+
while ((match = re.exec(html)) !== null) {
|
|
43
|
+
const body = match[2];
|
|
44
|
+
if (!body)
|
|
45
|
+
continue;
|
|
46
|
+
const text = innerText(body);
|
|
47
|
+
if (text.length > 0)
|
|
48
|
+
results.push({ technique, text });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return results;
|
|
52
|
+
}
|
|
53
|
+
function detectSameColourText(html) {
|
|
54
|
+
const hits = [];
|
|
55
|
+
const re = /<([a-z][\w-]*)\b[^>]*style=["'][^"']*color\s*:\s*(#fff(?:fff)?|white)[^"']*["'][^>]*>([\s\S]*?)<\/\1>/gi;
|
|
56
|
+
let match;
|
|
57
|
+
while ((match = re.exec(html)) !== null) {
|
|
58
|
+
const text = innerText(match[3] || '');
|
|
59
|
+
if (text.length > 0)
|
|
60
|
+
hits.push(text);
|
|
61
|
+
}
|
|
62
|
+
return hits;
|
|
63
|
+
}
|
|
64
|
+
function detectComments(html) {
|
|
65
|
+
const hits = [];
|
|
66
|
+
const re = /<!--([\s\S]*?)-->/g;
|
|
67
|
+
let match;
|
|
68
|
+
while ((match = re.exec(html)) !== null) {
|
|
69
|
+
const text = match[1].trim();
|
|
70
|
+
if (text.length > 40)
|
|
71
|
+
hits.push(text);
|
|
72
|
+
}
|
|
73
|
+
return hits;
|
|
74
|
+
}
|
|
75
|
+
function detectScriptTags(html) {
|
|
76
|
+
const hits = [];
|
|
77
|
+
const re = /<script\b[^>]*>([\s\S]*?)<\/script>/gi;
|
|
78
|
+
let match;
|
|
79
|
+
while ((match = re.exec(html)) !== null) {
|
|
80
|
+
const body = match[1].trim();
|
|
81
|
+
if (body.length > 0)
|
|
82
|
+
hits.push(body);
|
|
83
|
+
}
|
|
84
|
+
return hits;
|
|
85
|
+
}
|
|
86
|
+
function detectBidiOverride(html) {
|
|
87
|
+
return /[\u202A-\u202E\u2066-\u2069]/.test(html);
|
|
88
|
+
}
|
|
89
|
+
function detectZeroWidth(html) {
|
|
90
|
+
return /[\u200B\u200C\u200D\uFEFF]/.test(html);
|
|
91
|
+
}
|
|
92
|
+
function detectMetaRefresh(html) {
|
|
93
|
+
const match = html.match(/<meta\b[^>]*http-equiv=["']refresh["'][^>]*content=["']([^"']+)["']/i);
|
|
94
|
+
return match ? match[1] : null;
|
|
95
|
+
}
|
|
96
|
+
function clip(text, max = HIDDEN_SAMPLE_CHARS) {
|
|
97
|
+
return text.length > max ? `${text.slice(0, max)}…` : text;
|
|
98
|
+
}
|
|
99
|
+
export function analyseHidden(rawHtml) {
|
|
100
|
+
const hits = [];
|
|
101
|
+
for (const { technique, text } of collectHiddenSpans(rawHtml)) {
|
|
102
|
+
hits.push({ technique, sample: clip(text), charCount: text.length });
|
|
103
|
+
}
|
|
104
|
+
for (const text of detectSameColourText(rawHtml)) {
|
|
105
|
+
hits.push({ technique: 'same_colour_text', sample: clip(text), charCount: text.length });
|
|
106
|
+
}
|
|
107
|
+
for (const text of detectComments(rawHtml)) {
|
|
108
|
+
hits.push({ technique: 'html_comment', sample: clip(text), charCount: text.length });
|
|
109
|
+
}
|
|
110
|
+
for (const text of detectScriptTags(rawHtml)) {
|
|
111
|
+
hits.push({ technique: 'script_tag', sample: clip(text), charCount: text.length });
|
|
112
|
+
}
|
|
113
|
+
if (detectBidiOverride(rawHtml)) {
|
|
114
|
+
hits.push({ technique: 'bidi_override', sample: 'Unicode bidi override characters present', charCount: 0 });
|
|
115
|
+
}
|
|
116
|
+
if (detectZeroWidth(rawHtml)) {
|
|
117
|
+
hits.push({ technique: 'zero_width_text', sample: 'Zero-width characters present in document', charCount: 0 });
|
|
118
|
+
}
|
|
119
|
+
const metaRefresh = detectMetaRefresh(rawHtml);
|
|
120
|
+
if (metaRefresh) {
|
|
121
|
+
hits.push({ technique: 'meta_refresh', sample: clip(metaRefresh), charCount: metaRefresh.length });
|
|
122
|
+
}
|
|
123
|
+
const visible = innerText(rawHtml);
|
|
124
|
+
const hiddenText = hits
|
|
125
|
+
.filter((h) => h.technique !== 'script_tag' && h.technique !== 'html_comment' && h.charCount > 0)
|
|
126
|
+
.map((h) => h.sample)
|
|
127
|
+
.join(' ');
|
|
128
|
+
return {
|
|
129
|
+
hits,
|
|
130
|
+
hiddenCharCount: hits.reduce((acc, h) => acc + h.charCount, 0),
|
|
131
|
+
visibleText: visible,
|
|
132
|
+
hiddenText,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { scanUrl } from './scanner.js';
|
|
2
|
+
export { scoreProvenance } from './provenance.js';
|
|
3
|
+
export { analyseHidden } from './hidden-detector.js';
|
|
4
|
+
export { deriveTaint } from './taint.js';
|
|
5
|
+
export { formatEnvScanReport, formatEnvScanMarkdown } from './report.js';
|
|
6
|
+
export type { EnvironmentScanResult, ProvenanceResult, ProvenanceSignals, HiddenAnalysis, HiddenInstructionHit, InjectionHit, TaintLabel, } from './types.js';
|