shieldcortex 4.4.1 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (590) hide show
  1. package/README.md +23 -11
  2. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
  3. package/dashboard/.next/standalone/dashboard/.next/app-path-routes-manifest.json +19 -0
  4. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +8 -6
  5. package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +459 -3
  6. package/dashboard/.next/standalone/dashboard/.next/routes-manifest.json +114 -0
  7. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page/app-paths-manifest.json +3 -0
  8. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page/build-manifest.json +18 -0
  9. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page/next-font-manifest.json +11 -0
  10. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page/react-loadable-manifest.json +1 -0
  11. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page/server-reference-manifest.json +4 -0
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js +19 -0
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js.map +5 -0
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js.nft.json +1 -0
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page_client-reference-manifest.js +2 -0
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page/app-paths-manifest.json +3 -0
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page/build-manifest.json +18 -0
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page/next-font-manifest.json +11 -0
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page/react-loadable-manifest.json +1 -0
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page/server-reference-manifest.json +4 -0
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page.js +19 -0
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page.js.map +5 -0
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page.js.nft.json +1 -0
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page_client-reference-manifest.js +2 -0
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page/app-paths-manifest.json +3 -0
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page/build-manifest.json +18 -0
  27. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page/next-font-manifest.json +11 -0
  28. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page/react-loadable-manifest.json +1 -0
  29. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page/server-reference-manifest.json +4 -0
  30. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page.js +19 -0
  31. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page.js.map +5 -0
  32. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page.js.nft.json +1 -0
  33. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page_client-reference-manifest.js +2 -0
  34. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page/app-paths-manifest.json +3 -0
  35. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page/build-manifest.json +18 -0
  36. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page/next-font-manifest.json +11 -0
  37. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page/react-loadable-manifest.json +1 -0
  38. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page/server-reference-manifest.json +4 -0
  39. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page.js +19 -0
  40. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page.js.map +5 -0
  41. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page.js.nft.json +1 -0
  42. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page_client-reference-manifest.js +2 -0
  43. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page/app-paths-manifest.json +3 -0
  44. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page/build-manifest.json +18 -0
  45. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page/next-font-manifest.json +11 -0
  46. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page/react-loadable-manifest.json +8 -0
  47. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page/server-reference-manifest.json +4 -0
  48. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page.js +18 -0
  49. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page.js.map +5 -0
  50. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -0
  51. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +2 -0
  52. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page/app-paths-manifest.json +3 -0
  53. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page/build-manifest.json +18 -0
  54. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page/next-font-manifest.json +11 -0
  55. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page/react-loadable-manifest.json +1 -0
  56. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page/server-reference-manifest.json +4 -0
  57. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page.js +19 -0
  58. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page.js.map +5 -0
  59. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page.js.nft.json +1 -0
  60. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page_client-reference-manifest.js +2 -0
  61. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page/app-paths-manifest.json +3 -0
  62. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page/build-manifest.json +18 -0
  63. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page/next-font-manifest.json +11 -0
  64. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page/react-loadable-manifest.json +1 -0
  65. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page/server-reference-manifest.json +4 -0
  66. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page.js +19 -0
  67. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page.js.map +5 -0
  68. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page.js.nft.json +1 -0
  69. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page_client-reference-manifest.js +2 -0
  70. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page/app-paths-manifest.json +3 -0
  71. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page/build-manifest.json +18 -0
  72. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page/next-font-manifest.json +11 -0
  73. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page/react-loadable-manifest.json +1 -0
  74. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page/server-reference-manifest.json +4 -0
  75. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page.js +19 -0
  76. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page.js.map +5 -0
  77. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page.js.nft.json +1 -0
  78. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page_client-reference-manifest.js +2 -0
  79. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page/app-paths-manifest.json +3 -0
  80. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page/build-manifest.json +18 -0
  81. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page/next-font-manifest.json +11 -0
  82. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page/react-loadable-manifest.json +1 -0
  83. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page/server-reference-manifest.json +4 -0
  84. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page.js +18 -0
  85. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page.js.map +5 -0
  86. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page.js.nft.json +1 -0
  87. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page_client-reference-manifest.js +2 -0
  88. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page/app-paths-manifest.json +3 -0
  89. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page/build-manifest.json +18 -0
  90. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page/next-font-manifest.json +11 -0
  91. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page/react-loadable-manifest.json +1 -0
  92. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page/server-reference-manifest.json +4 -0
  93. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page.js +19 -0
  94. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page.js.map +5 -0
  95. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page.js.nft.json +1 -0
  96. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page_client-reference-manifest.js +2 -0
  97. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page/app-paths-manifest.json +3 -0
  98. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page/build-manifest.json +18 -0
  99. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page/next-font-manifest.json +11 -0
  100. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page/react-loadable-manifest.json +1 -0
  101. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page/server-reference-manifest.json +4 -0
  102. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page.js +19 -0
  103. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page.js.map +5 -0
  104. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page.js.nft.json +1 -0
  105. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page_client-reference-manifest.js +2 -0
  106. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page/app-paths-manifest.json +3 -0
  107. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page/build-manifest.json +18 -0
  108. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page/next-font-manifest.json +11 -0
  109. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page/react-loadable-manifest.json +1 -0
  110. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page/server-reference-manifest.json +4 -0
  111. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page.js +19 -0
  112. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page.js.map +5 -0
  113. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page.js.nft.json +1 -0
  114. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page_client-reference-manifest.js +2 -0
  115. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page/app-paths-manifest.json +3 -0
  116. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page/build-manifest.json +18 -0
  117. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page/next-font-manifest.json +11 -0
  118. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page/react-loadable-manifest.json +1 -0
  119. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page/server-reference-manifest.json +4 -0
  120. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page.js +18 -0
  121. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page.js.map +5 -0
  122. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page.js.nft.json +1 -0
  123. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page_client-reference-manifest.js +2 -0
  124. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page/app-paths-manifest.json +3 -0
  125. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page/build-manifest.json +18 -0
  126. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page/next-font-manifest.json +11 -0
  127. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page/react-loadable-manifest.json +1 -0
  128. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page/server-reference-manifest.json +4 -0
  129. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page.js +19 -0
  130. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page.js.map +5 -0
  131. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page.js.nft.json +1 -0
  132. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page_client-reference-manifest.js +2 -0
  133. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page/app-paths-manifest.json +3 -0
  134. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page/build-manifest.json +18 -0
  135. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page/next-font-manifest.json +11 -0
  136. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page/react-loadable-manifest.json +1 -0
  137. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page/server-reference-manifest.json +4 -0
  138. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page.js +19 -0
  139. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page.js.map +5 -0
  140. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page.js.nft.json +1 -0
  141. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page_client-reference-manifest.js +2 -0
  142. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page/app-paths-manifest.json +3 -0
  143. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page/build-manifest.json +18 -0
  144. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page/next-font-manifest.json +11 -0
  145. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +1 -0
  146. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page/server-reference-manifest.json +4 -0
  147. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page.js +18 -0
  148. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page.js.map +5 -0
  149. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -0
  150. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +2 -0
  151. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page/app-paths-manifest.json +3 -0
  152. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page/build-manifest.json +18 -0
  153. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page/next-font-manifest.json +11 -0
  154. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page/react-loadable-manifest.json +1 -0
  155. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page/server-reference-manifest.json +4 -0
  156. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page.js +19 -0
  157. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page.js.map +5 -0
  158. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page.js.nft.json +1 -0
  159. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page_client-reference-manifest.js +2 -0
  160. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page/app-paths-manifest.json +3 -0
  161. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page/build-manifest.json +18 -0
  162. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page/next-font-manifest.json +11 -0
  163. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page/react-loadable-manifest.json +1 -0
  164. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page/server-reference-manifest.json +4 -0
  165. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page.js +19 -0
  166. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page.js.map +5 -0
  167. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page.js.nft.json +1 -0
  168. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page_client-reference-manifest.js +2 -0
  169. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page/app-paths-manifest.json +3 -0
  170. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page/build-manifest.json +18 -0
  171. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page/next-font-manifest.json +11 -0
  172. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page/react-loadable-manifest.json +1 -0
  173. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page/server-reference-manifest.json +4 -0
  174. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page.js +18 -0
  175. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page.js.map +5 -0
  176. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page.js.nft.json +1 -0
  177. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page_client-reference-manifest.js +2 -0
  178. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page/build-manifest.json +6 -4
  179. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page.js +1 -1
  180. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page.js.nft.json +1 -1
  181. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  182. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
  183. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +7 -7
  184. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  185. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  186. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  187. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  188. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  189. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page/build-manifest.json +6 -4
  190. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js +2 -2
  191. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
  192. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  193. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
  194. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +10 -11
  195. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +10 -11
  196. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  197. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +6 -7
  198. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  199. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  200. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -3
  201. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -0
  202. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.meta +18 -0
  203. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +21 -0
  204. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin/__PAGE__.segment.rsc +6 -0
  205. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin.segment.rsc +4 -0
  206. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  207. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +21 -0
  208. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_head.segment.rsc +5 -0
  209. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_index.segment.rsc +7 -0
  210. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +4 -0
  211. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -0
  212. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.meta +18 -0
  213. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +21 -0
  214. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud/__PAGE__.segment.rsc +6 -0
  215. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud.segment.rsc +4 -0
  216. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  217. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +21 -0
  218. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_head.segment.rsc +5 -0
  219. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_index.segment.rsc +7 -0
  220. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +4 -0
  221. package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
  222. package/dashboard/.next/standalone/dashboard/.next/server/app/index.meta +2 -0
  223. package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +15 -19
  224. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -8
  225. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +15 -19
  226. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +3 -3
  227. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +6 -7
  228. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -3
  229. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -0
  230. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.meta +19 -0
  231. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +21 -0
  232. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +6 -0
  233. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture.segment.rsc +4 -0
  234. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +4 -0
  235. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  236. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +21 -0
  237. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_head.segment.rsc +5 -0
  238. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_index.segment.rsc +7 -0
  239. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +4 -0
  240. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -0
  241. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.meta +19 -0
  242. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +21 -0
  243. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph/__PAGE__.segment.rsc +6 -0
  244. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph.segment.rsc +4 -0
  245. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +4 -0
  246. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  247. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +21 -0
  248. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_head.segment.rsc +5 -0
  249. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_index.segment.rsc +7 -0
  250. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +4 -0
  251. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -0
  252. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.meta +19 -0
  253. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +21 -0
  254. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall/__PAGE__.segment.rsc +6 -0
  255. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall.segment.rsc +4 -0
  256. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +4 -0
  257. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  258. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +21 -0
  259. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_head.segment.rsc +5 -0
  260. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_index.segment.rsc +7 -0
  261. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +4 -0
  262. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -0
  263. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.meta +19 -0
  264. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +21 -0
  265. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review/__PAGE__.segment.rsc +6 -0
  266. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review.segment.rsc +4 -0
  267. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +4 -0
  268. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  269. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +21 -0
  270. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +5 -0
  271. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +7 -0
  272. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +4 -0
  273. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -0
  274. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.meta +19 -0
  275. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +21 -0
  276. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline/__PAGE__.segment.rsc +6 -0
  277. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline.segment.rsc +4 -0
  278. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +4 -0
  279. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  280. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +21 -0
  281. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +5 -0
  282. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +7 -0
  283. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +4 -0
  284. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +1 -0
  285. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.meta +16 -0
  286. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +24 -0
  287. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +9 -0
  288. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +4 -0
  289. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  290. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +24 -0
  291. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +5 -0
  292. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +7 -0
  293. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +4 -0
  294. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +1 -0
  295. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.meta +16 -0
  296. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +24 -0
  297. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +9 -0
  298. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +4 -0
  299. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  300. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +24 -0
  301. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +5 -0
  302. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +7 -0
  303. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +4 -0
  304. package/dashboard/.next/standalone/dashboard/.next/server/app/page/build-manifest.json +6 -4
  305. package/dashboard/.next/standalone/dashboard/.next/server/app/page/react-loadable-manifest.json +1 -15
  306. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js +4 -3
  307. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js.nft.json +1 -1
  308. package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  309. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -0
  310. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.meta +19 -0
  311. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +21 -0
  312. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit/__PAGE__.segment.rsc +6 -0
  313. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit.segment.rsc +4 -0
  314. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +4 -0
  315. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  316. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +21 -0
  317. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +5 -0
  318. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +7 -0
  319. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +4 -0
  320. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -0
  321. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.meta +19 -0
  322. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +21 -0
  323. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts/__PAGE__.segment.rsc +6 -0
  324. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts.segment.rsc +4 -0
  325. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +4 -0
  326. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  327. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +21 -0
  328. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +5 -0
  329. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +7 -0
  330. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +4 -0
  331. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -0
  332. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.meta +19 -0
  333. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +21 -0
  334. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome/__PAGE__.segment.rsc +6 -0
  335. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome.segment.rsc +4 -0
  336. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +4 -0
  337. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  338. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +21 -0
  339. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +5 -0
  340. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +7 -0
  341. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +4 -0
  342. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -0
  343. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.meta +19 -0
  344. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +21 -0
  345. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies/__PAGE__.segment.rsc +6 -0
  346. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies.segment.rsc +4 -0
  347. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +4 -0
  348. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  349. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +21 -0
  350. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +5 -0
  351. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +7 -0
  352. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +4 -0
  353. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -0
  354. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.meta +19 -0
  355. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +21 -0
  356. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine/__PAGE__.segment.rsc +6 -0
  357. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine.segment.rsc +4 -0
  358. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +4 -0
  359. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  360. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +21 -0
  361. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +5 -0
  362. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +7 -0
  363. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +4 -0
  364. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +1 -0
  365. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.meta +16 -0
  366. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +21 -0
  367. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +6 -0
  368. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +4 -0
  369. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  370. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +21 -0
  371. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +5 -0
  372. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +7 -0
  373. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +4 -0
  374. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +1 -0
  375. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.meta +16 -0
  376. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +21 -0
  377. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +6 -0
  378. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +4 -0
  379. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  380. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +21 -0
  381. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +5 -0
  382. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +7 -0
  383. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +4 -0
  384. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -0
  385. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.meta +19 -0
  386. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +21 -0
  387. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray/__PAGE__.segment.rsc +6 -0
  388. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray.segment.rsc +4 -0
  389. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +4 -0
  390. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  391. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +21 -0
  392. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +5 -0
  393. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +7 -0
  394. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +4 -0
  395. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -0
  396. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.meta +18 -0
  397. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +21 -0
  398. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain/__PAGE__.segment.rsc +6 -0
  399. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +4 -0
  400. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  401. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +21 -0
  402. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +5 -0
  403. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +7 -0
  404. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +4 -0
  405. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +1 -0
  406. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.meta +16 -0
  407. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +21 -0
  408. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +6 -0
  409. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray.segment.rsc +4 -0
  410. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  411. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +21 -0
  412. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +5 -0
  413. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +7 -0
  414. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +4 -0
  415. package/dashboard/.next/standalone/dashboard/.next/server/app-paths-manifest.json +19 -0
  416. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_memory_capture_page_actions_63edc13b.js +3 -0
  417. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_memory_graph_page_actions_dbea2941.js +3 -0
  418. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_memory_recall_page_actions_862f5d2a.js +3 -0
  419. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_memory_review_page_actions_a92d5b10.js +3 -0
  420. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_memory_timeline_page_actions_ca9ce9e1.js +3 -0
  421. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_protection_audit_page_actions_f7691378.js +3 -0
  422. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_protection_policies_page_actions_cf89da5c.js +3 -0
  423. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_supply-chain_page_actions_dde2608a.js +3 -0
  424. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_supply-chain_xray_page_actions_25d3be0c.js +3 -0
  425. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/87dda_server_app_(dashboard)_protection_intercepts_page_actions_6ddf5b47.js +3 -0
  426. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/87dda_server_app_(dashboard)_protection_quarantine_page_actions_6f4f062b.js +3 -0
  427. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_c9fe89e1._.js +6 -0
  428. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_dist_0984e28b._.js +6 -0
  429. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_dist_d7bbb1c6._.js +3 -0
  430. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_dist_esm_8b94d72c._.js +6 -0
  431. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_dist_esm_build_templates_app-page_f7d4354e.js +1 -1
  432. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_dist_fe6a9400._.js +1 -1
  433. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_sonner_dist_index_mjs_8c2eff75._.js +3 -0
  434. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__453bd501._.js +3 -0
  435. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__4b8693ea._.js +3 -0
  436. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__5304568b._.js +3 -0
  437. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__883523b7._.js +3 -3
  438. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__b789489c._.js +3 -0
  439. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__c95102dd._.js +1 -1
  440. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__fb5796ae._.js +3 -0
  441. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/acce3_next-internal_server_app_(dashboard)_protection_iron-dome_page_actions_0aea67c8.js +3 -0
  442. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_024efb58._.js +4 -0
  443. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_0734b815._.js +3 -0
  444. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_0934dafc._.js +3 -0
  445. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_0d9fbcc0._.js +4 -0
  446. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_0e714544._.js +3 -0
  447. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_f4cc9ff7._.js → dashboard_18059cf9._.js} +2 -2
  448. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_1bfd1423._.js +3 -0
  449. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_21edaee1._.js +3 -0
  450. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_254480da._.js +3 -0
  451. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_25af784d._.js +3 -0
  452. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_2ae2cdd9._.js +4 -0
  453. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_2f2b5522._.js +4 -0
  454. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_315f952f._.js +4 -0
  455. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_341cc376._.js +4 -0
  456. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_354daf70._.js +3 -0
  457. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_42c76551._.js +4 -0
  458. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_537e8679._.js +3 -0
  459. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_5a44c25a._.js +4 -0
  460. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_5b25ee34._.js +3 -0
  461. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_5ebb1380._.js +3 -0
  462. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_62f8f1fa._.js +3 -0
  463. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_65d138f7._.js +4 -0
  464. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_71fe2c0e._.js +4 -0
  465. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_7cf5447f._.js +4 -0
  466. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_80a74456._.js +3 -0
  467. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_8481163e._.js +3 -0
  468. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_86b2b751._.js +3 -0
  469. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_8c581cd9._.js +3 -0
  470. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_91d25d41._.js +3 -0
  471. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_992cf6c5._.js +3 -0
  472. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_9f4c00b5._.js +4 -0
  473. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_(dashboard)_admin_page_actions_f99f8aba.js +3 -0
  474. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_(dashboard)_cloud_page_actions_5ff04aeb.js +3 -0
  475. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_(dashboard)_memory_page_actions_4529165f.js +3 -0
  476. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_(dashboard)_overview_page_actions_4a244b02.js +3 -0
  477. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_(dashboard)_protection_page_actions_4229fd3d.js +3 -0
  478. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_(dashboard)_settings_page_actions_aa1f9866.js +3 -0
  479. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_(dashboard)_xray_page_actions_c6ca6ce9.js +3 -0
  480. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_a0a7f554._.js +4 -0
  481. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_a3053031._.js +3 -0
  482. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_a38f5767._.js +3 -0
  483. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_a3cc94bf._.js +4 -0
  484. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_b1850b4f._.js +3 -0
  485. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_b4e15446._.js +4 -0
  486. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_bc44a6f5._.js +4 -0
  487. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_c06ef3e8._.js +3 -0
  488. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_c219bf07._.js +11 -0
  489. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_cb692f5d._.js +4 -0
  490. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_ccbe7478._.js +3 -0
  491. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_d2ab3dee._.js +3 -0
  492. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_d5fc66fc._.js +3 -0
  493. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_dd1ddeb1._.js +3 -0
  494. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_1cd9d700._.js → dashboard_dd70a70e._.js} +2 -2
  495. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_ebc28872._.js +3 -0
  496. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_f6813b70._.js +3 -0
  497. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_f89c6dde._.js +4 -0
  498. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_fa4d9b7f._.js +4 -0
  499. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_fb667e64._.js +3 -0
  500. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_29acd7a4._.js +3 -0
  501. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_error_tsx_2301e8fd._.js +3 -0
  502. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_protection_ProtectionOverview_tsx_54554a97._.js +3 -0
  503. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_settings_SettingsView_tsx_16dc83a7._.js +3 -0
  504. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_xray_XRayOverview_tsx_ceba698e._.js +3 -0
  505. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_lib_3f1490a1._.js +3 -0
  506. package/dashboard/.next/standalone/dashboard/.next/server/middleware-build-manifest.js +6 -4
  507. package/dashboard/.next/standalone/dashboard/.next/server/next-font-manifest.js +1 -1
  508. package/dashboard/.next/standalone/dashboard/.next/server/next-font-manifest.json +76 -0
  509. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
  510. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  511. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.js +1 -1
  512. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.json +1 -1
  513. package/dashboard/.next/standalone/dashboard/.next/static/chunks/102f894cc892994d.js +1 -0
  514. package/dashboard/.next/standalone/dashboard/.next/static/chunks/1482af194911d5e7.js +1 -0
  515. package/dashboard/.next/standalone/dashboard/.next/static/chunks/2c2a280eeaed7ed2.js +1 -0
  516. package/dashboard/.next/standalone/dashboard/.next/static/chunks/302ad459a0e5c4ba.js +1 -0
  517. package/dashboard/.next/standalone/dashboard/.next/static/chunks/344b86872b9c4525.js +9 -0
  518. package/dashboard/.next/standalone/dashboard/.next/static/chunks/364656baa57adaa7.js +1 -0
  519. package/dashboard/.next/standalone/dashboard/.next/static/chunks/417032eeb2cd875f.js +1 -0
  520. package/dashboard/.next/standalone/dashboard/.next/static/chunks/43d761df92da7cb6.js +1 -0
  521. package/dashboard/.next/standalone/dashboard/.next/static/chunks/4ddb24d8ce3b8617.js +1 -0
  522. package/dashboard/.next/standalone/dashboard/.next/static/chunks/5274a6127d41c42c.js +1 -0
  523. package/dashboard/.next/standalone/dashboard/.next/static/chunks/52843253e4b833a5.js +1 -0
  524. package/dashboard/.next/standalone/dashboard/.next/static/chunks/{e007ff86847a4042.js → 8a5b61fd5e1bbcfa.js} +1 -1
  525. package/dashboard/.next/standalone/dashboard/.next/static/chunks/8eaf3adbd52b96d5.css +3 -0
  526. package/dashboard/.next/standalone/dashboard/.next/static/chunks/927fe0465516b94a.js +1 -0
  527. package/dashboard/.next/standalone/dashboard/.next/static/chunks/99a618b860658c5c.js +1 -0
  528. package/dashboard/.next/standalone/dashboard/.next/static/chunks/9e56d1f8f4d7adcb.js +4 -0
  529. package/dashboard/.next/standalone/dashboard/.next/static/chunks/a18776eadc9ef21a.js +1 -0
  530. package/dashboard/.next/standalone/dashboard/.next/static/chunks/abc5967c868b0fe9.js +1 -0
  531. package/dashboard/.next/standalone/dashboard/.next/static/chunks/b31e08a78b0cb6fb.js +1 -0
  532. package/dashboard/.next/standalone/dashboard/.next/static/chunks/b4b3fb5729bead7e.js +1 -0
  533. package/dashboard/.next/standalone/dashboard/.next/static/chunks/c2ccb1c0ed7b2af2.js +1 -0
  534. package/dashboard/.next/standalone/dashboard/.next/static/chunks/cbc2e6ffcad6e91c.js +1 -0
  535. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d2f861595d6a41df.js +1 -0
  536. package/dashboard/.next/standalone/dashboard/.next/static/chunks/{215ce64499260c25.js → d334b69bff7779be.js} +1 -1
  537. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d878b929b21636c4.js +1 -0
  538. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d9ad4c35fc865415.js +1 -0
  539. package/dashboard/.next/standalone/dashboard/.next/static/chunks/e281719dbabcca1d.js +2 -0
  540. package/dashboard/.next/standalone/dashboard/.next/static/chunks/turbopack-79214717b23f7452.js +4 -0
  541. package/dashboard/.next/standalone/dashboard/package.json +1 -0
  542. package/dist/api/events.d.ts +1 -1
  543. package/dist/api/routes/admin.js +101 -7
  544. package/dist/api/routes/graph.js +3 -2
  545. package/dist/api/routes/memories.js +24 -5
  546. package/dist/api/routes/system.js +11 -1
  547. package/dist/api/routes/xray-findings.d.ts +4 -0
  548. package/dist/api/routes/xray-findings.js +57 -0
  549. package/dist/api/routes/xray.d.ts +4 -0
  550. package/dist/api/routes/xray.js +358 -0
  551. package/dist/api/visualization-server.js +23 -1
  552. package/dist/xray/activity.d.ts +87 -0
  553. package/dist/xray/activity.js +256 -0
  554. package/dist/xray/dir-scanner.js +48 -2
  555. package/dist/xray/file-scanner.js +42 -19
  556. package/dist/xray/findings-store.d.ts +56 -0
  557. package/dist/xray/findings-store.js +173 -0
  558. package/dist/xray/guidance.d.ts +26 -0
  559. package/dist/xray/guidance.js +180 -0
  560. package/dist/xray/index.js +21 -0
  561. package/dist/xray/preinstall.js +79 -0
  562. package/dist/xray/types.d.ts +19 -0
  563. package/dist/xray/watch.js +83 -5
  564. package/package.json +1 -1
  565. package/plugins/openclaw/dist/openclaw.plugin.json +1 -1
  566. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_dist_e83b0b39._.js +0 -6
  567. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__1837adce._.js +0 -3
  568. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__3b976911._.js +0 -3
  569. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__536fb178._.js +0 -3
  570. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__dd62b66f._.js +0 -3
  571. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__e7b9112f._.js +0 -3
  572. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_19978329._.js +0 -3
  573. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_3051539d._.js +0 -11
  574. package/dashboard/.next/standalone/dashboard/.next/static/chunks/2473c16c0c2f6b5f.css +0 -2
  575. package/dashboard/.next/standalone/dashboard/.next/static/chunks/3c430292ca8ddc5f.css +0 -1
  576. package/dashboard/.next/standalone/dashboard/.next/static/chunks/4c20fb97ba4556e7.js +0 -1
  577. package/dashboard/.next/standalone/dashboard/.next/static/chunks/64ee9622541d967c.js +0 -1
  578. package/dashboard/.next/standalone/dashboard/.next/static/chunks/6ba7a5c1a80a6791.js +0 -1
  579. package/dashboard/.next/standalone/dashboard/.next/static/chunks/7d08316952ccdcef.js +0 -5
  580. package/dashboard/.next/standalone/dashboard/.next/static/chunks/a2549232b06fdb76.js +0 -842
  581. package/dashboard/.next/standalone/dashboard/.next/static/chunks/b3ac7aa47461e043.js +0 -3
  582. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d3d8171bf50ef87e.js +0 -1
  583. package/dashboard/.next/standalone/dashboard/.next/static/chunks/da64d159c042f5ae.js +0 -1
  584. package/dashboard/.next/standalone/dashboard/.next/static/chunks/e8456c3e5fe1c1d8.js +0 -1
  585. package/dashboard/.next/standalone/dashboard/.next/static/chunks/ec55aacd8af83909.js +0 -1
  586. package/dashboard/.next/standalone/dashboard/.next/static/chunks/f772b169c536121a.js +0 -9
  587. package/dashboard/.next/standalone/dashboard/.next/static/chunks/turbopack-c2d84e7d37269ac1.js +0 -4
  588. /package/dashboard/.next/standalone/dashboard/.next/static/{iirFNn01-fptKDNjFObe- → jgtHmh7zpEVcqlYNM0gvu}/_buildManifest.js +0 -0
  589. /package/dashboard/.next/standalone/dashboard/.next/static/{iirFNn01-fptKDNjFObe- → jgtHmh7zpEVcqlYNM0gvu}/_clientMiddlewareManifest.json +0 -0
  590. /package/dashboard/.next/standalone/dashboard/.next/static/{iirFNn01-fptKDNjFObe- → jgtHmh7zpEVcqlYNM0gvu}/_ssgManifest.js +0 -0
@@ -0,0 +1,180 @@
1
+ /**
2
+ * X-Ray Finding Guidance
3
+ *
4
+ * Human-readable explanations for each finding category.
5
+ * Tells users what a finding means, what to do about it,
6
+ * and whether it's likely a false positive.
7
+ */
8
+ const GUIDANCE = {
9
+ 'prompt-injection': {
10
+ default: {
11
+ whatItMeans: 'This file contains text that looks like it\'s trying to override AI instructions — phrases like "ignore previous instructions" or "you are now in developer mode". If an AI agent reads this file, it could be tricked into doing something unintended.',
12
+ whatToDo: 'If this is a file you wrote or trust, it\'s probably fine (security research, test fixtures, documentation about prompt injection). If it came from an untrusted source — an npm package, a downloaded file, a PR from someone you don\'t know — quarantine it and investigate.',
13
+ falsePositiveNote: 'Common in security research files, AI safety documentation, and test fixtures that deliberately contain injection examples.',
14
+ urgency: 'investigate',
15
+ },
16
+ bySeverity: {
17
+ critical: { urgency: 'act-now', whatToDo: 'This contains strong injection patterns. Quarantine immediately if the source is untrusted. Do not let AI agents process this file until you\'ve reviewed it.' },
18
+ },
19
+ },
20
+ 'eval-exec': {
21
+ default: {
22
+ whatItMeans: 'This file uses dynamic code execution — things like eval(), new Function(), or vm.runInContext(). These can run arbitrary code at runtime, which is how many supply chain attacks work.',
23
+ whatToDo: 'If this is your own code or a well-known library, it\'s likely intentional (bundlers, template engines, and test frameworks use eval legitimately). If it\'s in an unfamiliar dependency, investigate why it needs to execute code dynamically.',
24
+ falsePositiveNote: 'Very common in bundlers (webpack, esbuild), template engines (EJS, Handlebars), and testing frameworks. Also appears in legitimate serialisation libraries.',
25
+ urgency: 'investigate',
26
+ },
27
+ },
28
+ 'shell-execution': {
29
+ default: {
30
+ whatItMeans: 'This file runs shell commands using child_process, exec, or spawn. It can execute anything your terminal can — install software, delete files, or send data to external servers.',
31
+ whatToDo: 'If this is a build tool, CLI utility, or dev script you recognise, it\'s expected. If it\'s inside an npm package you didn\'t write, check exactly what commands it runs. Packages should not need shell access at runtime.',
32
+ falsePositiveNote: 'Normal in CLI tools, build scripts, and developer utilities. Suspicious in libraries that claim to be pure JavaScript (e.g. a "string formatting" package that spawns shells).',
33
+ urgency: 'investigate',
34
+ },
35
+ bySeverity: {
36
+ critical: { urgency: 'act-now', whatToDo: 'Shell execution in a context where it shouldn\'t be needed. Review the exact commands being run. If this is an npm package, check if the commands make sense for what the package claims to do.' },
37
+ },
38
+ },
39
+ 'network-beacon': {
40
+ default: {
41
+ whatItMeans: 'This file makes network requests (fetch, http.get, XMLHttpRequest) at load time — not when called by your code, but as soon as the file is imported. This is how data exfiltration works: the package phones home the moment it\'s installed.',
42
+ whatToDo: 'If this is an analytics SDK, telemetry module, or API client, it may be intentional. If it\'s a utility library that shouldn\'t need network access, this is a red flag. Check where the requests go.',
43
+ falsePositiveNote: 'Expected in analytics SDKs, telemetry, update checkers, and API clients. Suspicious in utility libraries, parsers, or formatting tools.',
44
+ urgency: 'investigate',
45
+ },
46
+ bySeverity: {
47
+ critical: { urgency: 'act-now', whatToDo: 'Network requests at module load time are the #1 supply chain attack pattern. Check the destination URL immediately. If it points anywhere you don\'t recognise, quarantine this file.' },
48
+ },
49
+ },
50
+ 'obfuscation': {
51
+ default: {
52
+ whatItMeans: 'This file contains code that\'s been deliberately made hard to read — hex-encoded strings, base64 decoding chains, String.fromCharCode sequences, or extremely long single lines. Legitimate code is rarely obfuscated this way.',
53
+ whatToDo: 'If this is a minified production bundle (like a .min.js file), it\'s normal — minification looks like obfuscation to a scanner. If this is source code that should be readable, it\'s suspicious. Check if there\'s a readable version elsewhere in the package.',
54
+ falsePositiveNote: 'Very common in minified bundles, compiled WASM, production builds, and binary data files. Also triggers on long JSON files and machine-generated code.',
55
+ urgency: 'usually-safe',
56
+ },
57
+ bySeverity: {
58
+ high: { urgency: 'investigate', whatToDo: 'Heavy obfuscation beyond simple minification. Check if this file has a source map or unminified equivalent. If not, investigate what it does.' },
59
+ },
60
+ },
61
+ 'steganography': {
62
+ default: {
63
+ whatItMeans: 'This file appears to contain hidden data — extra bytes after the end of an image, data embedded in metadata, or content disguised as a different file type. Attackers sometimes hide payloads this way.',
64
+ whatToDo: 'If this is a system log, browser cache file, or macOS diagnostic file, it\'s almost certainly a false positive — these file formats naturally contain multiple data sections that look like different formats. If this is an image or document from an untrusted source, investigate further.',
65
+ falsePositiveNote: 'Very common false positive on system files, browser caches, macOS .tracev3 logs, Outlook cache files, and any binary file that contains compressed data sections.',
66
+ urgency: 'usually-safe',
67
+ },
68
+ bySeverity: {
69
+ critical: { urgency: 'investigate', whatToDo: 'Multiple format signatures detected. This could be a polyglot file designed to bypass security filters. If this is a system file, it\'s safe to ignore. If it came from an external source, quarantine and examine.' },
70
+ },
71
+ },
72
+ 'unicode-trick': {
73
+ default: {
74
+ whatItMeans: 'This file contains invisible Unicode characters — zero-width spaces, right-to-left overrides, or homoglyph characters that look identical to normal letters but aren\'t. These can make code appear to do one thing while actually doing another.',
75
+ whatToDo: 'This is almost never legitimate in source code. Check the file in a hex editor to see the actual characters. If they\'re in comments or strings, someone may be trying to hide instructions from human reviewers while keeping them visible to AI agents.',
76
+ falsePositiveNote: 'Can appear in files with international text (Arabic, Hebrew), copy-pasted content from web pages, or markdown with special formatting.',
77
+ urgency: 'investigate',
78
+ },
79
+ bySeverity: {
80
+ critical: { urgency: 'act-now', whatToDo: 'Multiple invisible characters in source code. This is the classic prompt injection steganography attack. Quarantine this file and inspect in a hex editor before allowing any AI agent to read it.' },
81
+ },
82
+ },
83
+ 'metadata-exploit': {
84
+ default: {
85
+ whatItMeans: 'This file\'s metadata (package.json fields, image EXIF data, document properties) contains text that looks like AI instructions. Attackers embed directives in metadata because AI agents often read it without the user noticing.',
86
+ whatToDo: 'Check the metadata fields manually. If description, keywords, or author fields contain instructions ("ignore", "execute", "override"), that\'s a supply chain injection attempt. If it\'s normal descriptive text, it\'s fine.',
87
+ falsePositiveNote: 'Can trigger on packages with detailed descriptions that happen to use instructional language.',
88
+ urgency: 'investigate',
89
+ },
90
+ },
91
+ 'persistence-hook': {
92
+ default: {
93
+ whatItMeans: 'This package has lifecycle scripts (postinstall, preinstall, prepare) that run automatically when you install it. Most packages don\'t need these — they\'re the most common vector for supply chain attacks.',
94
+ whatToDo: 'Check what the scripts actually do. Legitimate uses: native module compilation (like node-gyp), husky git hooks, or initial setup. Suspicious uses: downloading files, running encoded commands, or making network requests.',
95
+ falsePositiveNote: 'Common in packages with native bindings (better-sqlite3, sharp, node-canvas) and developer tooling (husky, lint-staged).',
96
+ urgency: 'investigate',
97
+ },
98
+ },
99
+ 'covert-channel': {
100
+ default: {
101
+ whatItMeans: 'This file appears to use hidden communication channels — DNS exfiltration, steganographic data encoding, or other methods to send data without obvious network calls.',
102
+ whatToDo: 'This is rarely a false positive. Review the code carefully to understand what data is being sent and where. If you can\'t explain why this code exists, quarantine the file.',
103
+ falsePositiveNote: 'Rare false positive. May trigger on DNS libraries, image processing code, or encoding utilities.',
104
+ urgency: 'act-now',
105
+ },
106
+ },
107
+ 'dependency-risk': {
108
+ default: {
109
+ whatItMeans: 'This package has risky dependency patterns — wildcard version ranges (\"*\"), git URLs instead of registry versions, multiple suspicious lifecycle hooks, or an unusual number of recent version bumps.',
110
+ whatToDo: 'Check if the dependency versions are pinned. Wildcard ranges mean you could get a compromised version without realising. Git URLs bypass npm\'s security scanning. Consider locking to specific versions.',
111
+ falsePositiveNote: 'Common in early-stage packages, monorepo setups, and packages that depend on pre-release versions.',
112
+ urgency: 'usually-safe',
113
+ },
114
+ bySeverity: {
115
+ high: { urgency: 'investigate', whatToDo: 'Multiple dependency risk signals combined. This package has an unusual dependency profile — review each flagged dependency individually.' },
116
+ },
117
+ },
118
+ 'ai-directive': {
119
+ default: {
120
+ whatItMeans: 'This file contains text that looks like instructions meant for an AI agent — phrases like "you must", "system prompt", "assistant instructions", or role-play directives. If an agent reads this file, it could alter its behaviour.',
121
+ whatToDo: 'If this is a .cursorrules, CLAUDE.md, or similar AI configuration file, it\'s expected. If it\'s inside an npm package, a data file, or somewhere AI instructions shouldn\'t be, it\'s a prompt injection attempt. Quarantine and review.',
122
+ falsePositiveNote: 'Expected in AI agent configuration files (CLAUDE.md, .cursorrules, system prompts). Suspicious in library code, data files, or package metadata.',
123
+ urgency: 'investigate',
124
+ },
125
+ bySeverity: {
126
+ critical: { urgency: 'act-now', whatToDo: 'Strong AI directive patterns in a file that shouldn\'t contain them. This looks like a deliberate prompt injection. Quarantine immediately and do not let AI agents process this file.' },
127
+ },
128
+ },
129
+ };
130
+ /**
131
+ * Get human-readable guidance for a finding.
132
+ */
133
+ export function getGuidance(category, severity) {
134
+ const entry = GUIDANCE[category];
135
+ if (!entry) {
136
+ return {
137
+ whatItMeans: 'An unusual pattern was detected in this file.',
138
+ whatToDo: 'Review the file manually to determine if this is expected behaviour.',
139
+ falsePositiveNote: 'May be a false positive depending on the file type and context.',
140
+ urgency: 'investigate',
141
+ };
142
+ }
143
+ const base = entry.default;
144
+ const override = entry.bySeverity?.[severity];
145
+ if (!override)
146
+ return base;
147
+ return {
148
+ ...base,
149
+ ...override,
150
+ };
151
+ }
152
+ /**
153
+ * Check if a file path looks like a system/cache file that commonly triggers false positives.
154
+ */
155
+ export function isLikelySystemFile(filePath) {
156
+ const lower = filePath.toLowerCase();
157
+ const systemPatterns = [
158
+ '/library/caches/',
159
+ '/library/application support/',
160
+ '/library/group containers/',
161
+ '/library/logs/',
162
+ '/library/preferences/',
163
+ '/library/saved application state/',
164
+ '/private/var/',
165
+ '/var/db/',
166
+ '/var/log/',
167
+ '/var/folders/',
168
+ '/.shieldcortex/',
169
+ '/.npm/',
170
+ '/.cache/',
171
+ '/cache_data/',
172
+ '/code cache/',
173
+ '/gpucache/',
174
+ '/serviceworker/',
175
+ '.tracev3',
176
+ '.diagnostics',
177
+ '.plist',
178
+ ];
179
+ return systemPatterns.some(p => lower.includes(p));
180
+ }
@@ -17,6 +17,7 @@ import { inspectNpmPackage } from './npm-inspector.js';
17
17
  import { calculateTrustScore } from './trust-score.js';
18
18
  import { formatXRayReport, formatXRayMarkdown } from './report.js';
19
19
  import { watchDirectory } from './watch.js';
20
+ import { appendActivity, appendHistory, createHistoryEntry } from './activity.js';
20
21
  export { calculateTrustScore } from './trust-score.js';
21
22
  export { detectPatterns, detectFilenameDirectives } from './patterns.js';
22
23
  export { scanFile } from './file-scanner.js';
@@ -138,6 +139,7 @@ export async function handleXRayCommand(args) {
138
139
  return;
139
140
  }
140
141
  let result;
142
+ let targetType = 'file';
141
143
  if (isNpmPackageName(target)) {
142
144
  // NPM package inspection
143
145
  if (!isFeatureEnabled('xray_deep')) {
@@ -146,6 +148,7 @@ export async function handleXRayCommand(args) {
146
148
  console.error(' Upgrade: https://shieldcortex.ai/pricing');
147
149
  process.exit(1);
148
150
  }
151
+ targetType = 'npm';
149
152
  result = await inspectNpmPackage(target, deep);
150
153
  }
151
154
  else {
@@ -157,9 +160,11 @@ export async function handleXRayCommand(args) {
157
160
  }
158
161
  const stat = fs.statSync(resolved);
159
162
  if (stat.isDirectory()) {
163
+ targetType = 'dir';
160
164
  result = await scanDirectory(resolved, deep);
161
165
  }
162
166
  else if (stat.isFile()) {
167
+ targetType = 'file';
163
168
  const findings = await scanFile(resolved, deep);
164
169
  const { score, riskLevel } = calculateTrustScore(findings);
165
170
  result = {
@@ -179,6 +184,22 @@ export async function handleXRayCommand(args) {
179
184
  }
180
185
  // Track usage
181
186
  incrementUsage();
187
+ appendHistory(createHistoryEntry(result, targetType));
188
+ appendActivity({
189
+ kind: 'scan',
190
+ status: result.findings.length === 0 ? 'pass' : result.riskLevel === 'LOW' ? 'warn' : 'detected',
191
+ target: result.target,
192
+ targetType,
193
+ deepScan: result.deepScan,
194
+ trustScore: result.trustScore,
195
+ riskLevel: result.riskLevel,
196
+ filesScanned: result.filesScanned,
197
+ findingCount: result.findings.length,
198
+ scannedAt: result.scannedAt.toISOString(),
199
+ summary: result.findings.length === 0
200
+ ? 'No findings detected'
201
+ : `${result.findings.length} findings across ${result.filesScanned} files`,
202
+ });
182
203
  // Output
183
204
  if (jsonOutput) {
184
205
  console.log(JSON.stringify(result, null, 2));
@@ -11,6 +11,7 @@ import fs from 'fs';
11
11
  import path from 'path';
12
12
  import { detectPatterns } from './patterns.js';
13
13
  import { calculateTrustScore } from './trust-score.js';
14
+ import { appendActivity } from './activity.js';
14
15
  // ── Constants ───────────────────────────────────────────────
15
16
  const SEVERITY_RANK = {
16
17
  critical: 4,
@@ -30,6 +31,19 @@ export async function handlePreinstallCheck() {
30
31
  const pkgJsonPath = path.join(cwd, 'package.json');
31
32
  if (!fs.existsSync(pkgJsonPath)) {
32
33
  console.log('ShieldCortex X-Ray pre-install check: PASS (no package.json found)');
34
+ appendActivity({
35
+ kind: 'preinstall',
36
+ status: 'pass',
37
+ target: pkgJsonPath,
38
+ targetType: 'file',
39
+ deepScan: false,
40
+ trustScore: 100,
41
+ riskLevel: 'SAFE',
42
+ filesScanned: 0,
43
+ findingCount: 0,
44
+ scannedAt: new Date().toISOString(),
45
+ summary: 'Skipped: no package.json found',
46
+ });
33
47
  process.exit(0);
34
48
  }
35
49
  let pkgContent;
@@ -38,6 +52,19 @@ export async function handlePreinstallCheck() {
38
52
  }
39
53
  catch {
40
54
  console.log('ShieldCortex X-Ray pre-install check: PASS (could not read package.json)');
55
+ appendActivity({
56
+ kind: 'preinstall',
57
+ status: 'warn',
58
+ target: pkgJsonPath,
59
+ targetType: 'file',
60
+ deepScan: false,
61
+ trustScore: 100,
62
+ riskLevel: 'SAFE',
63
+ filesScanned: 0,
64
+ findingCount: 0,
65
+ scannedAt: new Date().toISOString(),
66
+ summary: 'Skipped: could not read package.json',
67
+ });
41
68
  process.exit(0);
42
69
  }
43
70
  let pkg;
@@ -46,6 +73,19 @@ export async function handlePreinstallCheck() {
46
73
  }
47
74
  catch {
48
75
  console.log('ShieldCortex X-Ray pre-install check: PASS (invalid package.json)');
76
+ appendActivity({
77
+ kind: 'preinstall',
78
+ status: 'warn',
79
+ target: pkgJsonPath,
80
+ targetType: 'file',
81
+ deepScan: false,
82
+ trustScore: 100,
83
+ riskLevel: 'SAFE',
84
+ filesScanned: 0,
85
+ findingCount: 0,
86
+ scannedAt: new Date().toISOString(),
87
+ summary: 'Skipped: invalid package.json',
88
+ });
49
89
  process.exit(0);
50
90
  }
51
91
  // Scan scripts section only (lightweight, fast)
@@ -70,6 +110,19 @@ export async function handlePreinstallCheck() {
70
110
  : path.basename(cwd);
71
111
  if (allFindings.length === 0) {
72
112
  console.log(`ShieldCortex X-Ray pre-install check: PASS — ${label} (score: ${score})`);
113
+ appendActivity({
114
+ kind: 'preinstall',
115
+ status: 'pass',
116
+ target: pkgJsonPath,
117
+ targetType: 'file',
118
+ deepScan: false,
119
+ trustScore: score,
120
+ riskLevel,
121
+ filesScanned: 1,
122
+ findingCount: 0,
123
+ scannedAt: new Date().toISOString(),
124
+ summary: `Preinstall check passed for ${label}`,
125
+ });
73
126
  process.exit(0);
74
127
  }
75
128
  // Print findings
@@ -87,9 +140,35 @@ export async function handlePreinstallCheck() {
87
140
  // HIGH or CRITICAL → block
88
141
  if (maxSeverity >= SEVERITY_RANK.high) {
89
142
  console.log('ShieldCortex X-Ray pre-install check: FAIL — blocking install due to HIGH+ risk findings');
143
+ appendActivity({
144
+ kind: 'preinstall',
145
+ status: 'blocked',
146
+ target: pkgJsonPath,
147
+ targetType: 'file',
148
+ deepScan: false,
149
+ trustScore: score,
150
+ riskLevel,
151
+ filesScanned: 1,
152
+ findingCount: allFindings.length,
153
+ scannedAt: new Date().toISOString(),
154
+ summary: `Blocked install for ${label}`,
155
+ });
90
156
  process.exit(1);
91
157
  }
92
158
  // MEDIUM or below → warn but allow
93
159
  console.log('ShieldCortex X-Ray pre-install check: PASS (warnings found, but below blocking threshold)');
160
+ appendActivity({
161
+ kind: 'preinstall',
162
+ status: 'warn',
163
+ target: pkgJsonPath,
164
+ targetType: 'file',
165
+ deepScan: false,
166
+ trustScore: score,
167
+ riskLevel,
168
+ filesScanned: 1,
169
+ findingCount: allFindings.length,
170
+ scannedAt: new Date().toISOString(),
171
+ summary: `Warnings detected for ${label}`,
172
+ });
94
173
  process.exit(0);
95
174
  }
@@ -27,3 +27,22 @@ export interface XRayResult {
27
27
  scannedAt: Date;
28
28
  deepScan: boolean;
29
29
  }
30
+ export type FindingStatus = 'new' | 'reviewed' | 'ignored' | 'resolved' | 'quarantined';
31
+ export interface ActionableXRayFinding extends XRayFinding {
32
+ /** Unique ID for this finding instance */
33
+ id: string;
34
+ /** Which scan/watch session produced this finding */
35
+ sourceId: string;
36
+ /** Source type: manual scan or watch detection */
37
+ sourceKind: 'scan' | 'watch';
38
+ /** Full path to the target that was scanned */
39
+ target: string;
40
+ /** Current lifecycle status */
41
+ status: FindingStatus;
42
+ /** When the finding was first detected */
43
+ detectedAt: string;
44
+ /** When status was last changed */
45
+ updatedAt: string;
46
+ /** Optional note from user when resolving/ignoring */
47
+ resolutionNote?: string;
48
+ }
@@ -5,18 +5,54 @@
5
5
  * only the changed files, printing new findings as they appear.
6
6
  */
7
7
  import fs from 'fs';
8
+ import os from 'os';
8
9
  import path from 'path';
9
10
  import crypto from 'crypto';
10
11
  import { scanFile } from './file-scanner.js';
11
12
  import { calculateTrustScore } from './trust-score.js';
13
+ import { appendActivity, emitDetectionEvent, endWatchSession, heartbeatWatchSession, recordWatchSessionEvent, startWatchSession, } from './activity.js';
14
+ import { addFindings } from './findings-store.js';
12
15
  // ── Constants ───────────────────────────────────────────────
13
16
  const DEBOUNCE_MS = 500;
14
17
  const MAX_FILE_SIZE = 10 * 1024 * 1024;
15
- const IGNORE_DIRS = new Set(['node_modules', '.git', 'dist', 'build']);
18
+ const IGNORE_DIRS = new Set([
19
+ 'node_modules', '.git', '.next', 'dist', 'build', '.cache', '.turbo', '__pycache__', '.venv',
20
+ '.shieldcortex', 'Library', 'Caches', 'Cache_Data', 'GPUCache', 'Code Cache',
21
+ 'Application Support', 'Group Containers', 'Saved Application State',
22
+ 'Containers', '.Trash', '.npm', '.nvm', '.local',
23
+ ]);
24
+ /** Paths that should never be watched — too broad or trigger OS permission dialogs */
25
+ const IGNORE_PATH_PATTERNS = [
26
+ '/private/var/',
27
+ '/var/db/',
28
+ '/var/log/',
29
+ '/var/folders/',
30
+ '/System/',
31
+ '/Applications/',
32
+ '/usr/',
33
+ '/Library/', // system Library
34
+ '/tmp/com.apple.',
35
+ ];
16
36
  // ── Helpers ─────────────────────────────────────────────────
17
37
  function shouldIgnore(filePath) {
18
38
  const parts = filePath.split(path.sep);
19
- return parts.some(p => IGNORE_DIRS.has(p));
39
+ if (parts.some(p => IGNORE_DIRS.has(p)))
40
+ return true;
41
+ // Resolve symlinks to check the real path
42
+ let abs;
43
+ try {
44
+ abs = fs.realpathSync(path.resolve(filePath));
45
+ }
46
+ catch {
47
+ abs = path.resolve(filePath);
48
+ }
49
+ if (IGNORE_PATH_PATTERNS.some(p => abs.includes(p)))
50
+ return true;
51
+ // Also check the real path's directory components (symlink may land in ignored dir)
52
+ const realParts = abs.split(path.sep);
53
+ if (realParts.some(p => IGNORE_DIRS.has(p)))
54
+ return true;
55
+ return false;
20
56
  }
21
57
  function findingHash(f) {
22
58
  const key = `${f.file || ''}|${f.category}|${f.title}`;
@@ -48,10 +84,23 @@ function severityColour(severity) {
48
84
  */
49
85
  export async function watchDirectory(dirPath, deep, options) {
50
86
  const resolved = path.resolve(dirPath);
87
+ // Block overly broad paths that trigger macOS permission dialogs
88
+ const homedir = os.homedir();
89
+ const dangerousPaths = ['/', '/Users', '/tmp', '/private', '/var', '/System', '/Applications', homedir];
90
+ if (dangerousPaths.includes(resolved)) {
91
+ console.error(`${c.red}${c.bold}Error:${c.reset} Watching "${resolved}" is too broad — it would scan system files and trigger OS permission dialogs.`);
92
+ console.error(`${c.dim}Watch a specific project directory instead, e.g.:${c.reset}`);
93
+ console.error(` shieldcortex xray ${homedir}/Development/my-project --watch`);
94
+ process.exit(1);
95
+ }
51
96
  const seenHashes = new Set();
52
97
  const json = options?.json ?? false;
98
+ const session = startWatchSession(resolved, deep);
53
99
  // Debounce map: filePath → timeout
54
100
  const pending = new Map();
101
+ const heartbeat = setInterval(() => {
102
+ heartbeatWatchSession(session.id);
103
+ }, 30_000);
55
104
  console.log(`${c.cyan}${c.bold}Watching ${resolved} for changes... (Ctrl+C to stop)${c.reset}`);
56
105
  async function handleChange(filePath) {
57
106
  const abs = path.resolve(resolved, filePath);
@@ -78,18 +127,45 @@ export async function watchDirectory(dirPath, deep, options) {
78
127
  }
79
128
  if (newFindings.length === 0)
80
129
  return;
130
+ const { score, riskLevel } = calculateTrustScore(newFindings);
131
+ const scannedAt = new Date().toISOString();
132
+ addFindings(session.id, 'watch', abs, newFindings);
133
+ appendActivity({
134
+ kind: 'watch',
135
+ status: 'detected',
136
+ target: abs,
137
+ targetType: 'file',
138
+ deepScan: deep,
139
+ trustScore: score,
140
+ riskLevel,
141
+ filesScanned: 1,
142
+ findingCount: newFindings.length,
143
+ scannedAt,
144
+ summary: `${newFindings.length} new findings detected in watch mode`,
145
+ });
146
+ recordWatchSessionEvent(session.id, {
147
+ findingsDetected: newFindings.length,
148
+ riskLevel,
149
+ summary: `${path.basename(abs)} triggered ${newFindings.length} new findings`,
150
+ scannedAt,
151
+ });
152
+ emitDetectionEvent({
153
+ target: abs,
154
+ findingCount: newFindings.length,
155
+ riskLevel,
156
+ severity: newFindings[0]?.severity ?? 'info',
157
+ summary: `${newFindings.length} new finding${newFindings.length === 1 ? '' : 's'} in ${path.basename(abs)}`,
158
+ });
81
159
  if (json) {
82
- const { score, riskLevel } = calculateTrustScore(newFindings);
83
160
  console.log(JSON.stringify({
84
161
  file: abs,
85
162
  trustScore: score,
86
163
  riskLevel,
87
164
  findings: newFindings,
88
- detectedAt: new Date().toISOString(),
165
+ detectedAt: scannedAt,
89
166
  }));
90
167
  }
91
168
  else {
92
- const { score, riskLevel } = calculateTrustScore(newFindings);
93
169
  console.log('');
94
170
  console.log(`${c.bold}[${new Date().toLocaleTimeString()}]${c.reset} ${c.cyan}${abs}${c.reset} (score: ${score}, risk: ${riskLevel})`);
95
171
  for (const f of newFindings) {
@@ -117,7 +193,9 @@ export async function watchDirectory(dirPath, deep, options) {
117
193
  // Keep the process alive until Ctrl+C
118
194
  return new Promise((resolve) => {
119
195
  process.on('SIGINT', () => {
196
+ clearInterval(heartbeat);
120
197
  watcher.close();
198
+ endWatchSession(session.id);
121
199
  console.log(`\n${c.dim}Watch stopped.${c.reset}`);
122
200
  resolve();
123
201
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shieldcortex",
3
- "version": "4.4.1",
3
+ "version": "4.6.0",
4
4
  "description": "Trustworthy memory and security for AI agents. Recall debugging, review queue, OpenClaw session capture, and memory poisoning defence for Claude Code, Codex, OpenClaw, LangChain, and MCP agents.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "shieldcortex-realtime",
3
- "version": "4.4.1",
3
+ "version": "4.6.0",
4
4
  "name": "ShieldCortex Real-time Scanner",
5
5
  "description": "Real-time defence scanning on LLM input, memory extraction on LLM output, and active tool call interception with approval gating.",
6
6
  "uiHints": {