shieldcortex 4.13.1 → 4.14.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 (233) 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 +1 -1
  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/review.html +1 -1
  74. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +1 -1
  75. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review/__PAGE__.segment.rsc +1 -1
  76. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review.segment.rsc +1 -1
  77. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  78. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  79. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +1 -1
  80. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +1 -1
  81. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +1 -1
  82. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +1 -1
  83. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
  84. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +1 -1
  85. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline/__PAGE__.segment.rsc +1 -1
  86. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline.segment.rsc +1 -1
  87. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  88. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  89. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +1 -1
  90. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +1 -1
  91. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +1 -1
  92. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +1 -1
  93. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +1 -1
  94. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +1 -1
  95. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +1 -1
  96. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  97. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  98. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +1 -1
  99. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  100. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +1 -1
  101. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
  102. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +1 -1
  103. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +1 -1
  104. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +1 -1
  105. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +1 -1
  106. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  107. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +1 -1
  108. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +1 -1
  109. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +1 -1
  110. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +1 -1
  111. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -1
  112. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +1 -1
  113. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit/__PAGE__.segment.rsc +1 -1
  114. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit.segment.rsc +1 -1
  115. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  116. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  117. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +1 -1
  118. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +1 -1
  119. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +1 -1
  120. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +1 -1
  121. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
  122. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +1 -1
  123. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts/__PAGE__.segment.rsc +1 -1
  124. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts.segment.rsc +1 -1
  125. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  126. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  127. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +1 -1
  128. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +1 -1
  129. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +1 -1
  130. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +1 -1
  131. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -1
  132. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +1 -1
  133. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome/__PAGE__.segment.rsc +1 -1
  134. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome.segment.rsc +1 -1
  135. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  136. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  137. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +1 -1
  138. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +1 -1
  139. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +1 -1
  140. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +1 -1
  141. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
  142. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +1 -1
  143. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies/__PAGE__.segment.rsc +1 -1
  144. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies.segment.rsc +1 -1
  145. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  146. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  147. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +1 -1
  148. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +1 -1
  149. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +1 -1
  150. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +1 -1
  151. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
  152. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +1 -1
  153. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine/__PAGE__.segment.rsc +1 -1
  154. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine.segment.rsc +1 -1
  155. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  156. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  157. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +1 -1
  158. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +1 -1
  159. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +1 -1
  160. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +1 -1
  161. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +1 -1
  162. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +1 -1
  163. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +1 -1
  164. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  165. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  166. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +1 -1
  167. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +1 -1
  168. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +1 -1
  169. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +1 -1
  170. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +1 -1
  171. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +1 -1
  172. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +1 -1
  173. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
  174. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  175. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  176. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  177. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  178. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  179. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -1
  180. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +1 -1
  181. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray/__PAGE__.segment.rsc +1 -1
  182. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray.segment.rsc +1 -1
  183. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  184. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  185. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +1 -1
  186. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +1 -1
  187. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +1 -1
  188. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +1 -1
  189. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
  190. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +1 -1
  191. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain/__PAGE__.segment.rsc +1 -1
  192. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  193. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  194. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +1 -1
  195. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +1 -1
  196. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +1 -1
  197. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +1 -1
  198. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +1 -1
  199. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +1 -1
  200. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +1 -1
  201. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray.segment.rsc +1 -1
  202. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  203. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +1 -1
  204. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +1 -1
  205. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +1 -1
  206. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +1 -1
  207. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
  208. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  209. package/dist/cli/doctor.d.ts +1 -0
  210. package/dist/cli/doctor.js +244 -8
  211. package/dist/cli/migrate-legacy.d.ts +30 -0
  212. package/dist/cli/migrate-legacy.js +199 -0
  213. package/dist/context/derive-project-key.d.ts +36 -0
  214. package/dist/context/derive-project-key.js +150 -0
  215. package/dist/context/project-context.d.ts +8 -5
  216. package/dist/context/project-context.js +16 -32
  217. package/dist/index.js +16 -1
  218. package/dist/setup/settings-hooks.d.ts +6 -0
  219. package/dist/setup/settings-hooks.js +14 -1
  220. package/dist/worker/brain-worker.d.ts +13 -5
  221. package/dist/worker/brain-worker.js +80 -40
  222. package/dist/worker/types.d.ts +19 -0
  223. package/dist/worker/types.js +7 -0
  224. package/package.json +1 -1
  225. package/plugins/openclaw/dist/openclaw.plugin.json +1 -1
  226. package/scripts/lib/auto-memory-config.mjs +11 -1
  227. package/scripts/lib/project-key.mjs +6 -0
  228. package/scripts/pre-compact-hook.mjs +2 -34
  229. package/scripts/session-end-hook.mjs +2 -24
  230. package/scripts/stop-hook.mjs +48 -43
  231. /package/dashboard/.next/standalone/dashboard/.next/static/{2JvJZkELhPQRzhTlgun1M → wrB1TUcOfBtV94V2I9t9N}/_buildManifest.js +0 -0
  232. /package/dashboard/.next/standalone/dashboard/.next/static/{2JvJZkELhPQRzhTlgun1M → wrB1TUcOfBtV94V2I9t9N}/_clientMiddlewareManifest.json +0 -0
  233. /package/dashboard/.next/standalone/dashboard/.next/static/{2JvJZkELhPQRzhTlgun1M → wrB1TUcOfBtV94V2I9t9N}/_ssgManifest.js +0 -0
@@ -143,6 +143,12 @@ export function deriveProjectKey(cwd) {
143
143
  }
144
144
  }
145
145
 
146
+ // Hot path post-#42 fix: this branch should only fire outside any git repo
147
+ // or when origin parsing fails. If users see this often after upgrading,
148
+ // the helper itself needs another look.
149
+ if (process.env.SHIELDCORTEX_DEBUG) {
150
+ process.stderr.write(`[shieldcortex deriveProjectKey] basename fallback for cwd=${cwd}\n`);
151
+ }
146
152
  return basename;
147
153
  }
148
154
 
@@ -20,6 +20,7 @@ import { saveAutoExtractedMemory } from './lib/save-memory.mjs';
20
20
  import { readTranscriptText } from './lib/transcript-reader.mjs';
21
21
  import { getAutoMemoryConfig } from './lib/auto-memory-config.mjs';
22
22
  import { recordHookInvocation } from './lib/telemetry.mjs';
23
+ import { deriveProjectKey } from './lib/project-key.mjs';
23
24
 
24
25
  // Database paths (with legacy fallback)
25
26
  const NEW_DB_DIR = join(homedir(), '.shieldcortex');
@@ -62,39 +63,6 @@ const CATEGORY_EXTRACTION_THRESHOLDS = {
62
63
  custom: 0.45,
63
64
  };
64
65
 
65
- // ==================== PROJECT DETECTION (Mirrors src/context/project-context.ts) ====================
66
-
67
- /** Directories to skip when extracting project name from path */
68
- const SKIP_DIRECTORIES = [
69
- 'src', 'lib', 'dist', 'build', 'out',
70
- 'node_modules', '.git', '.next', '.cache',
71
- 'test', 'tests', '__tests__', 'spec',
72
- 'bin', 'scripts', 'config', 'public', 'static',
73
- ];
74
-
75
- /**
76
- * Extract project name from a file path.
77
- * Skips common directory names that don't represent projects.
78
- */
79
- function extractProjectFromPath(path) {
80
- if (!path) return null;
81
-
82
- const segments = path.split(/[/\\]/).filter(Boolean);
83
- if (segments.length === 0) return null;
84
-
85
- // Start from the end and find first non-skipped segment
86
- for (let i = segments.length - 1; i >= 0; i--) {
87
- const segment = segments[i];
88
- if (!SKIP_DIRECTORIES.includes(segment.toLowerCase())) {
89
- // Skip hidden directories (starting with .)
90
- if (segment.startsWith('.')) continue;
91
- return segment;
92
- }
93
- }
94
-
95
- return null;
96
- }
97
-
98
66
  // Maximum memories to auto-create per compaction.
99
67
  // Dropped 5 → 2 in v4.11.0 for the same reason thresholds were raised.
100
68
  const MAX_AUTO_MEMORIES = 2;
@@ -520,7 +488,7 @@ process.stdin.on('end', () => {
520
488
  const hookData = JSON.parse(input || '{}');
521
489
 
522
490
  const trigger = hookData.trigger || 'unknown';
523
- const project = extractProjectFromPath(hookData.cwd);
491
+ const project = deriveProjectKey(hookData.cwd);
524
492
  const autoMemConfig = getAutoMemoryConfig();
525
493
 
526
494
  // Extract conversation text from hook data
@@ -29,6 +29,7 @@ import { saveAutoExtractedMemory } from './lib/save-memory.mjs';
29
29
  import { readTranscriptText } from './lib/transcript-reader.mjs';
30
30
  import { getAutoMemoryConfig } from './lib/auto-memory-config.mjs';
31
31
  import { recordHookInvocation } from './lib/telemetry.mjs';
32
+ import { deriveProjectKey } from './lib/project-key.mjs';
32
33
 
33
34
  // Database paths (with legacy fallback)
34
35
  const NEW_DB_DIR = join(homedir(), '.shieldcortex');
@@ -64,29 +65,6 @@ const CATEGORY_EXTRACTION_THRESHOLDS = {
64
65
  custom: 0.35,
65
66
  };
66
67
 
67
- // ==================== PROJECT DETECTION ====================
68
-
69
- const SKIP_DIRECTORIES = [
70
- 'src', 'lib', 'dist', 'build', 'out',
71
- 'node_modules', '.git', '.next', '.cache',
72
- 'test', 'tests', '__tests__', 'spec',
73
- 'bin', 'scripts', 'config', 'public', 'static',
74
- ];
75
-
76
- function extractProjectFromPath(path) {
77
- if (!path) return null;
78
- const segments = path.split(/[/\\]/).filter(Boolean);
79
- if (segments.length === 0) return null;
80
- for (let i = segments.length - 1; i >= 0; i--) {
81
- const segment = segments[i];
82
- if (!SKIP_DIRECTORIES.includes(segment.toLowerCase())) {
83
- if (segment.startsWith('.')) continue;
84
- return segment;
85
- }
86
- }
87
- return null;
88
- }
89
-
90
68
  // ==================== DYNAMIC THRESHOLD ====================
91
69
 
92
70
  function getMemoryStats(db) {
@@ -442,7 +420,7 @@ process.stdin.on('end', () => {
442
420
  const hookData = JSON.parse(input || '{}');
443
421
 
444
422
  const reason = hookData.reason || 'unknown';
445
- const project = extractProjectFromPath(hookData.cwd);
423
+ const project = deriveProjectKey(hookData.cwd);
446
424
  const autoMemConfig = getAutoMemoryConfig();
447
425
 
448
426
  // Config gate: opt-in (default off). Preserves the historical default
@@ -24,6 +24,7 @@ import { saveAutoExtractedMemory } from './lib/save-memory.mjs';
24
24
  import { readTranscriptText } from './lib/transcript-reader.mjs';
25
25
  import { getAutoMemoryConfig } from './lib/auto-memory-config.mjs';
26
26
  import { recordHookInvocation } from './lib/telemetry.mjs';
27
+ import { deriveProjectKey } from './lib/project-key.mjs';
27
28
 
28
29
  // Sentinel directory for once-per-session "disabled" log lines. Without this
29
30
  // the stop hook bails silently on every turn when autoMemory.enableStop is
@@ -89,28 +90,6 @@ const CATEGORY_EXTRACTION_THRESHOLDS = {
89
90
  custom: 0.45,
90
91
  };
91
92
 
92
- // ==================== PROJECT DETECTION ====================
93
-
94
- const SKIP_DIRECTORIES = [
95
- 'src', 'lib', 'dist', 'build', 'out',
96
- 'node_modules', '.git', '.next', '.cache',
97
- 'test', 'tests', '__tests__', 'spec',
98
- 'bin', 'scripts', 'config', 'public', 'static',
99
- ];
100
-
101
- function extractProjectFromPath(p) {
102
- if (!p) return null;
103
- const segments = p.split(/[/\\]/).filter(Boolean);
104
- for (let i = segments.length - 1; i >= 0; i--) {
105
- const segment = segments[i];
106
- if (!SKIP_DIRECTORIES.includes(segment.toLowerCase())) {
107
- if (segment.startsWith('.')) continue;
108
- return segment;
109
- }
110
- }
111
- return null;
112
- }
113
-
114
93
  // ==================== SALIENCE (mirrors pre-compact) ====================
115
94
 
116
95
  const ARCHITECTURE_KEYWORDS = ['architecture','design','pattern','structure','system','database','api','schema','model','framework','stack','microservice','monolith','serverless','infrastructure'];
@@ -273,18 +252,17 @@ function getDynamicThreshold(count, max) {
273
252
  return 0.25;
274
253
  }
275
254
 
276
- // ==================== TURN COUNT (cheap, partial-read) ====================
255
+ // ==================== TRANSCRIPT PEEK (cheap, partial-read) ====================
277
256
 
278
257
  /**
279
- * Count assistant turns in the last `windowBytes` of the transcript.
280
- * Doesn't parse just counts occurrences of the assistant role marker.
281
- * That's a very rough approximation but it's enough for sample-every-N
282
- * decisions and an order of magnitude cheaper than full JSON parse.
258
+ * Read the last `windowBytes` of the transcript as raw text and count
259
+ * assistant-role markers. Used for both the modulo sampling gate and the
260
+ * salience-bypass probe one disk read serves both decisions.
283
261
  */
284
- function countAssistantTurns(transcriptPath, windowBytes) {
285
- if (!transcriptPath) return 0;
262
+ function peekRecentTranscript(transcriptPath, windowBytes) {
263
+ if (!transcriptPath) return { turnCount: 0, raw: '' };
286
264
  const resolved = transcriptPath.replace(/^~/, homedir());
287
- if (!existsSync(resolved)) return 0;
265
+ if (!existsSync(resolved)) return { turnCount: 0, raw: '' };
288
266
  try {
289
267
  const stat = statSync(resolved);
290
268
  const bytes = Math.min(stat.size, windowBytes);
@@ -297,14 +275,33 @@ function countAssistantTurns(transcriptPath, windowBytes) {
297
275
  } finally {
298
276
  closeSync(fd);
299
277
  }
300
- // Each assistant message line carries `"role":"assistant"` (or `"type":"assistant"`).
301
- // Count occurrences of either marker — close enough for sampling decisions.
302
- return (raw.match(/"role":"assistant"|"type":"assistant"/g) || []).length;
278
+ const turnCount = (raw.match(/"role":"assistant"|"type":"assistant"/g) || []).length;
279
+ return { turnCount, raw };
303
280
  } catch {
304
- return 0;
281
+ return { turnCount: 0, raw: '' };
305
282
  }
306
283
  }
307
284
 
285
+ /**
286
+ * Cheap salience probe over the recent transcript window. A turn is "salient"
287
+ * (and worth bypassing the modulo gate for) when:
288
+ * - it carries a fenced code block — strong signal of code work / errors / diffs
289
+ * - or ≥2 keyword categories hit (architecture, error, decision, learning,
290
+ * pattern, code-reference)
291
+ */
292
+ function isSalientWindow(rawText) {
293
+ if (!rawText) return false;
294
+ if (/```/.test(rawText)) return true;
295
+ let hits = 0;
296
+ if (detectKeywords(rawText, ARCHITECTURE_KEYWORDS)) hits++;
297
+ if (detectKeywords(rawText, ERROR_KEYWORDS)) hits++;
298
+ if (detectKeywords(rawText, DECISION_KEYWORDS)) hits++;
299
+ if (detectKeywords(rawText, LEARNING_KEYWORDS)) hits++;
300
+ if (detectKeywords(rawText, PATTERN_KEYWORDS)) hits++;
301
+ if (detectCodeReferences(rawText)) hits++;
302
+ return hits >= 2;
303
+ }
304
+
308
305
  // ==================== MAIN ====================
309
306
 
310
307
  let input = '';
@@ -346,13 +343,20 @@ process.stdin.on('end', () => {
346
343
 
347
344
  const samplingTurns = autoMemConfig.stopHookSamplingTurns;
348
345
  const windowBytes = autoMemConfig.stopHookWindowBytes;
349
-
350
- const turnCount = countAssistantTurns(hookData.transcript_path, windowBytes);
351
- if (turnCount === 0 || turnCount % samplingTurns !== 0) {
352
- // Off-sample. Surface the sampling decision to stderr so the
353
- // "1-in-N turns" behaviour stops being invisible (was a discoverability
354
- // gap flagged in #41) — and still record telemetry so the dashboard
355
- // shows the hook is actually wired and active.
346
+ const salienceBypassEnabled = autoMemConfig.stopHookSalienceBypass;
347
+
348
+ // Use a smaller window for the cheap peek so off-sample turns stay fast.
349
+ // The full extraction below still uses the configured windowBytes.
350
+ const peekBytes = Math.min(32 * 1024, windowBytes);
351
+ const peek = peekRecentTranscript(hookData.transcript_path, peekBytes);
352
+ const turnCount = peek.turnCount;
353
+ const onSample = turnCount > 0 && turnCount % samplingTurns === 0;
354
+ const salientBypass = salienceBypassEnabled && !onSample && isSalientWindow(peek.raw);
355
+
356
+ if (!onSample && !salientBypass) {
357
+ // Off-sample, no salience bypass. Surface the sampling decision to stderr
358
+ // so the "1-in-N turns" behaviour stops being invisible (#41), and still
359
+ // record telemetry so the dashboard shows the hook is wired and active.
356
360
  console.error(`[shieldcortex stop-hook] telemetry-only turn=${turnCount}/${samplingTurns}`);
357
361
  if (existsSync(DB_PATH)) {
358
362
  try {
@@ -371,7 +375,7 @@ process.stdin.on('end', () => {
371
375
  process.exit(0);
372
376
  }
373
377
 
374
- const project = extractProjectFromPath(hookData.cwd);
378
+ const project = deriveProjectKey(hookData.cwd);
375
379
  const transcriptOut = readTranscriptText(hookData.transcript_path, {
376
380
  maxBytes: windowBytes,
377
381
  maxLines: autoMemConfig.maxTranscriptLines,
@@ -409,7 +413,8 @@ process.stdin.on('end', () => {
409
413
  console.error(`[stop] Failed to save "${memory.title}": ${err.message}`);
410
414
  }
411
415
  }
412
- console.error(`[stop] Sampled turn=${turnCount}: ${extractedCount} memories extracted`);
416
+ const sampleReason = salientBypass ? `bypass=salience turn=${turnCount}` : `turn=${turnCount}`;
417
+ console.error(`[stop] Sampled ${sampleReason}: ${extractedCount} memories extracted`);
413
418
  }
414
419
  }
415
420
  } catch (err) {