shieldcortex 4.40.0 → 4.42.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.
Files changed (349) hide show
  1. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
  2. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
  3. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js +2 -2
  4. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js.nft.json +1 -1
  5. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page_client-reference-manifest.js +1 -1
  6. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page.js +2 -2
  7. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page.js.nft.json +1 -1
  8. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page_client-reference-manifest.js +1 -1
  9. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page.js +2 -2
  10. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page.js.nft.json +1 -1
  11. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page_client-reference-manifest.js +1 -1
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page.js +2 -2
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page.js.nft.json +1 -1
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page_client-reference-manifest.js +1 -1
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page/react-loadable-manifest.json +1 -1
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page.js +2 -2
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page.js +2 -2
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page.js.nft.json +1 -1
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page_client-reference-manifest.js +1 -1
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page.js +2 -2
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page.js.nft.json +1 -1
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page_client-reference-manifest.js +1 -1
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page.js +2 -2
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page.js.nft.json +1 -1
  27. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page_client-reference-manifest.js +1 -1
  28. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page.js +2 -2
  29. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page.js.nft.json +1 -1
  30. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page_client-reference-manifest.js +1 -1
  31. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page.js +2 -2
  32. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page.js.nft.json +1 -1
  33. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page_client-reference-manifest.js +1 -1
  34. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page.js +2 -2
  35. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page.js.nft.json +1 -1
  36. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page_client-reference-manifest.js +1 -1
  37. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page.js +2 -2
  38. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page.js.nft.json +1 -1
  39. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page_client-reference-manifest.js +1 -1
  40. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page.js +2 -2
  41. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page.js.nft.json +1 -1
  42. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page_client-reference-manifest.js +1 -1
  43. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page.js +2 -2
  44. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page.js.nft.json +1 -1
  45. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page_client-reference-manifest.js +1 -1
  46. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page.js +2 -2
  47. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page.js.nft.json +1 -1
  48. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page_client-reference-manifest.js +1 -1
  49. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page.js +2 -2
  50. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page.js.nft.json +1 -1
  51. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page_client-reference-manifest.js +1 -1
  52. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page.js +2 -2
  53. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  54. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  55. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page.js +2 -2
  56. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page.js.nft.json +1 -1
  57. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page_client-reference-manifest.js +1 -1
  58. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page.js +2 -2
  59. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page.js.nft.json +1 -1
  60. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page_client-reference-manifest.js +1 -1
  61. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page.js +2 -2
  62. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page.js.nft.json +1 -1
  63. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page_client-reference-manifest.js +1 -1
  64. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
  65. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
  66. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  67. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  68. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  69. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  70. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  71. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js +1 -1
  72. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
  73. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  74. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
  75. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +15 -14
  76. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +15 -14
  77. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  78. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +7 -6
  79. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  80. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  81. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  82. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -1
  83. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +21 -22
  84. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin/__PAGE__.segment.rsc +1 -1
  85. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin.segment.rsc +1 -1
  86. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  87. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +21 -22
  88. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  89. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_index.segment.rsc +7 -6
  90. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
  91. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
  92. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +21 -22
  93. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud/__PAGE__.segment.rsc +1 -1
  94. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud.segment.rsc +1 -1
  95. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  96. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +21 -22
  97. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_head.segment.rsc +1 -1
  98. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_index.segment.rsc +7 -6
  99. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +2 -2
  100. package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
  101. package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +16 -15
  102. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  103. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +16 -15
  104. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  105. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +7 -6
  106. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  107. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
  108. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +22 -24
  109. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +1 -1
  110. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture.segment.rsc +1 -1
  111. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  112. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  113. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +22 -24
  114. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_head.segment.rsc +1 -1
  115. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_index.segment.rsc +7 -6
  116. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +2 -2
  117. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
  118. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +22 -24
  119. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph/__PAGE__.segment.rsc +1 -1
  120. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph.segment.rsc +1 -1
  121. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  122. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  123. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +22 -24
  124. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_head.segment.rsc +1 -1
  125. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_index.segment.rsc +7 -6
  126. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +2 -2
  127. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
  128. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +22 -24
  129. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall/__PAGE__.segment.rsc +1 -1
  130. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall.segment.rsc +1 -1
  131. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  132. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  133. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +22 -24
  134. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_head.segment.rsc +1 -1
  135. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_index.segment.rsc +7 -6
  136. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +2 -2
  137. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.html +1 -1
  138. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.rsc +17 -17
  139. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay/__PAGE__.segment.rsc +2 -2
  140. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay.segment.rsc +1 -1
  141. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  142. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  143. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_full.segment.rsc +17 -17
  144. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_head.segment.rsc +1 -1
  145. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_index.segment.rsc +7 -6
  146. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_tree.segment.rsc +2 -2
  147. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
  148. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +22 -24
  149. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review/__PAGE__.segment.rsc +1 -1
  150. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review.segment.rsc +1 -1
  151. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  152. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  153. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +22 -24
  154. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +1 -1
  155. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +7 -6
  156. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +2 -2
  157. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
  158. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +22 -24
  159. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline/__PAGE__.segment.rsc +1 -1
  160. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline.segment.rsc +1 -1
  161. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  162. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  163. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +22 -24
  164. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +1 -1
  165. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +7 -6
  166. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +2 -2
  167. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +1 -1
  168. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +25 -26
  169. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +2 -2
  170. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  171. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  172. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +25 -26
  173. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  174. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +7 -6
  175. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  176. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +1 -1
  177. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +26 -26
  178. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +2 -2
  179. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +1 -1
  180. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  181. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +26 -26
  182. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +1 -1
  183. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +7 -6
  184. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +2 -2
  185. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js +1 -1
  186. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js.nft.json +1 -1
  187. package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  188. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -1
  189. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +22 -24
  190. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit/__PAGE__.segment.rsc +1 -1
  191. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit.segment.rsc +1 -1
  192. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  193. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  194. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +22 -24
  195. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +1 -1
  196. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +7 -6
  197. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +2 -2
  198. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
  199. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +22 -26
  200. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts/__PAGE__.segment.rsc +1 -1
  201. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts.segment.rsc +1 -1
  202. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  203. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  204. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +22 -26
  205. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +1 -1
  206. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +7 -6
  207. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +2 -2
  208. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -1
  209. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +22 -26
  210. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome/__PAGE__.segment.rsc +1 -1
  211. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome.segment.rsc +1 -1
  212. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  213. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  214. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +22 -26
  215. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +1 -1
  216. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +7 -6
  217. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +2 -2
  218. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
  219. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +22 -26
  220. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies/__PAGE__.segment.rsc +1 -1
  221. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies.segment.rsc +1 -1
  222. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  223. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  224. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +22 -26
  225. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +1 -1
  226. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +7 -6
  227. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +2 -2
  228. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
  229. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +22 -26
  230. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine/__PAGE__.segment.rsc +1 -1
  231. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine.segment.rsc +1 -1
  232. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  233. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  234. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +22 -26
  235. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +1 -1
  236. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +7 -6
  237. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +2 -2
  238. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +1 -1
  239. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +24 -23
  240. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +2 -2
  241. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  242. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  243. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +24 -23
  244. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +1 -1
  245. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +7 -6
  246. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +2 -2
  247. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +1 -1
  248. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +24 -23
  249. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +2 -2
  250. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
  251. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  252. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +24 -23
  253. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  254. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +7 -6
  255. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  256. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -1
  257. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +22 -24
  258. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray/__PAGE__.segment.rsc +1 -1
  259. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray.segment.rsc +1 -1
  260. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  261. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  262. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +22 -24
  263. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +1 -1
  264. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +7 -6
  265. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +2 -2
  266. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
  267. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +21 -22
  268. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain/__PAGE__.segment.rsc +1 -1
  269. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  270. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  271. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +21 -22
  272. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +1 -1
  273. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +7 -6
  274. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +2 -2
  275. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +1 -1
  276. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +23 -24
  277. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +2 -2
  278. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray.segment.rsc +1 -1
  279. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +8 -10
  280. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +23 -24
  281. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +1 -1
  282. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +7 -6
  283. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +2 -2
  284. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__618ebef2._.js +3 -0
  285. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__71aebd22._.js +3 -0
  286. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{[root-of-the-server]__801e783f._.js → [root-of-the-server]__83e0e1ef._.js} +2 -2
  287. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{[root-of-the-server]__8930a320._.js → [root-of-the-server]__b16387ef._.js} +2 -2
  288. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_01e81e69._.js +1 -1
  289. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_1b261cd5._.js +1 -1
  290. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_5ca514a1._.js → dashboard_3956b0fc._.js} +2 -2
  291. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_44a1539a._.js +1 -1
  292. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_4835c323._.js +1 -1
  293. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_599483f2._.js +1 -1
  294. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_609078b2._.js +1 -1
  295. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_987d0aa0._.js +3 -0
  296. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_a6877bbc._.js +1 -1
  297. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_c219bf07._.js +4 -4
  298. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_48aa48e3._.js +3 -0
  299. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_73b12760._.js +3 -0
  300. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_overview_page_tsx_8c105626._.js +1 -1
  301. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_xray_XRayOverview_tsx_ceba698e._.js +1 -1
  302. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_lib_e099bffc._.js +3 -0
  303. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
  304. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  305. package/dashboard/.next/standalone/dashboard/.next/static/chunks/0813ee664e620e80.js +1 -0
  306. package/dashboard/.next/standalone/dashboard/.next/static/chunks/3459bf5a60cec027.js +1 -0
  307. package/dashboard/.next/standalone/dashboard/.next/static/chunks/{8a5b61fd5e1bbcfa.js → 367944cb40d1e6d7.js} +1 -1
  308. package/dashboard/.next/standalone/dashboard/.next/static/chunks/38b428b85257d41d.js +1 -0
  309. package/dashboard/.next/standalone/dashboard/.next/static/chunks/{8eabb856fd0e50b7.js → 38fa196371b9e90b.js} +1 -1
  310. package/dashboard/.next/standalone/dashboard/.next/static/chunks/41c550a60ee25280.js +1 -0
  311. package/dashboard/.next/standalone/dashboard/.next/static/chunks/67b5f6f3d4c911c7.js +1 -0
  312. package/dashboard/.next/standalone/dashboard/.next/static/chunks/{4ddb24d8ce3b8617.js → 699fd12fecbe2007.js} +1 -1
  313. package/dashboard/.next/standalone/dashboard/.next/static/chunks/75f14b915412d5cf.js +1 -0
  314. package/dashboard/.next/standalone/dashboard/.next/static/chunks/9299edebc536e6de.js +1 -0
  315. package/dashboard/.next/standalone/dashboard/.next/static/chunks/9b02aba35b7ce4b7.js +15 -0
  316. package/dashboard/.next/standalone/dashboard/.next/static/chunks/9dd510e6693ca6ac.js +1 -0
  317. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d25030e49454bb56.css +1 -0
  318. package/dashboard/.next/standalone/dashboard/.next/static/chunks/dcfd5a3eb20885c2.js +1 -0
  319. package/dashboard/.next/standalone/dashboard/.next/static/chunks/e18095d552836b96.js +1 -0
  320. package/dashboard/.next/standalone/dashboard/.next/static/chunks/ea9275fe0f92b82c.js +1 -0
  321. package/dist/api/events.js +2 -0
  322. package/dist/api/redact-response.d.ts +15 -0
  323. package/dist/api/redact-response.js +19 -0
  324. package/dist/api/routes/memories.js +86 -21
  325. package/dist/api/visualization-server.js +15 -4
  326. package/dist/defence/trust/read-guard.d.ts +42 -0
  327. package/dist/defence/trust/read-guard.js +120 -0
  328. package/package.json +1 -1
  329. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__7d500b5a._.js +0 -3
  330. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__bea9887b._.js +0 -3
  331. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_14d63e36._.js +0 -3
  332. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_92148040._.js +0 -3
  333. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_861871f9._.js +0 -3
  334. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_de7ac4f9._.js +0 -3
  335. package/dashboard/.next/standalone/dashboard/.next/static/chunks/1600063be806f47c.js +0 -1
  336. package/dashboard/.next/standalone/dashboard/.next/static/chunks/2d55e8cb58d80df0.js +0 -1
  337. package/dashboard/.next/standalone/dashboard/.next/static/chunks/3729c748a4361c1f.js +0 -1
  338. package/dashboard/.next/standalone/dashboard/.next/static/chunks/61aaa0c660c32b96.js +0 -1
  339. package/dashboard/.next/standalone/dashboard/.next/static/chunks/69074f4a9b09c31d.js +0 -1
  340. package/dashboard/.next/standalone/dashboard/.next/static/chunks/881477f5d01c1d9b.js +0 -1
  341. package/dashboard/.next/standalone/dashboard/.next/static/chunks/98ae91e0a6f5d317.css +0 -1
  342. package/dashboard/.next/standalone/dashboard/.next/static/chunks/a95dbcc1842ad9d7.js +0 -1
  343. package/dashboard/.next/standalone/dashboard/.next/static/chunks/cfbc41857d998b74.js +0 -15
  344. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d2837977142371d5.js +0 -1
  345. package/dashboard/.next/standalone/dashboard/.next/static/chunks/de9f5ba8bc67d4d9.js +0 -1
  346. package/dashboard/.next/standalone/dashboard/.next/static/chunks/e8884e7f3b85fd0b.js +0 -1
  347. /package/dashboard/.next/standalone/dashboard/.next/static/{UA_86bJ-tNIyDXr-i0gK6 → 4z2JAhKnao1A-q8Eo4wzd}/_buildManifest.js +0 -0
  348. /package/dashboard/.next/standalone/dashboard/.next/static/{UA_86bJ-tNIyDXr-i0gK6 → 4z2JAhKnao1A-q8Eo4wzd}/_clientMiddlewareManifest.json +0 -0
  349. /package/dashboard/.next/standalone/dashboard/.next/static/{UA_86bJ-tNIyDXr-i0gK6 → 4z2JAhKnao1A-q8Eo4wzd}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[1090,a=>{"use strict";var b=a.i(98419);let c="terminal";function d(){return"u"<typeof document?c:"glass"===document.documentElement.getAttribute("data-theme")?"glass":"terminal"}function e(a){return()=>{}}function f(){return[(0,b.useSyncExternalStore)(e,d,()=>c),a=>{if("u">typeof document){try{window.localStorage.setItem("sc-theme",a)}catch{}document.documentElement.setAttribute("data-theme",a),window.dispatchEvent(new Event("sc-theme-change"))}}]}a.s(["useTheme",()=>f])},4999,a=>{"use strict";var b=a.i(16306),c=a.i(98419),d=a.i(1090),e=a.i(11160),f=a.i(52181),g=a.i(70694);let h=(0,g.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var i=a.i(5479);let j=(0,g.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 k=a.i(98472),l=a.i(95480),m=a.i(64565),n=a.i(76625);let o=(0,g.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"}]]),p=(0,g.default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var q=a.i(66397),r=a.i(40145);let s=[{href:"/overview",label:"Overview",icon:o},{href:"/memory",label:"Memory",icon:n.Database},{href:"/memory/replay",label:"Replay",icon:p},{href:"/protection",label:"Protection",icon:k.Shield},{href:"/xray",label:"X-Ray",icon:q.ScanSearch},{href:"/settings",label:"Settings",icon:r.Settings}];var t=a.i(68839),u=a.i(67789),v=a.i(76614);function w(){let a=(0,f.usePathname)(),{sidebarPinned:d,toggleSidebarPinned:g}=(0,t.useDashboardStore)(),[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null),r=p===a,{isConnected:w}=(0,v.useWebSocketStatus)(),{data:x}=(0,u.useVersion)(),y=d||n||r;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:()=>q(a),className:"fixed left-3 top-3 z-50 flex h-10 w-10 items-center justify-center rounded-xl bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] text-[var(--sc-text-secondary)] md:hidden","aria-label":"Open navigation",children:(0,b.jsx)(h,{size:18})}),r&&(0,b.jsx)("div",{className:"fixed inset-0 z-40 bg-black/50 backdrop-blur-sm md:hidden",onClick:()=>q(null)}),(0,b.jsxs)("aside",{className:(0,m.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",r?"translate-x-0":"-translate-x-full md:translate-x-0",y?"w-60":"w-16"),onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:[(0,b.jsxs)("div",{className:"flex h-16 items-center gap-3 border-b border-[var(--sc-border)] px-4",children:[(0,b.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-gradient-to-br from-[var(--sc-coral)] to-[var(--sc-coral-dark)]",children:(0,b.jsx)(k.Shield,{size:16,className:"text-white"})}),(0,b.jsxs)("div",{className:(0,m.cn)("overflow-hidden whitespace-nowrap transition-all duration-300",y?"w-auto opacity-100":"w-0 opacity-0"),children:[(0,b.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-[var(--sc-coral)]",children:"ShieldCortex"}),(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Dashboard"})]}),r&&(0,b.jsx)("button",{onClick:()=>q(null),className:"ml-auto text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)] md:hidden","aria-label":"Close navigation",children:(0,b.jsx)(l.X,{size:18})})]}),(0,b.jsx)("nav",{className:"flex-1 space-y-1 px-2 py-4",role:"navigation","aria-label":"Main navigation",children:s.map(c=>{var d;let f=c.icon,g="/overview"===(d=c.href)?"/overview"===a||"/"===a:a===d||a.startsWith(`${d}/`);return(0,b.jsxs)(e.default,{href:c.href,"aria-current":g?"page":void 0,className:(0,m.cn)("relative flex items-center gap-3 rounded-xl px-3 py-2.5 transition-all duration-200 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--sc-cyan)]",g?"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-primary)]":"text-[var(--sc-text-muted)] hover:bg-[var(--sc-surface-interactive)] hover:text-[var(--sc-text-secondary)]"),children:[g&&(0,b.jsx)("div",{className:"absolute left-0 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-r bg-[var(--sc-coral)]"}),(0,b.jsx)(f,{size:18,className:(0,m.cn)("shrink-0",g&&"text-[var(--sc-coral)]")}),(0,b.jsx)("span",{className:(0,m.cn)("overflow-hidden whitespace-nowrap text-sm font-medium transition-all duration-300",y?"w-auto opacity-100":"w-0 opacity-0"),children:c.label})]},c.href)})}),(0,b.jsxs)("div",{className:"space-y-2 border-t border-[var(--sc-border)] px-2 py-3",children:[y&&(0,b.jsxs)("button",{onClick:g,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,b.jsx)(j,{size:16}):(0,b.jsx)(i.Pin,{size:16}),(0,b.jsx)("span",{className:"text-xs",children:d?"Unpin":"Pin sidebar"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 px-3 py-1",children:[(0,b.jsx)("span",{className:(0,m.cn)("h-2 w-2 shrink-0 rounded-full",w?"bg-[var(--sc-cyan)] pulse-cyan":"bg-[var(--sc-coral)] pulse-coral"),"aria-label":w?"Real-time connected":"Real-time disconnected"}),(0,b.jsx)("span",{className:(0,m.cn)("overflow-hidden whitespace-nowrap text-[11px] text-[var(--sc-text-muted)] transition-all duration-300",y?"w-auto opacity-100":"w-0 opacity-0"),children:w?"Connected":"Disconnected"})]}),(0,b.jsxs)("div",{className:(0,m.cn)("overflow-hidden whitespace-nowrap px-3 font-mono text-[10px] text-[var(--sc-text-muted)] transition-all duration-300",y?"opacity-100":"h-0 opacity-0"),children:["v",x?.version??"..."]})]})]})]})}function x(){return(0,b.jsx)(w,{})}var y=a.i(88904);let z=(0,g.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),A=(0,g.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);var B=a.i(6476);let C=(0,g.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var D=a.i(79155),E=a.i(22524),F=a.i(14126),G=a.i(40458),H=a.i(86044);let I=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",J=[{id:"24h",label:"24h"},{id:"7d",label:"7d"},{id:"30d",label:"30d"}];function K({value:a}){if(void 0===a)return null;if(0===a)return(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5 text-[10px] text-[var(--sc-text-muted)]",children:[(0,b.jsx)(C,{size:9})," 0"]});let c=a>0;return(0,b.jsxs)("span",{className:`inline-flex items-center gap-0.5 text-[10px] ${c?"text-[var(--sc-cyan)]":"text-[var(--sc-text-muted)]"}`,children:[(0,b.jsx)(c?A:z,{size:9}),c?"+":"",a]})}function L({icon:a,label:c,value:d,delta:e,tone:f}){let g="coral"===f?"text-[var(--sc-coral)]":"cyan"===f?"text-[var(--sc-cyan)]":"text-[var(--sc-text-primary)]";return(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:g,children:a}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--sc-text-muted)]",children:c}),(0,b.jsx)("span",{className:`font-mono text-sm font-semibold ${g}`,children:d.toLocaleString()}),(0,b.jsx)(K,{value:e})]})}function M({moment:a}){let c="block"===a.kind||"quarantine"===a.kind?D.ShieldAlert:"capture"===a.kind?F.Sparkles:B.Brain,d="block"===a.kind?"text-[var(--sc-coral)]":"quarantine"===a.kind?"text-[var(--sc-amber)]":"capture"===a.kind?"text-[var(--sc-cyan)]":"text-[var(--sc-text-secondary)]";return(0,b.jsxs)("li",{className:"flex items-start gap-2 rounded border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/40 p-2",children:[(0,b.jsx)(c,{size:14,className:`mt-0.5 ${d}`}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[var(--sc-text-primary)] truncate",children:a.title}),(0,b.jsx)("div",{className:"mt-0.5 text-[10px] text-[var(--sc-text-muted)] truncate",children:a.detail})]}),(0,b.jsx)("span",{className:"shrink-0 text-[10px] text-[var(--sc-text-muted)]",children:new Date(a.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})}function N(){let[a,d]=(0,c.useState)("24h"),[e,f]=(0,c.useState)(!1),{projectFilter:g}=(0,t.useDashboardStore)(),{data:h,isLoading:i}=function(a="24h",b){return(0,G.useQuery)({queryKey:["digest",a,b??null],queryFn:async()=>{let c=new URLSearchParams({window:a});b&&c.set("project",b);let d=await (0,H.gatedFetch)(`${I}/api/digest?${c.toString()}`);if(!d.ok)throw Error(await (0,H.readApiError)(d,"Failed to load digest"));return d.json()},refetchInterval:6e4,staleTime:3e4})}(a,g);if(i||!h)return(0,b.jsxs)("div",{className:"flex items-center gap-3 border-b border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/30 px-4 py-2 text-[11px] text-[var(--sc-text-muted)]",children:[(0,b.jsx)(y.Activity,{size:12,className:"animate-pulse"})," Loading activity…"]});let j=h.current,k=h.delta,l=0===j.scanned&&0===j.memoriesCaptured&&0===j.memoriesRecalled;return(0,b.jsxs)("div",{className:"border-b border-[var(--term-border)] bg-[var(--term-surface)] font-mono",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-2 px-4 py-2 cursor-pointer hover:bg-[var(--term-surface-2)] transition-colors",onClick:()=>f(a=>!a),role:"button",tabIndex:0,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&f(a=>!a)},"aria-expanded":e,"aria-label":`${h.windowLabel} ShieldCortex activity. Click to ${e?"collapse":"expand"} top moments.`,children:[(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:h.windowLabel}),l?(0,b.jsx)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:"No activity yet — ShieldCortex captures and protects in the background."}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{icon:(0,b.jsx)(E.ShieldCheck,{size:13}),label:"Scanned",value:j.scanned,delta:k.scanned}),(0,b.jsx)(L,{icon:(0,b.jsx)(D.ShieldAlert,{size:13}),label:"Blocked",value:j.blocked+j.quarantined,delta:(k.blocked??0)+(k.quarantined??0),tone:"coral"}),(0,b.jsx)(L,{icon:(0,b.jsx)(F.Sparkles,{size:13}),label:"Captured",value:j.memoriesCaptured,delta:k.memoriesCaptured,tone:"cyan"}),(0,b.jsx)(L,{icon:(0,b.jsx)(B.Brain,{size:13}),label:"Recalled",value:j.memoriesRecalled,delta:k.memoriesRecalled})]}),(0,b.jsx)("div",{className:"ml-auto flex items-center gap-3",children:(0,b.jsx)("div",{className:"flex items-center gap-1",onClick:a=>a.stopPropagation(),children:J.map(c=>(0,b.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),d(c.id)},className:`px-1.5 py-0.5 text-[11px] font-mono transition-colors theme-glass:rounded theme-glass:uppercase theme-glass:tracking-[0.12em] ${c.id===a?"text-[var(--term-electric-fg)] theme-glass:bg-[var(--sc-cyan)]/20 theme-glass:text-[var(--sc-cyan)]":"text-[var(--term-text-muted)] hover:text-[var(--term-text)] theme-glass:hover:text-[var(--sc-text-primary)]"}`,children:[(0,b.jsxs)("span",{className:"theme-glass:hidden",children:["[",c.label,"]"]}),(0,b.jsx)("span",{className:"hidden theme-glass:inline",children:c.label})]},c.id))})})]}),e&&!l&&(0,b.jsx)("div",{className:"border-t border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/50 px-4 py-3",children:(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"mb-2 text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:"Top moments"}),0===h.topMoments.length?(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Nothing notable to surface in this window."}):(0,b.jsx)("ul",{className:"space-y-1.5",children:h.topMoments.map((a,c)=>(0,b.jsx)(M,{moment:a},`${a.kind}-${c}-${a.timestamp}`))})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"mb-2 text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:"Top threat patterns"}),0===h.topThreatPatterns.length?(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"No threat patterns triggered."}):(0,b.jsx)("ul",{className:"space-y-1",children:h.topThreatPatterns.map(a=>(0,b.jsxs)("li",{className:"flex items-center justify-between rounded border border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/50 px-2 py-1 text-xs",children:[(0,b.jsx)("span",{className:"font-mono text-[var(--sc-text-primary)] truncate",children:a.pattern}),(0,b.jsxs)("span",{className:"font-mono text-[var(--sc-text-muted)]",children:[a.count,"×"]})]},a.pattern))})]})]})})]})}let O=(0,g.default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);function P(){let{data:a}=(0,u.useProjects)(),{projectFilter:c,setProjectFilter:d}=(0,t.useDashboardStore)(),e=Array.isArray(a)?a:Array.isArray(a?.projects)?a.projects:[],f=e.filter(a=>"string"==typeof a.project&&a.project.length>0),g=e.find(a=>null===a.project)?.memory_count??f.reduce((a,b)=>a+(b.memory_count??0),0),h=f.slice().sort((a,b)=>(b.memory_count??0)-(a.memory_count??0)||a.project.localeCompare(b.project));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"theme-glass:hidden flex items-center gap-3 border-b border-[var(--term-border)] bg-[var(--term-surface)] px-4 py-1.5 font-mono text-xs",children:[(0,b.jsx)("span",{className:"text-[var(--term-text-muted)]",children:"project"}),(0,b.jsx)("span",{className:"text-[var(--term-text-muted)]","aria-hidden":!0,children:"="}),(0,b.jsxs)("select",{id:"project-filter",value:c??"",onChange:a=>d(""===a.target.value?null:a.target.value),className:"rounded-sm border border-[var(--term-border)] bg-[var(--term-surface-2)] px-2 py-0.5 text-xs text-[var(--term-text)] font-mono focus:outline-none focus:border-[var(--term-electric)]","aria-label":"Filter dashboard by project",children:[(0,b.jsxs)("option",{value:"",children:["*",g?` (${g})`:""]}),h.map(a=>(0,b.jsxs)("option",{value:a.project,children:[a.project,"number"==typeof a.memory_count?` (${a.memory_count})`:""]},a.project))]}),c&&(0,b.jsx)("button",{type:"button",onClick:()=>d(null),className:"text-[var(--term-text-muted)] hover:text-[var(--term-text)] underline",children:"clear"})]}),(0,b.jsxs)("div",{className:"hidden theme-glass:flex items-center gap-2 border-b border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/40 px-4 py-2 backdrop-blur-sm",children:[(0,b.jsx)(O,{size:13,className:"text-[var(--sc-text-muted)]"}),(0,b.jsx)("label",{htmlFor:"project-filter-glass",className:"text-xs uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:"Project"}),(0,b.jsxs)("select",{id:"project-filter-glass",value:c??"",onChange:a=>d(""===a.target.value?null:a.target.value),className:"rounded-md border border-[var(--sc-border)] bg-[var(--sc-bg-deep)] px-2 py-1 text-xs text-[var(--sc-text-primary)] focus:outline-none focus:ring-1 focus:ring-[var(--sc-cyan)]","aria-label":"Filter dashboard by project (glass)",children:[(0,b.jsxs)("option",{value:"",children:["All projects",g?` (${g})`:""]}),h.map(a=>(0,b.jsxs)("option",{value:a.project,children:[a.project,"number"==typeof a.memory_count?` (${a.memory_count})`:""]},a.project))]}),c&&(0,b.jsx)("button",{type:"button",onClick:()=>d(null),className:"text-[11px] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)] underline",children:"Clear"})]})]})}var Q=a.i(38883);function R({sources:a=[],max:c=4}){let d=a.slice(0,c),e=a.length-d.length;return(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,b.jsx)("span",{className:"shrink-0 text-[var(--cic-text-faint)]",children:"ECOSYSTEM ▸"}),0===d.length?(0,b.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:"no signals"}):d.map(a=>(0,b.jsxs)("span",{className:"flex shrink-0 items-center gap-1",title:`${a.source} \xb7 ${a.count} ops`,children:[(0,b.jsx)("span",{className:"cic-bloom text-[var(--cic-cyan)]","aria-hidden":!0,children:"◉"}),(0,b.jsx)("span",{className:"text-[var(--cic-text-dim)]",children:function(a){if(!a)return"unknown";let[b,c]=a.split(":");return"agent"===b&&c?c.replace(/-plugin.*/,""):"cli"===b?c?`cli:${c}`:"cli":"hook"===b?"hook":"api"===b?c?`api:${c}`:"api":"user"===b?"you":b||a}(a.source)})]},a.source)),e>0&&(0,b.jsxs)("span",{className:"shrink-0 text-[var(--cic-text-faint)]",children:["+",e]})]})}let S=["input","pattern","semantic","structural","behaviour","credential"];function T({blocked:a=0}){let c=a>0,d=c?"var(--cic-coral)":"var(--cic-cyan)";return(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",title:`Shield: 6 layers armed \xb7 ${a} blocked`,children:[(0,b.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:"SHIELD"}),(0,b.jsx)("span",{className:"flex gap-0.5",children:S.map(a=>(0,b.jsx)("span",{className:c?"cic-bloom":"",style:{color:d},"aria-hidden":!0,children:"▣"},a))})]})}function U({label:a,value:c,colour:d}){return(0,b.jsxs)("span",{className:"flex items-center gap-1",title:a,children:[(0,b.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:a}),(0,b.jsx)("span",{className:"cic-bloom tabular-nums",style:{color:d},children:c.toLocaleString()})]})}function V(){let a=(0,Q.useAuditStats)("24h"),d=(0,u.useStats)(),{isConnected:e}=(0,v.useWebSocketStatus)(),[f,g]=(0,c.useState)("");(0,c.useEffect)(()=>{let a=()=>g(new Date().toTimeString().slice(0,8));a();let b=setInterval(a,1e3);return()=>clearInterval(b)},[]);let h=a.data,i=h?.topSources??[];return(0,b.jsxs)("header",{className:"flex items-center gap-5 overflow-x-auto border-b border-[var(--cic-border)] bg-[var(--cic-surface)]/80 px-4 py-2 font-mono text-xs whitespace-nowrap",children:[(0,b.jsx)("span",{className:"cic-bloom shrink-0 font-semibold tracking-[0.18em] text-[var(--cic-cyan)]",children:"◢ SHIELDCORTEX·CIC ◤"}),(0,b.jsx)(R,{sources:i}),(0,b.jsx)(T,{blocked:h?.blockedCount??0}),(0,b.jsxs)("span",{className:"ml-auto flex shrink-0 items-center gap-4",children:[(0,b.jsx)(U,{label:"SCANNED",value:h?.totalOperations??0,colour:"var(--cic-text-dim)"}),(0,b.jsx)(U,{label:"BLOCKED",value:h?.blockedCount??0,colour:"var(--cic-coral)"}),(0,b.jsx)(U,{label:"QUAR",value:h?.quarantinedCount??0,colour:"var(--cic-amber)"}),(0,b.jsx)(U,{label:"MEMORIES",value:d.data?.total??0,colour:"var(--cic-cyan)"}),(0,b.jsxs)("span",{className:"flex items-center gap-1.5",title:e?"live link up":"link down",children:[(0,b.jsx)("span",{className:e?"pulse-cyan":"pulse-coral",style:{color:e?"var(--cic-cyan)":"var(--cic-coral)"},"aria-hidden":!0,children:"◉"}),(0,b.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:e?"LINK":"DOWN"})]}),(0,b.jsx)("span",{className:"tabular-nums text-[var(--cic-text-muted)]",suppressHydrationWarning:!0,children:f})]})]})}let W={memory:{token:"--cic-cyan",hex:"#00e5cc",glow:"rgba(0, 229, 204, 0.35)",label:"MEMORY",meaning:"vault · recall · the living graph"},defence:{token:"--cic-coral",hex:"#ff4d4d",glow:"rgba(255, 77, 77, 0.35)",label:"DEFENCE",meaning:"shield · interception · the 6 layers"},quarantine:{token:"--cic-amber",hex:"#f5a623",glow:"rgba(245, 166, 35, 0.32)",label:"QUARANTINE",meaning:"isolation hold · pending review"},integrity:{token:"--cic-violet",hex:"#a78bfa",glow:"rgba(167, 139, 250, 0.32)",label:"INTEGRITY",meaning:"consolidation · links · contradictions"}},X={"/overview":"memory","/memory":"memory","/memory/replay":"integrity","/protection":"defence","/xray":"defence","/settings":"integrity"};function Y(){let a=(0,f.usePathname)(),{isConnected:d}=(0,v.useWebSocketStatus)(),[g,h]=(0,c.useState)(!1);return(0,b.jsxs)("aside",{className:`flex shrink-0 flex-col border-r border-[var(--cic-border)] bg-[var(--cic-surface)]/60 font-mono transition-[width] duration-200 ${g?"w-14":"w-56"}`,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>h(a=>!a),className:"flex h-11 items-center gap-2 px-4 text-left text-[var(--cic-text-muted)] hover:text-[var(--cic-text)]","aria-label":g?"expand navigation":"collapse navigation",children:[(0,b.jsx)("span",{className:"cic-bloom text-[var(--cic-cyan)]",children:"$"}),!g&&(0,b.jsx)("span",{className:"text-sm text-[var(--cic-text-dim)]",children:"shieldcortex"})]}),(0,b.jsx)("nav",{className:"flex flex-1 flex-col gap-0.5 px-2 py-2",children:s.map(c=>{let d=a===c.href||"/overview"!==c.href&&a.startsWith(c.href),f=W[X[c.href]??"memory"],h=c.icon;return(0,b.jsxs)(e.default,{href:c.href,title:c.label,className:`flex items-center gap-2 rounded px-2 py-1.5 text-sm transition-colors ${d?"bg-[var(--cic-surface-2)] text-[var(--cic-text)]":"text-[var(--cic-text-muted)] hover:text-[var(--cic-text)]"}`,style:d?{color:`var(${f.token})`}:void 0,children:[(0,b.jsx)("span",{className:"w-2 shrink-0",style:d?{color:`var(${f.token})`}:void 0,children:d?"▸":""}),h?(0,b.jsx)(h,{size:14,className:"shrink-0"}):null,!g&&(0,b.jsx)("span",{className:"truncate",children:c.label})]},c.href)})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 border-t border-[var(--cic-border)] px-4 py-2 text-xs",children:[(0,b.jsx)("span",{className:d?"pulse-cyan":"pulse-coral",style:{color:d?"var(--cic-cyan)":"var(--cic-coral)"},"aria-hidden":!0,children:"◉"}),!g&&(0,b.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:d?"link.up":"link.down"})]})]})}let Z=a=>({ok:!0,lines:a}),$=a=>({ok:!1,lines:a}),_={recall:{name:"recall",usage:'recall "<query>" [--project <p>]',summary:"search the memory cortex",run:async(a,{args:b,flags:c})=>{let d=b.join(" ").trim();if(!d)return $(['recall: give a query, e.g. recall "auth bug"']);let e="string"==typeof c.project?c.project:void 0,f=await a.recall(d,e);return 0===f.length?Z([`recall "${d}" → no memories`]):Z([`recall "${d}" → ${f.length}`,...f.slice(0,10).map(a=>` #${a.id} ${a.title}`)])}},scan:{name:"scan",usage:"scan <path> [--deep]",summary:"X-Ray a file, folder, or package",run:async(a,{args:b,flags:c})=>{let d=b[0];if(!d)return $(["scan: give a path or package"]);let e=await a.scan(d,!0===c.deep);return Z([`scan ${e.target} → ${e.riskLevel} \xb7 trust ${e.trustScore} \xb7 ${e.filesScanned} files \xb7 ${e.findingsCount} findings`])}},forget:{name:"forget",usage:"forget <id>",summary:"delete a memory by id",run:async(a,{args:b})=>{let c=Number(b[0]);return Number.isInteger(c)?(await a.forget(c),Z([`▸ forgot #${c}`])):$(["forget: give a numeric memory id"])}},consolidate:{name:"consolidate",usage:"consolidate",summary:"run a consolidation pass (STM→LTM, decay, cleanup)",run:async a=>{let b=await a.consolidate();return Z([`▸ consolidated ${b.consolidated} \xb7 decayed ${b.decayed} \xb7 deleted ${b.deleted}`])}},quarantine:{name:"quarantine",usage:"quarantine [approve <id> | reject <id>]",summary:"list pending quarantine, or approve/reject by id",run:async(a,{args:b})=>{let c=b[0]?.toLowerCase();if(!c||"list"===c){let b=await a.quarantineList();return 0===b.length?Z(["quarantine: nothing pending"]):Z([`quarantine pending → ${b.length}`,...b.slice(0,10).map(a=>` #${a.id} ${a.title}`)])}if("approve"===c||"reject"===c){let d=Number(b[1]);return Number.isInteger(d)?(await a.quarantineReview(d,c),Z([`▸ ${"approve"===c?"approved":"rejected"} #${d}`])):$([`quarantine ${c}: give a numeric id`])}return $(["quarantine: use list | approve <id> | reject <id>"])}},irondome:{name:"irondome",usage:"irondome <on|off|status>",summary:"arm/disarm the Iron Dome, or report its state",run:async(a,{args:b})=>{let c=b[0]?.toLowerCase();return"on"!==c&&"off"!==c&&"status"!==c?$(["irondome: use on | off | status"]):Z([await a.ironDome(c)])}},remember:{name:"remember",usage:'remember "<text>"',summary:"store a new memory",run:async(a,{args:b})=>{let c=b.join(" ").trim();if(!c)return $(['remember: give the text to store, e.g. remember "the fix was X"']);let d=await a.remember(c);return Z([`▸ remembered #${d.id}`])}},go:{name:"go",usage:"go <view>",summary:"navigate to a console view",run:(a,{args:b})=>{let c=b[0]?.toLowerCase();if(!c)return $(["go: which view? "+a.routes.map(a=>a.label).join(" · ")]);let d=a.routes.find(a=>a.label.toLowerCase().includes(c)||a.href.toLowerCase().includes(c));return d?(a.navigate(d.href),Z([`▸ ${d.label}`])):$([`go: unknown view '${c}'. options: ${a.routes.map(a=>a.label).join(" · ")}`])}},theme:{name:"theme",usage:"theme <terminal|glass>",summary:"switch the dashboard theme",run:(a,{args:b})=>{let c=b[0]?.toLowerCase();return"terminal"!==c&&"glass"!==c?$(["theme: choose 'terminal' or 'glass'"]):(a.setTheme(c),Z([`▸ theme → ${c}`]))}},help:{name:"help",usage:"help",summary:"list commands",run:()=>Z(["commands:",...Object.values(_).map(a=>` ${a.usage.padEnd(34)} ${a.summary}`)])}};async function aa(a,b){let c=function(a){let b=a.trim();if(!b)return null;let c=function(a){let b,c=[],d=/"([^"]*)"|(\S+)/g;for(;null!==(b=d.exec(a));)c.push(void 0!==b[1]?b[1]:b[2]);return c}(b),d=c[0].toLowerCase(),e=[],f={};for(let a=1;a<c.length;a+=1){let b=c[a];if(b.startsWith("--")){let d=b.slice(2),e=c[a+1];void 0===e||e.startsWith("--")?f[d]=!0:(f[d]=e,a+=1)}else e.push(b)}return{name:d,args:e,flags:f}}(a);if(!c)return $([]);let d=_[c.name];if(!d)return $([`unknown command: ${c.name} — try 'help'`]);try{return await d.run(b,c)}catch(a){return $([`error: ${a instanceof Error?a.message:String(a)}`])}}var ab=a.i(26804);let ac=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",ad={in:"text-[var(--cic-text-dim)]",out:"text-[var(--cic-text)]",err:"text-[var(--cic-coral)]"};function ae(){let a=function(){let a=(0,f.useRouter)(),[,b]=(0,d.useTheme)(),e=(0,ab.useXRayScan)(),g=(0,u.useDeleteMemory)(),h=(0,u.useConsolidate)(),i=(0,Q.useApproveQuarantine)(),j=(0,Q.useRejectQuarantine)();return(0,c.useMemo)(()=>({navigate:b=>a.push(b),setTheme:b,recall:async(a,b)=>{let c=new URLSearchParams({mode:"search",query:a,limit:"10"});b&&c.set("project",b);let d=await (0,H.authFetch)(`${ac}/api/memories?${c.toString()}`);if(!d.ok)throw Error(await (0,H.readApiError)(d,"recall failed"));return((await d.json()).memories??[]).map(a=>({id:a.id,title:a.title}))},scan:async(a,b)=>{let{result:c}=await e.mutateAsync({target:a,deep:b});return{target:c.target,riskLevel:c.riskLevel,trustScore:c.trustScore,filesScanned:c.filesScanned,findingsCount:c.findings.length}},forget:async a=>{await g.mutateAsync(a)},consolidate:async()=>{let a=await h.mutateAsync();return{consolidated:a.consolidated,decayed:a.decayed,deleted:a.deleted}},quarantineList:async()=>{let a=await (0,H.authFetch)(`${ac}/api/v1/quarantine?status=pending&limit=20`);if(!a.ok)throw Error(await (0,H.readApiError)(a,"quarantine list failed"));return((await a.json()).items??[]).map(a=>({id:a.id,title:a.original_title??a.title??`item ${a.id}`}))},quarantineReview:async(a,b)=>{"approve"===b?await i.mutateAsync(a):await j.mutateAsync({id:a})},ironDome:async a=>{if("status"===a){let a=await (0,H.authFetch)(`${ac}/api/iron-dome/status`);if(!a.ok)throw Error(await (0,H.readApiError)(a,"iron dome status failed"));let b=await a.json();return`iron dome: ${b.enabled?"ACTIVE":"inactive"}`}let b=await (0,H.authFetch)(`${ac}/api/iron-dome/${"on"===a?"activate":"deactivate"}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});if(!b.ok)throw Error(await (0,H.readApiError)(b,`iron dome ${a} failed`));return`▸ iron dome ${"on"===a?"ACTIVE":"disabled"}`},remember:async a=>{let b=await (0,H.authFetch)(`${ac}/api/memories`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a.slice(0,80),content:a})});if(!b.ok)throw Error(await (0,H.readApiError)(b,"remember failed"));return{id:(await b.json()).id??0}},routes:s.map(a=>({label:a.label,href:a.href}))}),[a,b,e,g,h,i,j])}(),[e,g]=(0,c.useState)(""),[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)([]),[l,m]=(0,c.useState)(-1),[n,o]=(0,c.useState)(!1),p=(0,c.useRef)(null),q=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=a=>{(a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()&&(a.preventDefault(),p.current?.focus())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]),(0,c.useEffect)(()=>{let a=q.current;a&&"function"==typeof a.scrollTo&&a.scrollTo({top:a.scrollHeight})},[h]);let r=(0,c.useCallback)(async()=>{let b=e.trim();if(!b||n)return;i(a=>[...a,{kind:"in",text:b}]),k(a=>[...a,b]),m(-1),g(""),o(!0);let c=await aa(b,a);i(a=>[...a,...c.lines.map(a=>({kind:c.ok?"out":"err",text:a}))]),o(!1)},[e,n,a]);return(0,b.jsxs)("div",{className:"border-t border-[var(--cic-border)] bg-[var(--cic-surface)]/80 font-mono text-sm",children:[h.length>0&&(0,b.jsx)("div",{ref:q,className:"max-h-40 overflow-y-auto px-4 py-2 leading-relaxed",children:h.map((a,c)=>(0,b.jsx)("div",{className:`whitespace-pre-wrap ${ad[a.kind]}`,children:"in"===a.kind?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-[var(--cic-cyan)]",children:"sc ▸ "}),a.text]}):a.text},c))}),(0,b.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2.5",children:[(0,b.jsx)("span",{className:"cic-bloom shrink-0 text-[var(--cic-cyan)]",children:"sc ▸"}),(0,b.jsx)("input",{ref:p,value:e,onChange:a=>g(a.target.value),onKeyDown:a=>{if("Enter"===a.key)a.preventDefault(),r();else if("ArrowUp"===a.key){if(a.preventDefault(),0===j.length)return;let b=-1===l?j.length-1:Math.max(0,l-1);m(b),g(j[b])}else if("ArrowDown"===a.key){if(a.preventDefault(),-1===l)return;let b=l+1;b>=j.length?(m(-1),g("")):(m(b),g(j[b]))}},spellCheck:!1,autoComplete:"off","aria-label":"command line",placeholder:"recall · scan · forget · consolidate · go · theme · help",className:"flex-1 bg-transparent text-[var(--cic-text)] outline-none placeholder:text-[var(--cic-text-faint)]"}),!e&&(0,b.jsx)("span",{className:"cli-cursor text-[var(--cic-cyan)]"}),(0,b.jsx)("kbd",{className:"shrink-0 rounded border border-[var(--cic-border)] px-1.5 text-xs text-[var(--cic-text-faint)]",children:"⌘K"})]})]})}let af=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",ag=["▁","▂","▃","▄","▅","▆","▇","█"];function ah(a){if(0===a.length)return"";let b=Math.max(...a);return b<=0?ag[0].repeat(a.length):a.map(a=>ag[Math.round(Math.max(0,a)/b*(ag.length-1))]).join("")}function ai(){let{memoryTrend:a,threatTrend:c}=function(){let{data:a}=(0,G.useQuery)({queryKey:["activity-trend"],queryFn:async()=>{let a=await (0,H.authFetch)(`${af}/api/memories/activity`);if(!a.ok)throw Error("Failed to fetch activity");return a.json()},staleTime:3e5,refetchInterval:3e5}),b=new Date;b.setDate(b.getDate()-7);let c=b.toISOString(),{data:d}=(0,G.useQuery)({queryKey:["threat-trend"],queryFn:async()=>{let a=new URLSearchParams({firewallResult:"BLOCK",startTime:c,limit:"500"}),b=await (0,H.authFetch)(`${af}/api/v1/audit?${a}`);if(!b.ok)throw Error("Failed to fetch audit logs");return b.json()},staleTime:3e5,refetchInterval:3e5}),e=[];for(let a=6;a>=0;a--){let b=new Date;b.setDate(b.getDate()-a),e.push(b.toISOString().slice(0,10))}let f=new Map;if(a?.activity)for(let b of a.activity)f.set(b.date,b.count);let g=e.map(a=>f.get(a)??0),h=new Map;if(d?.logs)for(let a of d.logs){let b=a.timestamp.slice(0,10);h.set(b,(h.get(b)??0)+1)}return{memoryTrend:g,threatTrend:e.map(a=>h.get(a)??0)}}();return(0,b.jsxs)("div",{className:"flex items-center gap-6 border-t border-[var(--cic-border)] bg-[var(--cic-surface)]/40 px-4 py-1 font-mono text-[11px] text-[var(--cic-text-faint)]",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2",title:"memories created per day, last 7 days",children:[(0,b.jsx)("span",{children:"MEMORY·7d"}),(0,b.jsx)("span",{className:"cic-bloom tracking-tight text-[var(--cic-cyan)]",children:ah(a)||"·······"})]}),(0,b.jsxs)("span",{className:"flex items-center gap-2",title:"threats blocked per day, last 7 days",children:[(0,b.jsx)("span",{children:"THREAT·7d"}),(0,b.jsx)("span",{className:"cic-bloom tracking-tight text-[var(--cic-coral)]",children:ah(c)||"·······"})]})]})}function aj({children:a}){return(0,b.jsxs)("div",{className:"flex h-dvh w-full flex-col overflow-hidden bg-[var(--cic-void)] text-[var(--cic-text)]",children:[(0,b.jsx)(V,{}),(0,b.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,b.jsx)(Y,{}),(0,b.jsx)("main",{className:"min-w-0 flex-1 overflow-auto",children:a})]}),(0,b.jsx)(ai,{}),(0,b.jsx)(ae,{})]})}function ak({children:a}){let[e,f]=(0,c.useState)(!1);(0,c.useEffect)(()=>f(!0),[]);let[g]=(0,d.useTheme)();return"terminal"===(e?g:"terminal")?(0,b.jsx)(aj,{children:a}):(0,b.jsxs)("div",{className:"flex h-dvh w-full overflow-hidden bg-[var(--sc-bg-deep)] text-[var(--sc-text-primary)]",children:[(0,b.jsx)(x,{}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,b.jsx)(N,{}),(0,b.jsx)(P,{}),(0,b.jsx)("main",{className:"min-w-0 flex-1 overflow-auto",children:a})]})]})}a.s(["ShellSwitch",()=>ak],4999)},81662,a=>{"use strict";var b=a.i(16306),c=a.i(83364),d=a.i(1090);function e(){let[a]=(0,d.useTheme)();return(0,b.jsx)(c.Toaster,{position:"bottom-right",toastOptions:{style:"glass"===a?{background:"var(--sc-bg-surface)",border:"1px solid var(--sc-border)",color:"var(--sc-text-primary)",fontFamily:"system-ui, sans-serif"}:{background:"var(--term-surface)",border:"1px solid var(--term-border)",color:"var(--term-text)",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:"13px",borderRadius:"6px"}},theme:"dark"})}a.s(["ToastProvider",()=>e])},16525,a=>{"use strict";var b=a.i(98419),c=a.i(83364),d=a.i(76614);let e=new Map;function f(){let a=(0,b.useCallback)(a=>{let b;if("defence_event"!==a.type)return;let d=a.data;if(!d||"ALLOW"===d.firewall_result)return;let f="BLOCK"===d.firewall_result,g=d.source_identifier||d.source_type||"unknown source",h=(b=function(a){if(Array.isArray(a))return a.filter(a=>"string"==typeof a);if("string"!=typeof a||!a.trim())return[];try{let b=JSON.parse(a);if(Array.isArray(b))return b.filter(a=>"string"==typeof a)}catch{return[a]}return[]}(d.threat_indicators)).length?b.slice(0,3).map(a=>a.replace(/_/g," ")).join(", "):"",i=d.reason?.trim()||(h?`Threats: ${h}`:"See audit log for details");if(function(a){let b=Date.now(),c=e.get(a);if(c&&b-c<2e3)return!0;if(e.set(a,b),e.size>50){let a=b-2e3;for(let[b,c]of e)c<a&&e.delete(b)}return!1}(`${d.firewall_result}:${g}:${(d.reason||"").slice(0,80)}`))return;let j=f?`\u{1F6E1} Blocked attack from ${g}`:`\u{26A0}\u{FE0F} Quarantined input from ${g}`,k={description:i,duration:f?8e3:5e3};f?c.toast.error(j,k):c.toast.warning(j,k)},[]);return(0,d.useWebSocketEvent)(a),null}a.s(["BlockToastBridge",()=>f])}];
2
+
3
+ //# sourceMappingURL=dashboard_src_48aa48e3._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[44750,a=>{"use strict";a.s(["MemoryWebSocketProvider",()=>c,"useMemoryWebSocketContext",()=>d,"useWebSocketEvent",()=>e,"useWebSocketStatus",()=>f]);var b=a.i(13358);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call MemoryWebSocketProvider() from the server but MemoryWebSocketProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/MemoryWebSocketProvider.tsx <module evaluation>","MemoryWebSocketProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useMemoryWebSocketContext() from the server but useMemoryWebSocketContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/MemoryWebSocketProvider.tsx <module evaluation>","useMemoryWebSocketContext"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call useWebSocketEvent() from the server but useWebSocketEvent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/MemoryWebSocketProvider.tsx <module evaluation>","useWebSocketEvent"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call useWebSocketStatus() from the server but useWebSocketStatus is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/MemoryWebSocketProvider.tsx <module evaluation>","useWebSocketStatus")},6154,a=>{"use strict";a.s(["MemoryWebSocketProvider",()=>c,"useMemoryWebSocketContext",()=>d,"useWebSocketEvent",()=>e,"useWebSocketStatus",()=>f]);var b=a.i(13358);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call MemoryWebSocketProvider() from the server but MemoryWebSocketProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/MemoryWebSocketProvider.tsx","MemoryWebSocketProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useMemoryWebSocketContext() from the server but useMemoryWebSocketContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/MemoryWebSocketProvider.tsx","useMemoryWebSocketContext"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call useWebSocketEvent() from the server but useWebSocketEvent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/MemoryWebSocketProvider.tsx","useWebSocketEvent"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call useWebSocketStatus() from the server but useWebSocketStatus is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/MemoryWebSocketProvider.tsx","useWebSocketStatus")},96877,a=>{"use strict";a.i(44750);var b=a.i(6154);a.n(b)},68947,a=>{"use strict";a.s(["ShellSwitch",()=>b]);let b=(0,a.i(13358).registerClientReference)(function(){throw Error("Attempted to call ShellSwitch() from the server but ShellSwitch is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/layout/ShellSwitch.tsx <module evaluation>","ShellSwitch")},64374,a=>{"use strict";a.s(["ShellSwitch",()=>b]);let b=(0,a.i(13358).registerClientReference)(function(){throw Error("Attempted to call ShellSwitch() from the server but ShellSwitch is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/layout/ShellSwitch.tsx","ShellSwitch")},55617,a=>{"use strict";a.i(68947);var b=a.i(64374);a.n(b)},38559,a=>{"use strict";a.s(["ToastProvider",()=>b]);let b=(0,a.i(13358).registerClientReference)(function(){throw Error("Attempted to call ToastProvider() from the server but ToastProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/ds/Toast.tsx <module evaluation>","ToastProvider")},70843,a=>{"use strict";a.s(["ToastProvider",()=>b]);let b=(0,a.i(13358).registerClientReference)(function(){throw Error("Attempted to call ToastProvider() from the server but ToastProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/ds/Toast.tsx","ToastProvider")},75584,a=>{"use strict";a.i(38559);var b=a.i(70843);a.n(b)},96977,a=>{"use strict";a.s(["BlockToastBridge",()=>b]);let b=(0,a.i(13358).registerClientReference)(function(){throw Error("Attempted to call BlockToastBridge() from the server but BlockToastBridge is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/ds/BlockToastBridge.tsx <module evaluation>","BlockToastBridge")},88867,a=>{"use strict";a.s(["BlockToastBridge",()=>b]);let b=(0,a.i(13358).registerClientReference)(function(){throw Error("Attempted to call BlockToastBridge() from the server but BlockToastBridge is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/ds/BlockToastBridge.tsx","BlockToastBridge")},65268,a=>{"use strict";a.i(96977);var b=a.i(88867);a.n(b)},55244,a=>{"use strict";var b=a.i(31696),c=a.i(96877),d=a.i(55617);function e({children:a}){return(0,b.jsx)(c.MemoryWebSocketProvider,{children:(0,b.jsx)(d.ShellSwitch,{children:a})})}var f=a.i(75584),g=a.i(65268);function h({children:a}){return(0,b.jsxs)(e,{children:[a,(0,b.jsx)(f.ToastProvider,{}),(0,b.jsx)(g.BlockToastBridge,{})]})}a.s(["default",()=>h],55244)}];
2
+
3
+ //# sourceMappingURL=dashboard_src_73b12760._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[33466,a=>{"use strict";var b=a.i(16306),c=a.i(98419),d=a.i(11160),e=a.i(47520),f=a.i(26943),g=a.i(74150),h=a.i(77115),i=a.i(76625),j=a.i(6750),k=a.i(66397),l=a.i(98472),m=a.i(79155),n=a.i(54100),o=a.i(48195),p=a.i(60210),q=a.i(23808),r=a.i(79151),s=a.i(14126);let t=(0,a.i(70694).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);function u({ready:a,memoryCount:c,scanCount:d,blockedCount:e}){return!a||c>0||d>0||e>0?null:(0,b.jsxs)(n.GlassCard,{strong:!0,className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Sparkles,{size:16,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Welcome to ShieldCortex"})]}),(0,b.jsxs)("p",{className:"mt-2 max-w-2xl text-sm text-[var(--sc-text-secondary)]",children:["Nothing here yet. The dashboard is for ",(0,b.jsx)("strong",{className:"text-[var(--sc-text-primary)]",children:"visual review and bulk decisions"}),"; the ",(0,b.jsx)("code",{className:"font-mono",children:"shieldcortex"})," CLI and the agent hooks are for ",(0,b.jsx)("strong",{className:"text-[var(--sc-text-primary)]",children:"automation"}),". It fills in as your agents capture memories and the defence pipeline runs."]}),(0,b.jsxs)("div",{className:"mt-5 grid gap-3 sm:grid-cols-3",children:[(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsx)(i.Database,{size:16,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-2 text-sm font-medium text-[var(--sc-text-primary)]",children:"Capture memories"}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:["Captured automatically as you work (Claude Code / OpenClaw hooks), or via the"," ",(0,b.jsx)("code",{className:"font-mono",children:"remember"})," MCP tool."]})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsx)(t,{size:16,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-2 text-sm font-medium text-[var(--sc-text-primary)]",children:"Generate audit data"}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:["Run ",(0,b.jsx)("code",{className:"font-mono",children:"shieldcortex scan <file>"})," to push content through the defence pipeline and populate the audit log."]})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsx)(k.ScanSearch,{size:16,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-2 text-sm font-medium text-[var(--sc-text-primary)]",children:"Scan supply chain"}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:["Run an X-Ray scan from the X-Ray page, or"," ",(0,b.jsx)("code",{className:"font-mono",children:"shieldcortex xray <path>"})," from the CLI."]})]})]})]})}var v=a.i(67789),w=a.i(38883),x=a.i(35031),y=a.i(26804),z=a.i(79030);function A(){let{data:a}=(0,v.useStats)(),{data:s}=(0,w.useAuditStats)("24h"),{data:t}=(0,w.useQuarantine)("pending",10),{data:A}=(0,w.useQuarantine)("pending",1,void 0,"memory_file"),{data:B}=(0,v.useQuality)(),{data:C}=(0,v.useContradictions)(),{data:D}=(0,x.useLicenseStatus)(),{data:E}=(0,y.useXRayStatus)(),F=a?.total??0,G=a?.decayDistribution?.healthy??0,H=a?.decayDistribution?.fading??0,I=a?.decayDistribution?.critical??0,J=a?.decayDistribution?Math.round(G/Math.max(1,F)*100):0,K=C?.count??C?.contradictions?.length??0,L=t?.total??0,M=A?.total??0,N=Math.max(0,L-M),O=s?.blockedCount??0,P=B?.duplicates?.count??0,Q=B?.stale?.count??0,R=B?.neverAccessed?.count??0,S=E?.summary?.scans??0,T=(0,c.useMemo)(()=>{let a=[];return M>0&&a.push({title:`${M} memory file finding${1===M?"":"s"} need review`,detail:"These are scanned agent memory files, not stored ShieldCortex memories. Review or dismiss them without editing files.",severity:M>10?"critical":"medium",href:"/protection?tab=quarantine",cta:"Review files"}),N>0&&a.push({title:`${N} memory write${1===N?"":"s"} in quarantine`,detail:"Review blocked writes before they become silent operator debt.",severity:N>10?"critical":"medium",href:"/protection?tab=quarantine",cta:"Review writes"}),K>0&&a.push({title:`${K} contradiction${1===K?"":"s"} detected`,detail:"Conflicting facts reduce recall trust.",severity:K>5?"high":"medium",href:"/memory?tab=review",cta:"Resolve"}),O>0&&a.push({title:`${O} blocked operation${1===O?"":"s"} (24h)`,detail:"Defence pipeline blocked suspicious writes.",severity:"high",href:"/protection?tab=audit",cta:"View audit"}),Q+P>0&&a.push({title:"Memory cleanup available",detail:`${Q} stale, ${P} duplicate, ${R} unused memories.`,severity:"low",href:"/memory?tab=review",cta:"Clean up"}),a.slice(0,4)},[M,N,K,O,Q,P,R]),U=M>0&&N>0?`${M} file finding${1===M?"":"s"}, ${N} write${1===N?"":"s"} pending.`:M>0?`${M} memory-file finding${1===M?"":"s"} pending.`:`${L} item${1===L?"":"s"} pending review.`;return(0,b.jsx)("div",{className:"h-full overflow-y-auto",children:(0,b.jsxs)("div",{className:"mx-auto max-w-7xl space-y-6 p-6",children:[(0,b.jsx)(r.PageHeader,{eyebrow:"ShieldCortex",title:"Command Centre",subtitle:"Stored-memory health, memory-file findings, threat pressure, and operational status at a glance."}),(0,b.jsx)(u,{ready:void 0!==a,memoryCount:F,scanCount:S,blockedCount:O}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-5",children:[(0,b.jsx)(o.StatCard,{label:"Stored Memories",value:F.toLocaleString(),icon:i.Database,accent:"cyan",trend:J>0?{value:J,label:"healthy"}:void 0}),(0,b.jsx)(o.StatCard,{label:"Memory Files Flagged",value:M.toLocaleString(),icon:j.FileText,accent:M>0?"amber":"muted"}),(0,b.jsx)(o.StatCard,{label:"Threats Blocked",value:O.toLocaleString(),icon:m.ShieldAlert,accent:O>0?"coral":"muted"}),(0,b.jsx)(o.StatCard,{label:"X-Ray Scans",value:S.toLocaleString(),icon:k.ScanSearch,accent:"cyan"}),(0,b.jsx)(o.StatCard,{label:"Health Score",value:`${J}%`,icon:l.Shield,accent:J>=80?"cyan":J>=50?"amber":"coral"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-[1fr_1fr]",children:[(0,b.jsxs)(n.GlassCard,{className:"p-6",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Stored Memory Health"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-muted)]",children:"Decay distribution across ShieldCortex stored memories."}),(0,b.jsx)("div",{className:"mt-6 flex items-center justify-center",children:(0,b.jsxs)("div",{className:"relative h-40 w-40",children:[(0,b.jsxs)("svg",{viewBox:"0 0 100 100",className:"h-full w-full -rotate-90",children:[(0,b.jsx)("circle",{cx:"50",cy:"50",r:"42",fill:"none",stroke:"var(--sc-bg-elevated)",strokeWidth:"8"}),(0,b.jsx)("circle",{cx:"50",cy:"50",r:"42",fill:"none",stroke:"var(--sc-cyan)",strokeWidth:"8",strokeDasharray:`${2.64*J} 264`,strokeLinecap:"round",className:"transition-all duration-1000"})]}),(0,b.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[(0,b.jsxs)("span",{className:"text-3xl font-bold text-[var(--sc-text-primary)]",children:[J,"%"]}),(0,b.jsx)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:"healthy"})]})]})}),(0,b.jsxs)("div",{className:"mt-6 grid grid-cols-3 gap-3 text-center",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-lg font-semibold text-[var(--sc-cyan)]",children:G}),(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Healthy"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-lg font-semibold text-[var(--sc-amber)]",children:H}),(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Fading"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-lg font-semibold text-[var(--sc-coral)]",children:I}),(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Critical"})]})]})]}),(0,b.jsxs)(n.GlassCard,{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Urgent Actions"}),T.length>0&&(0,b.jsxs)(p.Badge,{variant:"coral",dot:!0,pulse:!0,children:[T.length," active"]})]}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-muted)]",children:"Quickest wins for trust, safety, and recall quality."}),(0,b.jsx)("div",{className:"mt-4 space-y-3",children:0===T.length?(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-xl bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsx)(g.CheckCircle2,{size:18,className:"shrink-0 text-[var(--sc-cyan)]"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"All clear"}),(0,b.jsx)("p",{className:"text-xs text-[var(--sc-text-muted)]",children:"No urgent issues right now. Memory health looks stable."})]})]}):T.map(a=>(0,b.jsxs)(d.default,{href:a.href,className:"group flex items-start gap-3 rounded-xl bg-[var(--sc-bg-elevated)] p-4 transition-all hover:bg-[var(--sc-surface-interactive-hover)]",children:["critical"===a.severity||"high"===a.severity?(0,b.jsx)(e.AlertTriangle,{size:16,className:"mt-0.5 shrink-0 text-[var(--sc-coral)]"}):"medium"===a.severity?(0,b.jsx)(h.Clock3,{size:16,className:"mt-0.5 shrink-0 text-[var(--sc-amber)]"}):(0,b.jsx)(g.CheckCircle2,{size:16,className:"mt-0.5 shrink-0 text-[var(--sc-cyan)]"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:a.title}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-[var(--sc-text-muted)]",children:a.detail})]}),(0,b.jsxs)("span",{className:"flex shrink-0 items-center gap-1 text-xs font-medium text-[var(--sc-cyan)] opacity-0 transition-opacity group-hover:opacity-100",children:[a.cta," ",(0,b.jsx)(f.ArrowRight,{size:12})]})]},a.title))})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:[(0,b.jsx)(d.default,{href:"/xray",children:(0,b.jsxs)(n.GlassCard,{hover:!0,className:"p-5",children:[(0,b.jsx)(k.ScanSearch,{size:20,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:"Run X-Ray Scan"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"Inspect packages and files for hidden risk."})]})}),(0,b.jsx)(d.default,{href:"/protection?tab=quarantine",children:(0,b.jsxs)(n.GlassCard,{hover:!0,className:"p-5",children:[(0,b.jsx)(e.AlertTriangle,{size:20,className:"text-[var(--sc-amber)]"}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:"Review Quarantine"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:U})]})}),(0,b.jsx)(d.default,{href:"/memory?tab=recall",children:(0,b.jsxs)(n.GlassCard,{hover:!0,className:"p-5",children:[(0,b.jsx)(i.Database,{size:20,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:"Debug Recall"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"Test queries and inspect ranking factors."})]})}),(0,b.jsx)(d.default,{href:"/protection?tab=dome",children:(0,b.jsxs)(n.GlassCard,{hover:!0,className:"p-5",children:[(0,b.jsx)(m.ShieldAlert,{size:20,className:"text-[var(--sc-coral)]"}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:"Iron Dome"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"Kill switch and behaviour gates."})]})})]}),(0,b.jsxs)(n.GlassCard,{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Licence"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-muted)]",children:"Current tier and feature access."})]}),(0,b.jsx)(p.Badge,{variant:D?.tier==="pro"?"cyan":D?.tier==="team"?"coral":"muted",children:z.TIER_LABELS[D?.tier??"free"]})]}),D?.tier==="free"&&(0,b.jsxs)("div",{className:"mt-4 flex items-center gap-4 rounded-xl bg-gradient-to-r from-[var(--sc-coral)]/5 to-[var(--sc-cyan)]/5 p-4",children:[(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Unlock deep scanning, custom policies, and audit exports"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"Pro starts at £29/mo with 10K cloud scans and 90-day retention."})]}),(0,b.jsx)("a",{href:"https://shieldcortex.ai/pricing",target:"_blank",rel:"noopener noreferrer",children:(0,b.jsx)(q.Button,{variant:"coral",size:"sm",glow:!0,children:"Upgrade"})})]})]})]})})}function B(){return(0,b.jsx)(A,{})}a.s(["default",()=>B],33466)}];
1
+ module.exports=[33466,a=>{"use strict";var b=a.i(16306),c=a.i(98419),d=a.i(11160),e=a.i(47520),f=a.i(26943),g=a.i(74150),h=a.i(77115),i=a.i(76625),j=a.i(6750),k=a.i(66397),l=a.i(98472),m=a.i(79155),n=a.i(54100),o=a.i(48195),p=a.i(60210),q=a.i(23808),r=a.i(79151),s=a.i(14126);let t=(0,a.i(70694).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);function u({ready:a,memoryCount:c,scanCount:d,blockedCount:e}){return!a||c>0||d>0||e>0?null:(0,b.jsxs)(n.GlassCard,{strong:!0,className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Sparkles,{size:16,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Welcome to ShieldCortex"})]}),(0,b.jsxs)("p",{className:"mt-2 max-w-2xl text-sm text-[var(--sc-text-secondary)]",children:["Nothing here yet. The dashboard is for ",(0,b.jsx)("strong",{className:"text-[var(--sc-text-primary)]",children:"visual review and bulk decisions"}),"; the ",(0,b.jsx)("code",{className:"font-mono",children:"shieldcortex"})," CLI and the agent hooks are for ",(0,b.jsx)("strong",{className:"text-[var(--sc-text-primary)]",children:"automation"}),". It fills in as your agents capture memories and the defence pipeline runs."]}),(0,b.jsxs)("div",{className:"mt-5 grid gap-3 sm:grid-cols-3",children:[(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsx)(i.Database,{size:16,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-2 text-sm font-medium text-[var(--sc-text-primary)]",children:"Capture memories"}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:["Captured automatically as you work (Claude Code / OpenClaw hooks), or via the"," ",(0,b.jsx)("code",{className:"font-mono",children:"remember"})," MCP tool."]})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsx)(t,{size:16,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-2 text-sm font-medium text-[var(--sc-text-primary)]",children:"Generate audit data"}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:["Run ",(0,b.jsx)("code",{className:"font-mono",children:"shieldcortex scan <file>"})," to push content through the defence pipeline and populate the audit log."]})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsx)(k.ScanSearch,{size:16,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-2 text-sm font-medium text-[var(--sc-text-primary)]",children:"Scan supply chain"}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:["Run an X-Ray scan from the X-Ray page, or"," ",(0,b.jsx)("code",{className:"font-mono",children:"shieldcortex xray <path>"})," from the CLI."]})]})]})]})}var v=a.i(67789),w=a.i(38883),x=a.i(35031),y=a.i(26804),z=a.i(79030);function A(){let{data:a}=(0,v.useStats)(),{data:s}=(0,w.useAuditStats)("24h"),{data:t}=(0,w.useQuarantine)("pending",10),{data:A}=(0,w.useQuarantine)("pending",1,void 0,"memory_file"),{data:B}=(0,v.useQuality)(),{data:C}=(0,v.useContradictions)(),{data:D}=(0,x.useLicenseStatus)(),{data:E}=(0,y.useXRayStatus)(),F=a?.total??0,G=a?.decayDistribution?.healthy??0,H=a?.decayDistribution?.fading??0,I=a?.decayDistribution?.critical??0,J=a?.decayDistribution?Math.round(G/Math.max(1,F)*100):0,K=C?.count??C?.contradictions?.length??0,L=t?.total??0,M=A?.total??0,N=Math.max(0,L-M),O=s?.blockedCount??0,P=B?.duplicates?.count??0,Q=B?.stale?.count??0,R=B?.neverAccessed?.count??0,S=E?.summary?.scans??0,T=(0,c.useMemo)(()=>{let a=[];return M>0&&a.push({title:`${M} memory file finding${1===M?"":"s"} need review`,detail:"These are scanned agent memory files, not stored ShieldCortex memories. Review or dismiss them without editing files.",severity:M>10?"critical":"medium",href:"/protection?tab=quarantine",cta:"Review files"}),N>0&&a.push({title:`${N} memory write${1===N?"":"s"} in quarantine`,detail:"Review blocked writes before they become silent operator debt.",severity:N>10?"critical":"medium",href:"/protection?tab=quarantine",cta:"Review writes"}),K>0&&a.push({title:`${K} contradiction${1===K?"":"s"} detected`,detail:"Conflicting facts reduce recall trust.",severity:K>5?"high":"medium",href:"/memory?tab=review",cta:"Resolve"}),O>0&&a.push({title:`${O} blocked operation${1===O?"":"s"} (24h)`,detail:"Defence pipeline blocked suspicious writes.",severity:"high",href:"/protection?tab=audit",cta:"View audit"}),Q+P>0&&a.push({title:"Memory cleanup available",detail:`${Q} stale, ${P} duplicate, ${R} unused memories.`,severity:"low",href:"/memory?tab=review",cta:"Clean up"}),a.slice(0,4)},[M,N,K,O,Q,P,R]),U=M>0&&N>0?`${M} file finding${1===M?"":"s"}, ${N} write${1===N?"":"s"} pending.`:M>0?`${M} memory-file finding${1===M?"":"s"} pending.`:`${L} item${1===L?"":"s"} pending review.`;return(0,b.jsx)("div",{className:"h-full overflow-y-auto",children:(0,b.jsxs)("div",{className:"mx-auto max-w-7xl space-y-6 p-6",children:[(0,b.jsx)(r.PageHeader,{eyebrow:"ShieldCortex",title:"Command Centre",subtitle:"Stored-memory health, memory-file findings, threat pressure, and operational status at a glance."}),(0,b.jsx)(u,{ready:void 0!==a,memoryCount:F,scanCount:S,blockedCount:O}),(0,b.jsx)(n.GlassCard,{title:"SYSTEM STATUS",bodyPadding:!1,children:(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 p-4 lg:grid-cols-5",children:[(0,b.jsx)(o.StatCard,{label:"Stored Memories",value:F.toLocaleString(),icon:i.Database,accent:"cyan",trend:J>0?{value:J,label:"healthy"}:void 0}),(0,b.jsx)(o.StatCard,{label:"Memory Files Flagged",value:M.toLocaleString(),icon:j.FileText,accent:M>0?"amber":"muted"}),(0,b.jsx)(o.StatCard,{label:"Threats Blocked",value:O.toLocaleString(),icon:m.ShieldAlert,accent:O>0?"coral":"muted"}),(0,b.jsx)(o.StatCard,{label:"X-Ray Scans",value:S.toLocaleString(),icon:k.ScanSearch,accent:"cyan"}),(0,b.jsx)(o.StatCard,{label:"Health Score",value:`${J}%`,icon:l.Shield,accent:J>=80?"cyan":J>=50?"amber":"coral"})]})}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-[1fr_1fr]",children:[(0,b.jsxs)(n.GlassCard,{className:"p-6",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Stored Memory Health"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-muted)]",children:"Decay distribution across ShieldCortex stored memories."}),(0,b.jsx)("div",{className:"mt-6 flex items-center justify-center",children:(0,b.jsxs)("div",{className:"relative h-40 w-40",children:[(0,b.jsxs)("svg",{viewBox:"0 0 100 100",className:"h-full w-full -rotate-90",children:[(0,b.jsx)("circle",{cx:"50",cy:"50",r:"42",fill:"none",stroke:"var(--sc-bg-elevated)",strokeWidth:"8"}),(0,b.jsx)("circle",{cx:"50",cy:"50",r:"42",fill:"none",stroke:"var(--sc-cyan)",strokeWidth:"8",strokeDasharray:`${2.64*J} 264`,strokeLinecap:"round",className:"transition-all duration-1000"})]}),(0,b.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[(0,b.jsxs)("span",{className:"text-3xl font-bold text-[var(--sc-text-primary)]",children:[J,"%"]}),(0,b.jsx)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:"healthy"})]})]})}),(0,b.jsxs)("div",{className:"mt-6 grid grid-cols-3 gap-3 text-center",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-lg font-semibold text-[var(--sc-cyan)]",children:G}),(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Healthy"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-lg font-semibold text-[var(--sc-amber)]",children:H}),(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Fading"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-lg font-semibold text-[var(--sc-coral)]",children:I}),(0,b.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Critical"})]})]})]}),(0,b.jsxs)(n.GlassCard,{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Urgent Actions"}),T.length>0&&(0,b.jsxs)(p.Badge,{variant:"coral",dot:!0,pulse:!0,children:[T.length," active"]})]}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-muted)]",children:"Quickest wins for trust, safety, and recall quality."}),(0,b.jsx)("div",{className:"mt-4 space-y-3",children:0===T.length?(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-xl bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsx)(g.CheckCircle2,{size:18,className:"shrink-0 text-[var(--sc-cyan)]"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"All clear"}),(0,b.jsx)("p",{className:"text-xs text-[var(--sc-text-muted)]",children:"No urgent issues right now. Memory health looks stable."})]})]}):T.map(a=>(0,b.jsxs)(d.default,{href:a.href,className:"group flex items-start gap-3 rounded-xl bg-[var(--sc-bg-elevated)] p-4 transition-all hover:bg-[var(--sc-surface-interactive-hover)]",children:["critical"===a.severity||"high"===a.severity?(0,b.jsx)(e.AlertTriangle,{size:16,className:"mt-0.5 shrink-0 text-[var(--sc-coral)]"}):"medium"===a.severity?(0,b.jsx)(h.Clock3,{size:16,className:"mt-0.5 shrink-0 text-[var(--sc-amber)]"}):(0,b.jsx)(g.CheckCircle2,{size:16,className:"mt-0.5 shrink-0 text-[var(--sc-cyan)]"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:a.title}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-[var(--sc-text-muted)]",children:a.detail})]}),(0,b.jsxs)("span",{className:"flex shrink-0 items-center gap-1 text-xs font-medium text-[var(--sc-cyan)] opacity-0 transition-opacity group-hover:opacity-100",children:[a.cta," ",(0,b.jsx)(f.ArrowRight,{size:12})]})]},a.title))})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:[(0,b.jsx)(d.default,{href:"/xray",children:(0,b.jsxs)(n.GlassCard,{hover:!0,className:"p-5",children:[(0,b.jsx)(k.ScanSearch,{size:20,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:"Run X-Ray Scan"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"Inspect packages and files for hidden risk."})]})}),(0,b.jsx)(d.default,{href:"/protection?tab=quarantine",children:(0,b.jsxs)(n.GlassCard,{hover:!0,className:"p-5",children:[(0,b.jsx)(e.AlertTriangle,{size:20,className:"text-[var(--sc-amber)]"}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:"Review Quarantine"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:U})]})}),(0,b.jsx)(d.default,{href:"/memory?tab=recall",children:(0,b.jsxs)(n.GlassCard,{hover:!0,className:"p-5",children:[(0,b.jsx)(i.Database,{size:20,className:"text-[var(--sc-cyan)]"}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:"Debug Recall"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"Test queries and inspect ranking factors."})]})}),(0,b.jsx)(d.default,{href:"/protection?tab=dome",children:(0,b.jsxs)(n.GlassCard,{hover:!0,className:"p-5",children:[(0,b.jsx)(m.ShieldAlert,{size:20,className:"text-[var(--sc-coral)]"}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:"Iron Dome"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"Kill switch and behaviour gates."})]})})]}),(0,b.jsxs)(n.GlassCard,{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Licence"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-muted)]",children:"Current tier and feature access."})]}),(0,b.jsx)(p.Badge,{variant:D?.tier==="pro"?"cyan":D?.tier==="team"?"coral":"muted",children:z.TIER_LABELS[D?.tier??"free"]})]}),D?.tier==="free"&&(0,b.jsxs)("div",{className:"mt-4 flex items-center gap-4 rounded-xl bg-gradient-to-r from-[var(--sc-coral)]/5 to-[var(--sc-cyan)]/5 p-4",children:[(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Unlock deep scanning, custom policies, and audit exports"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"Pro starts at £29/mo with 10K cloud scans and 90-day retention."})]}),(0,b.jsx)("a",{href:"https://shieldcortex.ai/pricing",target:"_blank",rel:"noopener noreferrer",children:(0,b.jsx)(q.Button,{variant:"coral",size:"sm",glow:!0,children:"Upgrade"})})]})]})]})})}function B(){return(0,b.jsx)(A,{})}a.s(["default",()=>B],33466)}];
2
2
 
3
3
  //# sourceMappingURL=dashboard_src_app_%28dashboard%29_overview_page_tsx_8c105626._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[89418,a=>{"use strict";var b=a.i(16306),c=a.i(98419),d=a.i(88904),e=a.i(26943),f=a.i(94992),g=a.i(70694);let h=(0,g.default)("file-search",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]]),i=(0,g.default)("folder-search",[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]);var j=a.i(32322);let k=(0,g.default)("radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]);var l=a.i(66397),m=a.i(83364),n=a.i(86044),o=a.i(76614),p=a.i(54100),q=a.i(60210),r=a.i(23808),s=a.i(79151),t=a.i(48195);function u({score:a,size:c=160,label:d}){let e=2*Math.PI*42,f=a/100*e,g=a<=50?"var(--sc-coral)":a<=75?"var(--sc-amber)":"var(--sc-cyan)",h=a<=50?"var(--sc-glow-coral)":a<=75?"rgba(245, 158, 11, 0.15)":"var(--sc-glow-cyan)";return(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,b.jsxs)("div",{className:"relative",style:{width:c,height:c},children:[(0,b.jsxs)("svg",{viewBox:"0 0 100 100",className:"h-full w-full -rotate-90",style:{filter:`drop-shadow(0 0 12px ${h})`},children:[(0,b.jsx)("circle",{cx:"50",cy:"50",r:42,fill:"none",stroke:"var(--sc-bg-elevated)",strokeWidth:"7"}),(0,b.jsx)("circle",{cx:"50",cy:"50",r:42,fill:"none",stroke:g,strokeWidth:"7",strokeDasharray:`${f} ${e}`,strokeLinecap:"round",className:"transition-all duration-1000 ease-out"})]}),(0,b.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[(0,b.jsx)("span",{className:"text-3xl font-bold",style:{color:g},children:a}),(0,b.jsx)("span",{className:"text-[11px] text-[var(--sc-text-muted)]",children:"trust"})]})]}),d&&(0,b.jsx)("span",{className:"text-xs font-medium text-[var(--sc-text-secondary)]",children:d})]})}var v=a.i(62606);let w=(0,g.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);var x=a.i(98472),y=a.i(6321),z=a.i(40458),A=a.i(66807),B=a.i(14220);let C=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";function D(a){return(0,z.useQuery)({queryKey:["xray-findings",a],queryFn:async()=>{let b=new URLSearchParams;a?.status&&b.set("status",a.status),a?.severity&&b.set("severity",a.severity),a?.target&&b.set("target",a.target),a?.limit&&b.set("limit",String(a.limit));let c=b.toString()?`?${b}`:"",d=await (0,n.gatedFetch)(`${C}/api/xray/findings${c}`);if(!d.ok)throw Error(await (0,n.readApiError)(d,"Failed to fetch findings"));return d.json()},refetchInterval:15e3})}function E(){let a=(0,B.useQueryClient)();return(0,A.useMutation)({mutationFn:async({id:a,status:b,note:c})=>{let d=await (0,n.gatedFetch)(`${C}/api/xray/findings/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b,note:c})});if(!d.ok)throw Error(await (0,n.readApiError)(d,"Failed to update finding"));return d.json()},onSuccess:()=>{a.invalidateQueries({queryKey:["xray-findings"]}),a.invalidateQueries({queryKey:["xray-findings-stats"]})}})}function F(){let a=(0,B.useQueryClient)();return(0,A.useMutation)({mutationFn:async({id:a,note:b})=>{let c=await (0,n.gatedFetch)(`${C}/api/xray/findings/${a}/quarantine`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({note:b})});if(!c.ok)throw Error(await (0,n.readApiError)(c,"Failed to quarantine file"));return c.json()},onSuccess:()=>{a.invalidateQueries({queryKey:["xray-findings"]}),a.invalidateQueries({queryKey:["xray-findings-stats"]})}})}function G({findingId:a,status:d,hasFile:e,compact:g=!1}){let h,[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[o,p]=(0,c.useState)(!1),q=E(),s=F(),t=(h=(0,B.useQueryClient)(),(0,A.useMutation)({mutationFn:async a=>{let b=await (0,n.gatedFetch)(`${C}/api/xray/findings/${a}`,{method:"DELETE"});if(!b.ok)throw Error(await (0,n.readApiError)(b,"Failed to delete finding"));return b.json()},onSuccess:()=>{h.invalidateQueries({queryKey:["xray-findings"]}),h.invalidateQueries({queryKey:["xray-findings-stats"]})}})),u=b=>{switch(b){case"reviewed":q.mutate({id:a,status:"reviewed"},{onSuccess:()=>m.toast.success("Marked as reviewed"),onError:a=>m.toast.error(`Failed to update: ${a.message}`)});break;case"ignored":q.mutate({id:a,status:"ignored",note:k},{onSuccess:()=>{m.toast.info("Finding ignored — removed from active list"),j(!1),l(""),p(!0)},onError:a=>m.toast.error(`Failed to ignore: ${a.message}`)});break;case"resolved":q.mutate({id:a,status:"resolved",note:k},{onSuccess:()=>{m.toast.success("Finding resolved — removed from active list"),j(!1),l(""),p(!0)},onError:a=>m.toast.error(`Failed to resolve: ${a.message}`)});break;case"quarantine":s.mutate({id:a,note:k},{onSuccess:a=>{m.toast.warning(a.moved?"File quarantined and moved":"Marked quarantined (file not found)"),p(!0)},onError:a=>m.toast.error(`Quarantine failed: ${a.message}`)});break;case"delete":t.mutate(a,{onSuccess:()=>{m.toast.success("Finding deleted"),p(!0)},onError:a=>m.toast.error(`Failed to delete: ${a.message}`)})}};if(o)return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--sc-cyan)] italic animate-pulse",children:[(0,b.jsx)(v.Check,{size:12})," Done — removing from list..."]});if("resolved"===d)return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--sc-cyan)]",children:[(0,b.jsx)(v.Check,{size:12})," Resolved"]});if("quarantined"===d)return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--sc-amber)]",children:[(0,b.jsx)(x.Shield,{size:12})," Quarantined"]});if("ignored"===d)return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--sc-text-muted)]",children:[(0,b.jsx)(w,{size:12})," Ignored"]});let z=g?"sm":"md",D=q.isPending||s.isPending||t.isPending;return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:["new"===d&&(0,b.jsxs)(r.Button,{variant:"ghost",size:z,onClick:()=>u("reviewed"),disabled:D,children:[(0,b.jsx)(f.Eye,{size:12})," Mark reviewed"]}),(0,b.jsxs)(r.Button,{variant:"cyan",size:z,onClick:()=>j(!i),disabled:D,children:[(0,b.jsx)(v.Check,{size:12})," Resolve"]}),(0,b.jsxs)(r.Button,{variant:"ghost",size:z,onClick:()=>u("ignored"),disabled:D,children:[(0,b.jsx)(w,{size:12})," Safe to ignore"]}),e&&(0,b.jsxs)(r.Button,{variant:"coral",size:z,onClick:()=>u("quarantine"),disabled:D,children:[(0,b.jsx)(x.Shield,{size:12})," Quarantine file"]}),(0,b.jsx)(r.Button,{variant:"ghost",size:z,onClick:()=>u("delete"),disabled:D,children:(0,b.jsx)(y.Trash2,{size:12})})]}),i&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("input",{value:k,onChange:a=>l(a.target.value),placeholder:"What did you do about it? (optional)",className:"flex-1 rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-3 py-1.5 text-xs text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus-ring-cyan","aria-label":"Resolution note",onKeyDown:a=>{"Enter"===a.key&&u("resolved")}}),(0,b.jsx)(r.Button,{variant:"cyan",size:"sm",onClick:()=>u("resolved"),disabled:D,children:"Done"})]})]})}var H=a.i(25605),I=a.i(79155),J=a.i(22524);let K=(0,g.default)("shield-x",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]]);var L=a.i(14126),M=a.i(49948),N=a.i(91321),O=a.i(68760);function P(a,b,c,d){return`${a}|${b}|${c??""}|${d??""}`}function Q({finding:a,target:d}){let e=(0,N.useLocalAiExplain)(),f=E(),g=F(),[h,i]=(0,c.useState)(new Set),j=a=>i(b=>{let c=new Set(b);return c.add(a),c}),k=!a.id&&!!d&&!!e.data,l=D(k?{target:d,limit:200}:void 0),n=(()=>{if(a.id)return a.id;if(!l.data?.findings)return;let b=P(a.category,a.title,a.file,a.line),c=l.data.findings.find(a=>P(a.category,a.title,a.file,a.line)===b);return c?.id})();return(0,b.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,b.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>{e.mutate({kind:"xray_finding",title:a.title,content:[`Title: ${a.title}`,`Description: ${a.description}`,a.file?`File: ${a.line?`${a.file}:${a.line}`:a.file}`:"",a.evidence?`Evidence: ${a.evidence}`:"",a.guidance?.whatItMeans?`Scanner meaning: ${a.guidance.whatItMeans}`:"",a.guidance?.whatToDo?`Scanner guidance: ${a.guidance.whatToDo}`:"",a.guidance?.falsePositiveNote?`False positive note: ${a.guidance.falsePositiveNote}`:""].filter(Boolean).join("\n"),source:a.file?`xray:${a.file}`:"xray",signals:[a.severity,a.category,a.status??"",a.guidance?.urgency??"",a.systemFile?"system-file":""].filter(Boolean),metadata:{id:a.id,file:a.file,line:a.line,severity:a.severity,category:a.category,status:a.status,detectedAt:a.detectedAt,systemFile:a.systemFile,guidance:a.guidance}},{onSuccess:a=>{m.toast.success(a.explanation.synthetic?"Fallback explanation generated":"Local explanation generated")},onError:a=>m.toast.error(a instanceof Error?a.message:"Local explanation failed")})},disabled:e.isPending,pulse:e.isPending,children:[(0,b.jsx)(L.Sparkles,{size:13}),e.isPending?"Explaining":"Explain"]}),e.data?.explanation&&(0,b.jsx)(M.LocalAiExplanationPanel,{explanation:e.data.explanation,actions:(()=>{let c=[];if(a.file){let d=(0,O.buildEditorUrl)(a.file,a.line);c.push({key:"open",label:"Open in editor",icon:(0,b.jsx)(H.ExternalLink,{size:13}),variant:"outline",onClick:()=>{d&&(window.location.href=d)}})}if(!n)return k&&l.isLoading&&c.push({key:"lookup",label:"Loading actions",variant:"outline",disabled:!0,pending:!0,onClick:()=>void 0}),c;let d=f.isPending||g.isPending,e=h.has("reviewed");c.push({key:"reviewed",label:e?"Reviewed":"Mark reviewed",icon:e?(0,b.jsx)(v.Check,{size:13}):(0,b.jsx)(J.ShieldCheck,{size:13}),variant:e?"cyan":"outline",pending:f.isPending&&f.variables?.status==="reviewed",disabled:d||e,onClick:()=>{f.mutate({id:n,status:"reviewed"},{onSuccess:()=>{j("reviewed"),m.toast.success("Marked as reviewed")},onError:a=>m.toast.error(a instanceof Error?a.message:"Failed to mark reviewed")})}});let i=h.has("dismiss");c.push({key:"dismiss",label:i?"Dismissed":"Dismiss",icon:i?(0,b.jsx)(v.Check,{size:13}):(0,b.jsx)(K,{size:13}),variant:i?"cyan":"ghost",pending:f.isPending&&f.variables?.status==="ignored",disabled:d||i,onClick:()=>{f.mutate({id:n,status:"ignored"},{onSuccess:()=>{j("dismiss"),m.toast.success("Finding dismissed")},onError:a=>m.toast.error(a instanceof Error?a.message:"Failed to dismiss")})}});let o=h.has("quarantine");return c.push({key:"quarantine",label:o?"Quarantined":"Quarantine file",icon:o?(0,b.jsx)(v.Check,{size:13}):(0,b.jsx)(I.ShieldAlert,{size:13}),variant:o?"cyan":"coral",pending:g.isPending,disabled:d||o,onClick:()=>{g.mutate({id:n},{onSuccess:()=>{j("quarantine"),m.toast.success("File quarantined")},onError:a=>m.toast.error(a instanceof Error?a.message:"Failed to quarantine")})}}),c})()}),e.error&&(0,b.jsx)("div",{className:"rounded-lg border border-[var(--sc-coral)]/30 bg-[var(--sc-coral)]/10 p-3 text-sm text-[var(--sc-coral)]",children:e.error instanceof Error?e.error.message:"Local explanation failed"})]})}var R=a.i(26804);function S(a){return a?new Date(a).toLocaleString():"—"}function T(){let[a,g]=(0,c.useState)("scanner"),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(!1),[A,B]=(0,c.useState)(null),[E,F]=(0,c.useState)("ALL"),[H,I]=(0,c.useState)("all"),[J,K]=(0,c.useState)("all"),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)("all"),[P,T]=(0,c.useState)("all"),[U,V]=(0,c.useState)(""),[W,X]=(0,c.useState)(!1),[Y,Z]=(0,c.useState)("new"),{data:$}=(0,R.useXRayHistory)({risk:E,targetType:H,deep:J,search:L}),{data:_}=(0,R.useXRayActivity)(8,{kind:N}),{data:aa}=(0,R.useXRayWatchSessions)(8,{state:P}),{data:ab}=(0,R.useXRayStatus)(),{data:ac}=(0,z.useQuery)({queryKey:["xray-findings-stats"],queryFn:async()=>{let a=await (0,n.gatedFetch)(`${C}/api/xray/findings/stats`);if(!a.ok)throw Error(await (0,n.readApiError)(a,"Failed to fetch finding stats"));return a.json()},refetchInterval:15e3}),{data:ad}=D({status:"all"===Y?void 0:Y}),ae=(0,c.useMemo)(()=>$?.entries??[],[$?.entries]),af=_?.entries??[],ag=aa?.entries??[],ah=(0,R.useXRayScan)(),ai=(0,R.usePickXRayTarget)(),aj=A??(ae.length>0?ae[0].id:null),ak=(0,R.useXRayHistoryEntry)(aj),{data:al}=(0,R.useActiveWatchers)(),am=(0,R.useStartWatch)(),an=(0,R.useStopWatch)(),ao=al?.watchers??[],ap=ah.data?.result,aq=ah.data?.persistedFindings??[],ar=ah.error,as=ar instanceof n.FeatureLockedError;(0,o.useWebSocketEvent)(a=>{if("xray_detection"===a.type){let b=a.data;m.toast.warning(b.summary||"X-Ray detection",{description:`Risk: ${b.riskLevel||"unknown"}`,duration:8e3})}});let at=ak.data?.entry??ae.find(a=>a.id===aj)??null,au=ap??at?.result??null,av=(0,c.useMemo)(()=>({total:ae.length,avgScore:ae.length?Math.round(ae.reduce((a,b)=>a+b.trustScore,0)/ae.length):null}),[ae]),aw=ab?.capabilities,ax=ab?.summary,ay=[{id:"scanner",label:"Scanner",icon:(0,b.jsx)(l.ScanSearch,{size:14})},{id:"history",label:"History",count:av.total},{id:"watch",label:"Watch",count:ax?.activeWatchRoots??0},{id:"activity",label:"Activity"},{id:"findings",label:"Findings",count:ac?.new??0}];return(0,b.jsx)("div",{className:"h-full overflow-y-auto",children:(0,b.jsxs)("div",{className:"mx-auto max-w-7xl space-y-6 p-6",children:[(0,b.jsx)(s.PageHeader,{eyebrow:"Supply Chain Security",title:"X-Ray Scanner",subtitle:"Scan packages, files, and directories for hidden risk signals.",tabs:ay,activeTab:a,onTabChange:a=>g(a),actions:(0,b.jsx)("div",{className:"flex items-center gap-3",children:(0,b.jsxs)(q.Badge,{variant:aw?.deepScan?"cyan":"muted",dot:!0,children:["Deep scan ",aw?.deepScan?"enabled":"gated"]})})}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:[(0,b.jsx)(t.StatCard,{label:"Total Scans",value:ax?.scans??0,icon:l.ScanSearch,accent:"cyan"}),(0,b.jsx)(t.StatCard,{label:"High Risk",value:ax?.highRiskScans??0,icon:d.Activity,accent:"coral"}),(0,b.jsx)(t.StatCard,{label:"Watch Roots",value:ax?.activeWatchRoots??0,icon:f.Eye,accent:"cyan"}),(0,b.jsx)(t.StatCard,{label:"Avg Trust",value:av.avgScore??"—",icon:h,accent:av.avgScore&&av.avgScore>=70?"cyan":"amber"})]}),"scanner"===a&&(0,b.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[1.2fr_0.8fr]",children:[(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-6",children:[(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),v.trim()&&ah.mutate({target:v.trim(),deep:x})},children:[(0,b.jsx)("label",{className:"text-sm font-semibold text-[var(--sc-text-primary)]",children:"What do you want to scan?"}),(0,b.jsx)("input",{value:v,onChange:a=>w(a.target.value),placeholder:"Package name, file path, or directory...",className:"mt-3 w-full rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-3 text-sm text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus-ring-cyan"}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>ai.mutate("file",{onSuccess:a=>{a.path&&w(a.path)}}),className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-4 py-2.5 text-sm font-medium text-[var(--sc-text-secondary)] transition-all hover:bg-[var(--sc-surface-interactive-hover)] hover:text-[var(--sc-text-primary)]",children:[(0,b.jsx)(h,{size:14})," Browse file"]}),(0,b.jsxs)("button",{type:"button",onClick:()=>ai.mutate("folder",{onSuccess:a=>{a.path&&w(a.path)}}),className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-4 py-2.5 text-sm font-medium text-[var(--sc-text-secondary)] transition-all hover:bg-[var(--sc-surface-interactive-hover)] hover:text-[var(--sc-text-primary)]",children:[(0,b.jsx)(i,{size:14})," Browse folder"]}),(0,b.jsxs)("label",{className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-3 py-2.5 text-sm text-[var(--sc-text-secondary)]",children:[(0,b.jsx)("input",{type:"checkbox",checked:x,onChange:a=>y(a.target.checked),className:"h-4 w-4 rounded border-[var(--sc-border)] accent-[var(--sc-cyan)]"}),"Deep scan",!aw?.deepScan&&(0,b.jsx)(j.Lock,{size:12,className:"text-[var(--sc-coral)]"})]}),(0,b.jsxs)(r.Button,{type:"submit",variant:"coral",glow:!0,disabled:ah.isPending||!v.trim(),children:[ah.isPending?"Scanning…":"Run Scan",(0,b.jsx)(e.ArrowRight,{size:14})]})]}),(0,b.jsx)("p",{className:"mt-3 text-xs text-[var(--sc-text-muted)]",children:"Native macOS picker via local API, or paste a path / package name directly."})]}),ai.isError&&(0,b.jsx)("div",{className:"mt-3 rounded-xl border border-[var(--sc-coral)]/20 bg-[var(--sc-coral)]/5 px-4 py-3 text-sm text-[var(--sc-coral)]",children:ai.error instanceof Error?ai.error.message:"Failed to open native picker"}),ar&&(0,b.jsx)("div",{className:`mt-4 rounded-xl px-4 py-3 text-sm ${as?"border border-[var(--sc-amber)]/20 bg-[var(--sc-amber)]/5 text-[var(--sc-amber)]":"border border-[var(--sc-coral)]/20 bg-[var(--sc-coral)]/5 text-[var(--sc-coral)]"}`,children:ar.message})]}),(0,b.jsxs)(p.GlassCard,{className:`p-6 ${ah.isPending?"scan-sweep":""}`,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Scan Result"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"muted",children:[av.total," scans"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:["Avg ",av.avgScore??"—"]})]})]}),au?(0,b.jsxs)("div",{className:"mt-5 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-start gap-6",children:[(0,b.jsx)(u,{score:au.trustScore,size:120}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,b.jsx)("h4",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:au.target}),(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(au.riskLevel),children:au.riskLevel})]}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"muted",children:[au.filesScanned," files"]}),(0,b.jsx)(q.Badge,{variant:"muted",children:au.deepScan?"Deep":"Standard"}),(0,b.jsx)(q.Badge,{variant:"muted",children:S(au.scannedAt)})]})]})]}),(0,b.jsx)("div",{className:"space-y-3",children:0===au.findings.length?(0,b.jsx)("div",{className:"rounded-xl border border-[var(--sc-cyan)]/20 bg-[var(--sc-cyan)]/5 px-4 py-4 text-sm text-[var(--sc-cyan)]",children:"No findings detected. This target looks clean."}):au.findings.map((a,c)=>(0,b.jsxs)(p.GlassCard,{severity:a.severity,className:"p-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.severity),children:a.severity}),(0,b.jsx)(q.Badge,{variant:"muted",children:a.category})]}),(0,b.jsx)("p",{className:"mt-2 text-sm font-semibold text-[var(--sc-text-primary)]",children:a.title}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-secondary)]",children:a.description}),(a.file||a.evidence)&&(0,b.jsxs)("div",{className:"mt-2 space-y-0.5 font-mono text-xs text-[var(--sc-text-muted)]",children:[a.file&&(0,b.jsxs)("div",{children:["File: ",a.line?`${a.file}:${a.line}`:a.file]}),a.evidence&&(0,b.jsxs)("div",{children:["Evidence: ",a.evidence]})]}),(0,b.jsx)(Q,{finding:{...a,id:aq[c]?.id,status:aq[c]?.status},target:au.target}),aq[c]&&(0,b.jsx)("div",{className:"mt-3 border-t border-[var(--sc-border)] pt-3",children:(0,b.jsx)(G,{findingId:aq[c].id,status:aq[c].status,hasFile:!!a.file,compact:!0})})]},`${a.title}-${c}`))})]}):(0,b.jsx)("div",{className:"mt-5 rounded-xl bg-[var(--sc-bg-elevated)] px-5 py-8 text-center text-sm text-[var(--sc-text-muted)]",children:"Run a scan or select one from history to see results here."})]})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-5",children:[(0,b.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Capabilities"}),(0,b.jsx)("div",{className:"mt-4 space-y-3",children:[{label:"Local scan",enabled:aw?.localScan??!0},{label:"Watch mode",enabled:aw?.watchMode??!0},{label:"Preinstall hook",enabled:aw?.preinstallHook??!1},{label:"npm inspection",enabled:aw?.npmInspection??!1},{label:"Deep scan",enabled:aw?.deepScan??!1}].map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-3 py-2",children:[(0,b.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:a.label}),(0,b.jsx)(q.Badge,{variant:a.enabled?"cyan":"muted",dot:!0,children:a.enabled?"On":"Off"})]},a.label))})]}),(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-5",children:[(0,b.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Quick stats"}),(0,b.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-3 py-2",children:[(0,b.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"Watch roots"}),(0,b.jsxs)("span",{className:"text-sm font-semibold text-[var(--sc-text-primary)]",children:[ax?.activeWatchRoots??0," active"]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-3 py-2",children:[(0,b.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"Stale roots"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-[var(--sc-amber)]",children:ax?.staleWatchRoots??0})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-3 py-2",children:[(0,b.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"Blocked events"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-[var(--sc-coral)]",children:ax?.blockedEvents??0})]})]})]})]})]}),"history"===a&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)(p.GlassCard,{className:"p-4",children:[(0,b.jsxs)("div",{className:"grid gap-3 lg:grid-cols-[1fr_auto_auto]",children:[(0,b.jsx)("input",{value:L,onChange:a=>M(a.target.value),placeholder:"Filter by file, folder, or package...",className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-2.5 text-sm text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus-ring-cyan"}),(0,b.jsxs)("select",{value:E,onChange:a=>F(a.target.value),className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-2.5 text-sm text-[var(--sc-text-primary)]",children:[(0,b.jsx)("option",{value:"ALL",children:"All risk"}),(0,b.jsx)("option",{value:"CRITICAL",children:"Critical"}),(0,b.jsx)("option",{value:"HIGH",children:"High"}),(0,b.jsx)("option",{value:"MEDIUM",children:"Medium"}),(0,b.jsx)("option",{value:"LOW",children:"Low"}),(0,b.jsx)("option",{value:"SAFE",children:"Safe"})]}),(0,b.jsxs)("select",{value:H,onChange:a=>I(a.target.value),className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-2.5 text-sm text-[var(--sc-text-primary)]",children:[(0,b.jsx)("option",{value:"all",children:"All targets"}),(0,b.jsx)("option",{value:"file",children:"Files"}),(0,b.jsx)("option",{value:"dir",children:"Directories"}),(0,b.jsx)("option",{value:"npm",children:"Packages"})]})]}),(0,b.jsx)("div",{className:"mt-3 flex gap-2",children:["all","true","false"].map(a=>(0,b.jsx)("button",{onClick:()=>K(a),className:`rounded-lg px-3 py-1.5 text-xs font-medium transition-all ${J===a?"bg-[var(--sc-coral)] text-white":"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)]"}`,children:"all"===a?"All scans":"true"===a?"Deep only":"Standard only"},a))})]}),(0,b.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[0.45fr_0.55fr]",children:[(0,b.jsx)("div",{className:"space-y-3",children:0===ae.length?(0,b.jsx)(p.GlassCard,{className:"p-5 text-center text-sm text-[var(--sc-text-muted)]",children:"No matching scan history yet."}):ae.map(a=>(0,b.jsxs)(p.GlassCard,{hover:!0,selected:aj===a.id,onClick:()=>{B(a.id),w(a.target),y(a.deepScan)},className:"p-4",children:[(0,b.jsx)("div",{className:"truncate text-sm font-semibold text-[var(--sc-text-primary)]",children:a.target}),(0,b.jsx)("div",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:S(a.scannedAt)}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.riskLevel),children:a.riskLevel}),(0,b.jsxs)(q.Badge,{variant:"muted",children:["Score ",a.trustScore]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[a.findingCount," findings"]})]})]},a.id))}),au?(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-start gap-5",children:[(0,b.jsx)(u,{score:au.trustScore,size:100}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("h4",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:au.target}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(au.riskLevel),children:au.riskLevel}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[au.filesScanned," files"]}),(0,b.jsx)(q.Badge,{variant:"muted",children:au.deepScan?"Deep":"Standard"})]})]})]}),(0,b.jsx)("div",{className:"mt-5 space-y-3",children:0===au.findings.length?(0,b.jsx)("div",{className:"rounded-xl border border-[var(--sc-cyan)]/20 bg-[var(--sc-cyan)]/5 px-4 py-3 text-sm text-[var(--sc-cyan)]",children:"Clean — no findings."}):au.findings.map((a,c)=>(0,b.jsxs)(p.GlassCard,{severity:a.severity,className:"p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.severity),children:a.severity}),(0,b.jsx)("span",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:a.title})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-secondary)]",children:a.description}),(0,b.jsx)(Q,{finding:a,target:au.target})]},`${a.title}-${c}`))})]}):(0,b.jsx)(p.GlassCard,{className:"flex items-center justify-center p-8 text-sm text-[var(--sc-text-muted)]",children:"Select a scan from the list to view details."})]})]}),"watch"===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-6",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Start Watching"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-muted)]",children:"Monitor a directory for file changes and automatically scan for threats in real-time."}),(0,b.jsxs)("form",{className:"mt-4 flex flex-wrap items-end gap-3",onSubmit:a=>{a.preventDefault(),U.trim()&&am.mutate({target:U.trim(),deep:W})},children:[(0,b.jsx)("div",{className:"flex-1",children:(0,b.jsx)("input",{value:U,onChange:a=>V(a.target.value),placeholder:"Directory path, e.g. /Users/michael/Development/project",className:"w-full rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-3 text-sm text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus-ring-cyan"})}),(0,b.jsxs)("button",{type:"button",onClick:()=>ai.mutate("folder",{onSuccess:a=>{a.path&&V(a.path)}}),className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-4 py-3 text-sm font-medium text-[var(--sc-text-secondary)] transition-all hover:bg-[var(--sc-surface-interactive-hover)] hover:text-[var(--sc-text-primary)]",children:[(0,b.jsx)(i,{size:14})," Browse"]}),(0,b.jsxs)("label",{className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-3 py-3 text-sm text-[var(--sc-text-secondary)]",children:[(0,b.jsx)("input",{type:"checkbox",checked:W,onChange:a=>X(a.target.checked),className:"h-4 w-4 rounded accent-[var(--sc-cyan)]"}),"Deep"]}),(0,b.jsxs)(r.Button,{type:"submit",variant:"cyan",disabled:am.isPending||!U.trim(),children:[am.isPending?"Starting…":"Start Watch",(0,b.jsx)(f.Eye,{size:14})]})]}),am.isSuccess&&(0,b.jsxs)("p",{className:"mt-3 text-sm text-[var(--sc-cyan)]",children:["Watching ",am.data.root]}),am.isError&&(0,b.jsx)("p",{className:"mt-3 text-sm text-[var(--sc-coral)]",children:am.error instanceof Error?am.error.message:"Failed to start watch"})]}),ao.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"mb-3 text-sm font-semibold uppercase tracking-wider text-[var(--sc-text-muted)]",children:"Active Watchers (This Session)"}),(0,b.jsx)("div",{className:"grid gap-3 lg:grid-cols-2",children:ao.map(a=>(0,b.jsxs)(p.GlassCard,{className:"flex items-center justify-between p-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"truncate text-sm font-semibold text-[var(--sc-text-primary)]",children:a.root}),(0,b.jsxs)("p",{className:"text-xs text-[var(--sc-text-muted)]",children:["PID ",a.pid]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(q.Badge,{variant:"cyan",dot:!0,pulse:!0,children:"Watching"}),(0,b.jsx)(r.Button,{variant:"outline",size:"sm",onClick:()=>an.mutate(a.root),disabled:an.isPending,children:"Stop"})]})]},a.root))})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h4",{className:"text-sm font-semibold uppercase tracking-wider text-[var(--sc-text-muted)]",children:"Session History"}),(0,b.jsx)("div",{className:"flex gap-2",children:["all","active","stale","ended"].map(a=>(0,b.jsx)("button",{onClick:()=>T(a),className:`rounded-lg px-3 py-1.5 text-xs font-medium capitalize transition-all ${P===a?"bg-[var(--sc-coral)] text-white":"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)]"}`,children:a},a))})]}),0===ag.length?(0,b.jsxs)(p.GlassCard,{className:"p-8 text-center text-sm text-[var(--sc-text-muted)]",children:["No watch sessions recorded yet. Start a watcher above or use ",(0,b.jsx)("code",{className:"font-mono text-[var(--sc-cyan)]",children:"shieldcortex xray --watch ./src"})," from the CLI."]}):(0,b.jsx)("div",{className:"grid gap-4 lg:grid-cols-2",children:ag.map(a=>(0,b.jsxs)(p.GlassCard,{className:"p-5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"truncate text-sm font-semibold text-[var(--sc-text-primary)]",children:a.root}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:["Started ",S(a.startedAt)]})]}),(0,b.jsx)(q.Badge,{variant:"active"===a.state?"cyan":"stale"===a.state?"amber":"muted",dot:!0,pulse:"active"===a.state,children:a.state})]}),(0,b.jsx)("p",{className:"mt-2 text-sm text-[var(--sc-text-secondary)]",children:a.lastEventSummary??"No detections yet"}),(0,b.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"muted",children:[a.changesDetected," changes"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[a.findingsDetected," findings"]}),(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.highestRiskLevel),children:a.highestRiskLevel})]})]},a.id))})]}),"activity"===a&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex gap-2",children:["all","scan","watch","preinstall"].map(a=>(0,b.jsx)("button",{onClick:()=>O(a),className:`rounded-lg px-3 py-1.5 text-xs font-medium capitalize transition-all ${N===a?"bg-[var(--sc-coral)] text-white":"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)]"}`,children:"all"===a?"All activity":a},a))}),0===af.length?(0,b.jsx)(p.GlassCard,{className:"p-8 text-center text-sm text-[var(--sc-text-muted)]",children:"No matching automatic events yet."}):(0,b.jsx)("div",{className:"space-y-3",children:af.map(a=>(0,b.jsx)(p.GlassCard,{className:"p-4",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k,{size:14,className:"shrink-0 text-[var(--sc-coral)]"}),(0,b.jsx)("span",{className:"text-sm font-semibold capitalize text-[var(--sc-text-primary)]",children:a.kind})]}),(0,b.jsx)("p",{className:"mt-1 truncate text-sm text-[var(--sc-text-secondary)]",children:a.target}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:a.summary})]}),(0,b.jsx)(q.Badge,{variant:"pass"===a.status?"safe":"blocked"===a.status?"critical":"warn"===a.status?"medium":"amber",children:a.status})]})},a.id))})]}),"findings"===a&&(0,b.jsxs)("div",{className:"space-y-4",children:[ac&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"coral",children:[ac.new," new"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[ac.reviewed," reviewed"]}),(0,b.jsxs)(q.Badge,{variant:"cyan",children:[ac.resolved," resolved"]}),(0,b.jsxs)(q.Badge,{variant:"amber",children:[ac.quarantined," quarantined"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[ac.ignored," ignored"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[ac.total," total"]})]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:[{key:"new",label:"Needs attention",accent:!0},{key:"reviewed",label:"Reviewed",accent:!1},{key:"resolved",label:"Resolved",accent:!1},{key:"ignored",label:"Ignored",accent:!1},{key:"quarantined",label:"Quarantined",accent:!1},{key:"all",label:"Everything",accent:!1}].map(({key:a,label:c,accent:d})=>(0,b.jsxs)("button",{onClick:()=>Z(a),className:`rounded-lg px-3 py-1.5 text-xs font-medium transition-all ${Y===a?d?"bg-[var(--sc-coral)] text-white":"bg-[var(--sc-cyan)] text-[var(--sc-bg-deep)]":"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)]"}`,children:[c,"new"===a&&ac&&ac.new>0&&(0,b.jsx)("span",{className:"ml-1.5 rounded-full bg-white/20 px-1.5 py-0.5 text-[10px] font-bold",children:ac.new})]},a))}),ad?.findings&&0!==ad.findings.length?(0,b.jsx)("div",{className:"space-y-3",children:ad.findings.map(a=>(0,b.jsxs)(p.GlassCard,{severity:a.severity,className:"p-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.severity),children:a.severity}),(0,b.jsx)(q.Badge,{variant:"muted",children:a.category}),a.systemFile&&(0,b.jsx)(q.Badge,{variant:"muted",children:"System file — likely safe"}),a.guidance?.urgency==="usually-safe"&&!a.systemFile&&(0,b.jsx)(q.Badge,{variant:"cyan",children:"Usually safe"}),a.guidance?.urgency==="act-now"&&(0,b.jsx)(q.Badge,{variant:"critical",dot:!0,pulse:!0,children:"Act now"})]}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:a.title}),a.guidance&&(0,b.jsxs)("div",{className:"mt-3 space-y-3 rounded-xl bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-[var(--sc-text-muted)]",children:"What this means"}),(0,b.jsx)("p",{className:"mt-1 text-sm leading-relaxed text-[var(--sc-text-secondary)]",children:a.guidance.whatItMeans})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-[var(--sc-cyan)]",children:"What to do"}),(0,b.jsx)("p",{className:"mt-1 text-sm leading-relaxed text-[var(--sc-text-secondary)]",children:a.guidance.whatToDo})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-[var(--sc-text-muted)]",children:"False positive?"}),(0,b.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-[var(--sc-text-muted)]",children:a.guidance.falsePositiveNote})]})]}),(a.file||a.evidence)&&(0,b.jsxs)("div",{className:"mt-3 space-y-0.5 font-mono text-xs text-[var(--sc-text-muted)]",children:[a.file&&(0,b.jsxs)("div",{children:["File: ",a.line?`${a.file}:${a.line}`:a.file]}),a.evidence&&(0,b.jsxs)("div",{children:["Evidence: ",a.evidence]})]}),(0,b.jsx)(Q,{finding:a}),(0,b.jsx)("div",{className:"mt-2 text-xs text-[var(--sc-text-muted)]",children:S(a.detectedAt)}),(0,b.jsx)("div",{className:"mt-3 border-t border-[var(--sc-border)] pt-3",children:(0,b.jsx)(G,{findingId:a.id,status:a.status,hasFile:!!a.file,compact:!0})})]},a.id))}):(0,b.jsxs)(p.GlassCard,{className:"p-8 text-center",children:[(0,b.jsx)("p",{className:"text-sm text-[var(--sc-text-primary)]",children:"new"===Y?"All clear — no findings need attention":`No ${"all"===Y?"":Y+" "}findings`}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"new"===Y?"Run an X-Ray scan or start a watcher to monitor for threats.":"Findings move here when you take action on them."})]})]})]})})}a.s(["XRayOverview",()=>T],89418)}];
1
+ module.exports=[89418,a=>{"use strict";var b=a.i(16306),c=a.i(98419),d=a.i(88904),e=a.i(26943),f=a.i(94992),g=a.i(70694);let h=(0,g.default)("file-search",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]]),i=(0,g.default)("folder-search",[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]);var j=a.i(32322);let k=(0,g.default)("radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]);var l=a.i(66397),m=a.i(83364),n=a.i(86044),o=a.i(76614),p=a.i(54100),q=a.i(60210),r=a.i(23808),s=a.i(79151),t=a.i(48195);function u({score:a,size:c=160,label:d}){let e=2*Math.PI*42,f=a/100*e,g=a<=50?"var(--sc-coral)":a<=75?"var(--sc-amber)":"var(--sc-cyan)",h=a<=50?"var(--sc-glow-coral)":a<=75?"rgba(245, 158, 11, 0.15)":"var(--sc-glow-cyan)";return(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,b.jsxs)("div",{className:"relative",style:{width:c,height:c},children:[(0,b.jsxs)("svg",{viewBox:"0 0 100 100",className:"h-full w-full -rotate-90",style:{filter:`drop-shadow(0 0 12px ${h})`},children:[(0,b.jsx)("circle",{cx:"50",cy:"50",r:42,fill:"none",stroke:"var(--sc-bg-elevated)",strokeWidth:"7"}),(0,b.jsx)("circle",{cx:"50",cy:"50",r:42,fill:"none",stroke:g,strokeWidth:"7",strokeDasharray:`${f} ${e}`,strokeLinecap:"round",className:"transition-all duration-1000 ease-out"})]}),(0,b.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[(0,b.jsx)("span",{className:"text-3xl font-bold",style:{color:g},children:a}),(0,b.jsx)("span",{className:"text-[11px] text-[var(--sc-text-muted)]",children:"trust"})]})]}),d&&(0,b.jsx)("span",{className:"text-xs font-medium text-[var(--sc-text-secondary)]",children:d})]})}var v=a.i(62606);let w=(0,g.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);var x=a.i(98472),y=a.i(6321),z=a.i(40458),A=a.i(66807),B=a.i(14220);let C=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";function D(a){return(0,z.useQuery)({queryKey:["xray-findings",a],queryFn:async()=>{let b=new URLSearchParams;a?.status&&b.set("status",a.status),a?.severity&&b.set("severity",a.severity),a?.target&&b.set("target",a.target),a?.limit&&b.set("limit",String(a.limit));let c=b.toString()?`?${b}`:"",d=await (0,n.gatedFetch)(`${C}/api/xray/findings${c}`);if(!d.ok)throw Error(await (0,n.readApiError)(d,"Failed to fetch findings"));return d.json()},refetchInterval:15e3})}function E(){let a=(0,B.useQueryClient)();return(0,A.useMutation)({mutationFn:async({id:a,status:b,note:c})=>{let d=await (0,n.gatedFetch)(`${C}/api/xray/findings/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b,note:c})});if(!d.ok)throw Error(await (0,n.readApiError)(d,"Failed to update finding"));return d.json()},onSuccess:()=>{a.invalidateQueries({queryKey:["xray-findings"]}),a.invalidateQueries({queryKey:["xray-findings-stats"]})}})}function F(){let a=(0,B.useQueryClient)();return(0,A.useMutation)({mutationFn:async({id:a,note:b})=>{let c=await (0,n.gatedFetch)(`${C}/api/xray/findings/${a}/quarantine`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({note:b})});if(!c.ok)throw Error(await (0,n.readApiError)(c,"Failed to quarantine file"));return c.json()},onSuccess:()=>{a.invalidateQueries({queryKey:["xray-findings"]}),a.invalidateQueries({queryKey:["xray-findings-stats"]})}})}function G({findingId:a,status:d,hasFile:e,compact:g=!1}){let h,[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[o,p]=(0,c.useState)(!1),q=E(),s=F(),t=(h=(0,B.useQueryClient)(),(0,A.useMutation)({mutationFn:async a=>{let b=await (0,n.gatedFetch)(`${C}/api/xray/findings/${a}`,{method:"DELETE"});if(!b.ok)throw Error(await (0,n.readApiError)(b,"Failed to delete finding"));return b.json()},onSuccess:()=>{h.invalidateQueries({queryKey:["xray-findings"]}),h.invalidateQueries({queryKey:["xray-findings-stats"]})}})),u=b=>{switch(b){case"reviewed":q.mutate({id:a,status:"reviewed"},{onSuccess:()=>m.toast.success("Marked as reviewed"),onError:a=>m.toast.error(`Failed to update: ${a.message}`)});break;case"ignored":q.mutate({id:a,status:"ignored",note:k},{onSuccess:()=>{m.toast.info("Finding ignored — removed from active list"),j(!1),l(""),p(!0)},onError:a=>m.toast.error(`Failed to ignore: ${a.message}`)});break;case"resolved":q.mutate({id:a,status:"resolved",note:k},{onSuccess:()=>{m.toast.success("Finding resolved — removed from active list"),j(!1),l(""),p(!0)},onError:a=>m.toast.error(`Failed to resolve: ${a.message}`)});break;case"quarantine":s.mutate({id:a,note:k},{onSuccess:a=>{m.toast.warning(a.moved?"File quarantined and moved":"Marked quarantined (file not found)"),p(!0)},onError:a=>m.toast.error(`Quarantine failed: ${a.message}`)});break;case"delete":t.mutate(a,{onSuccess:()=>{m.toast.success("Finding deleted"),p(!0)},onError:a=>m.toast.error(`Failed to delete: ${a.message}`)})}};if(o)return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--sc-cyan)] italic animate-pulse",children:[(0,b.jsx)(v.Check,{size:12})," Done — removing from list..."]});if("resolved"===d)return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--sc-cyan)]",children:[(0,b.jsx)(v.Check,{size:12})," Resolved"]});if("quarantined"===d)return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--sc-amber)]",children:[(0,b.jsx)(x.Shield,{size:12})," Quarantined"]});if("ignored"===d)return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--sc-text-muted)]",children:[(0,b.jsx)(w,{size:12})," Ignored"]});let z=g?"sm":"md",D=q.isPending||s.isPending||t.isPending;return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:["new"===d&&(0,b.jsxs)(r.Button,{variant:"ghost",size:z,onClick:()=>u("reviewed"),disabled:D,children:[(0,b.jsx)(f.Eye,{size:12})," Mark reviewed"]}),(0,b.jsxs)(r.Button,{variant:"cyan",size:z,onClick:()=>j(!i),disabled:D,children:[(0,b.jsx)(v.Check,{size:12})," Resolve"]}),(0,b.jsxs)(r.Button,{variant:"ghost",size:z,onClick:()=>u("ignored"),disabled:D,children:[(0,b.jsx)(w,{size:12})," Safe to ignore"]}),e&&(0,b.jsxs)(r.Button,{variant:"coral",size:z,onClick:()=>u("quarantine"),disabled:D,children:[(0,b.jsx)(x.Shield,{size:12})," Quarantine file"]}),(0,b.jsx)(r.Button,{variant:"ghost",size:z,onClick:()=>u("delete"),disabled:D,children:(0,b.jsx)(y.Trash2,{size:12})})]}),i&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("input",{value:k,onChange:a=>l(a.target.value),placeholder:"What did you do about it? (optional)",className:"flex-1 rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-3 py-1.5 text-xs text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus-ring-cyan","aria-label":"Resolution note",onKeyDown:a=>{"Enter"===a.key&&u("resolved")}}),(0,b.jsx)(r.Button,{variant:"cyan",size:"sm",onClick:()=>u("resolved"),disabled:D,children:"Done"})]})]})}var H=a.i(25605),I=a.i(79155),J=a.i(22524);let K=(0,g.default)("shield-x",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]]);var L=a.i(14126),M=a.i(49948),N=a.i(91321),O=a.i(68760);function P(a,b,c,d){return`${a}|${b}|${c??""}|${d??""}`}function Q({finding:a,target:d}){let e=(0,N.useLocalAiExplain)(),f=E(),g=F(),[h,i]=(0,c.useState)(new Set),j=a=>i(b=>{let c=new Set(b);return c.add(a),c}),k=!a.id&&!!d&&!!e.data,l=D(k?{target:d,limit:200}:void 0),n=(()=>{if(a.id)return a.id;if(!l.data?.findings)return;let b=P(a.category,a.title,a.file,a.line),c=l.data.findings.find(a=>P(a.category,a.title,a.file,a.line)===b);return c?.id})();return(0,b.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,b.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>{e.mutate({kind:"xray_finding",title:a.title,content:[`Title: ${a.title}`,`Description: ${a.description}`,a.file?`File: ${a.line?`${a.file}:${a.line}`:a.file}`:"",a.evidence?`Evidence: ${a.evidence}`:"",a.guidance?.whatItMeans?`Scanner meaning: ${a.guidance.whatItMeans}`:"",a.guidance?.whatToDo?`Scanner guidance: ${a.guidance.whatToDo}`:"",a.guidance?.falsePositiveNote?`False positive note: ${a.guidance.falsePositiveNote}`:""].filter(Boolean).join("\n"),source:a.file?`xray:${a.file}`:"xray",signals:[a.severity,a.category,a.status??"",a.guidance?.urgency??"",a.systemFile?"system-file":""].filter(Boolean),metadata:{id:a.id,file:a.file,line:a.line,severity:a.severity,category:a.category,status:a.status,detectedAt:a.detectedAt,systemFile:a.systemFile,guidance:a.guidance}},{onSuccess:a=>{m.toast.success(a.explanation.synthetic?"Fallback explanation generated":"Local explanation generated")},onError:a=>m.toast.error(a instanceof Error?a.message:"Local explanation failed")})},disabled:e.isPending,pulse:e.isPending,children:[(0,b.jsx)(L.Sparkles,{size:13}),e.isPending?"Explaining":"Explain"]}),e.data?.explanation&&(0,b.jsx)(M.LocalAiExplanationPanel,{explanation:e.data.explanation,actions:(()=>{let c=[];if(a.file){let d=(0,O.buildEditorUrl)(a.file,a.line);c.push({key:"open",label:"Open in editor",icon:(0,b.jsx)(H.ExternalLink,{size:13}),variant:"outline",onClick:()=>{d&&(window.location.href=d)}})}if(!n)return k&&l.isLoading&&c.push({key:"lookup",label:"Loading actions",variant:"outline",disabled:!0,pending:!0,onClick:()=>void 0}),c;let d=f.isPending||g.isPending,e=h.has("reviewed");c.push({key:"reviewed",label:e?"Reviewed":"Mark reviewed",icon:e?(0,b.jsx)(v.Check,{size:13}):(0,b.jsx)(J.ShieldCheck,{size:13}),variant:e?"cyan":"outline",pending:f.isPending&&f.variables?.status==="reviewed",disabled:d||e,onClick:()=>{f.mutate({id:n,status:"reviewed"},{onSuccess:()=>{j("reviewed"),m.toast.success("Marked as reviewed")},onError:a=>m.toast.error(a instanceof Error?a.message:"Failed to mark reviewed")})}});let i=h.has("dismiss");c.push({key:"dismiss",label:i?"Dismissed":"Dismiss",icon:i?(0,b.jsx)(v.Check,{size:13}):(0,b.jsx)(K,{size:13}),variant:i?"cyan":"ghost",pending:f.isPending&&f.variables?.status==="ignored",disabled:d||i,onClick:()=>{f.mutate({id:n,status:"ignored"},{onSuccess:()=>{j("dismiss"),m.toast.success("Finding dismissed")},onError:a=>m.toast.error(a instanceof Error?a.message:"Failed to dismiss")})}});let o=h.has("quarantine");return c.push({key:"quarantine",label:o?"Quarantined":"Quarantine file",icon:o?(0,b.jsx)(v.Check,{size:13}):(0,b.jsx)(I.ShieldAlert,{size:13}),variant:o?"cyan":"coral",pending:g.isPending,disabled:d||o,onClick:()=>{g.mutate({id:n},{onSuccess:()=>{j("quarantine"),m.toast.success("File quarantined")},onError:a=>m.toast.error(a instanceof Error?a.message:"Failed to quarantine")})}}),c})()}),e.error&&(0,b.jsx)(R,{message:e.error instanceof Error?e.error.message:"Local explanation failed"})]})}function R({message:a}){let c=a.toLowerCase();return c.includes("disabled")||c.includes("not cached")||c.includes("not enabled")?(0,b.jsxs)("div",{className:"space-y-2 rounded-lg border border-[var(--sc-border)] bg-[var(--sc-surface)]/40 p-3 text-sm text-[var(--sc-text-secondary)]",children:[(0,b.jsx)("p",{className:"font-medium text-[var(--sc-text-primary)]",children:a}),(0,b.jsx)("p",{children:"The Local AI Explainer is opt-in. Enable it from a terminal:"}),(0,b.jsx)("pre",{className:"overflow-x-auto rounded bg-black/30 p-2 text-xs text-[var(--sc-text-primary)]",children:"shieldcortex review-copilot enable --accept-download"}),(0,b.jsx)("p",{className:"text-xs text-[var(--sc-text-muted)]",children:"Runs a small local model (Qwen2.5-0.5B) on this machine — nothing leaves your device. Requires a Pro licence."})]}):(0,b.jsx)("div",{className:"rounded-lg border border-[var(--sc-coral)]/30 bg-[var(--sc-coral)]/10 p-3 text-sm text-[var(--sc-coral)]",children:a})}var S=a.i(26804);function T(a){return a?new Date(a).toLocaleString():"—"}function U(){let[a,g]=(0,c.useState)("scanner"),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(!1),[A,B]=(0,c.useState)(null),[E,F]=(0,c.useState)("ALL"),[H,I]=(0,c.useState)("all"),[J,K]=(0,c.useState)("all"),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)("all"),[P,R]=(0,c.useState)("all"),[U,V]=(0,c.useState)(""),[W,X]=(0,c.useState)(!1),[Y,Z]=(0,c.useState)("new"),{data:$}=(0,S.useXRayHistory)({risk:E,targetType:H,deep:J,search:L}),{data:_}=(0,S.useXRayActivity)(8,{kind:N}),{data:aa}=(0,S.useXRayWatchSessions)(8,{state:P}),{data:ab}=(0,S.useXRayStatus)(),{data:ac}=(0,z.useQuery)({queryKey:["xray-findings-stats"],queryFn:async()=>{let a=await (0,n.gatedFetch)(`${C}/api/xray/findings/stats`);if(!a.ok)throw Error(await (0,n.readApiError)(a,"Failed to fetch finding stats"));return a.json()},refetchInterval:15e3}),{data:ad}=D({status:"all"===Y?void 0:Y}),ae=(0,c.useMemo)(()=>$?.entries??[],[$?.entries]),af=_?.entries??[],ag=aa?.entries??[],ah=(0,S.useXRayScan)(),ai=(0,S.usePickXRayTarget)(),aj=A??(ae.length>0?ae[0].id:null),ak=(0,S.useXRayHistoryEntry)(aj),{data:al}=(0,S.useActiveWatchers)(),am=(0,S.useStartWatch)(),an=(0,S.useStopWatch)(),ao=al?.watchers??[],ap=ah.data?.result,aq=ah.data?.persistedFindings??[],ar=ah.error,as=ar instanceof n.FeatureLockedError;(0,o.useWebSocketEvent)(a=>{if("xray_detection"===a.type){let b=a.data;m.toast.warning(b.summary||"X-Ray detection",{description:`Risk: ${b.riskLevel||"unknown"}`,duration:8e3})}});let at=ak.data?.entry??ae.find(a=>a.id===aj)??null,au=ap??at?.result??null,av=(0,c.useMemo)(()=>({total:ae.length,avgScore:ae.length?Math.round(ae.reduce((a,b)=>a+b.trustScore,0)/ae.length):null}),[ae]),aw=ab?.capabilities,ax=ab?.summary,ay=[{id:"scanner",label:"Scanner",icon:(0,b.jsx)(l.ScanSearch,{size:14})},{id:"history",label:"History",count:av.total},{id:"watch",label:"Watch",count:ax?.activeWatchRoots??0},{id:"activity",label:"Activity"},{id:"findings",label:"Findings",count:ac?.new??0}];return(0,b.jsx)("div",{className:"h-full overflow-y-auto",children:(0,b.jsxs)("div",{className:"mx-auto max-w-7xl space-y-6 p-6",children:[(0,b.jsx)(s.PageHeader,{eyebrow:"Supply Chain Security",title:"X-Ray Scanner",subtitle:"Scan packages, files, and directories for hidden risk signals.",tabs:ay,activeTab:a,onTabChange:a=>g(a),actions:(0,b.jsx)("div",{className:"flex items-center gap-3",children:(0,b.jsxs)(q.Badge,{variant:aw?.deepScan?"cyan":"muted",dot:!0,children:["Deep scan ",aw?.deepScan?"enabled":"gated"]})})}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:[(0,b.jsx)(t.StatCard,{label:"Total Scans",value:ax?.scans??0,icon:l.ScanSearch,accent:"cyan"}),(0,b.jsx)(t.StatCard,{label:"High Risk",value:ax?.highRiskScans??0,icon:d.Activity,accent:"coral"}),(0,b.jsx)(t.StatCard,{label:"Watch Roots",value:ax?.activeWatchRoots??0,icon:f.Eye,accent:"cyan"}),(0,b.jsx)(t.StatCard,{label:"Avg Trust",value:av.avgScore??"—",icon:h,accent:av.avgScore&&av.avgScore>=70?"cyan":"amber"})]}),"scanner"===a&&(0,b.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[1.2fr_0.8fr]",children:[(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-6",children:[(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),v.trim()&&ah.mutate({target:v.trim(),deep:x})},children:[(0,b.jsx)("label",{className:"text-sm font-semibold text-[var(--sc-text-primary)]",children:"What do you want to scan?"}),(0,b.jsx)("input",{value:v,onChange:a=>w(a.target.value),placeholder:"Package name, file path, or directory...",className:"mt-3 w-full rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-3 text-sm text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus-ring-cyan"}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>ai.mutate("file",{onSuccess:a=>{a.path&&w(a.path)}}),className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-4 py-2.5 text-sm font-medium text-[var(--sc-text-secondary)] transition-all hover:bg-[var(--sc-surface-interactive-hover)] hover:text-[var(--sc-text-primary)]",children:[(0,b.jsx)(h,{size:14})," Browse file"]}),(0,b.jsxs)("button",{type:"button",onClick:()=>ai.mutate("folder",{onSuccess:a=>{a.path&&w(a.path)}}),className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-4 py-2.5 text-sm font-medium text-[var(--sc-text-secondary)] transition-all hover:bg-[var(--sc-surface-interactive-hover)] hover:text-[var(--sc-text-primary)]",children:[(0,b.jsx)(i,{size:14})," Browse folder"]}),(0,b.jsxs)("label",{className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-3 py-2.5 text-sm text-[var(--sc-text-secondary)]",children:[(0,b.jsx)("input",{type:"checkbox",checked:x,onChange:a=>y(a.target.checked),className:"h-4 w-4 rounded border-[var(--sc-border)] accent-[var(--sc-cyan)]"}),"Deep scan",!aw?.deepScan&&(0,b.jsx)(j.Lock,{size:12,className:"text-[var(--sc-coral)]"})]}),(0,b.jsxs)(r.Button,{type:"submit",variant:"coral",glow:!0,disabled:ah.isPending||!v.trim(),children:[ah.isPending?"Scanning…":"Run Scan",(0,b.jsx)(e.ArrowRight,{size:14})]})]}),(0,b.jsx)("p",{className:"mt-3 text-xs text-[var(--sc-text-muted)]",children:"Native macOS picker via local API, or paste a path / package name directly."})]}),ai.isError&&(0,b.jsx)("div",{className:"mt-3 rounded-xl border border-[var(--sc-coral)]/20 bg-[var(--sc-coral)]/5 px-4 py-3 text-sm text-[var(--sc-coral)]",children:ai.error instanceof Error?ai.error.message:"Failed to open native picker"}),ar&&(0,b.jsx)("div",{className:`mt-4 rounded-xl px-4 py-3 text-sm ${as?"border border-[var(--sc-amber)]/20 bg-[var(--sc-amber)]/5 text-[var(--sc-amber)]":"border border-[var(--sc-coral)]/20 bg-[var(--sc-coral)]/5 text-[var(--sc-coral)]"}`,children:ar.message})]}),(0,b.jsxs)(p.GlassCard,{className:`p-6 ${ah.isPending?"scan-sweep":""}`,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Scan Result"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"muted",children:[av.total," scans"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:["Avg ",av.avgScore??"—"]})]})]}),au?(0,b.jsxs)("div",{className:"mt-5 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-start gap-6",children:[(0,b.jsx)(u,{score:au.trustScore,size:120}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,b.jsx)("h4",{className:"min-w-0 break-words text-lg font-semibold text-[var(--sc-text-primary)]",children:au.target}),(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(au.riskLevel),children:au.riskLevel})]}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"muted",children:[au.filesScanned," files"]}),(0,b.jsx)(q.Badge,{variant:"muted",children:au.deepScan?"Deep":"Standard"}),(0,b.jsx)(q.Badge,{variant:"muted",children:T(au.scannedAt)})]})]})]}),(0,b.jsx)("div",{className:"space-y-3",children:0===au.findings.length?(0,b.jsx)("div",{className:"rounded-xl border border-[var(--sc-cyan)]/20 bg-[var(--sc-cyan)]/5 px-4 py-4 text-sm text-[var(--sc-cyan)]",children:"No findings detected. This target looks clean."}):au.findings.map((a,c)=>(0,b.jsxs)(p.GlassCard,{severity:a.severity,className:"p-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.severity),children:a.severity}),(0,b.jsx)(q.Badge,{variant:"muted",children:a.category})]}),(0,b.jsx)("p",{className:"mt-2 text-sm font-semibold text-[var(--sc-text-primary)]",children:a.title}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-secondary)]",children:a.description}),(a.file||a.evidence)&&(0,b.jsxs)("div",{className:"mt-2 space-y-0.5 font-mono text-xs text-[var(--sc-text-muted)]",children:[a.file&&(0,b.jsxs)("div",{children:["File: ",a.line?`${a.file}:${a.line}`:a.file]}),a.evidence&&(0,b.jsxs)("div",{children:["Evidence: ",a.evidence]})]}),(0,b.jsx)(Q,{finding:{...a,id:aq[c]?.id,status:aq[c]?.status},target:au.target}),aq[c]&&(0,b.jsx)("div",{className:"mt-3 border-t border-[var(--sc-border)] pt-3",children:(0,b.jsx)(G,{findingId:aq[c].id,status:aq[c].status,hasFile:!!a.file,compact:!0})})]},`${a.title}-${c}`))})]}):(0,b.jsx)("div",{className:"mt-5 rounded-xl bg-[var(--sc-bg-elevated)] px-5 py-8 text-center text-sm text-[var(--sc-text-muted)]",children:"Run a scan or select one from history to see results here."})]})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-5",children:[(0,b.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Capabilities"}),(0,b.jsx)("div",{className:"mt-4 space-y-3",children:[{label:"Local scan",enabled:aw?.localScan??!0},{label:"Watch mode",enabled:aw?.watchMode??!0},{label:"Preinstall hook",enabled:aw?.preinstallHook??!1},{label:"npm inspection",enabled:aw?.npmInspection??!1},{label:"Deep scan",enabled:aw?.deepScan??!1}].map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-3 py-2",children:[(0,b.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:a.label}),(0,b.jsx)(q.Badge,{variant:a.enabled?"cyan":"muted",dot:!0,children:a.enabled?"On":"Off"})]},a.label))})]}),(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-5",children:[(0,b.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Quick stats"}),(0,b.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-3 py-2",children:[(0,b.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"Watch roots"}),(0,b.jsxs)("span",{className:"text-sm font-semibold text-[var(--sc-text-primary)]",children:[ax?.activeWatchRoots??0," active"]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-3 py-2",children:[(0,b.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"Stale roots"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-[var(--sc-amber)]",children:ax?.staleWatchRoots??0})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-3 py-2",children:[(0,b.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"Blocked events"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-[var(--sc-coral)]",children:ax?.blockedEvents??0})]})]})]})]})]}),"history"===a&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)(p.GlassCard,{className:"p-4",children:[(0,b.jsxs)("div",{className:"grid gap-3 lg:grid-cols-[1fr_auto_auto]",children:[(0,b.jsx)("input",{value:L,onChange:a=>M(a.target.value),placeholder:"Filter by file, folder, or package...",className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-2.5 text-sm text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus-ring-cyan"}),(0,b.jsxs)("select",{value:E,onChange:a=>F(a.target.value),className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-2.5 text-sm text-[var(--sc-text-primary)]",children:[(0,b.jsx)("option",{value:"ALL",children:"All risk"}),(0,b.jsx)("option",{value:"CRITICAL",children:"Critical"}),(0,b.jsx)("option",{value:"HIGH",children:"High"}),(0,b.jsx)("option",{value:"MEDIUM",children:"Medium"}),(0,b.jsx)("option",{value:"LOW",children:"Low"}),(0,b.jsx)("option",{value:"SAFE",children:"Safe"})]}),(0,b.jsxs)("select",{value:H,onChange:a=>I(a.target.value),className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-2.5 text-sm text-[var(--sc-text-primary)]",children:[(0,b.jsx)("option",{value:"all",children:"All targets"}),(0,b.jsx)("option",{value:"file",children:"Files"}),(0,b.jsx)("option",{value:"dir",children:"Directories"}),(0,b.jsx)("option",{value:"npm",children:"Packages"})]})]}),(0,b.jsx)("div",{className:"mt-3 flex gap-2",children:["all","true","false"].map(a=>(0,b.jsx)("button",{onClick:()=>K(a),className:`rounded-lg px-3 py-1.5 text-xs font-medium transition-all ${J===a?"bg-[var(--sc-coral)] text-white":"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)]"}`,children:"all"===a?"All scans":"true"===a?"Deep only":"Standard only"},a))})]}),(0,b.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[0.45fr_0.55fr]",children:[(0,b.jsx)("div",{className:"space-y-3",children:0===ae.length?(0,b.jsx)(p.GlassCard,{className:"p-5 text-center text-sm text-[var(--sc-text-muted)]",children:"No matching scan history yet."}):ae.map(a=>(0,b.jsxs)(p.GlassCard,{hover:!0,selected:aj===a.id,onClick:()=>{B(a.id),w(a.target),y(a.deepScan)},className:"p-4",children:[(0,b.jsx)("div",{className:"truncate text-sm font-semibold text-[var(--sc-text-primary)]",children:a.target}),(0,b.jsx)("div",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:T(a.scannedAt)}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.riskLevel),children:a.riskLevel}),(0,b.jsxs)(q.Badge,{variant:"muted",children:["Score ",a.trustScore]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[a.findingCount," findings"]})]})]},a.id))}),au?(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-start gap-5",children:[(0,b.jsx)(u,{score:au.trustScore,size:100}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("h4",{className:"break-words text-lg font-semibold text-[var(--sc-text-primary)]",children:au.target}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(au.riskLevel),children:au.riskLevel}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[au.filesScanned," files"]}),(0,b.jsx)(q.Badge,{variant:"muted",children:au.deepScan?"Deep":"Standard"})]})]})]}),(0,b.jsx)("div",{className:"mt-5 space-y-3",children:0===au.findings.length?(0,b.jsx)("div",{className:"rounded-xl border border-[var(--sc-cyan)]/20 bg-[var(--sc-cyan)]/5 px-4 py-3 text-sm text-[var(--sc-cyan)]",children:"Clean — no findings."}):au.findings.map((a,c)=>(0,b.jsxs)(p.GlassCard,{severity:a.severity,className:"p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.severity),children:a.severity}),(0,b.jsx)("span",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:a.title})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-secondary)]",children:a.description}),(0,b.jsx)(Q,{finding:a,target:au.target})]},`${a.title}-${c}`))})]}):(0,b.jsx)(p.GlassCard,{className:"flex items-center justify-center p-8 text-sm text-[var(--sc-text-muted)]",children:"Select a scan from the list to view details."})]})]}),"watch"===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)(p.GlassCard,{strong:!0,className:"p-6",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Start Watching"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-muted)]",children:"Monitor a directory for file changes and automatically scan for threats in real-time."}),(0,b.jsxs)("form",{className:"mt-4 flex flex-wrap items-end gap-3",onSubmit:a=>{a.preventDefault(),U.trim()&&am.mutate({target:U.trim(),deep:W})},children:[(0,b.jsx)("div",{className:"flex-1",children:(0,b.jsx)("input",{value:U,onChange:a=>V(a.target.value),placeholder:"Directory path, e.g. /Users/michael/Development/project",className:"w-full rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-4 py-3 text-sm text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus-ring-cyan"})}),(0,b.jsxs)("button",{type:"button",onClick:()=>ai.mutate("folder",{onSuccess:a=>{a.path&&V(a.path)}}),className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-4 py-3 text-sm font-medium text-[var(--sc-text-secondary)] transition-all hover:bg-[var(--sc-surface-interactive-hover)] hover:text-[var(--sc-text-primary)]",children:[(0,b.jsx)(i,{size:14})," Browse"]}),(0,b.jsxs)("label",{className:"inline-flex items-center gap-2 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] px-3 py-3 text-sm text-[var(--sc-text-secondary)]",children:[(0,b.jsx)("input",{type:"checkbox",checked:W,onChange:a=>X(a.target.checked),className:"h-4 w-4 rounded accent-[var(--sc-cyan)]"}),"Deep"]}),(0,b.jsxs)(r.Button,{type:"submit",variant:"cyan",disabled:am.isPending||!U.trim(),children:[am.isPending?"Starting…":"Start Watch",(0,b.jsx)(f.Eye,{size:14})]})]}),am.isSuccess&&(0,b.jsxs)("p",{className:"mt-3 text-sm text-[var(--sc-cyan)]",children:["Watching ",am.data.root]}),am.isError&&(0,b.jsx)("p",{className:"mt-3 text-sm text-[var(--sc-coral)]",children:am.error instanceof Error?am.error.message:"Failed to start watch"})]}),ao.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"mb-3 text-sm font-semibold uppercase tracking-wider text-[var(--sc-text-muted)]",children:"Active Watchers (This Session)"}),(0,b.jsx)("div",{className:"grid gap-3 lg:grid-cols-2",children:ao.map(a=>(0,b.jsxs)(p.GlassCard,{className:"flex items-center justify-between p-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"truncate text-sm font-semibold text-[var(--sc-text-primary)]",children:a.root}),(0,b.jsxs)("p",{className:"text-xs text-[var(--sc-text-muted)]",children:["PID ",a.pid]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(q.Badge,{variant:"cyan",dot:!0,pulse:!0,children:"Watching"}),(0,b.jsx)(r.Button,{variant:"outline",size:"sm",onClick:()=>an.mutate(a.root),disabled:an.isPending,children:"Stop"})]})]},a.root))})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("h4",{className:"text-sm font-semibold uppercase tracking-wider text-[var(--sc-text-muted)]",children:"Session History"}),(0,b.jsx)("div",{className:"flex gap-2",children:["all","active","stale","ended"].map(a=>(0,b.jsx)("button",{onClick:()=>R(a),className:`rounded-lg px-3 py-1.5 text-xs font-medium capitalize transition-all ${P===a?"bg-[var(--sc-coral)] text-white":"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)]"}`,children:a},a))})]}),0===ag.length?(0,b.jsxs)(p.GlassCard,{className:"p-8 text-center text-sm text-[var(--sc-text-muted)]",children:["No watch sessions recorded yet. Start a watcher above or use ",(0,b.jsx)("code",{className:"font-mono text-[var(--sc-cyan)]",children:"shieldcortex xray --watch ./src"})," from the CLI."]}):(0,b.jsx)("div",{className:"grid gap-4 lg:grid-cols-2",children:ag.map(a=>(0,b.jsxs)(p.GlassCard,{className:"p-5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"truncate text-sm font-semibold text-[var(--sc-text-primary)]",children:a.root}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:["Started ",T(a.startedAt)]})]}),(0,b.jsx)(q.Badge,{variant:"active"===a.state?"cyan":"stale"===a.state?"amber":"muted",dot:!0,pulse:"active"===a.state,children:a.state})]}),(0,b.jsx)("p",{className:"mt-2 text-sm text-[var(--sc-text-secondary)]",children:a.lastEventSummary??"No detections yet"}),(0,b.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"muted",children:[a.changesDetected," changes"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[a.findingsDetected," findings"]}),(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.highestRiskLevel),children:a.highestRiskLevel})]})]},a.id))})]}),"activity"===a&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex gap-2",children:["all","scan","watch","preinstall"].map(a=>(0,b.jsx)("button",{onClick:()=>O(a),className:`rounded-lg px-3 py-1.5 text-xs font-medium capitalize transition-all ${N===a?"bg-[var(--sc-coral)] text-white":"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)]"}`,children:"all"===a?"All activity":a},a))}),0===af.length?(0,b.jsx)(p.GlassCard,{className:"p-8 text-center text-sm text-[var(--sc-text-muted)]",children:"No matching automatic events yet."}):(0,b.jsx)("div",{className:"space-y-3",children:af.map(a=>(0,b.jsx)(p.GlassCard,{className:"p-4",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k,{size:14,className:"shrink-0 text-[var(--sc-coral)]"}),(0,b.jsx)("span",{className:"text-sm font-semibold capitalize text-[var(--sc-text-primary)]",children:a.kind})]}),(0,b.jsx)("p",{className:"mt-1 truncate text-sm text-[var(--sc-text-secondary)]",children:a.target}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:a.summary})]}),(0,b.jsx)(q.Badge,{variant:"pass"===a.status?"safe":"blocked"===a.status?"critical":"warn"===a.status?"medium":"amber",children:a.status})]})},a.id))})]}),"findings"===a&&(0,b.jsxs)("div",{className:"space-y-4",children:[ac&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"coral",children:[ac.new," new"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[ac.reviewed," reviewed"]}),(0,b.jsxs)(q.Badge,{variant:"cyan",children:[ac.resolved," resolved"]}),(0,b.jsxs)(q.Badge,{variant:"amber",children:[ac.quarantined," quarantined"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[ac.ignored," ignored"]}),(0,b.jsxs)(q.Badge,{variant:"muted",children:[ac.total," total"]})]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:[{key:"new",label:"Needs attention",accent:!0},{key:"reviewed",label:"Reviewed",accent:!1},{key:"resolved",label:"Resolved",accent:!1},{key:"ignored",label:"Ignored",accent:!1},{key:"quarantined",label:"Quarantined",accent:!1},{key:"all",label:"Everything",accent:!1}].map(({key:a,label:c,accent:d})=>(0,b.jsxs)("button",{onClick:()=>Z(a),className:`rounded-lg px-3 py-1.5 text-xs font-medium transition-all ${Y===a?d?"bg-[var(--sc-coral)] text-white":"bg-[var(--sc-cyan)] text-[var(--sc-bg-deep)]":"bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)]"}`,children:[c,"new"===a&&ac&&ac.new>0&&(0,b.jsx)("span",{className:"ml-1.5 rounded-full bg-white/20 px-1.5 py-0.5 text-[10px] font-bold",children:ac.new})]},a))}),ad?.findings&&0!==ad.findings.length?(0,b.jsx)("div",{className:"space-y-3",children:ad.findings.map(a=>(0,b.jsxs)(p.GlassCard,{severity:a.severity,className:"p-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(q.Badge,{variant:(0,q.riskVariant)(a.severity),children:a.severity}),(0,b.jsx)(q.Badge,{variant:"muted",children:a.category}),a.systemFile&&(0,b.jsx)(q.Badge,{variant:"muted",children:"System file — likely safe"}),a.guidance?.urgency==="usually-safe"&&!a.systemFile&&(0,b.jsx)(q.Badge,{variant:"cyan",children:"Usually safe"}),a.guidance?.urgency==="act-now"&&(0,b.jsx)(q.Badge,{variant:"critical",dot:!0,pulse:!0,children:"Act now"})]}),(0,b.jsx)("p",{className:"mt-3 text-sm font-semibold text-[var(--sc-text-primary)]",children:a.title}),a.guidance&&(0,b.jsxs)("div",{className:"mt-3 space-y-3 rounded-xl bg-[var(--sc-bg-elevated)] p-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-[var(--sc-text-muted)]",children:"What this means"}),(0,b.jsx)("p",{className:"mt-1 text-sm leading-relaxed text-[var(--sc-text-secondary)]",children:a.guidance.whatItMeans})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-[var(--sc-cyan)]",children:"What to do"}),(0,b.jsx)("p",{className:"mt-1 text-sm leading-relaxed text-[var(--sc-text-secondary)]",children:a.guidance.whatToDo})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-[var(--sc-text-muted)]",children:"False positive?"}),(0,b.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-[var(--sc-text-muted)]",children:a.guidance.falsePositiveNote})]})]}),(a.file||a.evidence)&&(0,b.jsxs)("div",{className:"mt-3 space-y-0.5 font-mono text-xs text-[var(--sc-text-muted)]",children:[a.file&&(0,b.jsxs)("div",{children:["File: ",a.line?`${a.file}:${a.line}`:a.file]}),a.evidence&&(0,b.jsxs)("div",{children:["Evidence: ",a.evidence]})]}),(0,b.jsx)(Q,{finding:a}),(0,b.jsx)("div",{className:"mt-2 text-xs text-[var(--sc-text-muted)]",children:T(a.detectedAt)}),(0,b.jsx)("div",{className:"mt-3 border-t border-[var(--sc-border)] pt-3",children:(0,b.jsx)(G,{findingId:a.id,status:a.status,hasFile:!!a.file,compact:!0})})]},a.id))}):(0,b.jsxs)(p.GlassCard,{className:"p-8 text-center",children:[(0,b.jsx)("p",{className:"text-sm text-[var(--sc-text-primary)]",children:"new"===Y?"All clear — no findings need attention":`No ${"all"===Y?"":Y+" "}findings`}),(0,b.jsx)("p",{className:"mt-1 text-xs text-[var(--sc-text-muted)]",children:"new"===Y?"Run an X-Ray scan or start a watcher to monitor for threats.":"Findings move here when you take action on them."})]})]})]})})}a.s(["XRayOverview",()=>U],89418)}];
2
2
 
3
3
  //# sourceMappingURL=dashboard_src_components_xray_XRayOverview_tsx_ceba698e._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[86044,a=>{"use strict";let b=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",c=null,d=null;function e(){c=null,d=null}async function f(){return c||d||(d=(async()=>{let a=await fetch(`${b}/api/auth/session-token`);if(!a.ok){let b=await a.json().catch(()=>({}));throw d=null,Error(b.error||"Failed to fetch session token")}let{token:e}=await a.json();return c=e,e})())}async function g(a,b){let c=await f(),d=new Headers(b?.headers);return d.set("Authorization",`Bearer ${c}`),fetch(a,{...b,headers:d})}async function h(a,b){if((a.headers.get("content-type")??"").includes("application/json")){let c=await a.json().catch(()=>null);if("string"==typeof c?.error&&c.error.trim())return c.error;if("string"==typeof c?.message&&c.message.trim())return c.message;if("string"==typeof c?.code&&c.code.trim())return`${b} (${c.code})`}return(await a.text().catch(()=>"")).trim()||b}class i extends Error{feature;requiredTier;constructor(a,b){super(`Feature locked: ${a}`),this.name="FeatureLockedError",this.feature=a,this.requiredTier=b}}async function j(a,b){let c=await g(a,b);if(403===c.status){let a=await c.json().catch(()=>({}));if("FEATURE_GATED"===a.code)throw new i(a.feature,a.requiredTier)}return c}a.s(["FeatureLockedError",()=>i,"authFetch",()=>g,"gatedFetch",()=>j,"getApiToken",()=>f,"invalidateApiToken",()=>e,"readApiError",()=>h])},64565,52814,40458,a=>{"use strict";let b;function c(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}a.s(["clsx",()=>c],52814);let d=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),e=[],f=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=f(a,b+1,e);if(c)return c}let g=c.validators;if(null===g)return;let h=0===b?a.join("-"):a.slice(b).join("-"),i=g.length;for(let a=0;a<i;a++){let b=g[a];if(b.validator(h))return b.classGroupId}},g=(a,b)=>{let c=d();for(let d in a)h(a[d],c,d,b);return c},h=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)i(a[f],b,c,d)},i=(a,b,c,d)=>{"string"==typeof a?j(a,b,c):"function"==typeof a?k(a,b,c,d):l(a,b,c,d)},j=(a,b,c)=>{(""===a?b:m(b,a)).classGroupId=c},k=(a,b,c,d)=>{n(a)?h(a(d),b,c,d):(null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a}))},l=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];h(g,m(b,f),c,d)}},m=(a,b)=>{let c=a,e=b.split("-"),f=e.length;for(let a=0;a<f;a++){let b=e[a],f=c.nextPart.get(b);f||(f=d(),c.nextPart.set(b,f)),c=f}return c},n=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,o=[],p=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),q=/\s+/,r=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=r(a[d]))&&(c&&(c+=" "),c+=b);return c},s=[],t=a=>{let b=b=>b[a]||s;return b.isThemeGetter=!0,b},u=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,v=/^\((?:(\w[\w-]*):)?(.+)\)$/i,w=/^\d+\/\d+$/,x=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,y=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,z=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,A=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,B=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,C=a=>w.test(a),D=a=>!!a&&!Number.isNaN(Number(a)),E=a=>!!a&&Number.isInteger(Number(a)),F=a=>a.endsWith("%")&&D(a.slice(0,-1)),G=a=>x.test(a),H=()=>!0,I=a=>y.test(a)&&!z.test(a),J=()=>!1,K=a=>A.test(a),L=a=>B.test(a),M=a=>!O(a)&&!U(a),N=a=>_(a,ad,J),O=a=>u.test(a),P=a=>_(a,ae,I),Q=a=>_(a,af,D),R=a=>_(a,ab,J),S=a=>_(a,ac,L),T=a=>_(a,ah,K),U=a=>v.test(a),V=a=>aa(a,ae),W=a=>aa(a,ag),X=a=>aa(a,ab),Y=a=>aa(a,ad),Z=a=>aa(a,ac),$=a=>aa(a,ah,!0),_=(a,b,c)=>{let d=u.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},aa=(a,b,c=!1)=>{let d=v.exec(a);return!!d&&(d[1]?b(d[1]):c)},ab=a=>"position"===a||"percentage"===a,ac=a=>"image"===a||"url"===a,ad=a=>"length"===a||"size"===a||"bg-size"===a,ae=a=>"length"===a,af=a=>"number"===a,ag=a=>"family-name"===a,ah=a=>"shadow"===a,ai=((a,...b)=>{let c,d,h,i,j=a=>{let b=d(a);if(b)return b;let e=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f}=b,g=[],h=a.trim().split(q),i="";for(let a=h.length-1;a>=0;a-=1){let b=h[a],{isExternal:j,modifiers:k,hasImportantModifier:l,baseClassName:m,maybePostfixModifierPosition:n}=c(b);if(j){i=b+(i.length>0?" "+i:i);continue}let o=!!n,p=d(o?m.substring(0,n):m);if(!p){if(!o||!(p=d(m))){i=b+(i.length>0?" "+i:i);continue}o=!1}let q=0===k.length?"":1===k.length?k[0]:f(k).join(":"),r=l?q+"!":q,s=r+p;if(g.indexOf(s)>-1)continue;g.push(s);let t=e(p,o);for(let a=0;a<t.length;++a){let b=t[a];g.push(r+b)}i=b+(i.length>0?" "+i:i)}return i})(a,c);return h(a,e),e};return i=k=>{var l;let m;return d=(c={cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})((l=b.reduce((a,b)=>b(a),a())).cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),p(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):p(o,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(l),sortModifiers:(m=new Map,l.orderSensitiveModifiers.forEach((a,b)=>{m.set(a,1e6+b)}),a=>{let b=[],c=[];for(let d=0;d<a.length;d++){let e=a[d],f="["===e[0],g=m.has(e);f||g?(c.length>0&&(c.sort(),b.push(...c),c=[]),b.push(e)):c.push(e)}return c.length>0&&(c.sort(),b.push(...c)),b}),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return g(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]")){var c;let b,d,e;return -1===(c=a).slice(1,-1).indexOf(":")?void 0:(d=(b=c.slice(1,-1)).indexOf(":"),(e=b.slice(0,d))?"arbitrary.."+e:void 0)}let d=a.split("-"),e=+(""===d[0]&&d.length>1);return f(d,e,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],f=c[a];if(b){if(f){let a=Array(f.length+b.length);for(let b=0;b<f.length;b++)a[b]=f[b];for(let c=0;c<b.length;c++)a[f.length+c]=b[c];return a}return b}return f||e}return c[a]||e}}})(l)}).cache.get,h=c.cache.set,i=j,j(k)},(...a)=>i(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=r(b))&&(e&&(e+=" "),e+=c);return e})(...a))})(()=>{let a=t("color"),b=t("font"),c=t("text"),d=t("font-weight"),e=t("tracking"),f=t("leading"),g=t("breakpoint"),h=t("container"),i=t("spacing"),j=t("radius"),k=t("shadow"),l=t("inset-shadow"),m=t("text-shadow"),n=t("drop-shadow"),o=t("blur"),p=t("perspective"),q=t("aspect"),r=t("ease"),s=t("animate"),u=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...v(),U,O],x=()=>["auto","hidden","clip","visible","scroll"],y=()=>["auto","contain","none"],z=()=>[U,O,i],A=()=>[C,"full","auto",...z()],B=()=>[E,"none","subgrid",U,O],I=()=>["auto",{span:["full",E,U,O]},E,U,O],J=()=>[E,"auto",U,O],K=()=>["auto","min","max","fr",U,O],L=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],_=()=>["start","end","center","stretch","center-safe","end-safe"],aa=()=>["auto",...z()],ab=()=>[C,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],ac=()=>[a,U,O],ad=()=>[...v(),X,R,{position:[U,O]}],ae=()=>["no-repeat",{repeat:["","x","y","space","round"]}],af=()=>["auto","cover","contain",Y,N,{size:[U,O]}],ag=()=>[F,V,P],ah=()=>["","none","full",j,U,O],ai=()=>["",D,V,P],aj=()=>["solid","dashed","dotted","double"],ak=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],al=()=>[D,F,X,R],am=()=>["","none",o,U,O],an=()=>["none",D,U,O],ao=()=>["none",D,U,O],ap=()=>[D,U,O],aq=()=>[C,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[G],breakpoint:[G],color:[H],container:[G],"drop-shadow":[G],ease:["in","out","in-out"],font:[M],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[G],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[G],shadow:[G],spacing:["px",D],text:[G],"text-shadow":[G],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",C,O,U,q]}],container:["container"],columns:[{columns:[D,O,U,h]}],"break-after":[{"break-after":u()}],"break-before":[{"break-before":u()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:w()}],overflow:[{overflow:x()}],"overflow-x":[{"overflow-x":x()}],"overflow-y":[{"overflow-y":x()}],overscroll:[{overscroll:y()}],"overscroll-x":[{"overscroll-x":y()}],"overscroll-y":[{"overscroll-y":y()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{start:A()}],end:[{end:A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[E,"auto",U,O]}],basis:[{basis:[C,"full","auto",h,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[D,C,"auto","initial","none",O]}],grow:[{grow:["",D,U,O]}],shrink:[{shrink:["",D,U,O]}],order:[{order:[E,"first","last","none",U,O]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":K()}],"auto-rows":[{"auto-rows":K()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...L(),"normal"]}],"justify-items":[{"justify-items":[..._(),"normal"]}],"justify-self":[{"justify-self":["auto",..._()]}],"align-content":[{content:["normal",...L()]}],"align-items":[{items:[..._(),{baseline:["","last"]}]}],"align-self":[{self:["auto",..._(),{baseline:["","last"]}]}],"place-content":[{"place-content":L()}],"place-items":[{"place-items":[..._(),"baseline"]}],"place-self":[{"place-self":["auto",..._()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:aa()}],mx:[{mx:aa()}],my:[{my:aa()}],ms:[{ms:aa()}],me:[{me:aa()}],mt:[{mt:aa()}],mr:[{mr:aa()}],mb:[{mb:aa()}],ml:[{ml:aa()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:ab()}],w:[{w:[h,"screen",...ab()]}],"min-w":[{"min-w":[h,"screen","none",...ab()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...ab()]}],h:[{h:["screen","lh",...ab()]}],"min-h":[{"min-h":["screen","lh","none",...ab()]}],"max-h":[{"max-h":["screen","lh",...ab()]}],"font-size":[{text:["base",c,V,P]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,U,Q]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",F,O]}],"font-family":[{font:[W,O,b]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[e,U,O]}],"line-clamp":[{"line-clamp":[D,"none",U,Q]}],leading:[{leading:[f,...z()]}],"list-image":[{"list-image":["none",U,O]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",U,O]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ac()}],"text-color":[{text:ac()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...aj(),"wavy"]}],"text-decoration-thickness":[{decoration:[D,"from-font","auto",U,P]}],"text-decoration-color":[{decoration:ac()}],"underline-offset":[{"underline-offset":[D,"auto",U,O]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",U,O]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",U,O]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ad()}],"bg-repeat":[{bg:ae()}],"bg-size":[{bg:af()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},E,U,O],radial:["",U,O],conic:[E,U,O]},Z,S]}],"bg-color":[{bg:ac()}],"gradient-from-pos":[{from:ag()}],"gradient-via-pos":[{via:ag()}],"gradient-to-pos":[{to:ag()}],"gradient-from":[{from:ac()}],"gradient-via":[{via:ac()}],"gradient-to":[{to:ac()}],rounded:[{rounded:ah()}],"rounded-s":[{"rounded-s":ah()}],"rounded-e":[{"rounded-e":ah()}],"rounded-t":[{"rounded-t":ah()}],"rounded-r":[{"rounded-r":ah()}],"rounded-b":[{"rounded-b":ah()}],"rounded-l":[{"rounded-l":ah()}],"rounded-ss":[{"rounded-ss":ah()}],"rounded-se":[{"rounded-se":ah()}],"rounded-ee":[{"rounded-ee":ah()}],"rounded-es":[{"rounded-es":ah()}],"rounded-tl":[{"rounded-tl":ah()}],"rounded-tr":[{"rounded-tr":ah()}],"rounded-br":[{"rounded-br":ah()}],"rounded-bl":[{"rounded-bl":ah()}],"border-w":[{border:ai()}],"border-w-x":[{"border-x":ai()}],"border-w-y":[{"border-y":ai()}],"border-w-s":[{"border-s":ai()}],"border-w-e":[{"border-e":ai()}],"border-w-t":[{"border-t":ai()}],"border-w-r":[{"border-r":ai()}],"border-w-b":[{"border-b":ai()}],"border-w-l":[{"border-l":ai()}],"divide-x":[{"divide-x":ai()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ai()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...aj(),"hidden","none"]}],"divide-style":[{divide:[...aj(),"hidden","none"]}],"border-color":[{border:ac()}],"border-color-x":[{"border-x":ac()}],"border-color-y":[{"border-y":ac()}],"border-color-s":[{"border-s":ac()}],"border-color-e":[{"border-e":ac()}],"border-color-t":[{"border-t":ac()}],"border-color-r":[{"border-r":ac()}],"border-color-b":[{"border-b":ac()}],"border-color-l":[{"border-l":ac()}],"divide-color":[{divide:ac()}],"outline-style":[{outline:[...aj(),"none","hidden"]}],"outline-offset":[{"outline-offset":[D,U,O]}],"outline-w":[{outline:["",D,V,P]}],"outline-color":[{outline:ac()}],shadow:[{shadow:["","none",k,$,T]}],"shadow-color":[{shadow:ac()}],"inset-shadow":[{"inset-shadow":["none",l,$,T]}],"inset-shadow-color":[{"inset-shadow":ac()}],"ring-w":[{ring:ai()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ac()}],"ring-offset-w":[{"ring-offset":[D,P]}],"ring-offset-color":[{"ring-offset":ac()}],"inset-ring-w":[{"inset-ring":ai()}],"inset-ring-color":[{"inset-ring":ac()}],"text-shadow":[{"text-shadow":["none",m,$,T]}],"text-shadow-color":[{"text-shadow":ac()}],opacity:[{opacity:[D,U,O]}],"mix-blend":[{"mix-blend":[...ak(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ak()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[D]}],"mask-image-linear-from-pos":[{"mask-linear-from":al()}],"mask-image-linear-to-pos":[{"mask-linear-to":al()}],"mask-image-linear-from-color":[{"mask-linear-from":ac()}],"mask-image-linear-to-color":[{"mask-linear-to":ac()}],"mask-image-t-from-pos":[{"mask-t-from":al()}],"mask-image-t-to-pos":[{"mask-t-to":al()}],"mask-image-t-from-color":[{"mask-t-from":ac()}],"mask-image-t-to-color":[{"mask-t-to":ac()}],"mask-image-r-from-pos":[{"mask-r-from":al()}],"mask-image-r-to-pos":[{"mask-r-to":al()}],"mask-image-r-from-color":[{"mask-r-from":ac()}],"mask-image-r-to-color":[{"mask-r-to":ac()}],"mask-image-b-from-pos":[{"mask-b-from":al()}],"mask-image-b-to-pos":[{"mask-b-to":al()}],"mask-image-b-from-color":[{"mask-b-from":ac()}],"mask-image-b-to-color":[{"mask-b-to":ac()}],"mask-image-l-from-pos":[{"mask-l-from":al()}],"mask-image-l-to-pos":[{"mask-l-to":al()}],"mask-image-l-from-color":[{"mask-l-from":ac()}],"mask-image-l-to-color":[{"mask-l-to":ac()}],"mask-image-x-from-pos":[{"mask-x-from":al()}],"mask-image-x-to-pos":[{"mask-x-to":al()}],"mask-image-x-from-color":[{"mask-x-from":ac()}],"mask-image-x-to-color":[{"mask-x-to":ac()}],"mask-image-y-from-pos":[{"mask-y-from":al()}],"mask-image-y-to-pos":[{"mask-y-to":al()}],"mask-image-y-from-color":[{"mask-y-from":ac()}],"mask-image-y-to-color":[{"mask-y-to":ac()}],"mask-image-radial":[{"mask-radial":[U,O]}],"mask-image-radial-from-pos":[{"mask-radial-from":al()}],"mask-image-radial-to-pos":[{"mask-radial-to":al()}],"mask-image-radial-from-color":[{"mask-radial-from":ac()}],"mask-image-radial-to-color":[{"mask-radial-to":ac()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[D]}],"mask-image-conic-from-pos":[{"mask-conic-from":al()}],"mask-image-conic-to-pos":[{"mask-conic-to":al()}],"mask-image-conic-from-color":[{"mask-conic-from":ac()}],"mask-image-conic-to-color":[{"mask-conic-to":ac()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ad()}],"mask-repeat":[{mask:ae()}],"mask-size":[{mask:af()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",U,O]}],filter:[{filter:["","none",U,O]}],blur:[{blur:am()}],brightness:[{brightness:[D,U,O]}],contrast:[{contrast:[D,U,O]}],"drop-shadow":[{"drop-shadow":["","none",n,$,T]}],"drop-shadow-color":[{"drop-shadow":ac()}],grayscale:[{grayscale:["",D,U,O]}],"hue-rotate":[{"hue-rotate":[D,U,O]}],invert:[{invert:["",D,U,O]}],saturate:[{saturate:[D,U,O]}],sepia:[{sepia:["",D,U,O]}],"backdrop-filter":[{"backdrop-filter":["","none",U,O]}],"backdrop-blur":[{"backdrop-blur":am()}],"backdrop-brightness":[{"backdrop-brightness":[D,U,O]}],"backdrop-contrast":[{"backdrop-contrast":[D,U,O]}],"backdrop-grayscale":[{"backdrop-grayscale":["",D,U,O]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[D,U,O]}],"backdrop-invert":[{"backdrop-invert":["",D,U,O]}],"backdrop-opacity":[{"backdrop-opacity":[D,U,O]}],"backdrop-saturate":[{"backdrop-saturate":[D,U,O]}],"backdrop-sepia":[{"backdrop-sepia":["",D,U,O]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",U,O]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[D,"initial",U,O]}],ease:[{ease:["linear","initial",r,U,O]}],delay:[{delay:[D,U,O]}],animate:[{animate:["none",s,U,O]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,U,O]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:an()}],"rotate-x":[{"rotate-x":an()}],"rotate-y":[{"rotate-y":an()}],"rotate-z":[{"rotate-z":an()}],scale:[{scale:ao()}],"scale-x":[{"scale-x":ao()}],"scale-y":[{"scale-y":ao()}],"scale-z":[{"scale-z":ao()}],"scale-3d":["scale-3d"],skew:[{skew:ap()}],"skew-x":[{"skew-x":ap()}],"skew-y":[{"skew-y":ap()}],transform:[{transform:[U,O,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:aq()}],"translate-x":[{"translate-x":aq()}],"translate-y":[{"translate-y":aq()}],"translate-z":[{"translate-z":aq()}],"translate-none":["translate-none"],accent:[{accent:ac()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ac()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",U,O]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",U,O]}],fill:[{fill:["none",...ac()]}],"stroke-w":[{stroke:[D,V,P,Q]}],stroke:[{stroke:["none",...ac()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function aj(...a){return ai(c(a))}a.s(["cn",()=>aj],64565);var ak=a.i(7903),al=a.i(98416),am=a.i(30112),an=a.i(16347),ao=a.i(60087),ap=a.i(15896),aq=a.i(2655),ar=class extends an.Subscribable{constructor(a,b){super(),this.options=b,this.#a=a,this.#b=null,this.#c=(0,ao.pendingThenable)(),this.bindMethods(),this.setOptions(b)}#a;#d=void 0;#e=void 0;#f=void 0;#g;#h;#c;#b;#i;#j;#k;#l;#m;#n;#o=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#d.addObserver(this),as(this.#d,this.options)?this.#p():this.updateResult(),this.#q())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return at(this.#d,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return at(this.#d,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#r(),this.#s(),this.#d.removeObserver(this)}setOptions(a){let b=this.options,c=this.#d;if(this.options=this.#a.defaultQueryOptions(a),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,ap.resolveEnabled)(this.options.enabled,this.#d))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#t(),this.#d.setOptions(this.options),b._defaulted&&!(0,ap.shallowEqualObjects)(this.options,b)&&this.#a.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#d,observer:this});let d=this.hasListeners();d&&au(this.#d,c,this.options,b)&&this.#p(),this.updateResult(),d&&(this.#d!==c||(0,ap.resolveEnabled)(this.options.enabled,this.#d)!==(0,ap.resolveEnabled)(b.enabled,this.#d)||(0,ap.resolveStaleTime)(this.options.staleTime,this.#d)!==(0,ap.resolveStaleTime)(b.staleTime,this.#d))&&this.#u();let e=this.#v();d&&(this.#d!==c||(0,ap.resolveEnabled)(this.options.enabled,this.#d)!==(0,ap.resolveEnabled)(b.enabled,this.#d)||e!==this.#n)&&this.#w(e)}getOptimisticResult(a){var b,c;let d=this.#a.getQueryCache().build(this.#a,a),e=this.createResult(d,a);return b=this,c=e,(0,ap.shallowEqualObjects)(b.getCurrentResult(),c)||(this.#f=e,this.#h=this.options,this.#g=this.#d.state),e}getCurrentResult(){return this.#f}trackResult(a,b){return new Proxy(a,{get:(a,c)=>(this.trackProp(c),b?.(c),"promise"===c&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#c.status||this.#c.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(a,c))})}trackProp(a){this.#o.add(a)}getCurrentQuery(){return this.#d}refetch({...a}={}){return this.fetch({...a})}fetchOptimistic(a){let b=this.#a.defaultQueryOptions(a),c=this.#a.getQueryCache().build(this.#a,b);return c.fetch().then(()=>this.createResult(c,b))}fetch(a){return this.#p({...a,cancelRefetch:a.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#f))}#p(a){this.#t();let b=this.#d.fetch(this.options,a);return a?.throwOnError||(b=b.catch(ap.noop)),b}#u(){this.#r();let a=(0,ap.resolveStaleTime)(this.options.staleTime,this.#d);if(ap.isServer||this.#f.isStale||!(0,ap.isValidTimeout)(a))return;let b=(0,ap.timeUntilStale)(this.#f.dataUpdatedAt,a);this.#l=aq.timeoutManager.setTimeout(()=>{this.#f.isStale||this.updateResult()},b+1)}#v(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#d):this.options.refetchInterval)??!1}#w(a){this.#s(),this.#n=a,!ap.isServer&&!1!==(0,ap.resolveEnabled)(this.options.enabled,this.#d)&&(0,ap.isValidTimeout)(this.#n)&&0!==this.#n&&(this.#m=aq.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||ak.focusManager.isFocused())&&this.#p()},this.#n))}#q(){this.#u(),this.#w(this.#v())}#r(){this.#l&&(aq.timeoutManager.clearTimeout(this.#l),this.#l=void 0)}#s(){this.#m&&(aq.timeoutManager.clearInterval(this.#m),this.#m=void 0)}createResult(a,b){let c,d=this.#d,e=this.options,f=this.#f,g=this.#g,h=this.#h,i=a!==d?a.state:this.#e,{state:j}=a,k={...j},l=!1;if(b._optimisticResults){let c=this.hasListeners(),f=!c&&as(a,b),g=c&&au(a,d,b,e);(f||g)&&(k={...k,...(0,am.fetchState)(j.data,a.options)}),"isRestoring"===b._optimisticResults&&(k.fetchStatus="idle")}let{error:m,errorUpdatedAt:n,status:o}=k;c=k.data;let p=!1;if(void 0!==b.placeholderData&&void 0===c&&"pending"===o){let a;f?.isPlaceholderData&&b.placeholderData===h?.placeholderData?(a=f.data,p=!0):a="function"==typeof b.placeholderData?b.placeholderData(this.#k?.state.data,this.#k):b.placeholderData,void 0!==a&&(o="success",c=(0,ap.replaceData)(f?.data,a,b),l=!0)}if(b.select&&void 0!==c&&!p)if(f&&c===g?.data&&b.select===this.#i)c=this.#j;else try{this.#i=b.select,c=b.select(c),c=(0,ap.replaceData)(f?.data,c,b),this.#j=c,this.#b=null}catch(a){this.#b=a}this.#b&&(m=this.#b,c=this.#j,n=Date.now(),o="error");let q="fetching"===k.fetchStatus,r="pending"===o,s="error"===o,t=r&&q,u=void 0!==c,v={status:o,fetchStatus:k.fetchStatus,isPending:r,isSuccess:"success"===o,isError:s,isInitialLoading:t,isLoading:t,data:c,dataUpdatedAt:k.dataUpdatedAt,error:m,errorUpdatedAt:n,failureCount:k.fetchFailureCount,failureReason:k.fetchFailureReason,errorUpdateCount:k.errorUpdateCount,isFetched:k.dataUpdateCount>0||k.errorUpdateCount>0,isFetchedAfterMount:k.dataUpdateCount>i.dataUpdateCount||k.errorUpdateCount>i.errorUpdateCount,isFetching:q,isRefetching:q&&!r,isLoadingError:s&&!u,isPaused:"paused"===k.fetchStatus,isPlaceholderData:l,isRefetchError:s&&u,isStale:av(a,b),refetch:this.refetch,promise:this.#c,isEnabled:!1!==(0,ap.resolveEnabled)(b.enabled,a)};if(this.options.experimental_prefetchInRender){let b=void 0!==v.data,c="error"===v.status&&!b,e=a=>{c?a.reject(v.error):b&&a.resolve(v.data)},f=()=>{e(this.#c=v.promise=(0,ao.pendingThenable)())},g=this.#c;switch(g.status){case"pending":a.queryHash===d.queryHash&&e(g);break;case"fulfilled":(c||v.data!==g.value)&&f();break;case"rejected":c&&v.error===g.reason||f()}}return v}updateResult(){let a=this.#f,b=this.createResult(this.#d,this.options);if(this.#g=this.#d.state,this.#h=this.options,void 0!==this.#g.data&&(this.#k=this.#d),(0,ap.shallowEqualObjects)(b,a))return;this.#f=b;let c=()=>{if(!a)return!0;let{notifyOnChangeProps:b}=this.options,c="function"==typeof b?b():b;if("all"===c||!c&&!this.#o.size)return!0;let d=new Set(c??this.#o);return this.options.throwOnError&&d.add("error"),Object.keys(this.#f).some(b=>this.#f[b]!==a[b]&&d.has(b))};this.#x({listeners:c()})}#t(){let a=this.#a.getQueryCache().build(this.#a,this.options);if(a===this.#d)return;let b=this.#d;this.#d=a,this.#e=a.state,this.hasListeners()&&(b?.removeObserver(this),a.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#q()}#x(a){al.notifyManager.batch(()=>{a.listeners&&this.listeners.forEach(a=>{a(this.#f)}),this.#a.getQueryCache().notify({query:this.#d,type:"observerResultsUpdated"})})}};function as(a,b){return!1!==(0,ap.resolveEnabled)(b.enabled,a)&&void 0===a.state.data&&("error"!==a.state.status||!1!==b.retryOnMount)||void 0!==a.state.data&&at(a,b,b.refetchOnMount)}function at(a,b,c){if(!1!==(0,ap.resolveEnabled)(b.enabled,a)&&"static"!==(0,ap.resolveStaleTime)(b.staleTime,a)){let d="function"==typeof c?c(a):c;return"always"===d||!1!==d&&av(a,b)}return!1}function au(a,b,c,d){return(a!==b||!1===(0,ap.resolveEnabled)(d.enabled,a))&&(!c.suspense||"error"!==a.state.status)&&av(a,c)}function av(a,b){return!1!==(0,ap.resolveEnabled)(b.enabled,a)&&a.isStaleByTime((0,ap.resolveStaleTime)(b.staleTime,a))}var aw=a.i(98419),ax=a.i(14220);a.i(16306);var ay=aw.createContext((b=!1,{clearReset:()=>{b=!1},reset:()=>{b=!0},isReset:()=>b})),az=aw.createContext(!1);az.Provider;var aA=(a,b,c)=>b.fetchOptimistic(a).catch(()=>{c.clearReset()});function aB(a,b){return function(a,b,c){let d,e=aw.useContext(az),f=aw.useContext(ay),g=(0,ax.useQueryClient)(c),h=g.defaultQueryOptions(a);g.getDefaultOptions().queries?._experimental_beforeQuery?.(h);let i=g.getQueryCache().get(h.queryHash);if(h._optimisticResults=e?"isRestoring":"optimistic",h.suspense){let a=a=>"static"===a?a:Math.max(a??1e3,1e3),b=h.staleTime;h.staleTime="function"==typeof b?(...c)=>a(b(...c)):a(b),"number"==typeof h.gcTime&&(h.gcTime=Math.max(h.gcTime,1e3))}d=i?.state.error&&"function"==typeof h.throwOnError?(0,ap.shouldThrowError)(h.throwOnError,[i.state.error,i]):h.throwOnError,(h.suspense||h.experimental_prefetchInRender||d)&&!f.isReset()&&(h.retryOnMount=!1),aw.useEffect(()=>{f.clearReset()},[f]);let j=!g.getQueryCache().get(h.queryHash),[k]=aw.useState(()=>new b(g,h)),l=k.getOptimisticResult(h),m=!e&&!1!==a.subscribed;if(aw.useSyncExternalStore(aw.useCallback(a=>{let b=m?k.subscribe(al.notifyManager.batchCalls(a)):ap.noop;return k.updateResult(),b},[k,m]),()=>k.getCurrentResult(),()=>k.getCurrentResult()),aw.useEffect(()=>{k.setOptions(h)},[h,k]),h?.suspense&&l.isPending)throw aA(h,k,f);if((({result:a,errorResetBoundary:b,throwOnError:c,query:d,suspense:e})=>a.isError&&!b.isReset()&&!a.isFetching&&d&&(e&&void 0===a.data||(0,ap.shouldThrowError)(c,[a.error,d])))({result:l,errorResetBoundary:f,throwOnError:h.throwOnError,query:i,suspense:h.suspense}))throw l.error;if(g.getDefaultOptions().queries?._experimental_afterQuery?.(h,l),h.experimental_prefetchInRender&&!ap.isServer&&l.isLoading&&l.isFetching&&!e){let a=j?aA(h,k,f):i?.promise;a?.catch(ap.noop).finally(()=>{k.updateResult()})}return h.notifyOnChangeProps?l:k.trackResult(l)}(a,ar,b)}a.s(["useQuery",()=>aB],40458)}];
2
+
3
+ //# sourceMappingURL=dashboard_src_lib_e099bffc._.js.map