shieldcortex 4.24.3 → 4.25.1

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 (240) hide show
  1. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
  2. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
  3. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
  4. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
  5. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +2 -2
  11. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +1 -1
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -1
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +1 -1
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin/__PAGE__.segment.rsc +1 -1
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin.segment.rsc +1 -1
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +1 -1
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_index.segment.rsc +1 -1
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  27. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
  28. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +1 -1
  29. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud/__PAGE__.segment.rsc +1 -1
  30. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud.segment.rsc +1 -1
  31. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  32. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +1 -1
  33. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_head.segment.rsc +1 -1
  34. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_index.segment.rsc +1 -1
  35. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +1 -1
  36. package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
  37. package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +1 -1
  38. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  39. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +1 -1
  40. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  41. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +1 -1
  42. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  43. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
  44. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +1 -1
  45. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +1 -1
  46. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture.segment.rsc +1 -1
  47. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  48. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  49. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +1 -1
  50. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_head.segment.rsc +1 -1
  51. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_index.segment.rsc +1 -1
  52. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +1 -1
  53. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
  54. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +1 -1
  55. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph/__PAGE__.segment.rsc +1 -1
  56. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph.segment.rsc +1 -1
  57. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  58. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  59. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +1 -1
  60. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_head.segment.rsc +1 -1
  61. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_index.segment.rsc +1 -1
  62. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +1 -1
  63. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
  64. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +1 -1
  65. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall/__PAGE__.segment.rsc +1 -1
  66. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall.segment.rsc +1 -1
  67. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  68. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  69. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +1 -1
  70. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_head.segment.rsc +1 -1
  71. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_index.segment.rsc +1 -1
  72. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +1 -1
  73. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.html +2 -2
  74. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.rsc +1 -1
  75. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay/__PAGE__.segment.rsc +1 -1
  76. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay.segment.rsc +1 -1
  77. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  78. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  79. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_full.segment.rsc +1 -1
  80. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_head.segment.rsc +1 -1
  81. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_index.segment.rsc +1 -1
  82. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_tree.segment.rsc +1 -1
  83. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
  84. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +1 -1
  85. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review/__PAGE__.segment.rsc +1 -1
  86. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review.segment.rsc +1 -1
  87. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  88. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  89. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +1 -1
  90. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +1 -1
  91. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +1 -1
  92. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +1 -1
  93. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
  94. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +1 -1
  95. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline/__PAGE__.segment.rsc +1 -1
  96. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline.segment.rsc +1 -1
  97. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  98. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  99. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +1 -1
  100. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +1 -1
  101. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +1 -1
  102. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +1 -1
  103. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +2 -2
  104. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +1 -1
  105. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +1 -1
  106. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  107. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  108. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +1 -1
  109. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  110. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +1 -1
  111. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
  112. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +2 -2
  113. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +1 -1
  114. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +1 -1
  115. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +1 -1
  116. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  117. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +1 -1
  118. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +1 -1
  119. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +1 -1
  120. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +1 -1
  121. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -1
  122. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +1 -1
  123. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit/__PAGE__.segment.rsc +1 -1
  124. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit.segment.rsc +1 -1
  125. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  126. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  127. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +1 -1
  128. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +1 -1
  129. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +1 -1
  130. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +1 -1
  131. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
  132. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +1 -1
  133. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts/__PAGE__.segment.rsc +1 -1
  134. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts.segment.rsc +1 -1
  135. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  136. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  137. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +1 -1
  138. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +1 -1
  139. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +1 -1
  140. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +1 -1
  141. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -1
  142. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +1 -1
  143. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome/__PAGE__.segment.rsc +1 -1
  144. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome.segment.rsc +1 -1
  145. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  146. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  147. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +1 -1
  148. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +1 -1
  149. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +1 -1
  150. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +1 -1
  151. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
  152. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +1 -1
  153. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies/__PAGE__.segment.rsc +1 -1
  154. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies.segment.rsc +1 -1
  155. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  156. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  157. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +1 -1
  158. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +1 -1
  159. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +1 -1
  160. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +1 -1
  161. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
  162. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +1 -1
  163. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine/__PAGE__.segment.rsc +1 -1
  164. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine.segment.rsc +1 -1
  165. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  166. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  167. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +1 -1
  168. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +1 -1
  169. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +1 -1
  170. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +1 -1
  171. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +2 -2
  172. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +1 -1
  173. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +1 -1
  174. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  175. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  176. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +1 -1
  177. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +1 -1
  178. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +1 -1
  179. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +1 -1
  180. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +2 -2
  181. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +1 -1
  182. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +1 -1
  183. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
  184. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  185. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  186. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  187. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  188. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  189. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -1
  190. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +1 -1
  191. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray/__PAGE__.segment.rsc +1 -1
  192. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray.segment.rsc +1 -1
  193. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  194. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  195. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +1 -1
  196. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +1 -1
  197. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +1 -1
  198. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +1 -1
  199. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
  200. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +1 -1
  201. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain/__PAGE__.segment.rsc +1 -1
  202. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  203. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  204. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +1 -1
  205. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +1 -1
  206. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +1 -1
  207. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +1 -1
  208. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +2 -2
  209. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +1 -1
  210. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +1 -1
  211. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray.segment.rsc +1 -1
  212. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  213. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +1 -1
  214. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +1 -1
  215. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +1 -1
  216. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +1 -1
  217. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +2 -2
  218. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  219. package/dist/cli/inspect.d.ts +12 -0
  220. package/dist/cli/inspect.js +223 -0
  221. package/dist/cli/memory.d.ts +16 -0
  222. package/dist/cli/memory.js +228 -0
  223. package/dist/database/init.js +17 -1
  224. package/dist/database/schema.sql +2 -0
  225. package/dist/index.js +14 -0
  226. package/dist/setup/claude-md.d.ts +1 -0
  227. package/dist/setup/claude-md.js +1 -1
  228. package/package.json +1 -1
  229. package/plugins/openclaw/dist/openclaw.plugin.json +1 -1
  230. package/scripts/lib/extract-memorable-segments.mjs +40 -3
  231. package/scripts/lib/precompact-log.mjs +142 -0
  232. package/scripts/lib/recall-log.mjs +163 -0
  233. package/scripts/lib/recall-rank.mjs +29 -12
  234. package/scripts/lib/salience.mjs +83 -0
  235. package/scripts/lib/save-memory.mjs +17 -5
  236. package/scripts/pre-compact-hook.mjs +32 -0
  237. package/scripts/prompt-recall-hook.mjs +133 -6
  238. /package/dashboard/.next/standalone/dashboard/.next/static/{aT0chq-1AeBvu1T_c6RCy → EItbSW_ccG_F0ufC_s7dD}/_buildManifest.js +0 -0
  239. /package/dashboard/.next/standalone/dashboard/.next/static/{aT0chq-1AeBvu1T_c6RCy → EItbSW_ccG_F0ufC_s7dD}/_clientMiddlewareManifest.json +0 -0
  240. /package/dashboard/.next/standalone/dashboard/.next/static/{aT0chq-1AeBvu1T_c6RCy → EItbSW_ccG_F0ufC_s7dD}/_ssgManifest.js +0 -0
@@ -22,6 +22,7 @@ import { getAutoMemoryConfig } from './lib/auto-memory-config.mjs';
22
22
  import { recordHookInvocation } from './lib/telemetry.mjs';
23
23
  import { deriveProjectKey } from './lib/project-key.mjs';
24
24
  import { recordSessionEvent } from './lib/session-capture.mjs';
25
+ import { writePrecompactLog } from './lib/precompact-log.mjs';
25
26
  import {
26
27
  extractMemorableSegments,
27
28
  processSegments,
@@ -183,9 +184,12 @@ process.stdin.on('end', async () => {
183
184
  console.error(`[auto-extract] Dynamic threshold: ${dynamicThreshold.toFixed(2)}`);
184
185
 
185
186
  // Only attempt extraction if we have conversation content
187
+ let precompactCandidates = [];
188
+ let rawSegmentCount = 0;
186
189
  if (conversationText && conversationText.length > 100) {
187
190
  // Extract memorable segments
188
191
  const segments = extractMemorableSegments(conversationText);
192
+ rawSegmentCount = segments.length;
189
193
  const processedSegments = processSegments(segments, dynamicThreshold, {
190
194
  maxMemories: MAX_AUTO_MEMORIES,
191
195
  categoryThresholds: PRE_COMPACT_CATEGORY_THRESHOLDS,
@@ -194,19 +198,47 @@ process.stdin.on('end', async () => {
194
198
 
195
199
  // Save auto-extracted memories
196
200
  for (const memory of processedSegments) {
201
+ // v4.25.0: collect candidate metadata for the precompact ring buffer.
202
+ // Operators read this via `shieldcortex inspect last-precompact`
203
+ // when diagnosing why extraction did/didn't pick a particular line.
204
+ const candidate = {
205
+ extractorType: memory.extractorType,
206
+ category: memory.category,
207
+ memoryPurpose: memory.memoryPurpose,
208
+ title: memory.title,
209
+ salience: memory.salience,
210
+ frequencyBoost: memory.frequencyBoost ?? 0,
211
+ saved: false,
212
+ error: null,
213
+ };
197
214
  try {
198
215
  await saveMemory(db, memory, project);
199
216
  autoExtractedCount++;
217
+ candidate.saved = true;
200
218
  const boostInfo = memory.frequencyBoost > 0 ? ` +${memory.frequencyBoost.toFixed(2)} boost` : '';
201
219
  console.error(`[auto-extract] Saved: ${memory.title} (salience: ${memory.salience.toFixed(2)}${boostInfo}, category: ${memory.category})`);
202
220
  } catch (err) {
221
+ candidate.error = err.message;
203
222
  console.error(`[auto-extract] Failed to save "${memory.title}": ${err.message}`);
204
223
  }
224
+ precompactCandidates.push(candidate);
205
225
  }
206
226
  } else {
207
227
  notes = 'no-content';
208
228
  }
209
229
 
230
+ // v4.25.0: write the run to the rolling ring buffer at
231
+ // ~/.shieldcortex/precompact-log/. Best-effort — never throw.
232
+ try {
233
+ writePrecompactLog({
234
+ thresholdUsed: dynamicThreshold,
235
+ contextFullnessPct: maxMemories > 0 ? Math.round((totalMemories / maxMemories) * 100) : null,
236
+ totalMemories,
237
+ rawSegmentCount,
238
+ candidates: precompactCandidates,
239
+ });
240
+ } catch { /* best-effort */ }
241
+
210
242
  console.error(`[shieldcortex] Pre-compact complete: ${autoExtractedCount} memories auto-extracted`);
211
243
 
212
244
  outputReminder(autoExtractedCount, dynamicThreshold);
@@ -19,6 +19,8 @@ import { sanitisePromptForRecall } from './lib/prompt-sanitiser.mjs';
19
19
  import { recordSessionEvent } from './lib/session-capture.mjs';
20
20
  import { truncatePreservingWords } from './lib/truncate.mjs';
21
21
  import { compareRecallResults } from './lib/recall-rank.mjs';
22
+ import { computeEffectiveSalience } from './lib/salience.mjs';
23
+ import { writeRecallLog } from './lib/recall-log.mjs';
22
24
 
23
25
  // ==================== CONFIG ====================
24
26
 
@@ -80,8 +82,15 @@ function recallRelevant(db, project, prompt) {
80
82
  const ftsQuery = escapeFts5(prompt);
81
83
  if (ftsQuery.trim()) {
82
84
  try {
85
+ // v4.25.0: project pinned/access_count/last_accessed/downvote_count
86
+ // so compareRecallResults can compute effective salience without a
87
+ // second query. COALESCE on downvote_count for DBs that pre-date the
88
+ // 4.25 migration (the prompt-recall-hook runs against legacy DBs too).
83
89
  const ftsRows = db.prepare(`
84
- SELECT m.id, m.title, m.content, m.category, m.salience, fts.rank
90
+ SELECT
91
+ m.id, m.title, m.content, m.category, m.salience, fts.rank,
92
+ m.pinned, m.access_count, m.last_accessed,
93
+ COALESCE(m.downvote_count, 0) AS downvote_count
85
94
  FROM memories m
86
95
  JOIN memories_fts fts ON m.id = fts.rowid
87
96
  WHERE memories_fts MATCH ?
@@ -95,6 +104,10 @@ function recallRelevant(db, project, prompt) {
95
104
  for (const row of ftsRows) {
96
105
  if (!seen.has(row.id)) {
97
106
  seen.add(row.id);
107
+ // v4.25.1: tag with source so the recall ring buffer can show
108
+ // operators which path surfaced a given candidate. _-prefixed so
109
+ // it doesn't collide with any future SELECT column.
110
+ row._source = 'fts';
98
111
  results.push(row);
99
112
  }
100
113
  }
@@ -112,8 +125,14 @@ function recallRelevant(db, project, prompt) {
112
125
 
113
126
  if (categoryBoost && results.length < MAX_RESULTS) {
114
127
  try {
128
+ // v4.25.0: project the salience-formula inputs (same as the FTS
129
+ // SELECT above) so compareRecallResults can compute effective
130
+ // salience for rows that came in via this fallback path.
115
131
  const catRows = db.prepare(`
116
- SELECT id, title, content, category, salience
132
+ SELECT
133
+ id, title, content, category, salience,
134
+ pinned, access_count, last_accessed,
135
+ COALESCE(downvote_count, 0) AS downvote_count
117
136
  FROM memories
118
137
  WHERE category = ?
119
138
  AND (project = ? OR project IS NULL OR scope = 'global')
@@ -126,6 +145,7 @@ function recallRelevant(db, project, prompt) {
126
145
  for (const row of catRows) {
127
146
  if (!seen.has(row.id)) {
128
147
  seen.add(row.id);
148
+ row._source = 'category-boost';
129
149
  results.push(row);
130
150
  }
131
151
  }
@@ -136,7 +156,10 @@ function recallRelevant(db, project, prompt) {
136
156
  // sort discarded the relevance signal from the FTS5 query above — high-
137
157
  // salience-but-off-topic memories bubbled to the top of the recall preamble.
138
158
  results.sort(compareRecallResults);
139
- return results.slice(0, MAX_RESULTS);
159
+ // v4.25.1: return the full sorted set alongside the sliced top-N so the
160
+ // recall ring buffer can log which candidates were considered but didn't
161
+ // make the cut. The top-N is the existing public contract.
162
+ return { topN: results.slice(0, MAX_RESULTS), fullSet: results };
140
163
  }
141
164
 
142
165
  // ==================== DEDUPE STATE ====================
@@ -179,6 +202,69 @@ function hashContent(s) {
179
202
  return createHash('sha256').update(s).digest('hex').slice(0, 16);
180
203
  }
181
204
 
205
+ // ==================== RECALL LOG (v4.25.1) ====================
206
+ //
207
+ // Per-run dump of "what prompt fired, which memories were considered, which
208
+ // were injected, which were dropped, and why" to ~/.shieldcortex/recall-log/.
209
+ // Operators read this via `shieldcortex inspect last-recall`. Best-effort —
210
+ // never throws into the caller. Designed to gather diagnostic data so we
211
+ // can scope v4.26.x recall-quality fixes from real fleet usage.
212
+
213
+ const RECALL_LOG_PROMPT_CAP = 200;
214
+
215
+ function buildLogCandidates({ fullSet, topN, injected, dedupHashes }) {
216
+ const injectedIds = new Set(injected.map((m) => m.id));
217
+ const topNIds = new Set(topN.map((m) => m.id));
218
+ return fullSet.map((row) => {
219
+ const wasInjected = injectedIds.has(row.id);
220
+ let dropReason = null;
221
+ if (!wasInjected) {
222
+ if (topNIds.has(row.id) && dedupHashes.has(hashContent(row.content))) {
223
+ dropReason = 'dedupe';
224
+ } else if (!topNIds.has(row.id)) {
225
+ dropReason = 'outside_top_n';
226
+ } else {
227
+ // In top-N, not deduped, not injected — early exit on empty memories
228
+ // before the dedupe filter ran. Mark as not-injected-no-reason so the
229
+ // CLI can distinguish from an active drop.
230
+ dropReason = 'not_injected';
231
+ }
232
+ }
233
+ return {
234
+ id: row.id ?? null,
235
+ title: row.title ?? null,
236
+ category: row.category ?? null,
237
+ memoryPurpose: row.memory_purpose ?? null,
238
+ salience: typeof row.salience === 'number' ? row.salience : null,
239
+ ftsRank: typeof row.rank === 'number' ? row.rank : null,
240
+ source: row._source ?? null,
241
+ effectiveSalience: computeEffectiveSalience(row),
242
+ injected: wasInjected,
243
+ dropReason,
244
+ };
245
+ });
246
+ }
247
+
248
+ function logRecallRun({ prompt, sessionId, project, fullSet, topN, injected, dedupHashes, context }) {
249
+ try {
250
+ const promptCapped = prompt.length > RECALL_LOG_PROMPT_CAP
251
+ ? prompt.slice(0, RECALL_LOG_PROMPT_CAP) + '…'
252
+ : prompt;
253
+ writeRecallLog({
254
+ prompt: promptCapped,
255
+ promptHash: hashContent(prompt),
256
+ sessionId: sessionId ?? null,
257
+ project: project ?? null,
258
+ minSalience: MIN_SALIENCE,
259
+ candidates: buildLogCandidates({ fullSet, topN, injected, dedupHashes }),
260
+ injectedCount: injected.length,
261
+ finalContextChars: context ? context.length : 0,
262
+ });
263
+ } catch {
264
+ // Best-effort — recall must not block on log write failures.
265
+ }
266
+ }
267
+
182
268
  // ==================== FORMAT ====================
183
269
 
184
270
  function formatRecallContext(memories) {
@@ -267,10 +353,26 @@ process.stdin.on('end', () => {
267
353
  }
268
354
 
269
355
  const db = new Database(dbPath, { readonly: true, timeout: 2000 });
270
- let memories = recallRelevant(db, project, prompt);
356
+ const { topN, fullSet } = recallRelevant(db, project, prompt);
271
357
  db.close();
358
+ let memories = topN;
272
359
 
273
360
  if (memories.length === 0) {
361
+ // v4.25.1: still log no-candidate runs ONLY when the FTS step actually
362
+ // ran (fullSet has something filtered out before the slice). Pure
363
+ // empties (no FTS match at all) skip the log — saves disk + signal.
364
+ if (fullSet.length > 0) {
365
+ logRecallRun({
366
+ prompt,
367
+ sessionId,
368
+ project,
369
+ fullSet,
370
+ topN: [],
371
+ injected: [],
372
+ dedupHashes: new Set(),
373
+ context: null,
374
+ });
375
+ }
274
376
  process.exit(0);
275
377
  }
276
378
 
@@ -279,13 +381,26 @@ process.stdin.on('end', () => {
279
381
  // "near-identical recall in adjacent turns" failure Jarvis flagged.
280
382
  let dedupState = null;
281
383
  let sessionRing = [];
384
+ let dedupHashes = new Set();
282
385
  if (sessionId) {
283
386
  dedupState = loadDedupState();
284
387
  const entry = dedupState[sessionId] ?? { ring: [], touched: Date.now() };
285
388
  sessionRing = Array.isArray(entry.ring) ? entry.ring : [];
286
- const recentHashes = new Set(sessionRing);
287
- memories = memories.filter((m) => !recentHashes.has(hashContent(m.content)));
389
+ dedupHashes = new Set(sessionRing);
390
+ memories = memories.filter((m) => !dedupHashes.has(hashContent(m.content)));
288
391
  if (memories.length === 0) {
392
+ // v4.25.1: log even when every top-N candidate was dedupe-suppressed.
393
+ // This is the most interesting case for diagnosing recall noise.
394
+ logRecallRun({
395
+ prompt,
396
+ sessionId,
397
+ project,
398
+ fullSet,
399
+ topN,
400
+ injected: [],
401
+ dedupHashes,
402
+ context: null,
403
+ });
289
404
  process.exit(0);
290
405
  }
291
406
  }
@@ -321,6 +436,18 @@ process.stdin.on('end', () => {
321
436
  },
322
437
  };
323
438
 
439
+ // v4.25.1: log the recall run (best-effort, never blocks output)
440
+ logRecallRun({
441
+ prompt,
442
+ sessionId,
443
+ project,
444
+ fullSet,
445
+ topN,
446
+ injected: memories,
447
+ dedupHashes,
448
+ context,
449
+ });
450
+
324
451
  console.log(JSON.stringify(output));
325
452
  console.error(`[shieldcortex] Proactive recall: ${memories.length} memories for "${project}"`);
326
453