shieldcortex 4.42.2 → 4.42.4

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 (392) hide show
  1. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
  2. package/dashboard/.next/standalone/dashboard/.next/app-path-routes-manifest.json +1 -1
  3. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
  4. package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +4 -4
  5. package/dashboard/.next/standalone/dashboard/.next/routes-manifest.json +3 -3
  6. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js +5 -5
  7. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js.nft.json +1 -1
  8. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page_client-reference-manifest.js +1 -1
  9. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page.js +5 -5
  10. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page.js.nft.json +1 -1
  11. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page_client-reference-manifest.js +1 -1
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page.js +5 -5
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page.js.nft.json +1 -1
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page_client-reference-manifest.js +1 -1
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page.js +5 -5
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page.js.nft.json +1 -1
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page_client-reference-manifest.js +1 -1
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page.js +5 -5
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page.js +5 -5
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page.js.nft.json +1 -1
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page_client-reference-manifest.js +1 -1
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page.js +5 -5
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page.js.nft.json +1 -1
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page_client-reference-manifest.js +1 -1
  27. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page.js +5 -5
  28. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page.js.nft.json +1 -1
  29. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page_client-reference-manifest.js +1 -1
  30. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page.js +5 -5
  31. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page.js.nft.json +1 -1
  32. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page_client-reference-manifest.js +1 -1
  33. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page.js +5 -5
  34. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page.js.nft.json +1 -1
  35. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page_client-reference-manifest.js +1 -1
  36. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page.js +5 -5
  37. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page.js.nft.json +1 -1
  38. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page_client-reference-manifest.js +1 -1
  39. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page.js +5 -5
  40. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page.js.nft.json +1 -1
  41. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page_client-reference-manifest.js +1 -1
  42. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page.js +5 -5
  43. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page.js.nft.json +1 -1
  44. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page_client-reference-manifest.js +1 -1
  45. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page.js +5 -5
  46. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page.js.nft.json +1 -1
  47. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page_client-reference-manifest.js +1 -1
  48. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page.js +5 -5
  49. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page.js.nft.json +1 -1
  50. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page_client-reference-manifest.js +1 -1
  51. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page.js +5 -5
  52. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page.js.nft.json +1 -1
  53. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page_client-reference-manifest.js +1 -1
  54. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page.js +5 -5
  55. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  56. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  57. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page.js +5 -5
  58. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page.js.nft.json +1 -1
  59. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page_client-reference-manifest.js +1 -1
  60. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page.js +5 -5
  61. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page.js.nft.json +1 -1
  62. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page_client-reference-manifest.js +1 -1
  63. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page.js +5 -5
  64. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page.js.nft.json +1 -1
  65. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page_client-reference-manifest.js +1 -1
  66. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
  67. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
  68. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  69. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  70. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  71. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  72. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  73. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js +5 -5
  74. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
  75. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  76. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
  77. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +2 -2
  78. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  79. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  80. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  81. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  82. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  83. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  84. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -1
  85. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +7 -7
  86. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin/__PAGE__.segment.rsc +1 -1
  87. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin.segment.rsc +1 -1
  88. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  89. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +7 -7
  90. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  91. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_index.segment.rsc +1 -1
  92. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  93. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
  94. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +7 -7
  95. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud/__PAGE__.segment.rsc +1 -1
  96. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud.segment.rsc +1 -1
  97. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  98. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +7 -7
  99. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_head.segment.rsc +1 -1
  100. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_index.segment.rsc +1 -1
  101. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +1 -1
  102. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
  103. package/dashboard/.next/standalone/dashboard/.next/server/app/{icon.png → icon.svg}/route.js +2 -2
  104. package/dashboard/.next/standalone/dashboard/.next/server/app/{icon.png → icon.svg}/route.js.nft.json +1 -1
  105. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg.body +3 -0
  106. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg.meta +1 -0
  107. package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
  108. package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +2 -2
  109. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  110. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +2 -2
  111. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  112. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +1 -1
  113. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  114. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
  115. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +7 -7
  116. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +1 -1
  117. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture.segment.rsc +1 -1
  118. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  119. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  120. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +7 -7
  121. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_head.segment.rsc +1 -1
  122. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_index.segment.rsc +1 -1
  123. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +1 -1
  124. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
  125. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +7 -7
  126. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph/__PAGE__.segment.rsc +1 -1
  127. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph.segment.rsc +1 -1
  128. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  129. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  130. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +7 -7
  131. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_head.segment.rsc +1 -1
  132. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_index.segment.rsc +1 -1
  133. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +1 -1
  134. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
  135. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +7 -7
  136. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall/__PAGE__.segment.rsc +1 -1
  137. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall.segment.rsc +1 -1
  138. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  139. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  140. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +7 -7
  141. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_head.segment.rsc +1 -1
  142. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_index.segment.rsc +1 -1
  143. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +1 -1
  144. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.html +1 -1
  145. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.rsc +8 -8
  146. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay/__PAGE__.segment.rsc +2 -2
  147. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay.segment.rsc +1 -1
  148. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  149. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  150. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_full.segment.rsc +8 -8
  151. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_head.segment.rsc +1 -1
  152. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_index.segment.rsc +1 -1
  153. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_tree.segment.rsc +1 -1
  154. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
  155. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +7 -7
  156. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review/__PAGE__.segment.rsc +1 -1
  157. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review.segment.rsc +1 -1
  158. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  159. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  160. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +7 -7
  161. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +1 -1
  162. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +1 -1
  163. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +1 -1
  164. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
  165. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +7 -7
  166. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline/__PAGE__.segment.rsc +1 -1
  167. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline.segment.rsc +1 -1
  168. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  169. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  170. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +7 -7
  171. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +1 -1
  172. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +1 -1
  173. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +1 -1
  174. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +1 -1
  175. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +8 -8
  176. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +2 -2
  177. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  178. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  179. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +8 -8
  180. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  181. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +1 -1
  182. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
  183. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +1 -1
  184. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +8 -8
  185. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +2 -2
  186. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +1 -1
  187. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  188. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +8 -8
  189. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +1 -1
  190. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +1 -1
  191. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +1 -1
  192. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js +5 -5
  193. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js.nft.json +1 -1
  194. package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  195. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -1
  196. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +7 -7
  197. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit/__PAGE__.segment.rsc +1 -1
  198. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit.segment.rsc +1 -1
  199. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  200. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  201. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +7 -7
  202. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +1 -1
  203. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +1 -1
  204. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +1 -1
  205. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
  206. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +7 -7
  207. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts/__PAGE__.segment.rsc +1 -1
  208. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts.segment.rsc +1 -1
  209. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  210. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  211. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +7 -7
  212. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +1 -1
  213. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +1 -1
  214. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +1 -1
  215. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -1
  216. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +7 -7
  217. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome/__PAGE__.segment.rsc +1 -1
  218. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome.segment.rsc +1 -1
  219. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  220. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  221. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +7 -7
  222. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +1 -1
  223. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +1 -1
  224. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +1 -1
  225. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
  226. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +7 -7
  227. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies/__PAGE__.segment.rsc +1 -1
  228. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies.segment.rsc +1 -1
  229. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  230. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  231. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +7 -7
  232. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +1 -1
  233. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +1 -1
  234. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +1 -1
  235. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
  236. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +7 -7
  237. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine/__PAGE__.segment.rsc +1 -1
  238. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine.segment.rsc +1 -1
  239. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  240. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  241. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +7 -7
  242. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +1 -1
  243. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +1 -1
  244. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +1 -1
  245. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +1 -1
  246. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +8 -8
  247. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +2 -2
  248. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  249. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  250. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +8 -8
  251. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +1 -1
  252. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +1 -1
  253. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +1 -1
  254. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +1 -1
  255. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +8 -8
  256. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +2 -2
  257. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
  258. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  259. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +8 -8
  260. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  261. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  262. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  263. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -1
  264. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +7 -7
  265. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray/__PAGE__.segment.rsc +1 -1
  266. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray.segment.rsc +1 -1
  267. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  268. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  269. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +7 -7
  270. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +1 -1
  271. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +1 -1
  272. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +1 -1
  273. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
  274. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +7 -7
  275. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain/__PAGE__.segment.rsc +1 -1
  276. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  277. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  278. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +7 -7
  279. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +1 -1
  280. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +1 -1
  281. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +1 -1
  282. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +1 -1
  283. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +8 -8
  284. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +2 -2
  285. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray.segment.rsc +1 -1
  286. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -6
  287. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +8 -8
  288. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +1 -1
  289. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +1 -1
  290. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +1 -1
  291. package/dashboard/.next/standalone/dashboard/.next/server/app-paths-manifest.json +1 -1
  292. package/dashboard/.next/standalone/dashboard/.next/server/chunks/[root-of-the-server]__2967c5a2._.js +1 -1
  293. package/dashboard/.next/standalone/dashboard/.next/server/chunks/dashboard__next-internal_server_app_icon_svg_route_actions_10686714.js +3 -0
  294. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_8dfc96ce._.js → 9f1d4_next_dist_esm_build_templates_app-page_efa18ab4.js} +3 -3
  295. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__099d56dc._.js +3 -0
  296. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__13d013a0._.js +3 -0
  297. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__1684b103._.js +3 -0
  298. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__1c712aa1._.js +3 -0
  299. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__2d4d82da._.js +3 -0
  300. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__391fc0be._.js +3 -0
  301. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__3d0d8610._.js +3 -0
  302. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__44d2b224._.js +3 -0
  303. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__515f8091._.js +3 -0
  304. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__54535ff4._.js +3 -0
  305. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__5bbdb1c2._.js +3 -0
  306. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__66c5de97._.js +3 -0
  307. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__69d0deba._.js +3 -0
  308. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__7746fbc7._.js +3 -0
  309. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__79aadedd._.js +3 -0
  310. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__8b5c600d._.js +3 -0
  311. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__8dba9719._.js +3 -0
  312. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__92284bda._.js +3 -0
  313. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__a83998c0._.js +3 -0
  314. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__ada5fe9c._.js +3 -0
  315. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__b06903f8._.js +3 -0
  316. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__d483b8ba._.js +3 -0
  317. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_b04f7daa._.js → dashboard_07d38952._.js} +3 -3
  318. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_2936b47c._.js → dashboard_0806cc7a._.js} +3 -3
  319. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_9cd4f9f6._.js → dashboard_113de538._.js} +3 -3
  320. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_1b43d320._.js +4 -0
  321. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_bc23a9f3._.js → dashboard_247c1681._.js} +3 -3
  322. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_8c6c3857._.js → dashboard_2b4f9c9b._.js} +3 -3
  323. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_3f0d686c._.js +4 -0
  324. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_3ab21740._.js → dashboard_48e813df._.js} +3 -3
  325. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_ae89af33._.js → dashboard_51c1eb24._.js} +3 -3
  326. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_5c063ab4._.js +4 -0
  327. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_5e41143c._.js +4 -0
  328. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_8dbbe87e._.js → dashboard_6bb39eb8._.js} +3 -3
  329. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_7e25b2b5._.js +4 -0
  330. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_87d18d50._.js +4 -0
  331. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_9f005693._.js +4 -0
  332. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_b1d7a2e6._.js +4 -0
  333. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_5a3cbe73._.js → dashboard_b2503394._.js} +3 -3
  334. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_dd291363._.js → dashboard_c43eaee1._.js} +3 -3
  335. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_c835896d._.js +4 -0
  336. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_d2c5797c._.js +4 -0
  337. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_03685fa4._.js → dashboard_d6065bba._.js} +3 -3
  338. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_48aa48e3._.js +1 -1
  339. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_app_31990bfa._.js +3 -0
  340. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_settings_SettingsView_tsx_16dc83a7._.js +1 -1
  341. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
  342. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  343. package/dashboard/.next/standalone/dashboard/.next/static/chunks/15bd004834558e9c.js +1 -0
  344. package/dashboard/.next/standalone/dashboard/.next/static/chunks/a1f59c7a0024ffd0.js +1 -0
  345. package/dashboard/.next/standalone/dashboard/.next/static/media/icon.b1c2f127.svg +3 -0
  346. package/dashboard/.next/standalone/dashboard/public/shieldcortex-mark.png +0 -0
  347. package/package.json +2 -2
  348. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.png/route/app-paths-manifest.json +0 -3
  349. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.png.body +0 -0
  350. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.png.meta +0 -1
  351. package/dashboard/.next/standalone/dashboard/.next/server/chunks/dashboard__next-internal_server_app_icon_png_route_actions_fb0b9645.js +0 -3
  352. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_dist_esm_build_templates_app-page_7531ffa4.js +0 -4
  353. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__02571632._.js +0 -3
  354. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0d1b9fab._.js +0 -3
  355. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__14738b0f._.js +0 -3
  356. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__1b9699b4._.js +0 -3
  357. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__1d9312c0._.js +0 -3
  358. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__1e083ed5._.js +0 -3
  359. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__1e50dea8._.js +0 -3
  360. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__49ab52e8._.js +0 -3
  361. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__55bfa55f._.js +0 -3
  362. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__57ee9b7e._.js +0 -3
  363. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__58467784._.js +0 -3
  364. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__5f79cd96._.js +0 -3
  365. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__6afe312f._.js +0 -3
  366. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__6c6b3609._.js +0 -3
  367. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__748a927d._.js +0 -3
  368. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__76b43270._.js +0 -3
  369. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__7d450870._.js +0 -3
  370. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__85d0be08._.js +0 -3
  371. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__95eb3890._.js +0 -3
  372. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__adcdad5a._.js +0 -3
  373. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__c75835d5._.js +0 -3
  374. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__db4bd11c._.js +0 -3
  375. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_011870cf._.js +0 -4
  376. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_4368ce29._.js +0 -4
  377. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_510925b3._.js +0 -4
  378. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_5c57e773._.js +0 -4
  379. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_be8e57ad._.js +0 -4
  380. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_c93a2cdf._.js +0 -4
  381. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_eef7a258._.js +0 -4
  382. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_f1e3986a._.js +0 -4
  383. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_f49ad0f8._.js +0 -4
  384. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_app_98034450._.js +0 -3
  385. package/dashboard/.next/standalone/dashboard/.next/static/chunks/0fc21036dad1e8db.js +0 -1
  386. package/dashboard/.next/standalone/dashboard/.next/static/chunks/c02a69e6a6678ecb.js +0 -1
  387. package/dashboard/.next/standalone/dashboard/.next/static/media/icon.b3fec833.png +0 -0
  388. /package/dashboard/.next/standalone/dashboard/.next/server/app/{icon.png → icon.svg}/route/build-manifest.json +0 -0
  389. /package/dashboard/.next/standalone/dashboard/.next/server/app/{icon.png → icon.svg}/route.js.map +0 -0
  390. /package/dashboard/.next/standalone/dashboard/.next/static/{YOjg_EQ1jjxbhSKQ00cvQ → gXB4FmSlsR5waRCUJNb4u}/_buildManifest.js +0 -0
  391. /package/dashboard/.next/standalone/dashboard/.next/static/{YOjg_EQ1jjxbhSKQ00cvQ → gXB4FmSlsR5waRCUJNb4u}/_clientMiddlewareManifest.json +0 -0
  392. /package/dashboard/.next/standalone/dashboard/.next/static/{YOjg_EQ1jjxbhSKQ00cvQ → gXB4FmSlsR5waRCUJNb4u}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24590,e=>{"use strict";var t=e.i(4);let a="terminal";function r(){return"u"<typeof document?a:"glass"===document.documentElement.getAttribute("data-theme")?"glass":"terminal"}function s(e){return window.addEventListener("sc-theme-change",e),window.addEventListener("storage",e),()=>{window.removeEventListener("sc-theme-change",e),window.removeEventListener("storage",e)}}function n(){return[(0,t.useSyncExternalStore)(s,r,()=>a),e=>{if("u">typeof document){try{window.localStorage.setItem("sc-theme",e)}catch{}document.documentElement.setAttribute("data-theme",e),window.dispatchEvent(new Event("sc-theme-change"))}}]}e.s(["useTheme",()=>n])},51195,e=>{"use strict";var t=e.i(27493),a=e.i(4),r=e.i(24590),s=e.i(56640),n=e.i(16871),i=e.i(24929);let l=(0,i.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var c=e.i(80039);let o=(0,i.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 d=e.i(17278),m=e.i(76490);function u({size:e=24,className:a=""}){return(0,t.jsx)("img",{src:"/shieldcortex-logo.png",alt:"ShieldCortex",width:e,height:e,className:a,style:{width:e,height:e}})}var x=e.i(7571);let p=(0,i.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"}]]),h=(0,i.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 v=e.i(76344),f=e.i(54130),g=e.i(27528);let y=[{href:"/overview",label:"Overview",icon:p},{href:"/memory",label:"Memory",icon:x.Database},{href:"/memory/replay",label:"Replay",icon:h},{href:"/protection",label:"Protection",icon:g.Shield},{href:"/xray",label:"X-Ray",icon:v.ScanSearch},{href:"/settings",label:"Settings",icon:f.Settings}];var b=e.i(42098),j=e.i(88069),w=e.i(35372);function k(){let e=(0,n.usePathname)(),{sidebarPinned:r,toggleSidebarPinned:i}=(0,b.useDashboardStore)(),[x,p]=(0,a.useState)(!1),[h,v]=(0,a.useState)(null),f=h===e,{isConnected:g}=(0,w.useWebSocketStatus)(),{data:k}=(0,j.useVersion)(),N=r||x||f;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>v(e),className:"fixed left-3 top-3 z-50 flex h-10 w-10 items-center justify-center rounded-xl bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] text-[var(--sc-text-secondary)] md:hidden","aria-label":"Open navigation",children:(0,t.jsx)(l,{size:18})}),f&&(0,t.jsx)("div",{className:"fixed inset-0 z-40 bg-black/50 backdrop-blur-sm md:hidden",onClick:()=>v(null)}),(0,t.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",f?"translate-x-0":"-translate-x-full md:translate-x-0",N?"w-60":"w-16"),onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),children:[(0,t.jsxs)("div",{className:"flex h-16 items-center gap-3 border-b border-[var(--sc-border)] px-4",children:[(0,t.jsx)(u,{size:32,className:"shrink-0"}),(0,t.jsxs)("div",{className:(0,m.cn)("overflow-hidden whitespace-nowrap transition-all duration-300",N?"w-auto opacity-100":"w-0 opacity-0"),children:[(0,t.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-[var(--sc-coral)]",children:"ShieldCortex"}),(0,t.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Dashboard"})]}),f&&(0,t.jsx)("button",{onClick:()=>v(null),className:"ml-auto text-[var(--sc-text-muted)] hover:text-[var(--sc-text-secondary)] md:hidden","aria-label":"Close navigation",children:(0,t.jsx)(d.X,{size:18})})]}),(0,t.jsx)("nav",{className:"flex-1 space-y-1 px-2 py-4",role:"navigation","aria-label":"Main navigation",children:y.map(a=>{var r;let n=a.icon,i="/overview"===(r=a.href)?"/overview"===e||"/"===e:e===r||e.startsWith(`${r}/`);return(0,t.jsxs)(s.default,{href:a.href,"aria-current":i?"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)]",i?"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:[i&&(0,t.jsx)("div",{className:"absolute left-0 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-r bg-[var(--sc-coral)]"}),(0,t.jsx)(n,{size:18,className:(0,m.cn)("shrink-0",i&&"text-[var(--sc-coral)]")}),(0,t.jsx)("span",{className:(0,m.cn)("overflow-hidden whitespace-nowrap text-sm font-medium transition-all duration-300",N?"w-auto opacity-100":"w-0 opacity-0"),children:a.label})]},a.href)})}),(0,t.jsxs)("div",{className:"space-y-2 border-t border-[var(--sc-border)] px-2 py-3",children:[N&&(0,t.jsxs)("button",{onClick:i,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":r?"Unpin sidebar":"Pin sidebar",children:[r?(0,t.jsx)(o,{size:16}):(0,t.jsx)(c.Pin,{size:16}),(0,t.jsx)("span",{className:"text-xs",children:r?"Unpin":"Pin sidebar"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-1",children:[(0,t.jsx)("span",{className:(0,m.cn)("h-2 w-2 shrink-0 rounded-full",g?"bg-[var(--sc-cyan)] pulse-cyan":"bg-[var(--sc-coral)] pulse-coral"),"aria-label":g?"Real-time connected":"Real-time disconnected"}),(0,t.jsx)("span",{className:(0,m.cn)("overflow-hidden whitespace-nowrap text-[11px] text-[var(--sc-text-muted)] transition-all duration-300",N?"w-auto opacity-100":"w-0 opacity-0"),children:g?"Connected":"Disconnected"})]}),(0,t.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",N?"opacity-100":"h-0 opacity-0"),children:["v",k?.version??"..."]})]})]})]})}function N(){return(0,t.jsx)(k,{})}var S=e.i(45434);let $=(0,i.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),C=(0,i.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);var E=e.i(61737);let A=(0,i.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var L=e.i(51069),T=e.i(44758),M=e.i(13808),R=e.i(22534),q=e.i(45688),D=e.i(88969);let z=R.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",F=(0,i.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var P=e.i(71010);function I({className:e=""}){let[a,s]=(0,r.useTheme)(),n="terminal"===a?"glass":"terminal";return(0,t.jsxs)("button",{type:"button",onClick:()=>s(n),"aria-label":`Switch to ${n} theme`,title:`Theme: ${a} — click to switch to ${n}`,className:`inline-flex items-center gap-1.5 px-1.5 py-0.5 text-[11px] font-mono text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)] transition-colors ${e}`,children:["terminal"===a?(0,t.jsx)(P.Terminal,{size:12}):(0,t.jsx)(F,{size:12}),(0,t.jsx)("span",{children:"terminal"===a?"TERM":"GLASS"})]})}let _=[{id:"24h",label:"24h"},{id:"7d",label:"7d"},{id:"30d",label:"30d"}];function O({value:e}){if(void 0===e)return null;if(0===e)return(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 text-[10px] text-[var(--sc-text-muted)]",children:[(0,t.jsx)(A,{size:9})," 0"]});let a=e>0;return(0,t.jsxs)("span",{className:`inline-flex items-center gap-0.5 text-[10px] ${a?"text-[var(--sc-cyan)]":"text-[var(--sc-text-muted)]"}`,children:[(0,t.jsx)(a?C:$,{size:9}),a?"+":"",e]})}function U({icon:e,label:a,value:r,delta:s,tone:n}){let i="coral"===n?"text-[var(--sc-coral)]":"cyan"===n?"text-[var(--sc-cyan)]":"text-[var(--sc-text-primary)]";return(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:i,children:e}),(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--sc-text-muted)]",children:a}),(0,t.jsx)("span",{className:`font-mono text-sm font-semibold ${i}`,children:r.toLocaleString()}),(0,t.jsx)(O,{value:s})]})}function B({moment:e}){let a="block"===e.kind||"quarantine"===e.kind?L.ShieldAlert:"capture"===e.kind?M.Sparkles:E.Brain,r="block"===e.kind?"text-[var(--sc-coral)]":"quarantine"===e.kind?"text-[var(--sc-amber)]":"capture"===e.kind?"text-[var(--sc-cyan)]":"text-[var(--sc-text-secondary)]";return(0,t.jsxs)("li",{className:"flex items-start gap-2 rounded border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/40 p-2",children:[(0,t.jsx)(a,{size:14,className:`mt-0.5 ${r}`}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-[var(--sc-text-primary)] truncate",children:e.title}),(0,t.jsx)("div",{className:"mt-0.5 text-[10px] text-[var(--sc-text-muted)] truncate",children:e.detail})]}),(0,t.jsx)("span",{className:"shrink-0 text-[10px] text-[var(--sc-text-muted)]",children:new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})}function K(){let[e,r]=(0,a.useState)("24h"),[s,n]=(0,a.useState)(!1),{projectFilter:i}=(0,b.useDashboardStore)(),{data:l,isLoading:c}=function(e="24h",t){return(0,q.useQuery)({queryKey:["digest",e,t??null],queryFn:async()=>{let a=new URLSearchParams({window:e});t&&a.set("project",t);let r=await (0,D.gatedFetch)(`${z}/api/digest?${a.toString()}`);if(!r.ok)throw Error(await (0,D.readApiError)(r,"Failed to load digest"));return r.json()},refetchInterval:6e4,staleTime:3e4})}(e,i);if(c||!l)return(0,t.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,t.jsx)(S.Activity,{size:12,className:"animate-pulse"})," Loading activity…"]});let o=l.current,d=l.delta,m=0===o.scanned&&0===o.memoriesCaptured&&0===o.memoriesRecalled;return(0,t.jsxs)("div",{className:"border-b border-[var(--term-border)] bg-[var(--term-surface)] font-mono",children:[(0,t.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:()=>n(e=>!e),role:"button",tabIndex:0,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&n(e=>!e)},"aria-expanded":s,"aria-label":`${l.windowLabel} ShieldCortex activity. Click to ${s?"collapse":"expand"} top moments.`,children:[(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:l.windowLabel}),m?(0,t.jsx)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:"No activity yet — ShieldCortex captures and protects in the background."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(U,{icon:(0,t.jsx)(T.ShieldCheck,{size:13}),label:"Scanned",value:o.scanned,delta:d.scanned}),(0,t.jsx)(U,{icon:(0,t.jsx)(L.ShieldAlert,{size:13}),label:"Blocked",value:o.blocked+o.quarantined,delta:(d.blocked??0)+(d.quarantined??0),tone:"coral"}),(0,t.jsx)(U,{icon:(0,t.jsx)(M.Sparkles,{size:13}),label:"Captured",value:o.memoriesCaptured,delta:d.memoriesCaptured,tone:"cyan"}),(0,t.jsx)(U,{icon:(0,t.jsx)(E.Brain,{size:13}),label:"Recalled",value:o.memoriesRecalled,delta:d.memoriesRecalled})]}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-3",children:[(0,t.jsx)("div",{onClick:e=>e.stopPropagation(),children:(0,t.jsx)(I,{})}),(0,t.jsx)("div",{className:"flex items-center gap-1",onClick:e=>e.stopPropagation(),children:_.map(a=>(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),r(a.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] ${a.id===e?"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,t.jsxs)("span",{className:"theme-glass:hidden",children:["[",a.label,"]"]}),(0,t.jsx)("span",{className:"hidden theme-glass:inline",children:a.label})]},a.id))})]})]}),s&&!m&&(0,t.jsx)("div",{className:"border-t border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/50 px-4 py-3",children:(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"mb-2 text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:"Top moments"}),0===l.topMoments.length?(0,t.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"Nothing notable to surface in this window."}):(0,t.jsx)("ul",{className:"space-y-1.5",children:l.topMoments.map((e,a)=>(0,t.jsx)(B,{moment:e},`${e.kind}-${a}-${e.timestamp}`))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"mb-2 text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:"Top threat patterns"}),0===l.topThreatPatterns.length?(0,t.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"No threat patterns triggered."}):(0,t.jsx)("ul",{className:"space-y-1",children:l.topThreatPatterns.map(e=>(0,t.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,t.jsx)("span",{className:"font-mono text-[var(--sc-text-primary)] truncate",children:e.pattern}),(0,t.jsxs)("span",{className:"font-mono text-[var(--sc-text-muted)]",children:[e.count,"×"]})]},e.pattern))})]})]})})]})}let W=(0,i.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 X(){let{data:e}=(0,j.useProjects)(),{projectFilter:a,setProjectFilter:r}=(0,b.useDashboardStore)(),s=Array.isArray(e)?e:Array.isArray(e?.projects)?e.projects:[],n=s.filter(e=>"string"==typeof e.project&&e.project.length>0),i=s.find(e=>null===e.project)?.memory_count??n.reduce((e,t)=>e+(t.memory_count??0),0),l=n.slice().sort((e,t)=>(t.memory_count??0)-(e.memory_count??0)||e.project.localeCompare(t.project));return(0,t.jsxs)(t.Fragment,{children:[(0,t.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,t.jsx)("span",{className:"text-[var(--term-text-muted)]",children:"project"}),(0,t.jsx)("span",{className:"text-[var(--term-text-muted)]","aria-hidden":!0,children:"="}),(0,t.jsxs)("select",{id:"project-filter",value:a??"",onChange:e=>r(""===e.target.value?null:e.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,t.jsxs)("option",{value:"",children:["*",i?` (${i})`:""]}),l.map(e=>(0,t.jsxs)("option",{value:e.project,children:[e.project,"number"==typeof e.memory_count?` (${e.memory_count})`:""]},e.project))]}),a&&(0,t.jsx)("button",{type:"button",onClick:()=>r(null),className:"text-[var(--term-text-muted)] hover:text-[var(--term-text)] underline",children:"clear"})]}),(0,t.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,t.jsx)(W,{size:13,className:"text-[var(--sc-text-muted)]"}),(0,t.jsx)("label",{htmlFor:"project-filter-glass",className:"text-xs uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:"Project"}),(0,t.jsxs)("select",{id:"project-filter-glass",value:a??"",onChange:e=>r(""===e.target.value?null:e.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,t.jsxs)("option",{value:"",children:["All projects",i?` (${i})`:""]}),l.map(e=>(0,t.jsxs)("option",{value:e.project,children:[e.project,"number"==typeof e.memory_count?` (${e.memory_count})`:""]},e.project))]}),a&&(0,t.jsx)("button",{type:"button",onClick:()=>r(null),className:"text-[11px] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)] underline",children:"Clear"})]})]})}var H=e.i(87353);function Q({sources:e=[],max:a=4}){let r=e.slice(0,a),s=e.length-r.length;return(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)("span",{className:"shrink-0 text-[var(--cic-text-faint)]",children:"ECOSYSTEM ▸"}),0===r.length?(0,t.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:"no signals"}):r.map(e=>(0,t.jsxs)("span",{className:"flex shrink-0 items-center gap-1",title:`${e.source} \xb7 ${e.count} ops`,children:[(0,t.jsx)("span",{className:"cic-bloom text-[var(--cic-cyan)]","aria-hidden":!0,children:"◉"}),(0,t.jsx)("span",{className:"text-[var(--cic-text-dim)]",children:function(e){if(!e)return"unknown";let[t,a]=e.split(":");return"agent"===t&&a?a.replace(/-plugin.*/,""):"cli"===t?a?`cli:${a}`:"cli":"hook"===t?"hook":"api"===t?a?`api:${a}`:"api":"user"===t?"you":t||e}(e.source)})]},e.source)),s>0&&(0,t.jsxs)("span",{className:"shrink-0 text-[var(--cic-text-faint)]",children:["+",s]})]})}let V=["input","pattern","semantic","structural","behaviour","credential"];function G({blocked:e=0}){let a=e>0,r=a?"var(--cic-coral)":"var(--cic-cyan)";return(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",title:`Shield: 6 layers armed \xb7 ${e} blocked`,children:[(0,t.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:"SHIELD"}),(0,t.jsx)("span",{className:"flex gap-0.5",children:V.map(e=>(0,t.jsx)("span",{className:a?"cic-bloom":"",style:{color:r},"aria-hidden":!0,children:"▣"},e))})]})}function J({label:e,value:a,colour:r}){return(0,t.jsxs)("span",{className:"flex items-center gap-1",title:e,children:[(0,t.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:e}),(0,t.jsx)("span",{className:"cic-bloom tabular-nums",style:{color:r},children:a.toLocaleString()})]})}function Y(){let e=(0,H.useAuditStats)("24h"),r=(0,j.useStats)(),{isConnected:s}=(0,w.useWebSocketStatus)(),[n,i]=(0,a.useState)("");(0,a.useEffect)(()=>{let e=()=>i(new Date().toTimeString().slice(0,8));e();let t=setInterval(e,1e3);return()=>clearInterval(t)},[]);let l=e.data,c=l?.topSources??[];return(0,t.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,t.jsxs)("span",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)(u,{size:18,className:"shrink-0"}),(0,t.jsx)("span",{className:"cic-bloom font-semibold tracking-[0.18em] text-[var(--cic-cyan)]",children:"SHIELDCORTEX·CIC"})]}),(0,t.jsx)(Q,{sources:c}),(0,t.jsx)(G,{blocked:l?.blockedCount??0}),(0,t.jsxs)("span",{className:"ml-auto flex shrink-0 items-center gap-4",children:[(0,t.jsx)(J,{label:"SCANNED",value:l?.totalOperations??0,colour:"var(--cic-text-dim)"}),(0,t.jsx)(J,{label:"BLOCKED",value:l?.blockedCount??0,colour:"var(--cic-coral)"}),(0,t.jsx)(J,{label:"QUAR",value:l?.quarantinedCount??0,colour:"var(--cic-amber)"}),(0,t.jsx)(J,{label:"MEMORIES",value:r.data?.total??0,colour:"var(--cic-cyan)"}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",title:s?"live link up":"link down",children:[(0,t.jsx)("span",{className:s?"pulse-cyan":"pulse-coral",style:{color:s?"var(--cic-cyan)":"var(--cic-coral)"},"aria-hidden":!0,children:"◉"}),(0,t.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:s?"LINK":"DOWN"})]}),(0,t.jsx)("span",{className:"tabular-nums text-[var(--cic-text-muted)]",suppressHydrationWarning:!0,children:n}),(0,t.jsx)(I,{})]})]})}var Z=e.i(53655);let ee={"/overview":"memory","/memory":"memory","/memory/replay":"integrity","/protection":"defence","/xray":"defence","/settings":"integrity"};function et(){let e=(0,n.usePathname)(),{isConnected:r}=(0,w.useWebSocketStatus)(),[i,l]=(0,a.useState)(!1);return(0,t.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 ${i?"w-14":"w-56"}`,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>l(e=>!e),className:"flex h-11 items-center gap-2 px-4 text-left text-[var(--cic-text-muted)] hover:text-[var(--cic-text)]","aria-label":i?"expand navigation":"collapse navigation",children:[(0,t.jsx)("span",{className:"cic-bloom text-[var(--cic-cyan)]",children:"$"}),!i&&(0,t.jsx)("span",{className:"text-sm text-[var(--cic-text-dim)]",children:"shieldcortex"})]}),(0,t.jsx)("nav",{className:"flex flex-1 flex-col gap-0.5 px-2 py-2",children:y.map(a=>{let r=e===a.href||"/overview"!==a.href&&e.startsWith(a.href),n=Z.REGIONS[ee[a.href]??"memory"],l=a.icon;return(0,t.jsxs)(s.default,{href:a.href,title:a.label,className:`flex items-center gap-2 rounded px-2 py-1.5 text-sm transition-colors ${r?"bg-[var(--cic-surface-2)] text-[var(--cic-text)]":"text-[var(--cic-text-muted)] hover:text-[var(--cic-text)]"}`,style:r?{color:`var(${n.token})`}:void 0,children:[(0,t.jsx)("span",{className:"w-2 shrink-0",style:r?{color:`var(${n.token})`}:void 0,children:r?"▸":""}),l?(0,t.jsx)(l,{size:14,className:"shrink-0"}):null,!i&&(0,t.jsx)("span",{className:"truncate",children:a.label})]},a.href)})}),(0,t.jsxs)("div",{className:"flex items-center gap-2 border-t border-[var(--cic-border)] px-4 py-2 text-xs",children:[(0,t.jsx)("span",{className:r?"pulse-cyan":"pulse-coral",style:{color:r?"var(--cic-cyan)":"var(--cic-coral)"},"aria-hidden":!0,children:"◉"}),!i&&(0,t.jsx)("span",{className:"text-[var(--cic-text-faint)]",children:r?"link.up":"link.down"})]})]})}let ea=e=>({ok:!0,lines:e}),er=e=>({ok:!1,lines:e}),es={recall:{name:"recall",usage:'recall "<query>" [--project <p>]',summary:"search the memory cortex",run:async(e,{args:t,flags:a})=>{let r=t.join(" ").trim();if(!r)return er(['recall: give a query, e.g. recall "auth bug"']);let s="string"==typeof a.project?a.project:void 0,n=await e.recall(r,s);return 0===n.length?ea([`recall "${r}" → no memories`]):ea([`recall "${r}" → ${n.length}`,...n.slice(0,10).map(e=>` #${e.id} ${e.title}`)])}},scan:{name:"scan",usage:"scan <path> [--deep]",summary:"X-Ray a file, folder, or package",run:async(e,{args:t,flags:a})=>{let r=t[0];if(!r)return er(["scan: give a path or package"]);let s=await e.scan(r,!0===a.deep);return ea([`scan ${s.target} → ${s.riskLevel} \xb7 trust ${s.trustScore} \xb7 ${s.filesScanned} files \xb7 ${s.findingsCount} findings`])}},forget:{name:"forget",usage:"forget <id>",summary:"delete a memory by id",run:async(e,{args:t})=>{let a=Number(t[0]);return Number.isInteger(a)?(await e.forget(a),ea([`▸ forgot #${a}`])):er(["forget: give a numeric memory id"])}},consolidate:{name:"consolidate",usage:"consolidate",summary:"run a consolidation pass (STM→LTM, decay, cleanup)",run:async e=>{let t=await e.consolidate();return ea([`▸ consolidated ${t.consolidated} \xb7 decayed ${t.decayed} \xb7 deleted ${t.deleted}`])}},quarantine:{name:"quarantine",usage:"quarantine [approve <id> | reject <id>]",summary:"list pending quarantine, or approve/reject by id",run:async(e,{args:t})=>{let a=t[0]?.toLowerCase();if(!a||"list"===a){let t=await e.quarantineList();return 0===t.length?ea(["quarantine: nothing pending"]):ea([`quarantine pending → ${t.length}`,...t.slice(0,10).map(e=>` #${e.id} ${e.title}`)])}if("approve"===a||"reject"===a){let r=Number(t[1]);return Number.isInteger(r)?(await e.quarantineReview(r,a),ea([`▸ ${"approve"===a?"approved":"rejected"} #${r}`])):er([`quarantine ${a}: give a numeric id`])}return er(["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(e,{args:t})=>{let a=t[0]?.toLowerCase();return"on"!==a&&"off"!==a&&"status"!==a?er(["irondome: use on | off | status"]):ea([await e.ironDome(a)])}},remember:{name:"remember",usage:'remember "<text>"',summary:"store a new memory",run:async(e,{args:t})=>{let a=t.join(" ").trim();if(!a)return er(['remember: give the text to store, e.g. remember "the fix was X"']);let r=await e.remember(a);return ea([`▸ remembered #${r.id}`])}},go:{name:"go",usage:"go <view>",summary:"navigate to a console view",run:(e,{args:t})=>{let a=t[0]?.toLowerCase();if(!a)return er(["go: which view? "+e.routes.map(e=>e.label).join(" · ")]);let r=e.routes.find(e=>e.label.toLowerCase().includes(a)||e.href.toLowerCase().includes(a));return r?(e.navigate(r.href),ea([`▸ ${r.label}`])):er([`go: unknown view '${a}'. options: ${e.routes.map(e=>e.label).join(" · ")}`])}},theme:{name:"theme",usage:"theme <terminal|glass>",summary:"switch the dashboard theme",run:(e,{args:t})=>{let a=t[0]?.toLowerCase();return"terminal"!==a&&"glass"!==a?er(["theme: choose 'terminal' or 'glass'"]):(e.setTheme(a),ea([`▸ theme → ${a}`]))}},help:{name:"help",usage:"help",summary:"list commands",run:()=>ea(["commands:",...Object.values(es).map(e=>` ${e.usage.padEnd(34)} ${e.summary}`)])}};async function en(e,t){let a=function(e){let t=e.trim();if(!t)return null;let a=function(e){let t,a=[],r=/"([^"]*)"|(\S+)/g;for(;null!==(t=r.exec(e));)a.push(void 0!==t[1]?t[1]:t[2]);return a}(t),r=a[0].toLowerCase(),s=[],n={};for(let e=1;e<a.length;e+=1){let t=a[e];if(t.startsWith("--")){let r=t.slice(2),s=a[e+1];void 0===s||s.startsWith("--")?n[r]=!0:(n[r]=s,e+=1)}else s.push(t)}return{name:r,args:s,flags:n}}(e);if(!a)return er([]);let r=es[a.name];if(!r)return er([`unknown command: ${a.name} — try 'help'`]);try{return await r.run(t,a)}catch(e){return er([`error: ${e instanceof Error?e.message:String(e)}`])}}var ei=e.i(31309);let el=R.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",ec={in:"text-[var(--cic-text-dim)]",out:"text-[var(--cic-text)]",err:"text-[var(--cic-coral)]"};function eo(){let e=function(){let e=(0,n.useRouter)(),[,t]=(0,r.useTheme)(),s=(0,ei.useXRayScan)(),i=(0,j.useDeleteMemory)(),l=(0,j.useConsolidate)(),c=(0,H.useApproveQuarantine)(),o=(0,H.useRejectQuarantine)();return(0,a.useMemo)(()=>({navigate:t=>e.push(t),setTheme:t,recall:async(e,t)=>{let a=new URLSearchParams({mode:"search",query:e,limit:"10"});t&&a.set("project",t);let r=await (0,D.authFetch)(`${el}/api/memories?${a.toString()}`);if(!r.ok)throw Error(await (0,D.readApiError)(r,"recall failed"));return((await r.json()).memories??[]).map(e=>({id:e.id,title:e.title}))},scan:async(e,t)=>{let{result:a}=await s.mutateAsync({target:e,deep:t});return{target:a.target,riskLevel:a.riskLevel,trustScore:a.trustScore,filesScanned:a.filesScanned,findingsCount:a.findings.length}},forget:async e=>{await i.mutateAsync(e)},consolidate:async()=>{let e=await l.mutateAsync();return{consolidated:e.consolidated,decayed:e.decayed,deleted:e.deleted}},quarantineList:async()=>{let e=await (0,D.authFetch)(`${el}/api/v1/quarantine?status=pending&limit=20`);if(!e.ok)throw Error(await (0,D.readApiError)(e,"quarantine list failed"));return((await e.json()).items??[]).map(e=>({id:e.id,title:e.original_title??e.title??`item ${e.id}`}))},quarantineReview:async(e,t)=>{"approve"===t?await c.mutateAsync(e):await o.mutateAsync({id:e})},ironDome:async e=>{if("status"===e){let e=await (0,D.authFetch)(`${el}/api/iron-dome/status`);if(!e.ok)throw Error(await (0,D.readApiError)(e,"iron dome status failed"));let t=await e.json();return`iron dome: ${t.enabled?"ACTIVE":"inactive"}`}let t=await (0,D.authFetch)(`${el}/api/iron-dome/${"on"===e?"activate":"deactivate"}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});if(!t.ok)throw Error(await (0,D.readApiError)(t,`iron dome ${e} failed`));return`▸ iron dome ${"on"===e?"ACTIVE":"disabled"}`},remember:async e=>{let t=await (0,D.authFetch)(`${el}/api/memories`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e.slice(0,80),content:e})});if(!t.ok)throw Error(await (0,D.readApiError)(t,"remember failed"));return{id:(await t.json()).id??0}},routes:y.map(e=>({label:e.label,href:e.href}))}),[e,t,s,i,l,c,o])}(),[s,i]=(0,a.useState)(""),[l,c]=(0,a.useState)([]),[o,d]=(0,a.useState)([]),[m,u]=(0,a.useState)(-1),[x,p]=(0,a.useState)(!1),h=(0,a.useRef)(null),v=(0,a.useRef)(null);(0,a.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()&&(e.preventDefault(),h.current?.focus())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,a.useEffect)(()=>{let e=v.current;e&&"function"==typeof e.scrollTo&&e.scrollTo({top:e.scrollHeight})},[l]);let f=(0,a.useCallback)(async()=>{let t=s.trim();if(!t||x)return;c(e=>[...e,{kind:"in",text:t}]),d(e=>[...e,t]),u(-1),i(""),p(!0);let a=await en(t,e);c(e=>[...e,...a.lines.map(e=>({kind:a.ok?"out":"err",text:e}))]),p(!1)},[s,x,e]);return(0,t.jsxs)("div",{className:"border-t border-[var(--cic-border)] bg-[var(--cic-surface)]/80 font-mono text-sm",children:[l.length>0&&(0,t.jsx)("div",{ref:v,className:"max-h-40 overflow-y-auto px-4 py-2 leading-relaxed",children:l.map((e,a)=>(0,t.jsx)("div",{className:`whitespace-pre-wrap ${ec[e.kind]}`,children:"in"===e.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-[var(--cic-cyan)]",children:"sc ▸ "}),e.text]}):e.text},a))}),(0,t.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2.5",children:[(0,t.jsx)("span",{className:"cic-bloom shrink-0 text-[var(--cic-cyan)]",children:"sc ▸"}),(0,t.jsx)("input",{ref:h,value:s,onChange:e=>i(e.target.value),onKeyDown:e=>{if("Enter"===e.key)e.preventDefault(),f();else if("ArrowUp"===e.key){if(e.preventDefault(),0===o.length)return;let t=-1===m?o.length-1:Math.max(0,m-1);u(t),i(o[t])}else if("ArrowDown"===e.key){if(e.preventDefault(),-1===m)return;let t=m+1;t>=o.length?(u(-1),i("")):(u(t),i(o[t]))}},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)]"}),!s&&(0,t.jsx)("span",{className:"cli-cursor text-[var(--cic-cyan)]"}),(0,t.jsx)("kbd",{className:"shrink-0 rounded border border-[var(--cic-border)] px-1.5 text-xs text-[var(--cic-text-faint)]",children:"⌘K"})]})]})}let ed=R.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",em=["▁","▂","▃","▄","▅","▆","▇","█"];function eu(e){if(0===e.length)return"";let t=Math.max(...e);return t<=0?em[0].repeat(e.length):e.map(e=>em[Math.round(Math.max(0,e)/t*(em.length-1))]).join("")}function ex(){let{memoryTrend:e,threatTrend:a}=function(){let{data:e}=(0,q.useQuery)({queryKey:["activity-trend"],queryFn:async()=>{let e=await (0,D.authFetch)(`${ed}/api/memories/activity`);if(!e.ok)throw Error("Failed to fetch activity");return e.json()},staleTime:3e5,refetchInterval:3e5}),t=new Date;t.setDate(t.getDate()-7);let a=t.toISOString(),{data:r}=(0,q.useQuery)({queryKey:["threat-trend"],queryFn:async()=>{let e=new URLSearchParams({firewallResult:"BLOCK",startTime:a,limit:"500"}),t=await (0,D.authFetch)(`${ed}/api/v1/audit?${e}`);if(!t.ok)throw Error("Failed to fetch audit logs");return t.json()},staleTime:3e5,refetchInterval:3e5}),s=[];for(let e=6;e>=0;e--){let t=new Date;t.setDate(t.getDate()-e),s.push(t.toISOString().slice(0,10))}let n=new Map;if(e?.activity)for(let t of e.activity)n.set(t.date,t.count);let i=s.map(e=>n.get(e)??0),l=new Map;if(r?.logs)for(let e of r.logs){let t=e.timestamp.slice(0,10);l.set(t,(l.get(t)??0)+1)}return{memoryTrend:i,threatTrend:s.map(e=>l.get(e)??0)}}();return(0,t.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,t.jsxs)("span",{className:"flex items-center gap-2",title:"memories created per day, last 7 days",children:[(0,t.jsx)("span",{children:"MEMORY·7d"}),(0,t.jsx)("span",{className:"cic-bloom tracking-tight text-[var(--cic-cyan)]",children:eu(e)||"·······"})]}),(0,t.jsxs)("span",{className:"flex items-center gap-2",title:"threats blocked per day, last 7 days",children:[(0,t.jsx)("span",{children:"THREAT·7d"}),(0,t.jsx)("span",{className:"cic-bloom tracking-tight text-[var(--cic-coral)]",children:eu(a)||"·······"})]})]})}function ep({children:e}){return(0,t.jsxs)("div",{className:"flex h-dvh w-full flex-col overflow-hidden bg-[var(--cic-void)] text-[var(--cic-text)]",children:[(0,t.jsx)(Y,{}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,t.jsx)(et,{}),(0,t.jsx)("main",{className:"min-w-0 flex-1 overflow-auto",children:e})]}),(0,t.jsx)(ex,{}),(0,t.jsx)(eo,{})]})}function eh({children:e}){let[s,n]=(0,a.useState)(!1);(0,a.useEffect)(()=>n(!0),[]);let[i]=(0,r.useTheme)();return"terminal"===(s?i:"terminal")?(0,t.jsx)(ep,{children:e}):(0,t.jsxs)("div",{className:"flex h-dvh w-full overflow-hidden bg-[var(--sc-bg-deep)] text-[var(--sc-text-primary)]",children:[(0,t.jsx)(N,{}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)(K,{}),(0,t.jsx)(X,{}),(0,t.jsx)("main",{className:"min-w-0 flex-1 overflow-auto",children:e})]})]})}e.s(["ShellSwitch",()=>eh],51195)},24478,e=>{"use strict";var t=e.i(27493),a=e.i(48615),r=e.i(24590);function s(){let[e]=(0,r.useTheme)();return(0,t.jsx)(a.Toaster,{position:"bottom-right",toastOptions:{style:"glass"===e?{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"})}e.s(["ToastProvider",()=>s])},4167,e=>{"use strict";var t=e.i(4),a=e.i(48615),r=e.i(35372);let s=new Map;function n(){let e=(0,t.useCallback)(e=>{let t;if("defence_event"!==e.type)return;let r=e.data;if(!r||"ALLOW"===r.firewall_result)return;let n="BLOCK"===r.firewall_result,i=r.source_identifier||r.source_type||"unknown source",l=(t=function(e){if(Array.isArray(e))return e.filter(e=>"string"==typeof e);if("string"!=typeof e||!e.trim())return[];try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(e=>"string"==typeof e)}catch{return[e]}return[]}(r.threat_indicators)).length?t.slice(0,3).map(e=>e.replace(/_/g," ")).join(", "):"",c=r.reason?.trim()||(l?`Threats: ${l}`:"See audit log for details");if(function(e){let t=Date.now(),a=s.get(e);if(a&&t-a<2e3)return!0;if(s.set(e,t),s.size>50){let e=t-2e3;for(let[t,a]of s)a<e&&s.delete(t)}return!1}(`${r.firewall_result}:${i}:${(r.reason||"").slice(0,80)}`))return;let o=n?`\u{1F6E1} Blocked attack from ${i}`:`\u{26A0}\u{FE0F} Quarantined input from ${i}`,d={description:c,duration:n?8e3:5e3};n?a.toast.error(o,d):a.toast.warning(o,d)},[]);return(0,r.useWebSocketEvent)(e),null}e.s(["BlockToastBridge",()=>n])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,42424,e=>{"use strict";var t=e.i(27493),s=e.i(16871),r=e.i(4),a=e.i(53615),c=e.i(24929);let n=(0,c.default)("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]),i=(0,c.default)("credit-card",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]),l=(0,c.default)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]]);var d=e.i(54130),o=e.i(40950),x=e.i(16467),u=e.i(95659),m=e.i(81523),p=e.i(18509),v=e.i(15771),h=e.i(19331),y=e.i(7571),g=e.i(84012);let b=(0,c.default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var j=e.i(67307);let f=(0,c.default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);var N=e.i(51069),w=e.i(45688),k=e.i(71921),C=e.i(1235),S=e.i(88969);let E=[],A="http://localhost:3001";function M(){return(0,w.useQuery)({queryKey:["cloud-config"],queryFn:async()=>{var e;let t,s,r=await (0,S.authFetch)(`${A}/api/cloud/config`);if(!r.ok)throw Error(await (0,S.readApiError)(r,"Failed to fetch cloud config"));return t=(e=await r.json()).syncControls&&"object"==typeof e.syncControls?e.syncControls:{},s=e.openclawMemory&&"object"==typeof e.openclawMemory?e.openclawMemory:{},{enabled:!!e.enabled,apiKeySet:!!e.apiKeySet,baseUrl:"string"==typeof e.baseUrl?e.baseUrl:"https://api.shieldcortex.ai",syncControls:{projectMode:"projectMode"in t&&("include"===t.projectMode||"exclude"===t.projectMode)?t.projectMode:"all",projects:Array.isArray(t.projects)?t.projects.filter(e=>"string"==typeof e):E,contentMode:"contentMode"in t&&"metadata"===t.contentMode?"metadata":"full",excludeSensitive:"excludeSensitive"in t&&!!t.excludeSensitive},openclawMemory:{autoMemory:"autoMemory"in s&&!!s.autoMemory,dedupe:"dedupe"in s&&!!s.dedupe,noveltyThreshold:"noveltyThreshold"in s&&"number"==typeof s.noveltyThreshold?s.noveltyThreshold:.88,maxRecent:"maxRecent"in s&&"number"==typeof s.maxRecent?s.maxRecent:300}}},refetchInterval:3e4})}let q="http://localhost:3001",$=[];function T(){return(0,w.useQuery)({queryKey:["cloud-sync-status"],queryFn:async()=>{var e;let t,s,r,a,c=await (0,S.authFetch)(`${q}/api/cloud/sync-status`);if(!c.ok)throw Error(await (0,S.readApiError)(c,"Failed to fetch sync status"));return t=(e=await c.json()).controls&&"object"==typeof e.controls?e.controls:{},r="byKind"in(s=e.queue&&"object"==typeof e.queue?e.queue:{})&&s.byKind&&"object"==typeof s.byKind?s.byKind:{},a=e=>({pending:Number(r[e]?.pending??0),failed:Number(r[e]?.failed??0),synced:Number(r[e]?.synced??0)}),{enabled:!!e.enabled,apiKeySet:!!e.apiKeySet,baseUrl:"string"==typeof e.baseUrl?e.baseUrl:"https://api.shieldcortex.ai",featureEnabled:!!e.featureEnabled,requiredTier:"pro"===e.requiredTier||"team"===e.requiredTier||"enterprise"===e.requiredTier?e.requiredTier:"free",controls:{projectMode:"projectMode"in t&&("include"===t.projectMode||"exclude"===t.projectMode)?t.projectMode:"all",projects:Array.isArray(t.projects)?t.projects.filter(e=>"string"==typeof e):$,contentMode:"contentMode"in t&&"metadata"===t.contentMode?"metadata":"full",excludeSensitive:"excludeSensitive"in t&&!!t.excludeSensitive},lastSyncAt:"string"==typeof e.lastSyncAt||null===e.lastSyncAt?e.lastSyncAt??null:null,device:{id:e.device&&"object"==typeof e.device&&"id"in e.device&&"string"==typeof e.device.id?e.device.id:"unknown",name:e.device&&"object"==typeof e.device&&"name"in e.device&&"string"==typeof e.device.name?e.device.name:"Unknown device",platform:e.device&&"object"==typeof e.device&&"platform"in e.device&&"string"==typeof e.device.platform?e.device.platform:"unknown"},queue:{pending:Number(s.pending??0),failed:Number(s.failed??0),synced:Number(s.synced??0),byKind:{audit:a("audit"),quarantine:a("quarantine"),memory:a("memory"),graph:a("graph"),unknown:a("unknown")},oldestPendingAt:"string"==typeof s.oldestPendingAt||null===s.oldestPendingAt?s.oldestPendingAt??null:null,nextRetryAt:"string"==typeof s.nextRetryAt||null===s.nextRetryAt?s.nextRetryAt??null:null,lastError:"string"==typeof s.lastError||null===s.lastError?s.lastError??null:null,lastErrorKind:"audit"===s.lastErrorKind||"quarantine"===s.lastErrorKind||"memory"===s.lastErrorKind||"graph"===s.lastErrorKind||"unknown"===s.lastErrorKind?s.lastErrorKind:null,latestFailureAt:"string"==typeof s.latestFailureAt||null===s.latestFailureAt?s.latestFailureAt??null:null}}},refetchInterval:3e4,staleTime:15e3})}var P=e.i(63312),R=e.i(50279);function F(e){let t=Math.max(0,Math.floor((Date.now()-new Date(e).getTime())/1e3));if(t<60)return`${t}s ago`;let s=Math.floor(t/60);if(s<60)return`${s}m ago`;let r=Math.floor(s/60);if(r<24)return`${r}h ago`;let a=Math.floor(r/24);return`${a}d ago`}function L(e){let t=Math.max(0,Math.floor((new Date(e).getTime()-Date.now())/1e3));if(t<60)return`in ${t}s`;let s=Math.floor(t/60);if(s<60)return`in ${s}m`;let r=Math.floor(s/60);if(r<24)return`in ${r}h`;let a=Math.floor(r/24);return`in ${a}d`}function K(){let{data:e,isLoading:s}=T(),{data:r}=(0,P.useLicenseStatus)();if(s||!e)return null;let a="border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/70 text-[var(--sc-text-primary)]",c="Cloud sync disabled",i="Enable cloud sync and activate a Team licence to start replicating local data.",l=n,d=e.queue.byKind.memory.pending+e.queue.byKind.graph.pending,o=e.queue.byKind.memory.failed+e.queue.byKind.graph.failed,x=e.queue.byKind.audit.failed+e.queue.byKind.quarantine.failed+e.queue.byKind.unknown.failed;return e.enabled&&e.apiKeySet&&!e.featureEnabled?(a="border-[var(--sc-amber)]/30 bg-[var(--sc-amber)]/10 text-[var(--sc-amber)]",c="Cloud configured but licence locked",i=`Cloud sync requires the ${R.TIER_LABELS[e.requiredTier]} tier. Current tier: ${R.TIER_LABELS[r?.tier??"free"]}.`,l=b):e.enabled&&e.apiKeySet&&d>0&&o>0?(a="border-[var(--sc-coral)]/30 bg-[var(--sc-coral)]/10 text-[var(--sc-coral)]",c="Cloud sync needs attention",i=e.queue.lastError??"One or more queued sync jobs are failing.",l=N.ShieldAlert):e.enabled&&e.apiKeySet&&o>0?(a="border-[var(--sc-amber)]/30 bg-[var(--sc-amber)]/10 text-[var(--sc-amber)]",c=`${o} failed sync job${1===o?"":"s"} need clearing`,i=e.queue.lastError?`${e.queue.lastError}${e.queue.latestFailureAt?` Last failure ${F(e.queue.latestFailureAt)}.`:""}`:"These items exhausted retries and won't sync automatically. Clear them or investigate the cause.",l=p.AlertTriangle):e.enabled&&e.apiKeySet&&d>0?(a="border-[var(--sc-amber)]/30 bg-[var(--sc-amber)]/10 text-[var(--sc-amber)]",c="Cloud sync is catching up",i=e.queue.nextRetryAt?`Next retry ${L(e.queue.nextRetryAt)}.`:"Queued jobs are waiting to flush.",l=j.RefreshCw):e.enabled&&e.apiKeySet&&(a="border-[var(--sc-cyan)]/30 bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]",c="Cloud sync healthy",i=e.lastSyncAt?`Last successful sync ${F(e.lastSyncAt)}.`:"Connected and ready to sync.",x>0&&(i+=` Auxiliary audit/quarantine history: ${x} failed job${1===x?"":"s"}.`),l=v.CheckCircle2),(0,t.jsx)("div",{className:`rounded-2xl border p-4 ${a}`,children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(l,{size:18,className:"mt-0.5 shrink-0"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-sm font-semibold",children:c}),(0,t.jsx)("p",{className:"mt-1 text-sm opacity-90",children:i})]})]}),o>0&&0===d&&(0,t.jsx)(_,{})]})})}function I({label:e,value:s,detail:r,icon:a}){return(0,t.jsxs)("div",{className:"glass-card p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-xs uppercase tracking-[0.2em] text-[var(--sc-text-muted)]",children:e}),(0,t.jsx)(a,{size:15,className:"text-[var(--sc-text-muted)]"})]}),(0,t.jsx)("div",{className:"mt-2 text-2xl font-semibold text-[var(--sc-text-primary)]",children:s}),(0,t.jsx)("div",{className:"mt-1 text-xs text-[var(--sc-text-secondary)]",children:r})]})}function z({label:e,pending:s,failed:r,synced:a}){return(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-3",children:[(0,t.jsx)("div",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:e}),(0,t.jsxs)("div",{className:"mt-3 grid grid-cols-3 gap-2 text-xs",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[var(--sc-text-muted)]",children:"Pending"}),(0,t.jsx)("div",{className:"mt-1 font-semibold text-[var(--sc-amber)]",children:s})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[var(--sc-text-muted)]",children:"Failed"}),(0,t.jsx)("div",{className:"mt-1 font-semibold text-[var(--sc-coral)]",children:r})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[var(--sc-text-muted)]",children:"Synced"}),(0,t.jsx)("div",{className:"mt-1 font-semibold text-[var(--sc-cyan)]",children:a})]})]})]})}function O(){let e,{data:s}=M(),{data:a}=(0,w.useQuery)({queryKey:["cloud-projects"],queryFn:async()=>{let e=await (0,S.authFetch)(`${A}/api/cloud/projects`);if(!e.ok)throw Error(await (0,S.readApiError)(e,"Failed to fetch cloud projects"));return e.json()},staleTime:3e4}),c=(e=(0,C.useQueryClient)(),(0,k.useMutation)({mutationFn:async e=>{let t=await (0,S.authFetch)(`${A}/api/cloud/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error(await (0,S.readApiError)(t,"Failed to update cloud config"));return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["cloud-config"]}),e.invalidateQueries({queryKey:["cloud-sync-status"]})}})),[n,i]=(0,r.useState)(null),l=a?.projects??[],d=n??s?.syncControls??{projectMode:"all",projects:[],contentMode:"full",excludeSensitive:!1},o="all"!==d.projectMode,[x,u]=(0,r.useState)("idle");async function m(){try{await c.mutateAsync({cloudSyncProjectMode:d.projectMode,cloudSyncProjects:d.projects,cloudSyncContentMode:d.contentMode,cloudSyncExcludeSensitive:d.excludeSensitive}),i(null),u("saved"),setTimeout(()=>u("idle"),2e3)}catch{u("error"),setTimeout(()=>u("idle"),3e3)}}return(0,t.jsxs)("div",{className:"glass-card-strong p-5",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Sync Controls"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-secondary)]",children:"Decide what leaves this device before it hits the cloud replica."})]}),(0,t.jsx)("button",{type:"button",onClick:()=>void m(),disabled:c.isPending,className:`rounded-lg border px-3 py-2 text-sm font-medium transition disabled:cursor-not-allowed disabled:opacity-50 ${"saved"===x?"border-[var(--sc-cyan)]/50 bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)]":"error"===x?"border-[var(--sc-coral)]/50 bg-[var(--sc-coral)]/20 text-[var(--sc-coral)]":"border-[var(--sc-cyan)]/30 bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)] hover:bg-[var(--sc-cyan)]/20"}`,children:c.isPending?"Saving...":"saved"===x?"✓ Saved":"error"===x?"Failed to save":"Save controls"})]}),(0,t.jsxs)("div",{className:"mt-5 grid gap-4",children:[(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-[0.2em] text-[var(--sc-text-muted)]",children:"Content mode"}),(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2 text-[11px] text-[var(--sc-text-secondary)]",children:[(0,t.jsx)("span",{className:"rounded-full border border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/60 px-2.5 py-1",children:"metadata"===d.contentMode?"Metadata only":"Full content"}),(0,t.jsxs)("span",{className:"rounded-full border border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/60 px-2.5 py-1",children:["Sensitive filter ",d.excludeSensitive?"on":"off"]})]}),(0,t.jsxs)("div",{className:"mt-3 grid gap-2 md:grid-cols-2",children:[(0,t.jsxs)("label",{className:`rounded-lg border p-3 text-sm ${"full"===d.contentMode?"border-[var(--sc-cyan)]/40 bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]":"border-[var(--sc-border)] text-[var(--sc-text-primary)]"}`,children:[(0,t.jsx)("input",{type:"radio",className:"mr-2",checked:"full"===d.contentMode,onChange:()=>i(e=>({...e??d,contentMode:"full"}))}),"Full content",(0,t.jsx)("div",{className:"mt-1 text-xs text-[var(--sc-text-secondary)]",children:"Titles and memory bodies replicate to cloud."})]}),(0,t.jsxs)("label",{className:`rounded-lg border p-3 text-sm ${"metadata"===d.contentMode?"border-[var(--sc-cyan)]/40 bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]":"border-[var(--sc-border)] text-[var(--sc-text-primary)]"}`,children:[(0,t.jsx)("input",{type:"radio",className:"mr-2",checked:"metadata"===d.contentMode,onChange:()=>i(e=>({...e??d,contentMode:"metadata"}))}),"Metadata only",(0,t.jsx)("div",{className:"mt-1 text-xs text-[var(--sc-text-secondary)]",children:"Projects, tags, salience, and graph remain; body content is redacted."})]})]})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-[0.2em] text-[var(--sc-text-muted)]",children:"Project scope"}),(0,t.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:["all","include","exclude"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>i(t=>({...t??d,projectMode:e})),className:`rounded-full border px-3 py-1.5 text-xs font-medium uppercase tracking-wide ${d.projectMode===e?"border-[var(--sc-cyan)]/40 bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]":"border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/60 text-[var(--sc-text-primary)]"}`,children:e},e))}),(0,t.jsx)("p",{className:"mt-3 text-xs text-[var(--sc-text-secondary)]",children:"all"===d.projectMode?"All local projects are eligible for sync.":"include"===d.projectMode?"Only the selected projects will sync.":"Selected projects stay local-only."}),o&&(0,t.jsxs)("details",{className:"mt-3 rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/40 p-3",children:[(0,t.jsxs)("summary",{className:"cursor-pointer list-none text-sm font-medium text-[var(--sc-text-primary)]",children:["Choose projects ",d.projects.length>0?`(${d.projects.length} selected)`:""]}),(0,t.jsx)("div",{className:"mt-3 max-h-48 overflow-y-auto",children:0===l.length?(0,t.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"No named projects found in local memory yet."}):(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:l.map(e=>{let s=d.projects.includes(e.project);return(0,t.jsxs)("button",{type:"button",onClick:()=>{var t;return t=e.project,void i(e=>{let s=e??d,r=s.projects.includes(t)?s.projects.filter(e=>e!==t):[...s.projects,t].sort((e,t)=>e.localeCompare(t));return{...s,projects:r}})},className:`rounded-full border px-3 py-1.5 text-xs ${s?"border-[var(--sc-cyan)]/40 bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]":"border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 text-[var(--sc-text-primary)]"}`,children:[e.project," ",(0,t.jsxs)("span",{className:"text-[var(--sc-text-muted)]",children:["(",e.count,")"]})]},e.project)})})})]})]}),(0,t.jsxs)("label",{className:"flex items-start gap-3 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4 text-sm text-[var(--sc-text-primary)]",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-0.5",checked:d.excludeSensitive,onChange:e=>i(t=>({...t??d,excludeSensitive:e.target.checked}))}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"font-medium text-[var(--sc-text-primary)]",children:"Exclude sensitive memories"}),(0,t.jsx)("div",{className:"mt-1 text-xs text-[var(--sc-text-secondary)]",children:"Skip memories whose sensitivity level is higher than INTERNAL when syncing to cloud."})]})]}),c.isError&&(0,t.jsx)("div",{className:"rounded-xl border border-[var(--sc-coral)]/30 bg-[var(--sc-coral)]/10 p-3 text-sm text-[var(--sc-coral)]",children:c.error.message})]})]})}function B({sync:e,cloudConfig:s}){return(0,t.jsxs)("div",{className:"glass-card-strong p-5",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Current policy"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-secondary)]",children:"The snapshot below is the current cloud posture. Edit it in Sync Controls when you need to change what leaves this device."}),(0,t.jsxs)("div",{className:"mt-4 grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-[0.2em] text-[var(--sc-text-muted)]",children:"Sync scope"}),(0,t.jsx)("div",{className:"mt-2 text-sm font-medium text-[var(--sc-text-primary)]",children:e.controls.projectMode}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-[var(--sc-text-secondary)]",children:[e.controls.projects.length," selected project",1===e.controls.projects.length?"":"s"]})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-[0.2em] text-[var(--sc-text-muted)]",children:"Content mode"}),(0,t.jsx)("div",{className:"mt-2 text-sm font-medium text-[var(--sc-text-primary)]",children:"metadata"===e.controls.contentMode?"Metadata only":"Full content"}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-[var(--sc-text-secondary)]",children:["Sensitive filter ",e.controls.excludeSensitive?"enabled":"off"]})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-[0.2em] text-[var(--sc-text-muted)]",children:"Cloud endpoint"}),(0,t.jsx)("div",{className:"mt-2 text-sm font-medium text-[var(--sc-text-primary)]",children:e.baseUrl})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,t.jsx)("div",{className:"text-xs uppercase tracking-[0.2em] text-[var(--sc-text-muted)]",children:"OpenClaw complement"}),(0,t.jsxs)("div",{className:"mt-2 grid grid-cols-2 gap-2 text-xs text-[var(--sc-text-primary)]",children:[(0,t.jsxs)("span",{children:["Auto-memory: ",s.openclawMemory.autoMemory?"On":"Off"]}),(0,t.jsxs)("span",{children:["Dedupe: ",s.openclawMemory.dedupe?"On":"Off"]}),(0,t.jsxs)("span",{children:["Novelty: ",s.openclawMemory.noveltyThreshold]}),(0,t.jsxs)("span",{children:["Recent window: ",s.openclawMemory.maxRecent]})]})]})]})]})}function _(){let e,s=(e=(0,C.useQueryClient)(),(0,k.useMutation)({mutationFn:async()=>{let e=await (0,S.authFetch)(`${q}/api/cloud/sync-queue/clear-failed`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(!e.ok)throw Error(await (0,S.readApiError)(e,"Failed to clear failed items"));return e.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["cloud-sync-status"]})}}));return(0,t.jsx)("button",{type:"button",onClick:()=>s.mutate(),disabled:s.isPending,className:"shrink-0 rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)]/50 px-3 py-1.5 text-xs text-[var(--sc-text-secondary)] transition hover:border-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)] disabled:opacity-50",children:s.isPending?"Clearing...":s.isSuccess?`Cleared ${s.data?.cleared??0}`:"Clear failed"})}function U(){let{data:e,isLoading:s,refetch:r,isFetching:a}=T(),{data:c,isLoading:i}=M(),{data:l,isLoading:d}=(0,P.useLicenseStatus)();if(s||i||d||!e||!c||!l)return(0,t.jsx)("div",{className:"space-y-6",children:(0,t.jsx)("div",{className:"glass-card p-6 text-sm text-[var(--sc-text-secondary)]",children:"Loading cloud diagnostics..."})});let o=l.tier,x=e.queue.byKind.memory,u=e.queue.byKind.graph,m=x.failed+u.failed,b=e.queue.byKind.audit.failed+e.queue.byKind.quarantine.failed+e.queue.byKind.unknown.failed,N=e.lastSyncAt?F(e.lastSyncAt):"Never",w=m>0?"Needs review":x.pending+u.pending>0?"Catching up":"Healthy";return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,t.jsx)("span",{className:`rounded-full px-2.5 py-1 font-medium ${R.TIER_BG[o]} ${R.TIER_COLOURS[o]}`,children:R.TIER_LABELS[o]}),(0,t.jsxs)("span",{className:"rounded-full border border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/70 px-2.5 py-1 text-[var(--sc-text-primary)]",children:["Last sync: ",N]}),(0,t.jsx)("button",{type:"button",onClick:()=>void r(),disabled:a,className:"rounded-full border border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/70 px-2.5 py-1 text-[var(--sc-text-muted)] transition hover:text-[var(--sc-text-primary)] disabled:opacity-50",title:"Refresh sync status",children:(0,t.jsx)(j.RefreshCw,{size:12,className:a?"animate-spin":""})})]}),(0,t.jsx)(K,{}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-5",children:[(0,t.jsx)(I,{label:"Replication",value:w,detail:`${m} failed \xb7 ${x.pending+u.pending} pending`,icon:j.RefreshCw}),(0,t.jsx)(I,{label:"Device",value:e.device.name,detail:`${e.device.platform} \xb7 ${e.device.id.slice(0,12)}`,icon:f}),(0,t.jsx)(I,{label:"Cloud Target",value:new URL(e.baseUrl).host,detail:e.enabled?"Configured target":"Disabled in config",icon:n}),(0,t.jsx)(I,{label:"Memory Queue",value:x.pending,detail:`${x.failed} failed \xb7 ${x.synced} synced`,icon:y.Database}),(0,t.jsx)(I,{label:"Graph Queue",value:u.pending,detail:`${u.failed} failed \xb7 ${u.synced} synced`,icon:g.GitBranch})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-6 xl:grid-cols-[1.35fr_0.95fr]",children:[(0,t.jsxs)("div",{className:"glass-card p-5",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Replication"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-secondary)]",children:"Memory and graph sync queues. Items are synced to your cloud replica automatically."})]}),m>0&&(0,t.jsx)(_,{})]}),(0,t.jsxs)("div",{className:"mt-5 grid grid-cols-1 gap-3 md:grid-cols-2",children:[(0,t.jsx)(z,{label:"Memory",...x}),(0,t.jsx)(z,{label:"Graph",...u})]}),(0,t.jsxs)("details",{className:"mt-5 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/30 p-4",children:[(0,t.jsx)("summary",{className:"cursor-pointer list-none text-sm font-medium text-[var(--sc-text-primary)]",children:"Advanced transport signals"}),(0,t.jsxs)("div",{className:"mt-4 grid grid-cols-1 gap-3 md:grid-cols-2",children:[(0,t.jsx)(z,{label:"Audit",...e.queue.byKind.audit}),(0,t.jsx)(z,{label:"Quarantine",...e.queue.byKind.quarantine})]}),(0,t.jsx)("div",{className:"mt-4 overflow-hidden rounded-xl border border-[var(--sc-border)]",children:(0,t.jsxs)("table",{className:"min-w-full divide-y divide-[var(--sc-border)] text-sm",children:[(0,t.jsx)("thead",{className:"bg-[var(--sc-bg-deep)]/70 text-[var(--sc-text-secondary)]",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Signal"}),(0,t.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Current value"}),(0,t.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Why it matters"})]})}),(0,t.jsxs)("tbody",{className:"divide-y divide-[var(--sc-border)] bg-[var(--sc-bg-surface)]/40 text-[var(--sc-text-primary)]",children:[(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"px-4 py-3",children:"Oldest queued job"}),(0,t.jsx)("td",{className:"px-4 py-3",children:e.queue.oldestPendingAt?F(e.queue.oldestPendingAt):"None queued"}),(0,t.jsx)("td",{className:"px-4 py-3 text-[var(--sc-text-secondary)]",children:"If this stays old while pending grows, the local worker is falling behind."})]}),(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"px-4 py-3",children:"Next retry"}),(0,t.jsx)("td",{className:"px-4 py-3",children:e.queue.nextRetryAt?L(e.queue.nextRetryAt):"Idle"}),(0,t.jsx)("td",{className:"px-4 py-3 text-[var(--sc-text-secondary)]",children:"Confirms whether failures are retrying normally or the queue is stuck."})]}),(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"px-4 py-3",children:"Failed jobs in history"}),(0,t.jsx)("td",{className:"px-4 py-3",children:m}),(0,t.jsx)("td",{className:"px-4 py-3 text-[var(--sc-text-secondary)]",children:"These are retained replication dead-letter records for memory and graph sync."})]}),(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"px-4 py-3",children:"Auxiliary failed history"}),(0,t.jsx)("td",{className:"px-4 py-3",children:b}),(0,t.jsx)("td",{className:"px-4 py-3 text-[var(--sc-text-secondary)]",children:"Audit and quarantine retry history is shown here for debugging, but it does not mean memory replication is currently blocked."})]}),(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"px-4 py-3",children:"Latest memory sync"}),(0,t.jsx)("td",{className:"px-4 py-3",children:e.lastSyncAt?F(e.lastSyncAt):"Not recorded"}),(0,t.jsx)("td",{className:"px-4 py-3 text-[var(--sc-text-secondary)]",children:"This is the best quick indicator for whether cloud replication is actually current."})]})]})]})})]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,t.jsx)(O,{}),(0,t.jsx)(B,{sync:e,cloudConfig:c}),(0,t.jsxs)("div",{className:"glass-card-strong p-5",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Last actionable error"}),(0,t.jsx)("div",{className:"mt-4 rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:e.queue.lastError?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:`flex items-center gap-2 text-sm font-medium ${e.queue.pending>0?"text-[var(--sc-coral)]":"text-[var(--sc-amber)]"}`,children:[(0,t.jsx)(p.AlertTriangle,{size:16}),e.queue.lastErrorKind?`${e.queue.lastErrorKind} queue`:"Unknown queue"]}),(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--sc-text-primary)]",children:e.queue.lastError}),e.queue.latestFailureAt&&(0,t.jsxs)("div",{className:"mt-2 text-xs text-[var(--sc-text-muted)]",children:["Recorded ",F(e.queue.latestFailureAt)]}),e.queue.nextRetryAt&&(0,t.jsxs)("div",{className:"mt-3 inline-flex items-center gap-1 rounded-full bg-[var(--sc-bg-surface)] px-2 py-1 text-xs text-[var(--sc-text-secondary)]",children:[(0,t.jsx)(h.Clock3,{size:12}),"Retry ",L(e.queue.nextRetryAt)]})]}):(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-[var(--sc-cyan)]",children:[(0,t.jsx)(v.CheckCircle2,{size:16}),"No recent sync errors recorded."]})})]})]})]})]})}var Q=e.i(48615),D=e.i(84982),G=e.i(76490);function H({label:e,description:s,checked:r,pending:a=!1,disabled:c=!1,docsUrl:n,onChange:i}){let l=!c&&!a;return(0,t.jsxs)("label",{className:(0,G.cn)("flex items-start gap-4 border border-[var(--term-border)] bg-[var(--term-surface)] p-4 rounded-md transition-colors",l&&"cursor-pointer hover:border-[var(--term-electric)]",!l&&"opacity-70 cursor-not-allowed"),children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"text-sm text-[var(--term-text)]",children:[(0,t.jsx)("span",{className:"text-[var(--term-text-muted)]","aria-hidden":!0,children:"›"})," ",e]}),(0,t.jsxs)("div",{className:"mt-1 text-xs leading-5 text-[var(--term-text-muted)]",children:[s,n&&(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-[var(--term-electric-fg)] hover:underline",onClick:e=>e.stopPropagation(),children:"docs →"})]})]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2 self-start pt-0.5 theme-glass:hidden",children:[a&&(0,t.jsx)(D.Loader2,{size:12,className:"animate-spin text-[var(--term-text-muted)]","aria-hidden":!0}),(0,t.jsx)("span",{className:(0,G.cn)("font-mono text-xs uppercase tracking-wider",r?"text-[var(--term-neon-fg)]":"text-[var(--term-text-muted)]"),children:r?"[on]":"[off]"})]}),(0,t.jsxs)("div",{className:"relative hidden h-6 w-11 shrink-0 items-center theme-glass:flex","aria-hidden":"true",children:[a&&(0,t.jsx)(D.Loader2,{size:12,className:"absolute -left-5 top-1.5 animate-spin text-[var(--sc-text-muted)]"}),(0,t.jsx)("span",{className:(0,G.cn)("absolute inset-0 rounded-full transition-colors",r?"bg-[var(--sc-cyan)]":"bg-[var(--sc-bg-elevated)] border border-[var(--sc-border)]")}),(0,t.jsx)("span",{className:(0,G.cn)("absolute top-0.5 h-5 w-5 rounded-full bg-white shadow transition-transform",r?"translate-x-5":"translate-x-0.5")})]}),(0,t.jsx)("input",{type:"checkbox",checked:r,disabled:!l,onChange:e=>i(e.target.checked),className:"sr-only"})]})}var J=e.i(22534);let V=J.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";function X(){let e,{data:s,isLoading:r,error:c}=(0,w.useQuery)({queryKey:["integrations-config"],queryFn:async()=>{let e=await (0,S.gatedFetch)(`${V}/api/cloud/config`);if(!e.ok)throw Error(await (0,S.readApiError)(e,"Failed to load integration toggles"));let t=await e.json();return{openclawAutoMemory:!!t.openclawMemory?.autoMemory,proactiveRecall:!!t.proactiveRecall}},refetchOnWindowFocus:!0}),n=(e=(0,C.useQueryClient)(),(0,k.useMutation)({mutationFn:async e=>{let t=await (0,S.gatedFetch)(`${V}/api/cloud/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error(await (0,S.readApiError)(t,"Failed to update integration toggle"));return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["integrations-config"]}),e.invalidateQueries({queryKey:["cloud-config"]})}})),i=(e,t)=>{n.mutate(e,{onSuccess:()=>Q.toast.success(t),onError:e=>Q.toast.error(e instanceof Error?e.message:"Failed to update toggle")})};if(r)return(0,t.jsxs)(x.GlassCard,{className:"p-6 space-y-4",children:[(0,t.jsx)(a.Skeleton,{className:"h-16 w-full"}),(0,t.jsx)(a.Skeleton,{className:"h-16 w-full"})]});if(c||!s)return(0,t.jsx)(x.GlassCard,{className:"p-6",children:(0,t.jsxs)("p",{className:"text-sm text-[var(--sc-coral)]",children:["Failed to load integration toggles: ",c instanceof Error?c.message:"Unknown error"]})});let l=n.isPending,d=l?Object.keys(n.variables??{})[0]:void 0;return(0,t.jsx)("div",{className:"space-y-4",children:(0,t.jsxs)(x.GlassCard,{className:"p-6",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Integrations"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-[var(--sc-text-secondary)]",children:"Both toggles are off by default. They were turned off in v4.11.0 after fleet evidence showed they hurt fast agent loops; turn them on if you run interactive sessions or want richer memory capture."}),(0,t.jsxs)("div",{className:"mt-5 space-y-3",children:[(0,t.jsx)(H,{label:"OpenClaw Auto-Memory",description:"Extract memories from OpenClaw LLM output (decisions, fixes, learnings, preferences). Off by default — turn on for interactive sessions, leave off for fast agent loops.",checked:s.openclawAutoMemory,pending:"openclawAutoMemory"===d,disabled:l&&"openclawAutoMemory"!==d,docsUrl:"https://shieldcortex.ai/docs/integrations#openclaw-auto-memory",onChange:e=>i({openclawAutoMemory:e},e?"OpenClaw auto-memory enabled":"OpenClaw auto-memory disabled")}),(0,t.jsx)(H,{label:"Proactive Recall",description:"Inject relevant SC memory into every prompt. Adds 200–500ms latency and 100–400 tokens per turn. Net-negative for fast agent loops; useful for deep interactive sessions.",checked:s.proactiveRecall,pending:"proactiveRecall"===d,disabled:l&&"proactiveRecall"!==d,docsUrl:"https://shieldcortex.ai/docs/integrations#proactive-recall",onChange:e=>i({proactiveRecall:e},e?"Proactive recall enabled":"Proactive recall disabled")})]}),(0,t.jsxs)("p",{className:"mt-5 text-[11px] text-[var(--sc-text-muted)]",children:["You can also toggle these via the CLI: ",(0,t.jsx)("code",{className:"font-mono",children:"shieldcortex config --openclaw-auto-memory true|false"})," ·"," ",(0,t.jsx)("code",{className:"font-mono",children:"shieldcortex config --proactive-recall true|false"})]})]})})}var Y=e.i(45434),W=e.i(61737),Z=e.i(13808);let ee=J.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";function et(e){if(!e)return"never";let t=Date.now()-new Date(e).getTime();if(t<0)return"just now";let s=Math.floor(t/1e3);if(s<60)return`${s}s ago`;let r=Math.floor(s/60);if(r<60)return`${r}m ago`;let a=Math.floor(r/60);if(a<24)return`${a}h ago`;let c=Math.floor(a/24);return`${c}d ago`}function es(){let e,s,r,{data:a,isLoading:c}=(0,w.useQuery)({queryKey:["worker-status"],queryFn:async()=>{let e=await (0,S.gatedFetch)(`${ee}/api/worker/status`);if(!e.ok)throw Error(await (0,S.readApiError)(e,"Failed to load worker status"));return e.json()},refetchInterval:1e4}),{data:n}=(0,w.useQuery)({queryKey:["memory-stats"],queryFn:async()=>{let e=await (0,S.gatedFetch)(`${ee}/api/stats`);if(!e.ok)throw Error(await (0,S.readApiError)(e,"Failed to load memory stats"));return e.json()},refetchInterval:3e4}),i=(e=(0,C.useQueryClient)(),(0,k.useMutation)({mutationFn:async()=>{let e=await (0,S.gatedFetch)(`${ee}/api/worker/trigger-light`,{method:"POST"});if(!e.ok)throw Error(await (0,S.readApiError)(e,"Failed to run light tick"));return e.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["worker-status"]}),e.invalidateQueries({queryKey:["memory-stats"]})}})),l=(s=(0,C.useQueryClient)(),(0,k.useMutation)({mutationFn:async()=>{let e=await (0,S.gatedFetch)(`${ee}/api/worker/trigger-medium`,{method:"POST"});if(!e.ok)throw Error(await (0,S.readApiError)(e,"Failed to run medium tick"));return e.json()},onSuccess:()=>{s.invalidateQueries({queryKey:["worker-status"]}),s.invalidateQueries({queryKey:["memory-stats"]})}})),d=(r=(0,C.useQueryClient)(),(0,k.useMutation)({mutationFn:async()=>{let e=await (0,S.gatedFetch)(`${ee}/api/consolidate`,{method:"POST"});if(!e.ok)throw Error(await (0,S.readApiError)(e,"Failed to run consolidation"));return e.json()},onSuccess:()=>{r.invalidateQueries({queryKey:["worker-status"]}),r.invalidateQueries({queryKey:["memory-stats"]})}})),o=i.isPending||l.isPending||d.isPending;return(0,t.jsxs)(x.GlassCard,{className:"p-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(W.Brain,{size:16,className:"text-[var(--sc-cyan)]"}),(0,t.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Memory Maintenance"}),a?.isRunning?(0,t.jsx)(u.Badge,{variant:"cyan",dot:!0,children:"Running"}):c?(0,t.jsx)(u.Badge,{variant:"muted",children:"Loading"}):(0,t.jsx)(u.Badge,{variant:"amber",children:"Stopped"})]}),(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--sc-text-secondary)]",children:"Background brain worker prunes activation cache, consolidates short-term to long-term, removes low-salience duplicates, and prunes orphan graph entities. Runs automatically on intervals; you can trigger a tick manually below."}),n&&(0,t.jsxs)("div",{className:"mt-4 grid grid-cols-3 gap-3 text-sm",children:[(0,t.jsxs)("div",{className:"rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/50 p-3",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:"Healthy"}),(0,t.jsx)("div",{className:"mt-1 text-xl font-semibold text-[var(--sc-cyan)]",children:n.decayDistribution.healthy})]}),(0,t.jsxs)("div",{className:"rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/50 p-3",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:"Fading"}),(0,t.jsx)("div",{className:"mt-1 text-xl font-semibold text-[var(--sc-amber)]",children:n.decayDistribution.fading})]}),(0,t.jsxs)("div",{className:"rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/50 p-3",children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:"Critical"}),(0,t.jsx)("div",{className:"mt-1 text-xl font-semibold text-[var(--sc-coral)]",children:n.decayDistribution.critical})]})]}),(0,t.jsxs)("div",{className:"mt-4 space-y-2 rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/50 p-3 text-xs",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[var(--sc-text-muted)]",children:"Light tick (every ~5 min)"}),(0,t.jsxs)("span",{className:"text-[var(--sc-text-primary)]",children:[et(a?.lastLightTick??null)," · ",a?.stats.lightTicks??0," runs"]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[var(--sc-text-muted)]",children:"Heavy tick (every ~1 hr)"}),(0,t.jsxs)("span",{className:"text-[var(--sc-text-primary)]",children:[et(a?.lastMediumTick??null)," · ",a?.stats.mediumTicks??0," runs"]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[var(--sc-text-muted)]",children:"Last consolidation"}),(0,t.jsxs)("span",{className:"text-[var(--sc-text-primary)]",children:[et(a?.lastConsolidation??null)," · ",a?.stats.consolidations??0," runs"]})]})]}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,t.jsxs)(m.Button,{variant:"outline",size:"sm",onClick:()=>{i.mutate(void 0,{onSuccess:()=>Q.toast.success("Light cleanup triggered"),onError:e=>Q.toast.error(e instanceof Error?e.message:"Failed to trigger light cleanup")})},disabled:o,pulse:i.isPending,children:[(0,t.jsx)(Y.Activity,{size:13}),i.isPending?"Running":"Run light cleanup"]}),(0,t.jsxs)(m.Button,{variant:"outline",size:"sm",onClick:()=>{l.mutate(void 0,{onSuccess:()=>Q.toast.success("Heavy cleanup triggered"),onError:e=>Q.toast.error(e instanceof Error?e.message:"Failed to trigger heavy cleanup")})},disabled:o,pulse:l.isPending,children:[(0,t.jsx)(j.RefreshCw,{size:13}),l.isPending?"Running":"Run heavy cleanup"]}),(0,t.jsxs)(m.Button,{variant:"cyan",size:"sm",onClick:()=>{d.mutate(void 0,{onSuccess:()=>Q.toast.success("Consolidation triggered"),onError:e=>Q.toast.error(e instanceof Error?e.message:"Failed to trigger consolidation")})},disabled:o,pulse:d.isPending,children:[(0,t.jsx)(Z.Sparkles,{size:13}),d.isPending?"Running":"Consolidate now"]})]}),(0,t.jsxs)("p",{className:"mt-3 text-[11px] text-[var(--sc-text-muted)]",children:["CLI equivalent: ",(0,t.jsx)("code",{className:"font-mono",children:"shieldcortex consolidate"}),". Auto-cleanup runs continuously while the dashboard service is up; check"," ",(0,t.jsx)("code",{className:"font-mono",children:"shieldcortex service status"})," if ticks haven't advanced."]})]})}var er=e.i(71259),ea=e.i(77744),ec=e.i(42098);let en=[.1,.2,.3,.4,.5],ei=[7,30,90,180,365];function el(){let e,{projectFilter:s}=(0,ec.useDashboardStore)(),[a,c]=(0,r.useState)(.2),[n,i]=(0,r.useState)(30),[l,d]=(0,r.useState)(!0),[o,u]=(0,r.useState)(s?"current":"all"),[p,v]=(0,r.useState)(null),h=(e=(0,C.useQueryClient)(),(0,k.useMutation)({mutationFn:async e=>{let t=await (0,S.gatedFetch)(`${ee}/api/memories/prune`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error(await (0,S.readApiError)(t,"Failed to prune"));return t.json()},onSuccess:t=>{"number"==typeof t.deleted&&(e.invalidateQueries({queryKey:["memory-stats"]}),e.invalidateQueries({queryKey:["integrations-config"]}))}})),y="current"===o&&s?s:void 0;return(0,t.jsxs)(x.GlassCard,{className:"p-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(ea.Trash2,{size:16,className:"text-[var(--sc-coral)]"}),(0,t.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Threshold Prune"})]}),(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--sc-text-secondary)]",children:"Permanently delete memories below a salience threshold older than N days. Always preview first; backup is automatic before any delete."}),(0,t.jsxs)("div",{className:"mt-4 grid gap-4 md:grid-cols-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,t.jsx)("span",{className:"text-[var(--sc-text-muted)]",children:"Salience ≤"}),(0,t.jsx)("span",{className:"font-mono text-[var(--sc-text-primary)]",children:a.toFixed(2)})]}),(0,t.jsx)("input",{type:"range",min:0,max:.5,step:.05,value:a,onChange:e=>c(parseFloat(e.target.value)),className:"mt-1 w-full accent-[var(--sc-coral)]","aria-label":"Salience threshold"}),(0,t.jsx)("div",{className:"mt-1 flex gap-1",children:en.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>c(e),className:`rounded border px-1.5 py-0.5 text-[10px] transition ${a===e?"border-[var(--sc-coral)] text-[var(--sc-coral)]":"border-[var(--sc-border)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)]"}`,children:e},e))})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,t.jsx)("span",{className:"text-[var(--sc-text-muted)]",children:"Older than (days)"}),(0,t.jsx)("span",{className:"font-mono text-[var(--sc-text-primary)]",children:n})]}),(0,t.jsx)("input",{type:"range",min:1,max:365,step:1,value:n,onChange:e=>i(parseInt(e.target.value,10)),className:"mt-1 w-full accent-[var(--sc-coral)]","aria-label":"Age threshold"}),(0,t.jsx)("div",{className:"mt-1 flex gap-1",children:ei.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>i(e),className:`rounded border px-1.5 py-0.5 text-[10px] transition ${n===e?"border-[var(--sc-coral)] text-[var(--sc-coral)]":"border-[var(--sc-border)] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)]"}`,children:[e,"d"]},e))})]})]}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3 text-xs",children:[(0,t.jsx)("span",{className:"text-[var(--sc-text-muted)]",children:"Scope:"}),(0,t.jsx)("button",{type:"button",onClick:()=>u("all"),className:`rounded-md border px-2 py-1 ${"all"===o?"border-[var(--sc-cyan)] text-[var(--sc-cyan)]":"border-[var(--sc-border)] text-[var(--sc-text-muted)]"}`,children:"All projects"}),(0,t.jsxs)("button",{type:"button",disabled:!s,onClick:()=>u("current"),className:`rounded-md border px-2 py-1 disabled:opacity-40 ${"current"===o?"border-[var(--sc-cyan)] text-[var(--sc-cyan)]":"border-[var(--sc-border)] text-[var(--sc-text-muted)]"}`,children:["Current (",s??"none selected",")"]}),(0,t.jsxs)("label",{className:"ml-auto inline-flex items-center gap-2 text-[var(--sc-text-secondary)]",children:[(0,t.jsx)("input",{type:"checkbox",checked:l,onChange:e=>d(e.target.checked),className:"accent-[var(--sc-cyan)]"}),"Exclude pinned"]})]}),p&&(0,t.jsxs)("div",{className:"mt-4 rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/50 p-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-sm font-semibold text-[var(--sc-text-primary)]",children:[p.matched," memories match"]}),(0,t.jsxs)("span",{className:"text-[10px] text-[var(--sc-text-muted)]",children:["showing first ",p.sample.length]})]}),0===p.sample.length?(0,t.jsx)("div",{className:"mt-2 text-xs text-[var(--sc-text-muted)]",children:"Nothing to prune at these thresholds."}):(0,t.jsx)("ul",{className:"mt-2 max-h-48 space-y-1 overflow-y-auto text-xs",children:p.sample.map(e=>(0,t.jsxs)("li",{className:"flex items-baseline gap-2 text-[var(--sc-text-secondary)]",children:[(0,t.jsxs)("span",{className:"font-mono text-[10px] text-[var(--sc-text-muted)]",children:["#",e.id]}),(0,t.jsx)("span",{className:"truncate flex-1 text-[var(--sc-text-primary)]",children:e.title}),(0,t.jsxs)("span",{className:"text-[10px] text-[var(--sc-text-muted)]",children:[e.project??"(no project)"," · sal ",e.salience.toFixed(2)," · ",e.ageDays,"d"]})]},e.id))})]}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,t.jsxs)(m.Button,{variant:"outline",size:"sm",onClick:()=>{v(null),h.mutate({salienceLte:a,ageDaysGte:n,excludePinned:l,project:y,dryRun:!0},{onSuccess:e=>{v(e),Q.toast.success(`${e.matched} memories match — review before delete`)},onError:e=>Q.toast.error(e.message)})},disabled:h.isPending,pulse:h.isPending&&h.variables?.dryRun,children:[(0,t.jsx)(er.Eye,{size:13}),h.isPending&&h.variables?.dryRun?"Previewing":"Preview"]}),(0,t.jsxs)(m.Button,{variant:"coral",size:"sm",onClick:()=>{!p||0===p.matched||window.confirm(`Permanently delete ${p.matched} memories? A backup is auto-saved first.`)&&h.mutate({salienceLte:a,ageDaysGte:n,excludePinned:l,project:y,dryRun:!1},{onSuccess:e=>{v(null),Q.toast.success(`Deleted ${e.deleted??0}. Backup: ${e.backupPath??"see ~/.shieldcortex/backups/"}`,{duration:8e3})},onError:e=>Q.toast.error(e.message)})},disabled:!p||0===p.matched||h.isPending,pulse:h.isPending&&h.variables?.dryRun===!1,children:[(0,t.jsx)(ea.Trash2,{size:13}),h.isPending&&h.variables?.dryRun===!1?"Deleting":p?`Delete ${p.matched}`:"Delete"]})]})]})}let ed=(0,c.default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);var eo=e.i(6847);function ex(){let e,{projectFilter:s}=(0,ec.useDashboardStore)(),[a,c]=(0,r.useState)(s?"current":"all"),[n,i]=(0,r.useState)(null),l=(e=(0,C.useQueryClient)(),(0,k.useMutation)({mutationFn:async e=>{let t=await (0,S.gatedFetch)(`${ee}/api/memories/dedupe`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error(await (0,S.readApiError)(t,"Failed to dedupe"));return t.json()},onSuccess:t=>{"number"==typeof t.merged&&e.invalidateQueries({queryKey:["memory-stats"]})}})),d="current"===a&&s?s:void 0,o=n?.groups.reduce((e,t)=>e+t.removeIds.length,0)??0;return(0,t.jsxs)(x.GlassCard,{className:"p-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(ed,{size:16,className:"text-[var(--sc-cyan)]"}),(0,t.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Project Dedupe"})]}),(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--sc-text-secondary)]",children:"Find clusters of near-duplicate long-term memories (text similarity: title overlap + content Jaccard). Merging keeps the highest-salience representative and deletes the rest. Backup auto-saved before any merge."}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3 text-xs",children:[(0,t.jsx)("span",{className:"text-[var(--sc-text-muted)]",children:"Scope:"}),(0,t.jsx)("button",{type:"button",onClick:()=>c("all"),className:`rounded-md border px-2 py-1 ${"all"===a?"border-[var(--sc-cyan)] text-[var(--sc-cyan)]":"border-[var(--sc-border)] text-[var(--sc-text-muted)]"}`,children:"All projects"}),(0,t.jsxs)("button",{type:"button",disabled:!s,onClick:()=>c("current"),className:`rounded-md border px-2 py-1 disabled:opacity-40 ${"current"===a?"border-[var(--sc-cyan)] text-[var(--sc-cyan)]":"border-[var(--sc-border)] text-[var(--sc-text-muted)]"}`,children:["Current (",s??"none selected",")"]})]}),n&&(0,t.jsxs)("div",{className:"mt-4 rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/50 p-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-sm font-semibold text-[var(--sc-text-primary)]",children:[n.groups.length," cluster(s) · ",o," removable"]}),(0,t.jsxs)("span",{className:"text-[10px] text-[var(--sc-text-muted)]",children:[n.pairsFound," pairs scanned"]})]}),0===n.groups.length?(0,t.jsx)("div",{className:"mt-2 text-xs text-[var(--sc-text-muted)]",children:"No duplicates at the current heuristic threshold."}):(0,t.jsx)("ul",{className:"mt-2 max-h-64 space-y-2 overflow-y-auto text-xs",children:n.groups.map(e=>(0,t.jsxs)("li",{className:"rounded border border-[var(--sc-border)] bg-[var(--sc-bg-surface)] p-2",children:[(0,t.jsxs)("div",{className:"text-[10px] uppercase tracking-[0.14em] text-[var(--sc-text-muted)]",children:["Keep #",e.keepId," · remove ",e.removeIds.length," · ",e.similarity]}),(0,t.jsx)("div",{className:"mt-1 font-semibold text-[var(--sc-text-primary)] truncate",children:e.keepTitle}),(0,t.jsxs)("div",{className:"mt-0.5 text-[var(--sc-text-secondary)]",children:["Will delete: ",e.removeIds.map(e=>`#${e}`).join(", ")]})]},e.keepId))})]}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,t.jsxs)(m.Button,{variant:"outline",size:"sm",onClick:()=>{i(null),l.mutate({project:d,dryRun:!0},{onSuccess:e=>{i(e),Q.toast.success(0===e.groups.length?"No duplicate clusters found":`Found ${e.groups.length} cluster(s), ${e.groups.reduce((e,t)=>e+t.removeIds.length,0)} removable`)},onError:e=>Q.toast.error(e.message)})},disabled:l.isPending,pulse:l.isPending&&l.variables?.dryRun,children:[(0,t.jsx)(eo.Search,{size:13}),l.isPending&&l.variables?.dryRun?"Scanning":"Find duplicates"]}),(0,t.jsxs)(m.Button,{variant:"cyan",size:"sm",onClick:()=>{!n||0===o||window.confirm(`Merge ${n.groups.length} cluster(s) and delete ${o} duplicate(s)? Backup auto-saved first.`)&&l.mutate({project:d,dryRun:!1},{onSuccess:e=>{i(null),Q.toast.success(`Merged ${e.merged??0}. Backup: ${e.backupPath??"see ~/.shieldcortex/backups/"}`,{duration:8e3})},onError:e=>Q.toast.error(e.message)})},disabled:!n||0===o||l.isPending,pulse:l.isPending&&l.variables?.dryRun===!1,children:[(0,t.jsx)(ed,{size:13}),l.isPending&&l.variables?.dryRun===!1?"Merging":n&&o>0?`Merge all (${o})`:"Merge"]})]})]})}var eu=e.i(27528);let em=(0,c.default)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);var ep=e.i(77715),ev=e.i(66949);let eh=(0,c.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),ey=(0,c.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),eg="https://api.shieldcortex.ai",eb=J.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",ej=["Custom injection patterns","Custom Iron Dome policies","Custom firewall rules","Audit export (JSON/CSV)","Skill scanner deep mode"];function ef(){let{data:e,isLoading:s}=(0,P.useLicenseStatus)(),a=(0,P.useActivateLicense)(),c=(0,P.useDeactivateLicense)(),n=function(){let e=(0,C.useQueryClient)(),[t,s]=(0,r.useState)("idle"),[a,c]=(0,r.useState)(null),[n,i]=(0,r.useState)(null),l=(0,r.useCallback)(async(e,t)=>{s("submitting"),c(null);try{let r=await fetch(`${eg}/v1/billing/quick-checkout`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,plan:t})}),a=await r.json();if(!r.ok||!a.checkout_url||!a.setup_id)throw Error(a.error||"Failed to create checkout session");i(a.setup_id),window.open(a.checkout_url,"_blank"),s("polling")}catch(e){c(e instanceof Error?e.message:"Checkout failed"),s("error")}},[]);return(0,r.useEffect)(()=>{if("polling"!==t||!n)return;let r=setInterval(async()=>{try{let t=await fetch(`${eg}/v1/billing/setup-status/${n}`),a=await t.json();if("complete"===a.status&&a.license_key){clearInterval(r),s("activating");try{if(!(await (0,S.authFetch)(`${eb}/api/license/activate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:a.license_key})})).ok)throw Error("Local activation failed");e.invalidateQueries({queryKey:["license-status"]}),s("complete")}catch{c('Payment succeeded but local activation failed. Use "I Have a Key" to activate manually.'),s("error")}}else"expired"===a.status?(clearInterval(r),c("Setup expired. Please try again."),s("error")):"complete"!==a.status||a.license_key||(clearInterval(r),c("Licence key was already retrieved. Check your dashboard or try again."),s("error"))}catch{}},3e3),a=setTimeout(()=>{clearInterval(r),c('Checkout timed out. If you completed payment, use "I Have a Key" or contact support.'),s("error")},9e5);return()=>{clearInterval(r),clearTimeout(a)}},[t,n,e]),{state:t,error:a,startCheckout:l,reset:(0,r.useCallback)(()=>{s("idle"),c(null),i(null)},[])}}(),[i,l]=(0,r.useState)(""),[d,o]=(0,r.useState)("default"),[x,u]=(0,r.useState)(""),[m,p]=(0,r.useState)("pro"),[h,y]=(0,r.useState)(!1);if(s||!e)return(0,t.jsx)("div",{className:"bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded-xl p-4 mb-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(eu.Shield,{size:16,className:"text-[var(--sc-text-muted)]"}),(0,t.jsx)("span",{className:"text-xs text-[var(--sc-text-muted)] animate-pulse",children:"Loading licence..."})]})});let g=e.tier;if("free"===g)return(0,t.jsxs)("div",{className:"relative overflow-hidden rounded-xl mb-4 bg-gradient-to-br from-slate-900 via-[var(--sc-bg-surface)] to-cyan-950/30 border border-[var(--sc-cyan)]/30",children:[(0,t.jsx)("div",{className:"absolute top-0 right-0 w-32 h-32 bg-[var(--sc-cyan)]/5 rounded-full blur-2xl -translate-y-1/2 translate-x-1/2"}),(0,t.jsxs)("div",{className:"relative p-5",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsx)("div",{className:"flex items-center justify-center w-8 h-8 rounded-lg bg-[var(--sc-cyan)]/10 border border-[var(--sc-cyan)]/20",children:(0,t.jsx)(Z.Sparkles,{size:16,className:"text-[var(--sc-cyan)]"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold text-[var(--sc-text-primary)]",children:"Unlock Pro Features"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--sc-text-secondary)] mt-0.5",children:"Your defence pipeline is fully active. Upgrade for advanced controls."})]})]}),(0,t.jsx)("span",{className:"text-[10px] font-medium px-2 py-0.5 rounded-full bg-[var(--sc-bg-elevated)] text-[var(--sc-text-secondary)] border border-[var(--sc-border)]",children:"Free"})]}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-x-4 gap-y-1.5 mb-4",children:ej.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)(ev.Lock,{size:10,className:"text-[var(--sc-cyan)]/60 shrink-0"}),(0,t.jsx)("span",{className:"text-[var(--sc-text-secondary)]",children:e})]},e))}),"complete"===n.state?(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-[var(--sc-cyan)]/10 border border-[var(--sc-cyan)]/20 rounded-lg",children:[(0,t.jsx)(v.CheckCircle2,{size:16,className:"text-[var(--sc-cyan)] shrink-0"}),(0,t.jsx)("span",{className:"text-xs text-[var(--sc-cyan)]",children:"Pro activated! Your dashboard is refreshing..."})]}):"polling"===n.state||"activating"===n.state?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-[var(--sc-cyan)]/10 border border-[var(--sc-cyan)]/20 rounded-lg",children:[(0,t.jsx)(D.Loader2,{size:14,className:"text-[var(--sc-cyan)] animate-spin shrink-0"}),(0,t.jsx)("span",{className:"text-xs text-[var(--sc-cyan)]",children:"activating"===n.state?"Activating licence...":"Complete payment in the Stripe tab..."})]}),(0,t.jsx)("button",{onClick:()=>{n.reset(),o("default")},className:"text-[10px] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)] transition-colors",children:"Cancel"})]}):"checkout"===d?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[10px] text-[var(--sc-text-muted)] mb-1 block",children:"Email"}),(0,t.jsx)("input",{type:"email",placeholder:"you@company.com",value:x,onChange:e=>u(e.target.value),className:"w-full bg-[var(--sc-bg-elevated)] border border-[var(--sc-border)] rounded-lg px-3 py-2 text-xs text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus:outline-none focus:ring-1 focus:ring-[var(--sc-cyan)]",autoFocus:!0})]}),(0,t.jsx)("div",{className:"flex gap-2",children:["pro","team"].map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>p(e),className:`flex-1 px-3 py-2 text-xs font-medium rounded-lg border transition-colors ${m===e?"bg-[var(--sc-cyan)]/20 border-[var(--sc-cyan)]/50 text-[var(--sc-cyan)]":"bg-[var(--sc-bg-elevated)] border-[var(--sc-border)] text-[var(--sc-text-secondary)] hover:border-[var(--sc-border)]"}`,children:[R.PLAN_PRICING[e].label," — ",R.PLAN_PRICING[e].price]},e))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{onClick:()=>n.startCheckout(x,m),disabled:"submitting"===n.state||!x.trim(),className:"flex-1 inline-flex items-center justify-center gap-1.5 px-4 py-2 text-xs font-medium bg-[var(--sc-cyan)] hover:bg-[var(--sc-cyan-mid)] disabled:opacity-50 text-[var(--sc-text-primary)] rounded-lg transition-colors",children:"submitting"===n.state?(0,t.jsx)(D.Loader2,{size:12,className:"animate-spin"}):"Continue to Checkout"}),(0,t.jsx)("button",{onClick:()=>{o("default"),n.reset()},className:"px-3 py-2 text-xs text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)] transition-colors",children:"Back"})]}),n.error&&(0,t.jsx)("p",{className:"text-xs text-[var(--sc-coral)]",children:n.error})]}):"activate"===d?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),i.trim()&&a.mutate(i.trim(),{onSuccess:()=>{l(""),o("default")}})},className:"flex gap-2",children:[(0,t.jsx)("input",{type:"text",placeholder:"sc_pro_...",value:i,onChange:e=>l(e.target.value),className:"flex-1 bg-[var(--sc-bg-elevated)] border border-[var(--sc-border)] rounded-lg px-3 py-2 text-xs text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus:outline-none focus:ring-1 focus:ring-[var(--sc-cyan)]",autoFocus:!0}),(0,t.jsx)("button",{type:"submit",disabled:a.isPending||!i.trim(),className:"px-4 py-2 text-xs font-medium bg-[var(--sc-cyan)] hover:bg-[var(--sc-cyan-mid)] disabled:opacity-50 text-[var(--sc-text-primary)] rounded-lg transition-colors",children:a.isPending?(0,t.jsx)(D.Loader2,{size:12,className:"animate-spin"}):"Activate"}),(0,t.jsx)("button",{type:"button",onClick:()=>{o("default"),l(""),a.reset()},className:"px-3 py-2 text-xs text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)] transition-colors",children:"Back"})]}),a.isError&&(0,t.jsx)("p",{className:"text-xs text-[var(--sc-coral)]",children:a.error instanceof Error?a.error.message:"Activation failed"})]}):(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("button",{onClick:()=>o("checkout"),className:"inline-flex items-center gap-1.5 px-4 py-2 text-xs font-medium bg-[var(--sc-cyan)] hover:bg-[var(--sc-cyan-mid)] text-[var(--sc-text-primary)] rounded-lg transition-colors",children:"Upgrade to Pro"}),(0,t.jsxs)("button",{onClick:()=>o("activate"),className:"inline-flex items-center gap-1.5 px-4 py-2 text-xs font-medium bg-[var(--sc-bg-elevated)] hover:bg-[var(--sc-bg-elevated)] text-[var(--sc-text-primary)] rounded-lg transition-colors border border-[var(--sc-border)]",children:[(0,t.jsx)(em,{size:12}),"I Have a Key"]})]}),n.error&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-xs text-[var(--sc-coral)]",children:n.error}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{onClick:()=>{n.reset(),o("checkout")},className:"text-[10px] text-[var(--sc-cyan)] hover:text-[var(--sc-cyan)] transition-colors",children:"Try Again"}),(0,t.jsx)("span",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"·"}),(0,t.jsx)("button",{onClick:()=>{n.reset(),o("activate")},className:"text-[10px] text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)] transition-colors",children:"I Have a Key"})]})]})]})]})]});let b=e.features.filter(e=>e.enabled).length,j=e.features.length;return(0,t.jsxs)("div",{className:"bg-[var(--sc-bg-surface)] border border-[var(--sc-cyan)]/40 rounded-xl p-4 mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(eu.Shield,{size:16,className:R.TIER_COLOURS[g]}),(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Licence"}),(0,t.jsx)("span",{className:`text-[10px] font-semibold px-1.5 py-0.5 rounded ${R.TIER_COLOURS[g]} ${R.TIER_BG[g]}`,children:R.TIER_LABELS[g]})]}),(0,t.jsxs)("span",{className:"text-[10px] text-[var(--sc-text-muted)]",children:[b,"/",j," features"]})]}),(0,t.jsxs)("div",{className:"space-y-2 mb-3",children:[e.email&&(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,t.jsx)("span",{className:"text-[var(--sc-text-muted)]",children:"Email"}),(0,t.jsx)("span",{className:"text-[var(--sc-text-primary)]",children:e.email})]}),null!==e.daysUntilExpiry&&(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,t.jsx)("span",{className:"text-[var(--sc-text-muted)]",children:"Expires"}),(0,t.jsx)("span",{className:e.daysUntilExpiry<=7?"text-[var(--sc-amber)]":"text-[var(--sc-text-primary)]",children:e.daysUntilExpiry<=0?"Expired (grace period)":`${e.daysUntilExpiry} days`})]})]}),(0,t.jsxs)("button",{onClick:()=>y(!h),className:"flex items-center gap-1 text-[10px] text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)] transition-colors mb-2",children:[h?(0,t.jsx)(ey,{size:12}):(0,t.jsx)(eh,{size:12}),h?"Hide features":"Show features"]}),h&&(0,t.jsx)("div",{className:"space-y-1.5 mb-3",children:e.features.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[e.enabled?(0,t.jsx)(v.CheckCircle2,{size:12,className:"text-[var(--sc-cyan)] shrink-0"}):(0,t.jsx)(ep.XCircle,{size:12,className:"text-[var(--sc-text-muted)] shrink-0"}),(0,t.jsx)("span",{className:e.enabled?"text-[var(--sc-text-primary)]":"text-[var(--sc-text-muted)]",children:e.description.split(".")[0]}),!e.enabled&&(0,t.jsx)("span",{className:`text-[9px] px-1 py-0.5 rounded ${R.TIER_COLOURS[e.requiredTier]} ${R.TIER_BG[e.requiredTier]}`,children:R.TIER_LABELS[e.requiredTier]})]},e.feature))}),(0,t.jsx)("button",{onClick:()=>{confirm(`Remove your ${R.TIER_LABELS[g]} licence key? You will lose access to paid features.`)&&c.mutate()},disabled:c.isPending,className:"text-[10px] text-[var(--sc-text-muted)] hover:text-[var(--sc-coral)] transition-colors",children:"Deactivate"})]})}var eN=e.i(87927);function ew(){let e=(0,s.useSearchParams)().get("tab"),a=e&&["cloud","integrations","licence","admin"].includes(e)?e:null,[c,p]=(0,r.useState)("cloud"),v=a??c,{data:h}=(0,P.useLicenseStatus)(),[y,g]=(0,r.useState)(()=>(0,eN.loadIntensity)()),b=[{id:"cloud",label:"Cloud Sync",icon:(0,t.jsx)(n,{size:14})},{id:"integrations",label:"Integrations",icon:(0,t.jsx)(l,{size:14})},{id:"licence",label:"Licence",icon:(0,t.jsx)(i,{size:14})},{id:"admin",label:"Admin",icon:(0,t.jsx)(d.Settings,{size:14})}];return(0,t.jsx)("div",{className:"h-full overflow-y-auto",children:(0,t.jsxs)("div",{className:"mx-auto max-w-7xl space-y-6 p-6",children:[(0,t.jsx)(o.PageHeader,{eyebrow:"Configuration",title:"Settings",subtitle:"Cloud sync, licence management, and system configuration.",tabs:b,activeTab:v,onTabChange:e=>p(e),actions:(0,t.jsx)(u.Badge,{variant:h?.tier==="pro"?"cyan":h?.tier==="team"?"coral":"muted",children:R.TIER_LABELS[h?.tier??"free"]})}),(0,t.jsxs)("div",{children:["cloud"===v&&(0,t.jsx)(U,{}),"integrations"===v&&(0,t.jsx)(X,{}),"licence"===v&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(ef,{}),(0,t.jsxs)(x.GlassCard,{className:"p-6",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Upgrade"}),(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--sc-text-secondary)]",children:"Pro unlocks deep X-Ray scanning, custom firewall rules, custom Iron Dome policies, audit exports, and more. Team adds cloud sync and team management."}),(0,t.jsx)("div",{className:"mt-4 flex gap-3",children:(0,t.jsx)("a",{href:"https://shieldcortex.ai/pricing",target:"_blank",rel:"noopener noreferrer",children:(0,t.jsx)(m.Button,{variant:"coral",glow:!0,children:"View pricing"})})})]})]}),"admin"===v&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(es,{}),(0,t.jsx)(el,{}),(0,t.jsx)(ex,{}),(0,t.jsxs)(x.GlassCard,{className:"p-6",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"Graph Motion"}),(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--sc-text-secondary)]",children:"How lively the knowledge graph feels. Per-browser."}),(0,t.jsx)("div",{role:"radiogroup","aria-label":"Graph motion intensity",className:"mt-4 flex gap-2",children:["subtle","moderate","strong"].map(e=>(0,t.jsxs)("label",{className:`flex flex-1 cursor-pointer items-center gap-2 rounded-lg border px-4 py-3 transition-colors ${y===e?"border-[var(--sc-accent-cyan)] bg-[var(--sc-bg-elevated)]":"border-transparent bg-[var(--sc-bg-elevated)] hover:border-[var(--sc-border-subtle)]"}`,children:[(0,t.jsx)("input",{type:"radio",name:"graph-intensity",value:e,checked:y===e,onChange:()=>{g(e),(0,eN.saveIntensity)(e)},className:"accent-[var(--sc-accent-cyan)]"}),(0,t.jsx)("span",{className:"text-sm text-[var(--sc-text-primary)]",children:e[0].toUpperCase()+e.slice(1)})]},e))})]}),(0,t.jsxs)(x.GlassCard,{className:"p-6",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-[var(--sc-text-primary)]",children:"System Information"}),(0,t.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-4 py-3",children:[(0,t.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"Dashboard"}),(0,t.jsx)("span",{className:"font-mono text-sm text-[var(--sc-text-primary)]",children:"localhost:3030"})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-4 py-3",children:[(0,t.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"API Server"}),(0,t.jsx)("span",{className:"font-mono text-sm text-[var(--sc-text-primary)]",children:"localhost:3001"})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-4 py-3",children:[(0,t.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"Database"}),(0,t.jsx)("span",{className:"font-mono text-sm text-[var(--sc-text-primary)]",children:"~/.shieldcortex/memories.db"})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-lg bg-[var(--sc-bg-elevated)] px-4 py-3",children:[(0,t.jsx)("span",{className:"text-sm text-[var(--sc-text-secondary)]",children:"Licence Tier"}),(0,t.jsx)(u.Badge,{variant:h?.tier==="pro"?"cyan":h?.tier==="team"?"coral":"muted",children:R.TIER_LABELS[h?.tier??"free"]})]})]})]})]})]})]})})}function ek(){return(0,t.jsx)(r.Suspense,{fallback:(0,t.jsx)(a.PageSkeleton,{}),children:(0,t.jsx)(ew,{})})}e.s(["SettingsView",()=>ek],42424)}]);