shieldcortex 4.14.10 → 4.15.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 (232) hide show
  1. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
  2. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
  3. package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +3 -3
  4. package/dashboard/.next/standalone/dashboard/.next/required-server-files.json +4 -4
  5. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
  6. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
  7. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +2 -2
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +1 -1
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -1
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +1 -1
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin/__PAGE__.segment.rsc +1 -1
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin.segment.rsc +1 -1
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +1 -1
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  27. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_index.segment.rsc +1 -1
  28. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  29. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
  30. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +1 -1
  31. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud/__PAGE__.segment.rsc +1 -1
  32. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud.segment.rsc +1 -1
  33. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  34. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +1 -1
  35. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_head.segment.rsc +1 -1
  36. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_index.segment.rsc +1 -1
  37. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +1 -1
  38. package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
  39. package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +1 -1
  40. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  41. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +1 -1
  42. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  43. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +1 -1
  44. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  45. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
  46. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +1 -1
  47. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +1 -1
  48. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture.segment.rsc +1 -1
  49. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  50. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  51. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +1 -1
  52. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_head.segment.rsc +1 -1
  53. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_index.segment.rsc +1 -1
  54. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +1 -1
  55. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
  56. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +1 -1
  57. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph/__PAGE__.segment.rsc +1 -1
  58. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph.segment.rsc +1 -1
  59. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  60. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  61. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +1 -1
  62. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_head.segment.rsc +1 -1
  63. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_index.segment.rsc +1 -1
  64. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +1 -1
  65. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
  66. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +1 -1
  67. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall/__PAGE__.segment.rsc +1 -1
  68. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall.segment.rsc +1 -1
  69. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  70. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  71. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +1 -1
  72. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_head.segment.rsc +1 -1
  73. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_index.segment.rsc +1 -1
  74. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +1 -1
  75. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
  76. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +1 -1
  77. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review/__PAGE__.segment.rsc +1 -1
  78. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review.segment.rsc +1 -1
  79. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  80. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  81. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +1 -1
  82. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +1 -1
  83. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +1 -1
  84. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +1 -1
  85. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
  86. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +1 -1
  87. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline/__PAGE__.segment.rsc +1 -1
  88. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline.segment.rsc +1 -1
  89. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  90. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  91. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +1 -1
  92. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +1 -1
  93. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +1 -1
  94. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +1 -1
  95. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +2 -2
  96. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +1 -1
  97. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +1 -1
  98. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  99. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  100. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +1 -1
  101. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  102. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +1 -1
  103. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
  104. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +2 -2
  105. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +1 -1
  106. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +1 -1
  107. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +1 -1
  108. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  109. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +1 -1
  110. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +1 -1
  111. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +1 -1
  112. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +1 -1
  113. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -1
  114. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +1 -1
  115. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit/__PAGE__.segment.rsc +1 -1
  116. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit.segment.rsc +1 -1
  117. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  118. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  119. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +1 -1
  120. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +1 -1
  121. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +1 -1
  122. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +1 -1
  123. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
  124. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +1 -1
  125. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts/__PAGE__.segment.rsc +1 -1
  126. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts.segment.rsc +1 -1
  127. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  128. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  129. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +1 -1
  130. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +1 -1
  131. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +1 -1
  132. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +1 -1
  133. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -1
  134. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +1 -1
  135. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome/__PAGE__.segment.rsc +1 -1
  136. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome.segment.rsc +1 -1
  137. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  138. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  139. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +1 -1
  140. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +1 -1
  141. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +1 -1
  142. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +1 -1
  143. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
  144. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +1 -1
  145. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies/__PAGE__.segment.rsc +1 -1
  146. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies.segment.rsc +1 -1
  147. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  148. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  149. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +1 -1
  150. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +1 -1
  151. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +1 -1
  152. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +1 -1
  153. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
  154. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +1 -1
  155. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine/__PAGE__.segment.rsc +1 -1
  156. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine.segment.rsc +1 -1
  157. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  158. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  159. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +1 -1
  160. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +1 -1
  161. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +1 -1
  162. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +1 -1
  163. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +2 -2
  164. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +1 -1
  165. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +1 -1
  166. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  167. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  168. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +1 -1
  169. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +1 -1
  170. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +1 -1
  171. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +1 -1
  172. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +2 -2
  173. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +1 -1
  174. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +1 -1
  175. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
  176. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  177. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  178. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  179. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  180. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  181. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -1
  182. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +1 -1
  183. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray/__PAGE__.segment.rsc +1 -1
  184. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray.segment.rsc +1 -1
  185. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  186. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  187. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +1 -1
  188. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +1 -1
  189. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +1 -1
  190. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +1 -1
  191. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
  192. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +1 -1
  193. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain/__PAGE__.segment.rsc +1 -1
  194. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  195. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  196. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +1 -1
  197. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +1 -1
  198. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +1 -1
  199. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +1 -1
  200. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +2 -2
  201. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +1 -1
  202. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +1 -1
  203. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray.segment.rsc +1 -1
  204. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  205. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +1 -1
  206. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +1 -1
  207. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +1 -1
  208. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +1 -1
  209. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +2 -2
  210. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  211. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.js +1 -1
  212. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.json +1 -1
  213. package/dashboard/.next/standalone/dashboard/server.js +1 -1
  214. package/dist/cloud/cli.js +25 -1
  215. package/dist/cloud/config.d.ts +19 -0
  216. package/dist/cloud/config.js +72 -0
  217. package/dist/memory/ranker/graph-rank.d.ts +39 -0
  218. package/dist/memory/ranker/graph-rank.js +186 -0
  219. package/dist/memory/ranker/index.d.ts +74 -0
  220. package/dist/memory/ranker/index.js +170 -0
  221. package/dist/memory/ranker/rrf.d.ts +41 -0
  222. package/dist/memory/ranker/rrf.js +54 -0
  223. package/dist/memory/search-recall.js +196 -65
  224. package/dist/memory/types.d.ts +18 -0
  225. package/dist/memory/types.js +6 -0
  226. package/dist/setup/openclaw.d.ts +1 -1
  227. package/dist/setup/openclaw.js +88 -42
  228. package/package.json +3 -1
  229. package/plugins/openclaw/dist/openclaw.plugin.json +1 -1
  230. /package/dashboard/.next/standalone/dashboard/.next/static/{GpAjC0YC0ARE4GOhhmhHQ → 10a_MRwbHFUuDdfr86RUu}/_buildManifest.js +0 -0
  231. /package/dashboard/.next/standalone/dashboard/.next/static/{GpAjC0YC0ARE4GOhhmhHQ → 10a_MRwbHFUuDdfr86RUu}/_clientMiddlewareManifest.json +0 -0
  232. /package/dashboard/.next/standalone/dashboard/.next/static/{GpAjC0YC0ARE4GOhhmhHQ → 10a_MRwbHFUuDdfr86RUu}/_ssgManifest.js +0 -0
@@ -35,7 +35,7 @@ export declare function findAllHooksDirs(): string[];
35
35
  *
36
36
  * Exported for direct unit testing without booting the full installer.
37
37
  */
38
- export declare function pluginInstallNeedsWrite(config: unknown, pluginId: string, installDir: string, version: string): boolean;
38
+ export declare function pluginInstallNeedsWrite(config: unknown, pluginId: string, _installDir: string, _version: string): boolean;
39
39
  /**
40
40
  * Install options for `shieldcortex openclaw install`.
41
41
  */
@@ -16,8 +16,12 @@ const HOOK_NAME = 'cortex-memory';
16
16
  // Hook source is in hooks/openclaw/cortex-memory/ relative to project root
17
17
  // From dist/setup/, go up two levels to project root
18
18
  const HOOK_SOURCE = path.resolve(__dirname, '..', '..', 'hooks', 'openclaw', HOOK_NAME);
19
- // Plugin compiled output in plugins/openclaw/dist/ relative to project root
20
- const PLUGIN_SOURCE = path.resolve(__dirname, '..', '..', 'plugins', 'openclaw', 'dist');
19
+ // Plugin compiled output in plugins/openclaw/dist/ relative to project root.
20
+ // `SHIELDCORTEX_PLUGIN_SOURCE` overrides for hermetic tests so the install
21
+ // path doesn't need a prior `npm run build`.
22
+ const PLUGIN_SOURCE = process.env.SHIELDCORTEX_PLUGIN_SOURCE
23
+ ? path.resolve(process.env.SHIELDCORTEX_PLUGIN_SOURCE)
24
+ : path.resolve(__dirname, '..', '..', 'plugins', 'openclaw', 'dist');
21
25
  const PLUGIN_PACKAGE_SOURCE = path.resolve(__dirname, '..', '..', 'plugins', 'openclaw');
22
26
  const PLUGIN_DIR_NAME = 'shieldcortex-realtime';
23
27
  const HOOK_FILES = ['HOOK.md', 'handler.ts', 'runtime.mjs'];
@@ -315,18 +319,20 @@ function openClawConfigPath() {
315
319
  *
316
320
  * Exported for direct unit testing without booting the full installer.
317
321
  */
318
- export function pluginInstallNeedsWrite(config, pluginId, installDir, version) {
322
+ export function pluginInstallNeedsWrite(config, pluginId, _installDir, _version) {
319
323
  if (!config || typeof config !== 'object')
320
324
  return true;
321
325
  const c = config;
322
326
  if (!c.plugins || typeof c.plugins !== 'object')
323
327
  return true;
324
328
  const plugins = c.plugins;
325
- const install = plugins.installs?.[pluginId];
326
- if (!install || typeof install !== 'object')
327
- return true;
328
- const i = install;
329
- if (i.source !== 'path' || i.installPath !== installDir || i.version !== version)
329
+ // `plugins.installs` is no longer user-authored config in OpenClaw 2026.5.x —
330
+ // it migrated to `~/.openclaw/plugins/installs.json`. If a stale entry remains
331
+ // in `openclaw.json`, OpenClaw will try to migrate it on the next config
332
+ // write and (when state-dir permissions block migration) refuse the write
333
+ // entirely. Treat its presence as drift so trustLocalPlugin can clean it up.
334
+ const installs = plugins.installs;
335
+ if (installs && pluginId in installs)
330
336
  return true;
331
337
  const allow = Array.isArray(plugins.allow) ? plugins.allow : [];
332
338
  if (!allow.includes(pluginId))
@@ -335,11 +341,32 @@ export function pluginInstallNeedsWrite(config, pluginId, installDir, version) {
335
341
  if (hasStale)
336
342
  return true;
337
343
  const entries = plugins.entries ?? {};
338
- if (!entries[pluginId])
344
+ const entry = entries[pluginId];
345
+ if (!entry || entry.enabled !== true)
339
346
  return true;
340
347
  return false;
341
348
  }
342
- function trustLocalPlugin(installDir, version) {
349
+ /**
350
+ * Register a locally-copied plugin in OpenClaw's user config.
351
+ *
352
+ * Writes (or updates) `plugins.allow` and `plugins.entries[pluginId]`. Does
353
+ * NOT write `plugins.installs[pluginId]` — that key is OpenClaw-managed in
354
+ * 2026.5.x+ (kept under `~/.openclaw/plugins/installs.json`). If we authored
355
+ * it and OpenClaw can't migrate (state-dir permission edge case), it
356
+ * refuses the next config write entirely; see
357
+ * `dist/io-E69J4lLI.js:18897` in OpenClaw 2026.5.6 for the migration-block
358
+ * error. Plugin discovery remains correct without `installs`: OpenClaw
359
+ * picks up plugin files from `~/.openclaw/extensions/<id>/` and uses
360
+ * `plugins.allow + plugins.entries[id].enabled` to gate execution.
361
+ *
362
+ * The `installDir` and `version` parameters are accepted for backward
363
+ * compatibility with the old call sites but are no longer persisted.
364
+ *
365
+ * Also actively cleans any legacy `plugins.installs[shieldcortex-realtime]`
366
+ * entry left over from older ShieldCortex versions, so customers upgrading
367
+ * through us never trip OpenClaw's migration-block.
368
+ */
369
+ function trustLocalPlugin(_installDir, _version) {
343
370
  const configPath = openClawConfigPath();
344
371
  const configDir = path.dirname(configPath);
345
372
  const pluginId = PLUGIN_DIR_NAME; // "shieldcortex-realtime"
@@ -350,47 +377,55 @@ function trustLocalPlugin(installDir, version) {
350
377
  const raw = fs.existsSync(configPath) ? fs.readFileSync(configPath, 'utf-8') : '{}';
351
378
  const config = JSON.parse(raw);
352
379
  // Idempotency: skip the write if everything is already correct.
353
- // This stops `shieldcortex openclaw install` (and postinstall.mjs's
354
- // auto-refresh) from bumping a fresh installedAt timestamp on every
355
- // invocation when nothing has actually changed.
356
- if (!pluginInstallNeedsWrite(config, pluginId, installDir, version)) {
380
+ if (!pluginInstallNeedsWrite(config, pluginId, _installDir, _version)) {
357
381
  return true;
358
382
  }
359
383
  const plugins = typeof config.plugins === 'object' && config.plugins !== null ? config.plugins : {};
360
384
  const allow = Array.isArray(plugins.allow)
361
385
  ? (plugins.allow ?? [])
362
386
  : [];
363
- // Remove any stale full-path entries for this plugin
387
+ // Remove any stale full-path entries for this plugin in `allow`.
364
388
  const cleaned = allow.filter((e) => !e.includes(PLUGIN_DIR_NAME) || e === pluginId);
365
389
  if (!cleaned.includes(pluginId)) {
366
390
  cleaned.push(pluginId);
367
391
  }
368
- // Preserve the existing installedAt if present — we only land here
369
- // when something genuine changed, but if the existing entry's path
370
- // was wrong (say) we don't need to invent a new install timestamp.
371
- const installs = typeof plugins.installs === 'object' && plugins.installs !== null
392
+ // Cleanup of legacy `plugins.installs[shieldcortex-realtime]` from
393
+ // pre-v4.15 ShieldCortex versions. Other plugins' installs entries are
394
+ // not touched their migration is OpenClaw's concern.
395
+ const existingInstalls = typeof plugins.installs === 'object' && plugins.installs !== null
372
396
  ? plugins.installs
373
- : {};
374
- const existingInstall = installs[pluginId];
375
- installs[pluginId] = {
376
- source: 'path',
377
- installPath: installDir,
378
- version,
379
- installedAt: existingInstall?.installedAt ?? new Date().toISOString(),
380
- };
381
- // Add entries to enable the plugin
397
+ : null;
398
+ let installsAfter;
399
+ if (existingInstalls) {
400
+ const { [pluginId]: _removed, ...rest } = existingInstalls;
401
+ installsAfter = rest;
402
+ }
403
+ // Add entries to enable the plugin (preserving any user-set `config`
404
+ // or other fields OpenClaw may have added).
382
405
  const entries = typeof plugins.entries === 'object' && plugins.entries !== null
383
- ? plugins.entries
406
+ ? { ...plugins.entries }
384
407
  : {};
385
- if (!entries[pluginId]) {
386
- entries[pluginId] = { enabled: true };
387
- }
388
- config.plugins = {
408
+ const existingEntry = entries[pluginId];
409
+ entries[pluginId] = (typeof existingEntry === 'object' && existingEntry !== null)
410
+ ? { ...existingEntry, enabled: true }
411
+ : { enabled: true };
412
+ const newPlugins = {
389
413
  ...plugins,
390
414
  allow: cleaned,
391
- installs,
392
415
  entries,
393
416
  };
417
+ if (installsAfter !== undefined) {
418
+ // Only carry `installs` forward if there were OTHER plugins under it.
419
+ // If our cleanup left the object empty, drop it entirely so OpenClaw
420
+ // doesn't see a vestigial `installs: {}`.
421
+ if (Object.keys(installsAfter).length > 0) {
422
+ newPlugins.installs = installsAfter;
423
+ }
424
+ else {
425
+ delete newPlugins.installs;
426
+ }
427
+ }
428
+ config.plugins = newPlugins;
394
429
  fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
395
430
  return true;
396
431
  }
@@ -686,22 +721,28 @@ function pluginStatus() {
686
721
  * Check whether the plugin is registered in OpenClaw's config, independently
687
722
  * of what's on disk. A discrepancy between disk and config surfaces clearly
688
723
  * in `shieldcortex openclaw status`.
724
+ *
725
+ * `inLegacyInstalls` reports the presence of a stale
726
+ * `plugins.installs[shieldcortex-realtime]` entry from pre-v4.15 ShieldCortex
727
+ * versions. It's never load-bearing in OpenClaw 2026.5.x — `trustLocalPlugin`
728
+ * cleans it up on the next install — but surfacing it helps users diagnose
729
+ * config-write failures on the OpenClaw side until they re-run setup.
689
730
  */
690
731
  function pluginConfigStatus() {
691
732
  const configPath = openClawConfigPath();
692
733
  if (!fs.existsSync(configPath))
693
- return { inAllow: false, inInstalls: false, inEntries: false };
734
+ return { inAllow: false, inLegacyInstalls: false, inEntries: false };
694
735
  try {
695
736
  const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
696
737
  const plugins = config.plugins ?? {};
697
738
  const allow = Array.isArray(plugins.allow) ? plugins.allow : [];
698
739
  const inAllow = allow.some((e) => typeof e === 'string' && (e === PLUGIN_DIR_NAME || e.endsWith(`/${PLUGIN_DIR_NAME}`) || e.endsWith(`/${PLUGIN_DIR_NAME}/index.js`) || e.endsWith(`/${PLUGIN_DIR_NAME}/index.ts`)));
699
- const inInstalls = typeof plugins.installs === 'object' && plugins.installs !== null && PLUGIN_DIR_NAME in plugins.installs;
740
+ const inLegacyInstalls = typeof plugins.installs === 'object' && plugins.installs !== null && PLUGIN_DIR_NAME in plugins.installs;
700
741
  const inEntries = typeof plugins.entries === 'object' && plugins.entries !== null && PLUGIN_DIR_NAME in plugins.entries;
701
- return { inAllow, inInstalls, inEntries };
742
+ return { inAllow, inLegacyInstalls, inEntries };
702
743
  }
703
744
  catch {
704
- return { inAllow: false, inInstalls: false, inEntries: false };
745
+ return { inAllow: false, inLegacyInstalls: false, inEntries: false };
705
746
  }
706
747
  }
707
748
  function localPluginTrustStatus(pluginPath) {
@@ -941,7 +982,7 @@ export async function openClawHookStatus() {
941
982
  console.log('');
942
983
  const plugin = pluginStatus();
943
984
  const configState = pluginConfigStatus();
944
- const anyConfig = configState.inAllow || configState.inInstalls || configState.inEntries;
985
+ const anyConfig = configState.inAllow || configState.inLegacyInstalls || configState.inEntries;
945
986
  if (!plugin.installed && !anyConfig) {
946
987
  console.log(' Real-time plugin: not installed');
947
988
  return;
@@ -950,7 +991,7 @@ export async function openClawHookStatus() {
950
991
  // Config says yes, disk says no — the drift case that caused #20.
951
992
  const refs = [
952
993
  configState.inAllow ? 'plugins.allow' : null,
953
- configState.inInstalls ? 'plugins.installs' : null,
994
+ configState.inLegacyInstalls ? 'plugins.installs (legacy — will be cleaned on next install)' : null,
954
995
  configState.inEntries ? 'plugins.entries' : null,
955
996
  ].filter(Boolean).join(' + ');
956
997
  console.log(` Real-time plugin: config references (${refs}) but no files on disk — run \`openclaw plugins install @drakon-systems/shieldcortex-realtime\` to reinstall`);
@@ -964,10 +1005,15 @@ export async function openClawHookStatus() {
964
1005
  : 'native or unknown trust source';
965
1006
  const entrySuffix = plugin.entry ? ` [${plugin.entry}]` : '';
966
1007
  console.log(` Real-time plugin: installed (${plugin.path})${entrySuffix} — ${trustSuffix}`);
967
- // Surface any config/disk drift even when installed.
968
- if (!configState.inInstalls && !configState.inEntries && !configState.inAllow) {
1008
+ // Surface any config/disk drift even when installed. A legacy `installs`
1009
+ // entry alone is not sufficient for OpenClaw to load the plugin — it needs
1010
+ // `allow` + `entries[id].enabled` — so don't count `inLegacyInstalls` here.
1011
+ if (!configState.inEntries && !configState.inAllow) {
969
1012
  console.log(' warning: on disk but missing from openclaw.json — OpenClaw may not load it');
970
1013
  }
1014
+ if (configState.inLegacyInstalls) {
1015
+ console.log(' note: legacy `plugins.installs` entry detected — will be cleaned on next `shieldcortex openclaw install`');
1016
+ }
971
1017
  }
972
1018
  export async function handleOpenClawCommand(subcommand, extraArgs = []) {
973
1019
  const noHooks = extraArgs.includes('--no-hooks');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shieldcortex",
3
- "version": "4.14.10",
3
+ "version": "4.15.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",
@@ -57,6 +57,8 @@
57
57
  "test": "node scripts/run-jest.mjs",
58
58
  "test:watch": "node scripts/run-jest.mjs --watch",
59
59
  "test:coverage": "node scripts/run-jest.mjs --coverage",
60
+ "bench": "tsx benchmark/longmemeval/run.ts",
61
+ "bench:smoke": "SHIELDCORTEX_SKIP_EMBEDDINGS=1 tsx benchmark/longmemeval/run.ts --quiet",
60
62
  "audit:security": "npm audit --audit-level=moderate",
61
63
  "prepack": "node scripts/ensure-bin-executable.mjs",
62
64
  "prepublishOnly": "npm run build"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "shieldcortex-realtime",
3
- "version": "4.14.10",
3
+ "version": "4.15.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
  "kind": null,