@contrast/agent-bundle 5.42.0 → 5.46.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 (484) hide show
  1. package/README.md +1 -10
  2. package/node_modules/@contrast/agent/README.md +1 -10
  3. package/node_modules/@contrast/agent/package.json +12 -12
  4. package/node_modules/@contrast/agent-swc-plugin/package.json +3 -3
  5. package/node_modules/@contrast/agentify/lib/rewrite-hooks.js +3 -3
  6. package/node_modules/@contrast/agentify/lib/utils.js +13 -7
  7. package/node_modules/@contrast/agentify/package.json +17 -17
  8. package/node_modules/@contrast/architecture-components/package.json +6 -6
  9. package/node_modules/@contrast/assess/lib/dataflow/propagation/install/ejs/template.js +1 -1
  10. package/node_modules/@contrast/assess/lib/dataflow/propagation/install/pug/index.js +1 -1
  11. package/node_modules/@contrast/assess/lib/dataflow/sinks/install/http/server-response.js +1 -12
  12. package/node_modules/@contrast/assess/lib/dataflow/sinks/install/restify.js +1 -1
  13. package/node_modules/@contrast/assess/lib/dataflow/sources/handler.js +21 -24
  14. package/node_modules/@contrast/assess/lib/dataflow/sources/install/http.js +1 -1
  15. package/node_modules/@contrast/assess/lib/dataflow/tracker.js +1 -1
  16. package/node_modules/@contrast/assess/lib/get-source-context.js +11 -22
  17. package/node_modules/@contrast/assess/lib/index.js +1 -1
  18. package/node_modules/@contrast/assess/lib/make-source-context.js +5 -10
  19. package/node_modules/@contrast/assess/lib/policy.js +400 -0
  20. package/node_modules/@contrast/assess/lib/response-scanning/handlers/index.js +10 -14
  21. package/node_modules/@contrast/assess/lib/response-scanning/install/http.js +0 -12
  22. package/node_modules/@contrast/assess/lib/session-configuration/handlers.js +1 -1
  23. package/node_modules/@contrast/assess/package.json +14 -14
  24. package/node_modules/@contrast/code-events/binding.gyp +1 -1
  25. package/node_modules/@contrast/code-events/package.json +11 -9
  26. package/node_modules/@contrast/code-events/prebuilds/darwin-x64+arm64/@contrast+code-events.abi108.node +0 -0
  27. package/node_modules/@contrast/code-events/prebuilds/darwin-x64+arm64/@contrast+code-events.abi115.node +0 -0
  28. package/node_modules/@contrast/code-events/prebuilds/darwin-x64+arm64/@contrast+code-events.abi127.node +0 -0
  29. package/node_modules/@contrast/code-events/prebuilds/darwin-x64+arm64/{@contrast+code-events.abi93.node → @contrast+code-events.abi137.node} +0 -0
  30. package/node_modules/@contrast/code-events/prebuilds/linux-arm64/@contrast+code-events.abi108.armv8.node +0 -0
  31. package/node_modules/@contrast/code-events/prebuilds/linux-arm64/@contrast+code-events.abi115.armv8.node +0 -0
  32. package/node_modules/@contrast/code-events/prebuilds/linux-arm64/@contrast+code-events.abi127.armv8.node +0 -0
  33. package/node_modules/@contrast/code-events/prebuilds/linux-arm64/@contrast+code-events.abi137.armv8.node +0 -0
  34. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi108.glibc.node +0 -0
  35. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi108.musl.node +0 -0
  36. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi115.glibc.node +0 -0
  37. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi115.musl.node +0 -0
  38. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi127.glibc.node +0 -0
  39. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi127.musl.node +0 -0
  40. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi137.glibc.node +0 -0
  41. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi137.musl.node +0 -0
  42. package/node_modules/@contrast/code-events/prebuilds/win32-x64/@contrast+code-events.abi108.node +0 -0
  43. package/node_modules/@contrast/code-events/prebuilds/win32-x64/@contrast+code-events.abi115.node +0 -0
  44. package/node_modules/@contrast/code-events/prebuilds/win32-x64/@contrast+code-events.abi127.node +0 -0
  45. package/node_modules/@contrast/code-events/prebuilds/win32-x64/@contrast+code-events.abi137.node +0 -0
  46. package/node_modules/@contrast/common/lib/constants.d.ts +1 -1
  47. package/node_modules/@contrast/common/lib/constants.js +1 -1
  48. package/node_modules/@contrast/common/lib/index.js +15 -15
  49. package/node_modules/@contrast/common/lib/primordials.d.ts +22 -20
  50. package/node_modules/@contrast/common/lib/types.d.ts +18 -6
  51. package/node_modules/@contrast/common/package.json +2 -2
  52. package/node_modules/@contrast/config/lib/options.js +37 -4
  53. package/node_modules/@contrast/config/package.json +4 -4
  54. package/node_modules/@contrast/core/lib/app-info.js +53 -74
  55. package/node_modules/@contrast/core/lib/index.d.ts +17 -1
  56. package/node_modules/@contrast/core/lib/sensitive-data-masking/index.js +33 -5
  57. package/node_modules/@contrast/core/package.json +10 -9
  58. package/node_modules/@contrast/deadzones/package.json +6 -6
  59. package/node_modules/@contrast/dep-hooks/lib/export-handler-registry.d.ts +17 -13
  60. package/node_modules/@contrast/dep-hooks/lib/export-handler-registry.js +16 -4
  61. package/node_modules/@contrast/dep-hooks/lib/export-hook-descriptor.d.ts +2 -2
  62. package/node_modules/@contrast/dep-hooks/lib/export-hook-descriptor.js +2 -3
  63. package/node_modules/@contrast/dep-hooks/lib/handler-invoker.d.ts +6 -6
  64. package/node_modules/@contrast/dep-hooks/lib/handler-invoker.js +0 -1
  65. package/node_modules/@contrast/dep-hooks/lib/helpers.d.ts +0 -7
  66. package/node_modules/@contrast/dep-hooks/lib/helpers.js +2 -18
  67. package/node_modules/@contrast/dep-hooks/lib/index.d.ts +17 -12
  68. package/node_modules/@contrast/dep-hooks/lib/index.js +5 -3
  69. package/node_modules/@contrast/dep-hooks/lib/package-finder.d.ts +2 -1
  70. package/node_modules/@contrast/dep-hooks/lib/package-finder.js +6 -6
  71. package/node_modules/@contrast/dep-hooks/package.json +4 -3
  72. package/node_modules/@contrast/distringuish/package.json +7 -6
  73. package/node_modules/@contrast/distringuish/prebuilds/darwin-x64+arm64/@contrast+distringuish.abi108.node +0 -0
  74. package/node_modules/@contrast/distringuish/prebuilds/darwin-x64+arm64/@contrast+distringuish.abi115.node +0 -0
  75. package/node_modules/@contrast/distringuish/prebuilds/darwin-x64+arm64/@contrast+distringuish.abi127.node +0 -0
  76. package/node_modules/@contrast/distringuish/prebuilds/darwin-x64+arm64/{@contrast+distringuish.abi93.node → @contrast+distringuish.abi137.node} +0 -0
  77. package/node_modules/@contrast/distringuish/prebuilds/linux-arm64/@contrast+distringuish.abi108.armv8.node +0 -0
  78. package/node_modules/@contrast/distringuish/prebuilds/linux-arm64/@contrast+distringuish.abi115.armv8.node +0 -0
  79. package/node_modules/@contrast/distringuish/prebuilds/linux-arm64/@contrast+distringuish.abi127.armv8.node +0 -0
  80. package/node_modules/@contrast/distringuish/prebuilds/linux-arm64/@contrast+distringuish.abi137.armv8.node +0 -0
  81. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi108.glibc.node +0 -0
  82. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi108.musl.node +0 -0
  83. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi115.glibc.node +0 -0
  84. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi115.musl.node +0 -0
  85. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi127.glibc.node +0 -0
  86. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi127.musl.node +0 -0
  87. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi137.glibc.node +0 -0
  88. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi137.musl.node +0 -0
  89. package/node_modules/@contrast/distringuish/prebuilds/win32-x64/@contrast+distringuish.abi108.node +0 -0
  90. package/node_modules/@contrast/distringuish/prebuilds/win32-x64/@contrast+distringuish.abi115.node +0 -0
  91. package/node_modules/@contrast/distringuish/prebuilds/win32-x64/@contrast+distringuish.abi127.node +0 -0
  92. package/node_modules/@contrast/distringuish/prebuilds/win32-x64/@contrast+distringuish.abi137.node +0 -0
  93. package/node_modules/@contrast/esm-hooks/lib/debug-methods.mjs +4 -4
  94. package/node_modules/@contrast/esm-hooks/lib/get-file-type.mjs +2 -9
  95. package/node_modules/@contrast/esm-hooks/lib/hooks.mjs +0 -2
  96. package/node_modules/@contrast/esm-hooks/lib/redirects/builtin/fs/promises.mjs +2 -0
  97. package/node_modules/@contrast/esm-hooks/lib/redirects/builtin/fs.mjs +3 -0
  98. package/node_modules/@contrast/esm-hooks/lib/redirects/builtin/util.mjs +1 -0
  99. package/node_modules/@contrast/esm-hooks/package.json +7 -7
  100. package/node_modules/@contrast/fn-inspect/package.json +9 -5
  101. package/node_modules/@contrast/fn-inspect/prebuilds/darwin-x64+arm64/@contrast+fn-inspect.abi108.node +0 -0
  102. package/node_modules/@contrast/fn-inspect/prebuilds/darwin-x64+arm64/@contrast+fn-inspect.abi115.node +0 -0
  103. package/node_modules/@contrast/fn-inspect/prebuilds/darwin-x64+arm64/@contrast+fn-inspect.abi127.node +0 -0
  104. package/node_modules/@contrast/fn-inspect/prebuilds/darwin-x64+arm64/{@contrast+fn-inspect.abi93.node → @contrast+fn-inspect.abi137.node} +0 -0
  105. package/node_modules/@contrast/fn-inspect/prebuilds/linux-arm64/@contrast+fn-inspect.abi108.armv8.node +0 -0
  106. package/node_modules/@contrast/fn-inspect/prebuilds/linux-arm64/@contrast+fn-inspect.abi115.armv8.node +0 -0
  107. package/node_modules/@contrast/fn-inspect/prebuilds/linux-arm64/@contrast+fn-inspect.abi127.armv8.node +0 -0
  108. package/node_modules/@contrast/fn-inspect/prebuilds/linux-arm64/@contrast+fn-inspect.abi137.armv8.node +0 -0
  109. package/node_modules/@contrast/fn-inspect/prebuilds/linux-x64/@contrast+fn-inspect.abi108.glibc.node +0 -0
  110. package/node_modules/@contrast/fn-inspect/prebuilds/linux-x64/@contrast+fn-inspect.abi108.musl.node +0 -0
  111. package/node_modules/@contrast/fn-inspect/prebuilds/linux-x64/@contrast+fn-inspect.abi115.glibc.node +0 -0
  112. package/node_modules/@contrast/fn-inspect/prebuilds/linux-x64/@contrast+fn-inspect.abi115.musl.node +0 -0
  113. package/node_modules/@contrast/fn-inspect/prebuilds/linux-x64/@contrast+fn-inspect.abi127.glibc.node +0 -0
  114. package/node_modules/@contrast/fn-inspect/prebuilds/linux-x64/@contrast+fn-inspect.abi127.musl.node +0 -0
  115. package/node_modules/@contrast/fn-inspect/prebuilds/linux-x64/@contrast+fn-inspect.abi137.glibc.node +0 -0
  116. package/node_modules/@contrast/fn-inspect/prebuilds/linux-x64/{@contrast+fn-inspect.abi93.musl.node → @contrast+fn-inspect.abi137.musl.node} +0 -0
  117. package/node_modules/@contrast/fn-inspect/prebuilds/win32-x64/@contrast+fn-inspect.abi108.node +0 -0
  118. package/node_modules/@contrast/fn-inspect/prebuilds/win32-x64/@contrast+fn-inspect.abi115.node +0 -0
  119. package/node_modules/@contrast/fn-inspect/prebuilds/win32-x64/@contrast+fn-inspect.abi127.node +0 -0
  120. package/node_modules/@contrast/fn-inspect/prebuilds/win32-x64/@contrast+fn-inspect.abi137.node +0 -0
  121. package/node_modules/@contrast/instrumentation/lib/http2.js +0 -11
  122. package/node_modules/@contrast/instrumentation/package.json +6 -6
  123. package/node_modules/@contrast/library-analysis/lib/install/library-reporting/dep.json +312 -224
  124. package/node_modules/@contrast/library-analysis/package.json +6 -6
  125. package/node_modules/@contrast/logger/lib/index.js +18 -8
  126. package/node_modules/@contrast/logger/lib/serializers.js +5 -5
  127. package/node_modules/@contrast/logger/lib/utils.d.ts +0 -6
  128. package/node_modules/@contrast/logger/package.json +4 -4
  129. package/node_modules/@contrast/metrics/lib/index.d.ts +6 -6
  130. package/node_modules/@contrast/metrics/lib/index.js +0 -1
  131. package/node_modules/@contrast/metrics/package.json +7 -7
  132. package/node_modules/@contrast/patcher/package.json +3 -3
  133. package/node_modules/@contrast/perf/package.json +7 -4
  134. package/node_modules/@contrast/protect/lib/hardening/handlers.js +37 -21
  135. package/node_modules/@contrast/protect/lib/index.d.ts +3 -2
  136. package/node_modules/@contrast/protect/lib/index.js +9 -2
  137. package/node_modules/@contrast/protect/lib/input-analysis/handlers.js +269 -238
  138. package/node_modules/@contrast/protect/lib/input-analysis/install/http.js +3 -4
  139. package/node_modules/@contrast/protect/lib/input-tracing/{handlers/index.js → handlers.js} +15 -15
  140. package/node_modules/@contrast/protect/lib/input-tracing/index.js +0 -1
  141. package/node_modules/@contrast/protect/lib/make-source-context.js +5 -7
  142. package/node_modules/@contrast/protect/lib/policy.js +130 -95
  143. package/node_modules/@contrast/protect/lib/semantic-analysis/handlers.js +19 -18
  144. package/node_modules/@contrast/protect/package.json +12 -12
  145. package/node_modules/@contrast/reporter/lib/index.js +1 -1
  146. package/node_modules/@contrast/reporter/lib/reporters/base.d.ts +0 -1
  147. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/application-activity/index.d.ts +4 -2
  148. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/application-activity/index.js +14 -14
  149. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/application-activity/translations.d.ts +43 -6
  150. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/application-activity/translations.js +262 -429
  151. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/server-inventory.d.ts +3 -3
  152. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/index.js +17 -7
  153. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/translations.js +12 -13
  154. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/utils.js +6 -7
  155. package/node_modules/@contrast/reporter/lib/reporters/file.js +1 -1
  156. package/node_modules/@contrast/reporter/lib/reporters/security-logger/index.d.ts +2 -3
  157. package/node_modules/@contrast/reporter/lib/reporters/security-logger/index.js +72 -86
  158. package/node_modules/@contrast/reporter/lib/reporters/security-logger/messages.js +6 -7
  159. package/node_modules/@contrast/reporter/lib/validators.js +0 -1
  160. package/node_modules/@contrast/reporter/node_modules/sonic-boom/.husky/pre-commit +2 -2
  161. package/node_modules/@contrast/reporter/node_modules/sonic-boom/.taprc +5 -0
  162. package/node_modules/@contrast/reporter/node_modules/sonic-boom/README.md +2 -4
  163. package/node_modules/@contrast/reporter/node_modules/sonic-boom/bench.js +5 -36
  164. package/node_modules/@contrast/reporter/node_modules/sonic-boom/index.js +56 -300
  165. package/node_modules/@contrast/reporter/node_modules/sonic-boom/package.json +12 -7
  166. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test.js +1684 -0
  167. package/node_modules/@contrast/reporter/node_modules/sonic-boom/types/index.d.ts +1 -2
  168. package/node_modules/@contrast/reporter/package.json +10 -10
  169. package/node_modules/@contrast/rewriter/lib/index.js +5 -43
  170. package/node_modules/@contrast/rewriter/package.json +8 -8
  171. package/node_modules/@contrast/route-coverage/lib/install/express/express5.js +0 -5
  172. package/node_modules/@contrast/route-coverage/lib/install/restify.js +1 -1
  173. package/node_modules/@contrast/route-coverage/package.json +10 -10
  174. package/node_modules/@contrast/scopes/package.json +6 -6
  175. package/node_modules/@contrast/sec-obs/lib/traces/http.js +1 -1
  176. package/node_modules/@contrast/sec-obs/lib/traces/http.test.js +1 -1
  177. package/node_modules/@contrast/sec-obs/package.json +10 -10
  178. package/node_modules/@contrast/sources/lib/index.js +1 -1
  179. package/node_modules/@contrast/sources/lib/index.test.js +0 -26
  180. package/node_modules/@contrast/sources/package.json +3 -3
  181. package/node_modules/@contrast/telemetry/package.json +6 -6
  182. package/node_modules/@opentelemetry/semantic-conventions/README.md +3 -2
  183. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.d.ts +4350 -2882
  184. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js +4350 -2882
  185. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js.map +1 -1
  186. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.d.ts +136 -0
  187. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js +154 -0
  188. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js.map +1 -0
  189. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.d.ts +713 -141
  190. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js +713 -141
  191. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js.map +1 -1
  192. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index-incubating.d.ts +2 -0
  193. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index-incubating.js +2 -0
  194. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index-incubating.js.map +1 -1
  195. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index.d.ts +1 -0
  196. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js +1 -0
  197. package/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js.map +1 -1
  198. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.d.ts +7 -1
  199. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +7 -1
  200. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +1 -1
  201. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.d.ts +5 -0
  202. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.js +23 -0
  203. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.js.map +1 -0
  204. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.d.ts +1 -1
  205. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js +1 -1
  206. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js.map +1 -1
  207. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.d.ts +4350 -2882
  208. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js +4350 -2882
  209. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js.map +1 -1
  210. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.d.ts +136 -0
  211. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js +154 -0
  212. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js.map +1 -0
  213. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.d.ts +713 -141
  214. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js +713 -141
  215. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js.map +1 -1
  216. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index-incubating.d.ts +2 -0
  217. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index-incubating.js +2 -0
  218. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index-incubating.js.map +1 -1
  219. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index.d.ts +1 -0
  220. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index.js +1 -0
  221. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/index.js.map +1 -1
  222. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.d.ts +7 -1
  223. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js +7 -1
  224. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js.map +1 -1
  225. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_events.d.ts +5 -0
  226. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_events.js +23 -0
  227. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_events.js.map +1 -0
  228. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.d.ts +1 -1
  229. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js +1 -1
  230. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js.map +1 -1
  231. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.d.ts +4350 -2882
  232. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js +4354 -2883
  233. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js.map +1 -1
  234. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.d.ts +136 -0
  235. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js +157 -0
  236. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js.map +1 -0
  237. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.d.ts +713 -141
  238. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js +720 -147
  239. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js.map +1 -1
  240. package/node_modules/@opentelemetry/semantic-conventions/build/src/index-incubating.d.ts +2 -0
  241. package/node_modules/@opentelemetry/semantic-conventions/build/src/index-incubating.js +2 -0
  242. package/node_modules/@opentelemetry/semantic-conventions/build/src/index-incubating.js.map +1 -1
  243. package/node_modules/@opentelemetry/semantic-conventions/build/src/index.d.ts +1 -0
  244. package/node_modules/@opentelemetry/semantic-conventions/build/src/index.js +1 -0
  245. package/node_modules/@opentelemetry/semantic-conventions/build/src/index.js.map +1 -1
  246. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.d.ts +7 -1
  247. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js +10 -4
  248. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js.map +1 -1
  249. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_events.d.ts +5 -0
  250. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_events.js +26 -0
  251. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_events.js.map +1 -0
  252. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.d.ts +1 -1
  253. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js +1 -1
  254. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js.map +1 -1
  255. package/node_modules/@opentelemetry/semantic-conventions/package.json +6 -7
  256. package/node_modules/@swc/core/README.md +5 -0
  257. package/node_modules/@swc/core/binding.d.ts +2 -2
  258. package/node_modules/@swc/core/index.d.ts +5 -4
  259. package/node_modules/@swc/core/index.js +2 -2
  260. package/node_modules/@swc/core/package.json +12 -12
  261. package/node_modules/@swc/core-darwin-arm64/package.json +1 -1
  262. package/node_modules/@swc/core-darwin-arm64/swc.darwin-arm64.node +0 -0
  263. package/node_modules/@swc/core-darwin-x64/package.json +1 -1
  264. package/node_modules/@swc/core-darwin-x64/swc.darwin-x64.node +0 -0
  265. package/node_modules/@swc/core-linux-arm64-gnu/package.json +1 -1
  266. package/node_modules/@swc/core-linux-arm64-gnu/swc.linux-arm64-gnu.node +0 -0
  267. package/node_modules/@swc/core-linux-arm64-musl/package.json +1 -1
  268. package/node_modules/@swc/core-linux-arm64-musl/swc.linux-arm64-musl.node +0 -0
  269. package/node_modules/@swc/core-linux-x64-gnu/package.json +1 -1
  270. package/node_modules/@swc/core-linux-x64-gnu/swc.linux-x64-gnu.node +0 -0
  271. package/node_modules/@swc/core-linux-x64-musl/package.json +1 -1
  272. package/node_modules/@swc/core-linux-x64-musl/swc.linux-x64-musl.node +0 -0
  273. package/node_modules/@swc/core-win32-arm64-msvc/package.json +1 -1
  274. package/node_modules/@swc/core-win32-arm64-msvc/swc.win32-arm64-msvc.node +0 -0
  275. package/node_modules/@swc/core-win32-x64-msvc/package.json +1 -1
  276. package/node_modules/@swc/core-win32-x64-msvc/swc.win32-x64-msvc.node +0 -0
  277. package/node_modules/@swc/types/index.d.ts +14 -5
  278. package/node_modules/@swc/types/package.json +2 -2
  279. package/node_modules/@types/node/README.md +1 -1
  280. package/node_modules/@types/node/assert/strict.d.ts +105 -2
  281. package/node_modules/@types/node/assert.d.ts +119 -95
  282. package/node_modules/@types/node/buffer.d.ts +1 -1
  283. package/node_modules/@types/node/child_process.d.ts +26 -122
  284. package/node_modules/@types/node/crypto.d.ts +161 -17
  285. package/node_modules/@types/node/dns.d.ts +5 -0
  286. package/node_modules/@types/node/events.d.ts +79 -33
  287. package/node_modules/@types/node/fs/promises.d.ts +41 -26
  288. package/node_modules/@types/node/fs.d.ts +276 -35
  289. package/node_modules/@types/node/globals.d.ts +148 -347
  290. package/node_modules/@types/node/http.d.ts +57 -8
  291. package/node_modules/@types/node/https.d.ts +5 -0
  292. package/node_modules/@types/node/index.d.ts +7 -2
  293. package/node_modules/@types/node/inspector.d.ts +187 -4089
  294. package/node_modules/@types/node/inspector.generated.d.ts +4052 -0
  295. package/node_modules/@types/node/module.d.ts +1 -0
  296. package/node_modules/@types/node/net.d.ts +21 -0
  297. package/node_modules/@types/node/package.json +3 -3
  298. package/node_modules/@types/node/sqlite.d.ts +34 -0
  299. package/node_modules/@types/node/test.d.ts +106 -23
  300. package/node_modules/@types/node/tls.d.ts +32 -0
  301. package/node_modules/@types/node/ts5.6/index.d.ts +7 -2
  302. package/node_modules/@types/node/ts5.7/index.d.ts +7 -2
  303. package/node_modules/@types/node/url.d.ts +25 -6
  304. package/node_modules/@types/node/util.d.ts +11 -4
  305. package/node_modules/@types/node/vm.d.ts +73 -10
  306. package/node_modules/@types/node/wasi.d.ts +21 -0
  307. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  308. package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  309. package/node_modules/@types/node/{dom-events.d.ts → web-globals/events.d.ts} +49 -51
  310. package/node_modules/@types/node/web-globals/fetch.d.ts +50 -0
  311. package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  312. package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  313. package/node_modules/@types/node/worker_threads.d.ts +84 -50
  314. package/node_modules/@types/node/zlib.d.ts +6 -0
  315. package/node_modules/axios/CHANGELOG.md +58 -0
  316. package/node_modules/axios/README.md +87 -10
  317. package/node_modules/axios/dist/axios.js +355 -289
  318. package/node_modules/axios/dist/axios.js.map +1 -1
  319. package/node_modules/axios/dist/axios.min.js +2 -2
  320. package/node_modules/axios/dist/axios.min.js.map +1 -1
  321. package/node_modules/axios/dist/browser/axios.cjs +286 -213
  322. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  323. package/node_modules/axios/dist/esm/axios.js +286 -213
  324. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  325. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  326. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  327. package/node_modules/axios/dist/node/axios.cjs +377 -213
  328. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  329. package/node_modules/axios/index.d.cts +12 -5
  330. package/node_modules/axios/index.d.ts +13 -4
  331. package/node_modules/axios/lib/adapters/adapters.js +6 -4
  332. package/node_modules/axios/lib/adapters/fetch.js +221 -162
  333. package/node_modules/axios/lib/adapters/http.js +18 -0
  334. package/node_modules/axios/lib/adapters/xhr.js +11 -8
  335. package/node_modules/axios/lib/core/Axios.js +0 -2
  336. package/node_modules/axios/lib/core/AxiosError.js +10 -3
  337. package/node_modules/axios/lib/core/dispatchRequest.js +1 -1
  338. package/node_modules/axios/lib/defaults/index.js +1 -1
  339. package/node_modules/axios/lib/env/data.js +1 -1
  340. package/node_modules/axios/lib/helpers/buildURL.js +1 -3
  341. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +73 -0
  342. package/node_modules/axios/lib/helpers/resolveConfig.js +13 -9
  343. package/node_modules/axios/lib/utils.js +5 -3
  344. package/node_modules/axios/package.json +18 -12
  345. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  346. package/node_modules/balanced-match/LICENSE.md +21 -0
  347. package/node_modules/balanced-match/README.md +97 -0
  348. package/node_modules/balanced-match/index.js +62 -0
  349. package/node_modules/balanced-match/package.json +48 -0
  350. package/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
  351. package/node_modules/brace-expansion/LICENSE +21 -0
  352. package/node_modules/brace-expansion/README.md +135 -0
  353. package/node_modules/brace-expansion/index.js +203 -0
  354. package/node_modules/brace-expansion/package.json +49 -0
  355. package/node_modules/detect-libc/lib/detect-libc.js +59 -13
  356. package/node_modules/detect-libc/lib/elf.js +39 -0
  357. package/node_modules/detect-libc/lib/filesystem.js +18 -8
  358. package/node_modules/detect-libc/package.json +3 -2
  359. package/node_modules/minimatch/LICENSE +15 -0
  360. package/node_modules/minimatch/README.md +454 -0
  361. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
  362. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
  363. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  364. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
  365. package/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
  366. package/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
  367. package/node_modules/minimatch/dist/commonjs/ast.js +592 -0
  368. package/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
  369. package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
  370. package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
  371. package/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
  372. package/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
  373. package/node_modules/minimatch/dist/commonjs/escape.d.ts +12 -0
  374. package/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
  375. package/node_modules/minimatch/dist/commonjs/escape.js +22 -0
  376. package/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
  377. package/node_modules/minimatch/dist/commonjs/index.d.ts +94 -0
  378. package/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
  379. package/node_modules/minimatch/dist/commonjs/index.js +1017 -0
  380. package/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
  381. package/node_modules/minimatch/dist/commonjs/package.json +3 -0
  382. package/node_modules/minimatch/dist/commonjs/unescape.d.ts +17 -0
  383. package/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
  384. package/node_modules/minimatch/dist/commonjs/unescape.js +24 -0
  385. package/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
  386. package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
  387. package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
  388. package/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  389. package/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
  390. package/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
  391. package/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
  392. package/node_modules/minimatch/dist/esm/ast.js +588 -0
  393. package/node_modules/minimatch/dist/esm/ast.js.map +1 -0
  394. package/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
  395. package/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
  396. package/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
  397. package/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
  398. package/node_modules/minimatch/dist/esm/escape.d.ts +12 -0
  399. package/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
  400. package/node_modules/minimatch/dist/esm/escape.js +18 -0
  401. package/node_modules/minimatch/dist/esm/escape.js.map +1 -0
  402. package/node_modules/minimatch/dist/esm/index.d.ts +94 -0
  403. package/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
  404. package/node_modules/minimatch/dist/esm/index.js +1001 -0
  405. package/node_modules/minimatch/dist/esm/index.js.map +1 -0
  406. package/node_modules/minimatch/dist/esm/package.json +3 -0
  407. package/node_modules/minimatch/dist/esm/unescape.d.ts +17 -0
  408. package/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
  409. package/node_modules/minimatch/dist/esm/unescape.js +20 -0
  410. package/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
  411. package/node_modules/minimatch/package.json +82 -0
  412. package/node_modules/node-abi/LICENSE +21 -0
  413. package/node_modules/node-abi/README.md +54 -0
  414. package/node_modules/node-abi/abi_registry.json +408 -0
  415. package/node_modules/node-abi/getNextTarget.js +13 -0
  416. package/node_modules/node-abi/index.js +161 -0
  417. package/node_modules/node-abi/package.json +46 -0
  418. package/node_modules/node-addon-api/README.md +25 -249
  419. package/node_modules/node-addon-api/common.gypi +1 -0
  420. package/node_modules/node-addon-api/index.js +2 -0
  421. package/node_modules/node-addon-api/napi-inl.h +592 -166
  422. package/node_modules/node-addon-api/napi.h +167 -59
  423. package/node_modules/node-addon-api/node_addon_api.gyp +10 -0
  424. package/node_modules/node-addon-api/noexcept.gypi +1 -1
  425. package/node_modules/node-addon-api/package.json +13 -13
  426. package/node_modules/node-addon-api/tools/conversion.js +1 -1
  427. package/node_modules/protobufjs/dist/light/protobuf.js +2 -2
  428. package/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
  429. package/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
  430. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  431. package/node_modules/protobufjs/dist/protobuf.js +2 -2
  432. package/node_modules/protobufjs/dist/protobuf.min.js +2 -2
  433. package/node_modules/protobufjs/google/protobuf/descriptor.json +2 -2
  434. package/node_modules/protobufjs/google/protobuf/descriptor.proto +2 -1
  435. package/node_modules/protobufjs/package.json +1 -1
  436. package/node_modules/undici-types/agent.d.ts +0 -4
  437. package/node_modules/undici-types/client.d.ts +0 -2
  438. package/node_modules/undici-types/diagnostics-channel.d.ts +9 -0
  439. package/node_modules/undici-types/dispatcher.d.ts +3 -8
  440. package/node_modules/undici-types/env-http-proxy-agent.d.ts +2 -1
  441. package/node_modules/undici-types/eventsource.d.ts +3 -3
  442. package/node_modules/undici-types/fetch.d.ts +1 -0
  443. package/node_modules/undici-types/h2c-client.d.ts +0 -2
  444. package/node_modules/undici-types/handlers.d.ts +1 -1
  445. package/node_modules/undici-types/index.d.ts +3 -1
  446. package/node_modules/undici-types/mock-client.d.ts +2 -0
  447. package/node_modules/undici-types/mock-interceptor.d.ts +2 -1
  448. package/node_modules/undici-types/mock-pool.d.ts +2 -0
  449. package/node_modules/undici-types/package.json +1 -1
  450. package/node_modules/undici-types/retry-handler.d.ts +9 -0
  451. package/node_modules/undici-types/snapshot-agent.d.ts +107 -0
  452. package/node_modules/undici-types/webidl.d.ts +29 -15
  453. package/node_modules/undici-types/websocket.d.ts +3 -1
  454. package/package.json +3 -3
  455. package/node_modules/@contrast/assess/lib/get-policy.js +0 -336
  456. package/node_modules/@contrast/code-events/prebuilds/linux-arm64/@contrast+code-events.abi93.armv8.node +0 -0
  457. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi93.glibc.node +0 -0
  458. package/node_modules/@contrast/code-events/prebuilds/linux-x64/@contrast+code-events.abi93.musl.node +0 -0
  459. package/node_modules/@contrast/code-events/prebuilds/win32-x64/@contrast+code-events.abi93.node +0 -0
  460. package/node_modules/@contrast/core/lib/sensitive-data-masking/protect-listener.js +0 -111
  461. package/node_modules/@contrast/distringuish/prebuilds/linux-arm64/@contrast+distringuish.abi93.armv8.node +0 -0
  462. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi93.glibc.node +0 -0
  463. package/node_modules/@contrast/distringuish/prebuilds/linux-x64/@contrast+distringuish.abi93.musl.node +0 -0
  464. package/node_modules/@contrast/distringuish/prebuilds/win32-x64/@contrast+distringuish.abi93.node +0 -0
  465. package/node_modules/@contrast/fn-inspect/prebuilds/linux-arm64/@contrast+fn-inspect.abi93.armv8.node +0 -0
  466. package/node_modules/@contrast/fn-inspect/prebuilds/linux-x64/@contrast+fn-inspect.abi93.glibc.node +0 -0
  467. package/node_modules/@contrast/fn-inspect/prebuilds/win32-x64/@contrast+fn-inspect.abi93.node +0 -0
  468. package/node_modules/@contrast/perf/lib/index.test.js +0 -547
  469. package/node_modules/@contrast/perf/lib/tsconfig.json +0 -31
  470. package/node_modules/@contrast/protect/lib/input-tracing/install/spdy.js +0 -63
  471. package/node_modules/@contrast/reporter/node_modules/sonic-boom/.taprc.yaml +0 -11
  472. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/destroy.test.js +0 -49
  473. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/end.test.js +0 -98
  474. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/flush-sync.test.js +0 -140
  475. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/flush.test.js +0 -419
  476. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/fsync.test.js +0 -63
  477. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/helper.js +0 -42
  478. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/minlength.test.js +0 -35
  479. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/mode.test.js +0 -116
  480. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/reopen.test.js +0 -239
  481. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/retry.test.js +0 -414
  482. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/sync.test.js +0 -261
  483. package/node_modules/@contrast/reporter/node_modules/sonic-boom/test/write.test.js +0 -465
  484. package/node_modules/node-addon-api/tools/eslint-format.js +0 -79
@@ -22,29 +22,44 @@ module.exports = function(core) {
22
22
  const idMap = new Map();
23
23
  const keywordSets = [];
24
24
 
25
- function getRedactedText(key) {
25
+ function getRedactedText(key, value) {
26
26
  key = StringPrototypeToLowerCase.call(key);
27
27
  for (const set of keywordSets) {
28
28
  if (set.has(key)) {
29
29
  return `${CONTRAST_REDACTED}-${idMap.get(set)}`;
30
30
  }
31
31
  }
32
+ return value;
32
33
  }
33
34
 
34
- function traverseAndMask(target, unmasked) {
35
+ function traverseAndMask1(target, unmasked) {
35
36
  let redactedText;
36
37
  if (!target) return;
37
38
 
38
39
  traverseKeys(target, (path, type, value, obj) => {
39
40
  redactedText = getRedactedText(value);
40
41
  if (redactedText) {
41
- if (unmasked) unmasked.add(obj[value]);
42
+ unmasked?.add?.(obj[value]);
42
43
  obj[value] = redactedText;
43
44
  redactedText = undefined;
44
45
  }
45
46
  });
46
47
  }
47
48
 
49
+ function traverseAndMask2(target, masker) {
50
+ if (!target) return;
51
+ traverseKeys(target, (path, type, key, obj) => {
52
+ obj[key] = masker.getMaskedValue(key, obj[key]);
53
+ });
54
+ }
55
+
56
+ function traverseAndMask(target, param) {
57
+ if (param instanceof Masker) {
58
+ return traverseAndMask2(target, param);
59
+ }
60
+ return traverseAndMask1(target, param);
61
+ }
62
+
48
63
  const sensitiveDataMasking = core.sensitiveDataMasking = {
49
64
  policy: {
50
65
  idMap,
@@ -53,11 +68,24 @@ module.exports = function(core) {
53
68
  maskAttackVector: false,
54
69
  },
55
70
  getRedactedText,
56
- traverseAndMask
71
+ traverseAndMask,
72
+ createMasker() {
73
+ return new Masker();
74
+ },
57
75
  };
58
76
 
77
+ class Masker {
78
+ getMaskedValue(key, value) {
79
+ const redacted = getRedactedText(key, value);
80
+ if (value !== redacted) {
81
+ !this.unmasked && (this.unmasked = new Set());
82
+ this.unmasked.add(value);
83
+ }
84
+ return redacted;
85
+ }
86
+ }
87
+
59
88
  require('./server-settings-listener')(core);
60
- require('./protect-listener')(core);
61
89
 
62
90
  return sensitiveDataMasking;
63
91
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/core",
3
- "version": "1.55.0",
3
+ "version": "1.58.0",
4
4
  "description": "Preconfigured Contrast agent core services and models",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",
@@ -13,21 +13,22 @@
13
13
  "types": "lib/index.d.ts",
14
14
  "engines": {
15
15
  "npm": ">=6.13.7 <7 || >= 8.3.1",
16
- "node": ">= 16.9.1"
16
+ "node": ">= 18.7.0"
17
17
  },
18
18
  "scripts": {
19
19
  "test": "bash ../scripts/test.sh"
20
20
  },
21
21
  "dependencies": {
22
- "@contrast/common": "1.35.0",
23
- "@contrast/config": "1.50.0",
22
+ "@contrast/common": "1.37.0",
23
+ "@contrast/config": "1.53.0",
24
24
  "@contrast/find-package-json": "^1.1.0",
25
- "@contrast/fn-inspect": "^4.3.0",
26
- "@contrast/logger": "1.28.0",
27
- "@contrast/patcher": "1.27.0",
28
- "@contrast/perf": "1.3.1",
25
+ "@contrast/fn-inspect": "^5.0.2",
26
+ "@contrast/logger": "1.31.0",
27
+ "@contrast/patcher": "1.30.0",
28
+ "@contrast/perf": "1.4.0",
29
29
  "@tsxper/crc32": "^2.1.3",
30
- "axios": "^1.11.0",
30
+ "axios": "^1.12.2",
31
+ "minimatch": "^9.0.5",
31
32
  "semver": "^7.6.0"
32
33
  }
33
34
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/deadzones",
3
- "version": "1.27.0",
3
+ "version": "1.30.0",
4
4
  "description": "Configures Contrast agent services and instrumentation within an application",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",
@@ -14,15 +14,15 @@
14
14
  "types": "lib/index.d.ts",
15
15
  "engines": {
16
16
  "npm": ">=6.13.7 <7 || >= 8.3.1",
17
- "node": ">= 16.9.1"
17
+ "node": ">= 18.7.0"
18
18
  },
19
19
  "scripts": {
20
20
  "test": "bash ../scripts/test.sh"
21
21
  },
22
22
  "dependencies": {
23
- "@contrast/common": "1.35.0",
24
- "@contrast/dep-hooks": "1.24.0",
25
- "@contrast/patcher": "1.27.0",
26
- "@contrast/scopes": "1.25.0"
23
+ "@contrast/common": "1.37.0",
24
+ "@contrast/dep-hooks": "1.27.0",
25
+ "@contrast/patcher": "1.30.0",
26
+ "@contrast/scopes": "1.28.0"
27
27
  }
28
28
  }
@@ -18,15 +18,19 @@ declare class ExportHandlerRegistry {
18
18
  * @param {Object} core
19
19
  * @param {import('pino').Logger} core.logger
20
20
  * @param {import('@contrast/common').Messages} core.messages
21
+ * @param {import('@contrast/common').AppInfo} core.appInfo
21
22
  */
22
- constructor({ logger, messages }: {
23
- logger: import('pino').Logger;
24
- messages: import('@contrast/common').Messages;
23
+ constructor({ logger, messages, appInfo }: {
24
+ logger: import("pino").Logger;
25
+ messages: import("@contrast/common").Messages;
26
+ appInfo: import("@contrast/common").AppInfo;
25
27
  });
26
28
  /** @type {import('pino').Logger} */
27
- logger: import('pino').Logger;
29
+ logger: import("pino").Logger;
28
30
  /** @type {import('@contrast/common').Messages} */
29
- messages: import('@contrast/common').Messages;
31
+ messages: import("@contrast/common").Messages;
32
+ /** @type {string} */
33
+ nodeModulesDir: string;
30
34
  /**
31
35
  * Contains all registered hooks that have been added by `.update()`
32
36
  * Keyed by `shortname`.
@@ -63,7 +67,7 @@ declare class ExportHandlerRegistry {
63
67
  * @param {ExportHookDescriptor<T>} info
64
68
  * @returns {ExportHookDescriptor<T>[]}
65
69
  */
66
- update<T extends Object>(info: import("./export-hook-descriptor")<T>): import("./export-hook-descriptor")<T>[];
70
+ update<T extends Object>(info: ExportHookDescriptor<T>): ExportHookDescriptor<T>[];
67
71
  /**
68
72
  * Defined as a class method to allow easy stubbing in tests.
69
73
  * @param {string} request the string passed to require()
@@ -86,7 +90,7 @@ declare class ExportHandlerRegistry {
86
90
  * @param {PackageFinder.Metadata} metadata module metadata
87
91
  * @param {ExportHookDescriptor<T>[]} registered list of registered hooks
88
92
  */
89
- buildFromRegistry<T_1 extends Object>(metadata: PackageFinder.Metadata, registered: import("./export-hook-descriptor")<T_1>[]): void;
93
+ buildFromRegistry<T extends Object>(metadata: PackageFinder.Metadata, registered: ExportHookDescriptor<T>[]): void;
90
94
  /**
91
95
  * Returns registered handlers and the module metadata for a module that has
92
96
  * registration for the version that is being required.
@@ -94,7 +98,7 @@ declare class ExportHandlerRegistry {
94
98
  * @param {PackageFinder.Metadata} metadata module metadata
95
99
  * @return {HandlerData<T>=}
96
100
  */
97
- findModuleHandlerData<T_2 extends Object>(metadata: PackageFinder.Metadata): HandlerData<T_2> | undefined;
101
+ findModuleHandlerData<T extends Object>(metadata: PackageFinder.Metadata): HandlerData<T> | undefined;
98
102
  /**
99
103
  * When an export is returned from a `require`, we want to resolve the name
100
104
  * used as the param, e.g. "http" in `require('http')`, to a set of
@@ -105,17 +109,17 @@ declare class ExportHandlerRegistry {
105
109
  * @param {boolean} isMain indicates whether the module executing require() is the entry point
106
110
  * @return {HandlerData<T>=}
107
111
  */
108
- query<T_3 extends Object>(request: string, parent: Module, isMain: boolean): HandlerData<T_3> | undefined;
112
+ query<T extends Object>(request: string, parent: Module, isMain: boolean): HandlerData<T> | undefined;
109
113
  }
110
114
  declare namespace ExportHandlerRegistry {
111
115
  export { ExportHookDescriptor, Handler, HandlerData };
112
116
  }
113
- type ExportHookDescriptor<T extends Object> = import('./export-hook-descriptor')<T>;
117
+ import Module = require("module");
118
+ import PackageFinder = require("./package-finder");
119
+ type ExportHookDescriptor<T extends Object> = import("./export-hook-descriptor")<T>;
120
+ type Handler<T extends Object> = import("./export-hook-descriptor").Handler<T>;
114
121
  type HandlerData<T extends Object> = {
115
122
  handlers: Handler<T>[];
116
123
  metadata: PackageFinder.Metadata;
117
124
  };
118
- import Module = require("module");
119
- import PackageFinder = require("./package-finder");
120
- type Handler<T extends Object> = import('./export-hook-descriptor').Handler<T>;
121
125
  //# sourceMappingURL=export-handler-registry.d.ts.map
@@ -14,9 +14,9 @@
14
14
  */
15
15
  // @ts-check
16
16
  'use strict';
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const Module = require('node:module');
17
+ const path = require('path');
19
18
  const semver = require('semver');
19
+ const Module = require('node:module');
20
20
  const { Event } = require('@contrast/common');
21
21
  const PackageFinder = require('./package-finder');
22
22
  /**
@@ -38,12 +38,15 @@ class ExportHandlerRegistry {
38
38
  * @param {Object} core
39
39
  * @param {import('pino').Logger} core.logger
40
40
  * @param {import('@contrast/common').Messages} core.messages
41
+ * @param {import('@contrast/common').AppInfo} core.appInfo
41
42
  */
42
- constructor({ logger, messages }) {
43
+ constructor({ logger, messages, appInfo }) {
43
44
  /** @type {import('pino').Logger} */
44
45
  this.logger = logger;
45
46
  /** @type {import('@contrast/common').Messages} */
46
47
  this.messages = messages;
48
+ /** @type {string} */
49
+ this.nodeModulesDir = path.resolve(appInfo.app_dir, 'node_modules');
47
50
  /**
48
51
  * Contains all registered hooks that have been added by `.update()`
49
52
  * Keyed by `shortname`.
@@ -117,7 +120,16 @@ class ExportHandlerRegistry {
117
120
  * @returns {PackageFinder.Metadata?}
118
121
  */
119
122
  resolveMetadata(filename) {
120
- return PackageFinder.resolveMetadata(filename, this.logger);
123
+ let metadata = PackageFinder.resolveMetadata(filename, this.nodeModulesDir, this.logger);
124
+ // See NODE-3859
125
+ // In rare cases, a library can be structured in such a way that require()-able sub-directories
126
+ // also contain a package.json with little metadata which is resolved first and then
127
+ // instrumentation will fail because it doesn't match the target library
128
+ if (!metadata?.name || !metadata?.version) {
129
+ this.logger?.debug('incomplete info found in %s; searching in parent directories', filename);
130
+ metadata = PackageFinder.resolveMetadata(path.resolve(filename, '..'), this.nodeModulesDir, this.logger);
131
+ }
132
+ return metadata;
121
133
  }
122
134
  /**
123
135
  * Iterates all descriptors pertaining to the currently-loading export. It
@@ -50,11 +50,11 @@ declare class ExportHookDescriptor<T extends Object = any> {
50
50
  declare namespace ExportHookDescriptor {
51
51
  export { Metadata, HookControls, Handler, Descriptor };
52
52
  }
53
- type Handler<T extends Object> = (mod: T, metadata: Metadata & HookControls) => T | void;
54
- type Metadata = import('./package-finder').Metadata;
53
+ type Metadata = import("./package-finder").Metadata;
55
54
  type HookControls = {
56
55
  rerun: () => void;
57
56
  };
57
+ type Handler<T extends Object> = (mod: T, metadata: Metadata & HookControls) => T | void;
58
58
  type Descriptor = {
59
59
  /**
60
60
  * module name, as passed to `require`, to handle.
@@ -14,10 +14,9 @@
14
14
  */
15
15
  // @ts-check
16
16
  'use strict';
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
17
  const path = require('node:path');
19
18
  const semver = require('semver');
20
- const { isBuiltin } = require('./helpers');
19
+ const Module = require('node:module');
21
20
  const { primordials: { StringPrototypeReplace } } = require('@contrast/common');
22
21
  /** @typedef {import('./package-finder').Metadata} Metadata */
23
22
  /**
@@ -50,7 +49,7 @@ class ExportHookDescriptor {
50
49
  constructor({ name, file, version }, handlers) {
51
50
  /** @type {string} */
52
51
  // @ts-ignore ts does not handle method overloads well
53
- this.name = isBuiltin(name) ? StringPrototypeReplace.call(name, /^(node:)?/, 'node:') : name;
52
+ this.name = Module.isBuiltin(name) ? StringPrototypeReplace.call(name, /^(node:)?/, 'node:') : name;
54
53
  /** @type {string=} */
55
54
  // @ts-ignore ts does not handle method overloads well
56
55
  this.file = file ? StringPrototypeReplace.call(file, /\/?(index)?(\.js)?$/, '') : undefined;
@@ -8,9 +8,9 @@ declare class HandlerInvoker {
8
8
  /**
9
9
  * @param {import('pino').Logger} logger
10
10
  */
11
- constructor(logger: import('pino').Logger);
11
+ constructor(logger: import("pino").Logger);
12
12
  /** @type {import('pino').Logger} */
13
- logger: import('pino').Logger;
13
+ logger: import("pino").Logger;
14
14
  /** @type {WeakMap<Object, WeakSet<Handler<any>>>} */
15
15
  seen: WeakMap<Object, WeakSet<Handler<any>>>;
16
16
  /**
@@ -31,16 +31,16 @@ declare class HandlerInvoker {
31
31
  * @param {Metadata} metadata Export metadata to pass to the handlers
32
32
  * @returns {T}
33
33
  */
34
- invoke<T_1 extends Object>(xport: T_1, handlers: Handler<T_1>[], metadata: Metadata): T_1;
34
+ invoke<T extends Object>(xport: T, handlers: Handler<T>[], metadata: Metadata): T;
35
35
  /**
36
36
  * @template {Object} T
37
37
  * @param {T} xport The exported module
38
38
  */
39
- reset<T_2 extends Object>(xport: T_2): void;
39
+ reset<T extends Object>(xport: T): void;
40
40
  }
41
41
  declare namespace HandlerInvoker {
42
42
  export { Handler, Metadata };
43
43
  }
44
- type Handler<T extends Object> = import('./export-hook-descriptor').Handler<T>;
45
- type Metadata = import('./package-finder').Metadata;
44
+ type Handler<T extends Object> = import("./export-hook-descriptor").Handler<T>;
45
+ type Metadata = import("./package-finder").Metadata;
46
46
  //# sourceMappingURL=handler-invoker.d.ts.map
@@ -14,7 +14,6 @@
14
14
  */
15
15
  // @ts-check
16
16
  'use strict';
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
17
  /**
19
18
  * @template {Object} T
20
19
  * @typedef {import('./export-hook-descriptor').Handler<T>} Handler
@@ -18,11 +18,4 @@ export function getShortname({ name, packageDir, file, main }: {
18
18
  file: string;
19
19
  main?: string;
20
20
  }): string;
21
- /**
22
- * polyfill for `module.isBuiltin` prior to Node v16.17.0
23
- * see: https://nodejs.org/docs/latest-v16.x/api/module.html#moduleisbuiltinmodulename
24
- * @param {string} name
25
- * @returns {boolean}
26
- */
27
- export function isBuiltin(name: string): boolean;
28
21
  //# sourceMappingURL=helpers.d.ts.map
@@ -13,10 +13,8 @@
13
13
  * way not consistent with the End User License Agreement.
14
14
  */
15
15
  'use strict';
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- const Module = require('node:module');
18
16
  const path = require('node:path');
19
- const { isString, primordials: { StringPrototypeReplace, StringPrototypeSubstring, RegExpPrototypeTest } } = require('@contrast/common');
17
+ const { isString, primordials: { StringPrototypeReplace, RegExpPrototypeTest } } = require('@contrast/common');
20
18
  const pathSepRegex = new RegExp(`\\${path.sep}`, 'g');
21
19
  /**
22
20
  * Shortens a fully resolved filename to a short path that would be respected by
@@ -46,21 +44,7 @@ function getShortname({ name, packageDir, file, main }) {
46
44
  return normalizedFilename;
47
45
  }
48
46
  }
49
- /**
50
- * polyfill for `module.isBuiltin` prior to Node v16.17.0
51
- * see: https://nodejs.org/docs/latest-v16.x/api/module.html#moduleisbuiltinmodulename
52
- * @param {string} name
53
- * @returns {boolean}
54
- */
55
- function isBuiltin(name) {
56
- if (name.startsWith('node:')) {
57
- name = StringPrototypeSubstring.call(name, 5);
58
- }
59
- // @ts-expect-error we've set the node version to 14 before this was added.
60
- return Module.isBuiltin?.(name) ?? Module.builtinModules.includes(name);
61
- }
62
47
  module.exports = {
63
- getShortname,
64
- isBuiltin,
48
+ getShortname
65
49
  };
66
50
  //# sourceMappingURL=helpers.js.map
@@ -1,18 +1,21 @@
1
+ declare namespace _exports {
2
+ export { LoadArgs, Metadata };
3
+ }
1
4
  declare function _exports(core: {
2
- readonly logger: import('@contrast/logger').Logger;
3
- readonly messages: import('@contrast/common').Messages;
5
+ readonly logger: import("@contrast/logger").Logger;
6
+ readonly messages: import("@contrast/common").Messages;
7
+ readonly appInfo: import("@contrast/common").AppInfo;
4
8
  depHooks: DepHooks;
5
9
  }): DepHooks;
6
10
  declare namespace _exports {
7
11
  export { DepHooks };
8
- export { LoadArgs, Metadata };
9
12
  }
10
13
  export = _exports;
11
- export type LoadArgs = {
14
+ type LoadArgs = {
12
15
  request: string;
13
16
  parent: Module;
14
17
  };
15
- export type Metadata = import('./package-finder').Metadata;
18
+ type Metadata = import("./package-finder").Metadata;
16
19
  /**
17
20
  * @typedef {Object} LoadArgs
18
21
  * @property {string} request
@@ -28,15 +31,17 @@ declare class DepHooks {
28
31
  * @param {Object} opts
29
32
  * @param {import('pino').Logger} opts.logger
30
33
  * @param {import('@contrast/common').Messages} opts.messages
34
+ * @param {import('@contrast/common').AppInfo} opts.appInfo
31
35
  */
32
- constructor({ logger, messages }: {
33
- logger: import('pino').Logger;
34
- messages: import('@contrast/common').Messages;
36
+ constructor({ logger, messages, appInfo }: {
37
+ logger: import("pino").Logger;
38
+ messages: import("@contrast/common").Messages;
39
+ appInfo: import("@contrast/common").AppInfo;
35
40
  });
36
41
  /** @type {import('pino').Logger} */
37
- logger: import('pino').Logger;
42
+ logger: import("pino").Logger;
38
43
  /** @type {import('@contrast/common').Messages} */
39
- messages: import('@contrast/common').Messages;
44
+ messages: import("@contrast/common").Messages;
40
45
  /** @type {HandlerInvoker} */
41
46
  invoker: HandlerInvoker;
42
47
  /** @type {ExportHandlerRegistry} */
@@ -63,7 +68,7 @@ declare class DepHooks {
63
68
  * @param {Metadata} metadata the export's metadata
64
69
  * @returns {T}
65
70
  */
66
- runRequireHandlers<T_1 extends Object>(xport: T_1, handlers: ExportHookDescriptor.Handler<T_1>[], metadata: Metadata): T_1;
71
+ runRequireHandlers<T extends Object>(xport: T, handlers: ExportHookDescriptor.Handler<T>[], metadata: Metadata): T;
67
72
  /**
68
73
  * Checks if module name exists in resets set. If so, it will remove it from
69
74
  * the set as well as remove it from the invoker WeakMap. This will force
@@ -73,7 +78,7 @@ declare class DepHooks {
73
78
  * @param {string} request the string passed to require()
74
79
  * @param {T} xport the exported value of a required module
75
80
  */
76
- maybeClearHandlers<T_2 extends Object>(request: string, xport: T_2): void;
81
+ maybeClearHandlers<T extends Object>(request: string, xport: T): void;
77
82
  /**
78
83
  * Instruments the Module._load method (invoked by require) to run registered handlers _after_ the modules
79
84
  * have loaded/compiled. Any value returned by the handlers will replace the return value of Module._load
@@ -14,7 +14,6 @@
14
14
  */
15
15
  // @ts-check
16
16
  'use strict';
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
17
  const Module = require('node:module');
19
18
  const ExportHandlerRegistry = require('./export-handler-registry');
20
19
  const ExportHookDescriptor = require('./export-hook-descriptor');
@@ -34,8 +33,9 @@ class DepHooks {
34
33
  * @param {Object} opts
35
34
  * @param {import('pino').Logger} opts.logger
36
35
  * @param {import('@contrast/common').Messages} opts.messages
36
+ * @param {import('@contrast/common').AppInfo} opts.appInfo
37
37
  */
38
- constructor({ logger, messages }) {
38
+ constructor({ logger, messages, appInfo }) {
39
39
  /** Alias for `DepHooks#resolve` */
40
40
  this.resolve = this.register;
41
41
  /** @type {import('pino').Logger} */
@@ -45,7 +45,7 @@ class DepHooks {
45
45
  /** @type {HandlerInvoker} */
46
46
  this.invoker = new HandlerInvoker(logger);
47
47
  /** @type {ExportHandlerRegistry} */
48
- this.registry = new ExportHandlerRegistry({ logger, messages });
48
+ this.registry = new ExportHandlerRegistry({ logger, messages, appInfo });
49
49
  /** @type {WeakMap<Object, Object>} */
50
50
  this.requiredModules = new WeakMap();
51
51
  /** @type {Set<string>} */
@@ -193,6 +193,7 @@ class DepHooks {
193
193
  * @param {{
194
194
  * readonly logger: import('@contrast/logger').Logger;
195
195
  * readonly messages: import('@contrast/common').Messages;
196
+ * readonly appInfo: import('@contrast/common').AppInfo;
196
197
  * depHooks: DepHooks;
197
198
  * }} core
198
199
  * @returns {DepHooks}
@@ -201,6 +202,7 @@ module.exports = function init(core) {
201
202
  core.depHooks = new DepHooks({
202
203
  logger: core.logger.child({ name: 'contrast:dep-hooks' }),
203
204
  messages: core.messages,
205
+ appInfo: core.appInfo
204
206
  });
205
207
  return core.depHooks;
206
208
  };
@@ -36,8 +36,9 @@ export type Metadata = {
36
36
  /**
37
37
  * Resolves the metadata of a package given it's resolved name.
38
38
  * @param {string=} file Absolute path to the module file
39
+ * @param {string=} file Absolute path to the node_modules directory
39
40
  * @param {import('pino').Logger=} logger
40
41
  * @returns {Metadata?}
41
42
  */
42
- export function resolveMetadata(file?: string | undefined, logger?: import('pino').Logger | undefined): Metadata | null;
43
+ export function resolveMetadata(file?: string | undefined, nodeModulesDir: any, logger?: import("pino").Logger | undefined): Metadata | null;
43
44
  //# sourceMappingURL=package-finder.d.ts.map
@@ -12,12 +12,11 @@
12
12
  * engineered, modified, repackaged, sold, redistributed or otherwise used in a
13
13
  * way not consistent with the End User License Agreement.
14
14
  */
15
- // @ts-check
16
15
  'use strict';
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
16
  const path = require('node:path');
17
+ const Module = require('node:module');
19
18
  const { findPackageJsonSync } = require('@contrast/find-package-json');
20
- const { getShortname, isBuiltin } = require('./helpers');
19
+ const { getShortname } = require('./helpers');
21
20
  const { primordials: { StringPrototypeReplace, StringPrototypeSubstring, JSONParse, FsReadFileSync } } = require('@contrast/common');
22
21
  /**
23
22
  * @typedef {Object} Metadata
@@ -31,14 +30,15 @@ const { primordials: { StringPrototypeReplace, StringPrototypeSubstring, JSONPar
31
30
  /**
32
31
  * Resolves the metadata of a package given it's resolved name.
33
32
  * @param {string=} file Absolute path to the module file
33
+ * @param {string=} file Absolute path to the node_modules directory
34
34
  * @param {import('pino').Logger=} logger
35
35
  * @returns {Metadata?}
36
36
  */
37
- function resolveMetadata(file, logger) {
37
+ function resolveMetadata(file, nodeModulesDir, logger) {
38
38
  if (!file) {
39
39
  return null;
40
40
  }
41
- if (isBuiltin(file)) {
41
+ if (Module.isBuiltin(file)) {
42
42
  // @ts-ignore ts does not handle method overloads well
43
43
  file = StringPrototypeReplace.call(file, /^(node:)?/, 'node:');
44
44
  return {
@@ -50,7 +50,7 @@ function resolveMetadata(file, logger) {
50
50
  };
51
51
  }
52
52
  const resolved = path.dirname(file);
53
- const pdj = findPackageJsonSync({ cwd: resolved });
53
+ const pdj = findPackageJsonSync({ cwd: resolved, stopAt: nodeModulesDir });
54
54
  if (!pdj) {
55
55
  logger?.error('unable to find package.json for %s', file);
56
56
  return null;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/dep-hooks",
3
- "version": "1.24.0",
3
+ "version": "1.27.0",
4
4
  "description": "Post hooks for Module.prototype.require",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",
@@ -21,9 +21,10 @@
21
21
  "test": "bash ../scripts/test.sh"
22
22
  },
23
23
  "dependencies": {
24
- "@contrast/common": "1.35.0",
24
+ "@contrast/common": "1.37.0",
25
+ "@contrast/core": "1.58.0",
25
26
  "@contrast/find-package-json": "^1.1.0",
26
- "@contrast/logger": "1.28.0",
27
+ "@contrast/logger": "1.31.0",
27
28
  "semver": "^7.6.3"
28
29
  }
29
30
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/distringuish",
3
- "version": "5.1.0",
3
+ "version": "6.0.2",
4
4
  "description": "Contrast Security",
5
5
  "author": "Contrast Security",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -12,15 +12,16 @@
12
12
  "main": "index.js",
13
13
  "types": "index.d.ts",
14
14
  "engines": {
15
- "node": ">=16.9.1"
15
+ "node": ">=18.7.0"
16
16
  },
17
17
  "dependencies": {
18
- "nan": "^2.19.0",
19
- "node-addon-api": "^7.1.1",
20
- "node-gyp-build": "^4.8.1"
18
+ "nan": "^2.23.0",
19
+ "node-addon-api": "^8.5.0",
20
+ "node-gyp-build": "^4.8.4"
21
21
  },
22
22
  "overrides": {
23
23
  "debug": "^4.3.4",
24
- "trim-newlines": "^3.0.1"
24
+ "trim-newlines": "^3.0.1",
25
+ "node-abi": "^4.12.0"
25
26
  }
26
27
  }