@noresponse/node 5.1.2 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +6 -6
  3. package/dist/commonjs/client.d.ts +1 -3
  4. package/dist/commonjs/client.d.ts.map +1 -1
  5. package/dist/commonjs/client.js +1 -1
  6. package/dist/commonjs/client.js.map +1 -1
  7. package/dist/commonjs/funcs/validate-webhook.d.ts +14 -0
  8. package/dist/commonjs/funcs/validate-webhook.d.ts.map +1 -0
  9. package/dist/commonjs/funcs/validate-webhook.js +24 -0
  10. package/dist/commonjs/funcs/validate-webhook.js.map +1 -0
  11. package/dist/commonjs/hooks/types.d.ts +2 -0
  12. package/dist/commonjs/hooks/types.d.ts.map +1 -1
  13. package/dist/commonjs/index.d.ts +1 -1
  14. package/dist/commonjs/index.d.ts.map +1 -1
  15. package/dist/commonjs/index.js +1 -3
  16. package/dist/commonjs/index.js.map +1 -1
  17. package/dist/commonjs/late-results.d.ts +3 -2
  18. package/dist/commonjs/late-results.d.ts.map +1 -1
  19. package/dist/commonjs/late-results.js +2 -2
  20. package/dist/commonjs/late-results.js.map +1 -1
  21. package/dist/commonjs/lib/config.d.ts +2 -2
  22. package/dist/commonjs/lib/config.js +2 -2
  23. package/dist/commonjs/models/account-decision.d.ts +2 -0
  24. package/dist/commonjs/models/account-decision.d.ts.map +1 -1
  25. package/dist/commonjs/models/account-decision.js +3 -1
  26. package/dist/commonjs/models/account-decision.js.map +1 -1
  27. package/dist/commonjs/models/account-decisions-by-flow.d.ts +9 -0
  28. package/dist/commonjs/models/account-decisions-by-flow.d.ts.map +1 -1
  29. package/dist/commonjs/models/account-decisions-by-flow.js +15 -1
  30. package/dist/commonjs/models/account-decisions-by-flow.js.map +1 -1
  31. package/dist/commonjs/models/account-deleted-event.d.ts +44 -0
  32. package/dist/commonjs/models/account-deleted-event.d.ts.map +1 -0
  33. package/dist/commonjs/models/account-deleted-event.js +74 -0
  34. package/dist/commonjs/models/account-deleted-event.js.map +1 -0
  35. package/dist/commonjs/models/account-deleted.d.ts +33 -0
  36. package/dist/commonjs/models/account-deleted.d.ts.map +1 -0
  37. package/dist/commonjs/models/account-deleted.js +73 -0
  38. package/dist/commonjs/models/account-deleted.js.map +1 -0
  39. package/dist/commonjs/models/account-risk-changed-event.d.ts +44 -0
  40. package/dist/commonjs/models/account-risk-changed-event.d.ts.map +1 -0
  41. package/dist/commonjs/models/account-risk-changed-event.js +74 -0
  42. package/dist/commonjs/models/account-risk-changed-event.js.map +1 -0
  43. package/dist/commonjs/models/account-risk-changed.d.ts +30 -0
  44. package/dist/commonjs/models/account-risk-changed.d.ts.map +1 -0
  45. package/dist/commonjs/models/account-risk-changed.js +68 -0
  46. package/dist/commonjs/models/account-risk-changed.js.map +1 -0
  47. package/dist/commonjs/models/account-risk-reason.d.ts +9 -0
  48. package/dist/commonjs/models/account-risk-reason.d.ts.map +1 -1
  49. package/dist/commonjs/models/account-risk-reason.js +11 -1
  50. package/dist/commonjs/models/account-risk-reason.js.map +1 -1
  51. package/dist/commonjs/models/account-risk.d.ts +10 -1
  52. package/dist/commonjs/models/account-risk.d.ts.map +1 -1
  53. package/dist/commonjs/models/account-risk.js +11 -1
  54. package/dist/commonjs/models/account-risk.js.map +1 -1
  55. package/dist/commonjs/models/account.d.ts +15 -2
  56. package/dist/commonjs/models/account.d.ts.map +1 -1
  57. package/dist/commonjs/models/account.js +23 -1
  58. package/dist/commonjs/models/account.js.map +1 -1
  59. package/dist/commonjs/models/assessment-detail-auth-context.d.ts +14 -0
  60. package/dist/commonjs/models/assessment-detail-auth-context.d.ts.map +1 -1
  61. package/dist/commonjs/models/assessment-detail-auth-context.js +22 -1
  62. package/dist/commonjs/models/assessment-detail-auth-context.js.map +1 -1
  63. package/dist/commonjs/models/assessment-detail-timing.d.ts +8 -0
  64. package/dist/commonjs/models/assessment-detail-timing.d.ts.map +1 -1
  65. package/dist/commonjs/models/assessment-detail-timing.js +15 -1
  66. package/dist/commonjs/models/assessment-detail-timing.js.map +1 -1
  67. package/dist/commonjs/models/assessment-detail.d.ts +30 -5
  68. package/dist/commonjs/models/assessment-detail.d.ts.map +1 -1
  69. package/dist/commonjs/models/assessment-detail.js +43 -1
  70. package/dist/commonjs/models/assessment-detail.js.map +1 -1
  71. package/dist/commonjs/models/assessment-expired.d.ts +37 -0
  72. package/dist/commonjs/models/assessment-expired.d.ts.map +1 -0
  73. package/dist/commonjs/models/assessment-expired.js +79 -0
  74. package/dist/commonjs/models/assessment-expired.js.map +1 -0
  75. package/dist/commonjs/models/assessment-updated-data.d.ts +30 -0
  76. package/dist/commonjs/models/assessment-updated-data.d.ts.map +1 -0
  77. package/dist/commonjs/models/assessment-updated-data.js +63 -0
  78. package/dist/commonjs/models/assessment-updated-data.js.map +1 -0
  79. package/dist/commonjs/models/assessment-updated-event.d.ts +44 -0
  80. package/dist/commonjs/models/assessment-updated-event.d.ts.map +1 -0
  81. package/dist/commonjs/models/assessment-updated-event.js +74 -0
  82. package/dist/commonjs/models/assessment-updated-event.js.map +1 -0
  83. package/dist/commonjs/models/assessment.d.ts +15 -2
  84. package/dist/commonjs/models/assessment.d.ts.map +1 -1
  85. package/dist/commonjs/models/assessment.js +19 -1
  86. package/dist/commonjs/models/assessment.js.map +1 -1
  87. package/dist/commonjs/models/band.d.ts +2 -0
  88. package/dist/commonjs/models/band.d.ts.map +1 -1
  89. package/dist/commonjs/models/band.js +4 -1
  90. package/dist/commonjs/models/band.js.map +1 -1
  91. package/dist/commonjs/models/breach-exposed.d.ts +2 -0
  92. package/dist/commonjs/models/breach-exposed.d.ts.map +1 -1
  93. package/dist/commonjs/models/breach-exposed.js +3 -1
  94. package/dist/commonjs/models/breach-exposed.js.map +1 -1
  95. package/dist/commonjs/models/breach-kind.d.ts +2 -0
  96. package/dist/commonjs/models/breach-kind.d.ts.map +1 -1
  97. package/dist/commonjs/models/breach-kind.js +3 -1
  98. package/dist/commonjs/models/breach-kind.js.map +1 -1
  99. package/dist/commonjs/models/breach-selector.d.ts +2 -0
  100. package/dist/commonjs/models/breach-selector.d.ts.map +1 -1
  101. package/dist/commonjs/models/breach-selector.js +3 -1
  102. package/dist/commonjs/models/breach-selector.js.map +1 -1
  103. package/dist/commonjs/models/breach-summary.d.ts +14 -0
  104. package/dist/commonjs/models/breach-summary.d.ts.map +1 -1
  105. package/dist/commonjs/models/breach-summary.js +24 -1
  106. package/dist/commonjs/models/breach-summary.js.map +1 -1
  107. package/dist/commonjs/models/breach.d.ts +14 -0
  108. package/dist/commonjs/models/breach.d.ts.map +1 -1
  109. package/dist/commonjs/models/breach.js +21 -1
  110. package/dist/commonjs/models/breach.js.map +1 -1
  111. package/dist/commonjs/models/confidence.d.ts +2 -0
  112. package/dist/commonjs/models/confidence.d.ts.map +1 -1
  113. package/dist/commonjs/models/confidence.js +3 -1
  114. package/dist/commonjs/models/confidence.js.map +1 -1
  115. package/dist/commonjs/models/consistency-value.d.ts +2 -0
  116. package/dist/commonjs/models/consistency-value.d.ts.map +1 -1
  117. package/dist/commonjs/models/consistency-value.js +3 -1
  118. package/dist/commonjs/models/consistency-value.js.map +1 -1
  119. package/dist/commonjs/models/consistency.d.ts +10 -0
  120. package/dist/commonjs/models/consistency.d.ts.map +1 -1
  121. package/dist/commonjs/models/consistency.js +12 -1
  122. package/dist/commonjs/models/consistency.js.map +1 -1
  123. package/dist/commonjs/models/country.d.ts +2 -0
  124. package/dist/commonjs/models/country.d.ts.map +1 -1
  125. package/dist/commonjs/models/country.js +4 -1
  126. package/dist/commonjs/models/country.js.map +1 -1
  127. package/dist/commonjs/models/endpoint-verification-event.d.ts +41 -0
  128. package/dist/commonjs/models/endpoint-verification-event.d.ts.map +1 -0
  129. package/dist/commonjs/models/endpoint-verification-event.js +74 -0
  130. package/dist/commonjs/models/endpoint-verification-event.js.map +1 -0
  131. package/dist/commonjs/models/endpoint-verification.d.ts +25 -0
  132. package/dist/commonjs/models/endpoint-verification.d.ts.map +1 -0
  133. package/dist/commonjs/models/endpoint-verification.js +67 -0
  134. package/dist/commonjs/models/endpoint-verification.js.map +1 -0
  135. package/dist/commonjs/models/environment.d.ts +18 -0
  136. package/dist/commonjs/models/environment.d.ts.map +1 -0
  137. package/dist/commonjs/models/environment.js +50 -0
  138. package/dist/commonjs/models/environment.js.map +1 -0
  139. package/dist/commonjs/models/failure-reason.d.ts +2 -0
  140. package/dist/commonjs/models/failure-reason.d.ts.map +1 -1
  141. package/dist/commonjs/models/failure-reason.js +3 -1
  142. package/dist/commonjs/models/failure-reason.js.map +1 -1
  143. package/dist/commonjs/models/freshness.d.ts +2 -0
  144. package/dist/commonjs/models/freshness.d.ts.map +1 -1
  145. package/dist/commonjs/models/freshness.js +3 -1
  146. package/dist/commonjs/models/freshness.js.map +1 -1
  147. package/dist/commonjs/models/identifier-kind.d.ts +2 -0
  148. package/dist/commonjs/models/identifier-kind.d.ts.map +1 -1
  149. package/dist/commonjs/models/identifier-kind.js +3 -1
  150. package/dist/commonjs/models/identifier-kind.js.map +1 -1
  151. package/dist/commonjs/models/incomplete-reason.d.ts +2 -0
  152. package/dist/commonjs/models/incomplete-reason.d.ts.map +1 -1
  153. package/dist/commonjs/models/incomplete-reason.js +3 -1
  154. package/dist/commonjs/models/incomplete-reason.js.map +1 -1
  155. package/dist/commonjs/models/incomplete-source.d.ts +8 -0
  156. package/dist/commonjs/models/incomplete-source.d.ts.map +1 -1
  157. package/dist/commonjs/models/incomplete-source.js +10 -1
  158. package/dist/commonjs/models/incomplete-source.js.map +1 -1
  159. package/dist/commonjs/models/index.d.ts +16 -0
  160. package/dist/commonjs/models/index.d.ts.map +1 -1
  161. package/dist/commonjs/models/index.js +16 -0
  162. package/dist/commonjs/models/index.js.map +1 -1
  163. package/dist/commonjs/models/ip-summary-type.d.ts +2 -0
  164. package/dist/commonjs/models/ip-summary-type.d.ts.map +1 -1
  165. package/dist/commonjs/models/ip-summary-type.js +3 -1
  166. package/dist/commonjs/models/ip-summary-type.js.map +1 -1
  167. package/dist/commonjs/models/ip-summary.d.ts +9 -0
  168. package/dist/commonjs/models/ip-summary.d.ts.map +1 -1
  169. package/dist/commonjs/models/ip-summary.js +15 -1
  170. package/dist/commonjs/models/ip-summary.js.map +1 -1
  171. package/dist/commonjs/models/lane.d.ts +2 -0
  172. package/dist/commonjs/models/lane.d.ts.map +1 -1
  173. package/dist/commonjs/models/lane.js +4 -1
  174. package/dist/commonjs/models/lane.js.map +1 -1
  175. package/dist/commonjs/models/line-type.d.ts +2 -0
  176. package/dist/commonjs/models/line-type.d.ts.map +1 -1
  177. package/dist/commonjs/models/line-type.js +3 -1
  178. package/dist/commonjs/models/line-type.js.map +1 -1
  179. package/dist/commonjs/models/phone-enrichment-fields.d.ts +110 -0
  180. package/dist/commonjs/models/phone-enrichment-fields.d.ts.map +1 -1
  181. package/dist/commonjs/models/phone-enrichment-fields.js +235 -1
  182. package/dist/commonjs/models/phone-enrichment-fields.js.map +1 -1
  183. package/dist/commonjs/models/phone-enrichment.d.ts +8 -1
  184. package/dist/commonjs/models/phone-enrichment.d.ts.map +1 -1
  185. package/dist/commonjs/models/phone-enrichment.js +9 -1
  186. package/dist/commonjs/models/phone-enrichment.js.map +1 -1
  187. package/dist/commonjs/models/reason-code.d.ts +2 -0
  188. package/dist/commonjs/models/reason-code.d.ts.map +1 -1
  189. package/dist/commonjs/models/reason-code.js +3 -1
  190. package/dist/commonjs/models/reason-code.js.map +1 -1
  191. package/dist/commonjs/models/reason-identifier.d.ts +2 -0
  192. package/dist/commonjs/models/reason-identifier.d.ts.map +1 -1
  193. package/dist/commonjs/models/reason-identifier.js +3 -1
  194. package/dist/commonjs/models/reason-identifier.js.map +1 -1
  195. package/dist/commonjs/models/recommendation.d.ts +2 -0
  196. package/dist/commonjs/models/recommendation.d.ts.map +1 -1
  197. package/dist/commonjs/models/recommendation.js +3 -1
  198. package/dist/commonjs/models/recommendation.js.map +1 -1
  199. package/dist/commonjs/models/risk-confidence.d.ts +2 -0
  200. package/dist/commonjs/models/risk-confidence.d.ts.map +1 -1
  201. package/dist/commonjs/models/risk-confidence.js +3 -1
  202. package/dist/commonjs/models/risk-confidence.js.map +1 -1
  203. package/dist/commonjs/models/risk-coverage.d.ts +9 -0
  204. package/dist/commonjs/models/risk-coverage.d.ts.map +1 -1
  205. package/dist/commonjs/models/risk-coverage.js +11 -1
  206. package/dist/commonjs/models/risk-coverage.js.map +1 -1
  207. package/dist/commonjs/models/risk-details-breach-name.d.ts +8 -0
  208. package/dist/commonjs/models/risk-details-breach-name.d.ts.map +1 -1
  209. package/dist/commonjs/models/risk-details-breach-name.js +14 -1
  210. package/dist/commonjs/models/risk-details-breach-name.js.map +1 -1
  211. package/dist/commonjs/models/risk-details-phone-name.d.ts +8 -0
  212. package/dist/commonjs/models/risk-details-phone-name.d.ts.map +1 -1
  213. package/dist/commonjs/models/risk-details-phone-name.js +14 -1
  214. package/dist/commonjs/models/risk-details-phone-name.js.map +1 -1
  215. package/dist/commonjs/models/risk-details.d.ts +12 -3
  216. package/dist/commonjs/models/risk-details.d.ts.map +1 -1
  217. package/dist/commonjs/models/risk-details.js +16 -1
  218. package/dist/commonjs/models/risk-details.js.map +1 -1
  219. package/dist/commonjs/models/risk-reason.d.ts +9 -0
  220. package/dist/commonjs/models/risk-reason.d.ts.map +1 -1
  221. package/dist/commonjs/models/risk-reason.js +11 -1
  222. package/dist/commonjs/models/risk-reason.js.map +1 -1
  223. package/dist/commonjs/models/risk-summary-email.d.ts +10 -1
  224. package/dist/commonjs/models/risk-summary-email.d.ts.map +1 -1
  225. package/dist/commonjs/models/risk-summary-email.js +15 -1
  226. package/dist/commonjs/models/risk-summary-email.js.map +1 -1
  227. package/dist/commonjs/models/risk-summary-phone.d.ts +10 -0
  228. package/dist/commonjs/models/risk-summary-phone.d.ts.map +1 -1
  229. package/dist/commonjs/models/risk-summary-phone.js +17 -1
  230. package/dist/commonjs/models/risk-summary-phone.js.map +1 -1
  231. package/dist/commonjs/models/risk-summary-username.d.ts +9 -1
  232. package/dist/commonjs/models/risk-summary-username.d.ts.map +1 -1
  233. package/dist/commonjs/models/risk-summary-username.js +14 -1
  234. package/dist/commonjs/models/risk-summary-username.js.map +1 -1
  235. package/dist/commonjs/models/risk-summary.d.ts +16 -5
  236. package/dist/commonjs/models/risk-summary.d.ts.map +1 -1
  237. package/dist/commonjs/models/risk-summary.js +13 -1
  238. package/dist/commonjs/models/risk-summary.js.map +1 -1
  239. package/dist/commonjs/models/risk.d.ts +22 -4
  240. package/dist/commonjs/models/risk.d.ts.map +1 -1
  241. package/dist/commonjs/models/risk.js +26 -1
  242. package/dist/commonjs/models/risk.js.map +1 -1
  243. package/dist/commonjs/models/signal-outcome.d.ts +2 -0
  244. package/dist/commonjs/models/signal-outcome.d.ts.map +1 -1
  245. package/dist/commonjs/models/signal-outcome.js +3 -1
  246. package/dist/commonjs/models/signal-outcome.js.map +1 -1
  247. package/dist/commonjs/models/signal.d.ts +17 -1
  248. package/dist/commonjs/models/signal.d.ts.map +1 -1
  249. package/dist/commonjs/models/signal.js +26 -1
  250. package/dist/commonjs/models/signal.js.map +1 -1
  251. package/dist/commonjs/models/status.d.ts +2 -0
  252. package/dist/commonjs/models/status.d.ts.map +1 -1
  253. package/dist/commonjs/models/status.js +4 -1
  254. package/dist/commonjs/models/status.js.map +1 -1
  255. package/dist/commonjs/models/webhook-endpoint-disabled-event.d.ts +44 -0
  256. package/dist/commonjs/models/webhook-endpoint-disabled-event.d.ts.map +1 -0
  257. package/dist/commonjs/models/webhook-endpoint-disabled-event.js +74 -0
  258. package/dist/commonjs/models/webhook-endpoint-disabled-event.js.map +1 -0
  259. package/dist/commonjs/models/webhook-endpoint-disabled.d.ts +33 -0
  260. package/dist/commonjs/models/webhook-endpoint-disabled.d.ts.map +1 -0
  261. package/dist/commonjs/models/webhook-endpoint-disabled.js +73 -0
  262. package/dist/commonjs/models/webhook-endpoint-disabled.js.map +1 -0
  263. package/dist/commonjs/models/webhook-event.d.ts +22 -0
  264. package/dist/commonjs/models/webhook-event.d.ts.map +1 -0
  265. package/dist/commonjs/models/webhook-event.js +71 -0
  266. package/dist/commonjs/models/webhook-event.js.map +1 -0
  267. package/dist/commonjs/models/webhook-verification-response.d.ts +23 -0
  268. package/dist/commonjs/models/webhook-verification-response.d.ts.map +1 -0
  269. package/dist/commonjs/models/webhook-verification-response.js +56 -0
  270. package/dist/commonjs/models/webhook-verification-response.js.map +1 -0
  271. package/dist/commonjs/models/workspace-deleted-event.d.ts +44 -0
  272. package/dist/commonjs/models/workspace-deleted-event.d.ts.map +1 -0
  273. package/dist/commonjs/models/workspace-deleted-event.js +74 -0
  274. package/dist/commonjs/models/workspace-deleted-event.js.map +1 -0
  275. package/dist/commonjs/models/workspace-deleted.d.ts +34 -0
  276. package/dist/commonjs/models/workspace-deleted.d.ts.map +1 -0
  277. package/dist/commonjs/models/workspace-deleted.js +72 -0
  278. package/dist/commonjs/models/workspace-deleted.js.map +1 -0
  279. package/dist/commonjs/sdk/sdk.d.ts +11 -0
  280. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  281. package/dist/commonjs/sdk/sdk.js +5 -0
  282. package/dist/commonjs/sdk/sdk.js.map +1 -1
  283. package/dist/commonjs/types/index.d.ts +1 -0
  284. package/dist/commonjs/types/index.d.ts.map +1 -1
  285. package/dist/commonjs/types/webhooks.d.ts +5 -0
  286. package/dist/commonjs/types/webhooks.d.ts.map +1 -0
  287. package/dist/commonjs/types/webhooks.js +3 -0
  288. package/dist/commonjs/types/webhooks.js.map +1 -0
  289. package/dist/commonjs/webhooks.d.ts +18 -139
  290. package/dist/commonjs/webhooks.d.ts.map +1 -1
  291. package/dist/commonjs/webhooks.js +86 -162
  292. package/dist/commonjs/webhooks.js.map +1 -1
  293. package/dist/esm/client.d.ts +1 -3
  294. package/dist/esm/client.d.ts.map +1 -1
  295. package/dist/esm/client.js +2 -2
  296. package/dist/esm/client.js.map +1 -1
  297. package/dist/esm/funcs/validate-webhook.d.ts +14 -0
  298. package/dist/esm/funcs/validate-webhook.d.ts.map +1 -0
  299. package/dist/esm/funcs/validate-webhook.js +21 -0
  300. package/dist/esm/funcs/validate-webhook.js.map +1 -0
  301. package/dist/esm/hooks/types.d.ts +2 -0
  302. package/dist/esm/hooks/types.d.ts.map +1 -1
  303. package/dist/esm/index.d.ts +1 -1
  304. package/dist/esm/index.d.ts.map +1 -1
  305. package/dist/esm/index.js +1 -1
  306. package/dist/esm/index.js.map +1 -1
  307. package/dist/esm/late-results.d.ts +3 -2
  308. package/dist/esm/late-results.d.ts.map +1 -1
  309. package/dist/esm/late-results.js +2 -2
  310. package/dist/esm/late-results.js.map +1 -1
  311. package/dist/esm/lib/config.d.ts +2 -2
  312. package/dist/esm/lib/config.js +2 -2
  313. package/dist/esm/models/account-decision.d.ts +2 -0
  314. package/dist/esm/models/account-decision.d.ts.map +1 -1
  315. package/dist/esm/models/account-decision.js +2 -0
  316. package/dist/esm/models/account-decision.js.map +1 -1
  317. package/dist/esm/models/account-decisions-by-flow.d.ts +9 -0
  318. package/dist/esm/models/account-decisions-by-flow.d.ts.map +1 -1
  319. package/dist/esm/models/account-decisions-by-flow.js +14 -1
  320. package/dist/esm/models/account-decisions-by-flow.js.map +1 -1
  321. package/dist/esm/models/account-deleted-event.d.ts +44 -0
  322. package/dist/esm/models/account-deleted-event.d.ts.map +1 -0
  323. package/dist/esm/models/account-deleted-event.js +36 -0
  324. package/dist/esm/models/account-deleted-event.js.map +1 -0
  325. package/dist/esm/models/account-deleted.d.ts +33 -0
  326. package/dist/esm/models/account-deleted.d.ts.map +1 -0
  327. package/dist/esm/models/account-deleted.js +35 -0
  328. package/dist/esm/models/account-deleted.js.map +1 -0
  329. package/dist/esm/models/account-risk-changed-event.d.ts +44 -0
  330. package/dist/esm/models/account-risk-changed-event.d.ts.map +1 -0
  331. package/dist/esm/models/account-risk-changed-event.js +36 -0
  332. package/dist/esm/models/account-risk-changed-event.js.map +1 -0
  333. package/dist/esm/models/account-risk-changed.d.ts +30 -0
  334. package/dist/esm/models/account-risk-changed.d.ts.map +1 -0
  335. package/dist/esm/models/account-risk-changed.js +30 -0
  336. package/dist/esm/models/account-risk-changed.js.map +1 -0
  337. package/dist/esm/models/account-risk-reason.d.ts +9 -0
  338. package/dist/esm/models/account-risk-reason.d.ts.map +1 -1
  339. package/dist/esm/models/account-risk-reason.js +11 -2
  340. package/dist/esm/models/account-risk-reason.js.map +1 -1
  341. package/dist/esm/models/account-risk.d.ts +10 -1
  342. package/dist/esm/models/account-risk.d.ts.map +1 -1
  343. package/dist/esm/models/account-risk.js +11 -2
  344. package/dist/esm/models/account-risk.js.map +1 -1
  345. package/dist/esm/models/account.d.ts +15 -2
  346. package/dist/esm/models/account.d.ts.map +1 -1
  347. package/dist/esm/models/account.js +23 -2
  348. package/dist/esm/models/account.js.map +1 -1
  349. package/dist/esm/models/assessment-detail-auth-context.d.ts +14 -0
  350. package/dist/esm/models/assessment-detail-auth-context.d.ts.map +1 -1
  351. package/dist/esm/models/assessment-detail-auth-context.js +22 -2
  352. package/dist/esm/models/assessment-detail-auth-context.js.map +1 -1
  353. package/dist/esm/models/assessment-detail-timing.d.ts +8 -0
  354. package/dist/esm/models/assessment-detail-timing.d.ts.map +1 -1
  355. package/dist/esm/models/assessment-detail-timing.js +13 -0
  356. package/dist/esm/models/assessment-detail-timing.js.map +1 -1
  357. package/dist/esm/models/assessment-detail.d.ts +30 -5
  358. package/dist/esm/models/assessment-detail.d.ts.map +1 -1
  359. package/dist/esm/models/assessment-detail.js +49 -8
  360. package/dist/esm/models/assessment-detail.js.map +1 -1
  361. package/dist/esm/models/assessment-expired.d.ts +37 -0
  362. package/dist/esm/models/assessment-expired.d.ts.map +1 -0
  363. package/dist/esm/models/assessment-expired.js +41 -0
  364. package/dist/esm/models/assessment-expired.js.map +1 -0
  365. package/dist/esm/models/assessment-updated-data.d.ts +30 -0
  366. package/dist/esm/models/assessment-updated-data.d.ts.map +1 -0
  367. package/dist/esm/models/assessment-updated-data.js +25 -0
  368. package/dist/esm/models/assessment-updated-data.js.map +1 -0
  369. package/dist/esm/models/assessment-updated-event.d.ts +44 -0
  370. package/dist/esm/models/assessment-updated-event.d.ts.map +1 -0
  371. package/dist/esm/models/assessment-updated-event.js +36 -0
  372. package/dist/esm/models/assessment-updated-event.js.map +1 -0
  373. package/dist/esm/models/assessment.d.ts +15 -2
  374. package/dist/esm/models/assessment.d.ts.map +1 -1
  375. package/dist/esm/models/assessment.js +22 -5
  376. package/dist/esm/models/assessment.js.map +1 -1
  377. package/dist/esm/models/band.d.ts +2 -0
  378. package/dist/esm/models/band.d.ts.map +1 -1
  379. package/dist/esm/models/band.js +3 -0
  380. package/dist/esm/models/band.js.map +1 -1
  381. package/dist/esm/models/breach-exposed.d.ts +2 -0
  382. package/dist/esm/models/breach-exposed.d.ts.map +1 -1
  383. package/dist/esm/models/breach-exposed.js +2 -0
  384. package/dist/esm/models/breach-exposed.js.map +1 -1
  385. package/dist/esm/models/breach-kind.d.ts +2 -0
  386. package/dist/esm/models/breach-kind.d.ts.map +1 -1
  387. package/dist/esm/models/breach-kind.js +2 -0
  388. package/dist/esm/models/breach-kind.js.map +1 -1
  389. package/dist/esm/models/breach-selector.d.ts +2 -0
  390. package/dist/esm/models/breach-selector.d.ts.map +1 -1
  391. package/dist/esm/models/breach-selector.js +2 -0
  392. package/dist/esm/models/breach-selector.js.map +1 -1
  393. package/dist/esm/models/breach-summary.d.ts +14 -0
  394. package/dist/esm/models/breach-summary.d.ts.map +1 -1
  395. package/dist/esm/models/breach-summary.js +23 -1
  396. package/dist/esm/models/breach-summary.js.map +1 -1
  397. package/dist/esm/models/breach.d.ts +14 -0
  398. package/dist/esm/models/breach.d.ts.map +1 -1
  399. package/dist/esm/models/breach.js +22 -3
  400. package/dist/esm/models/breach.js.map +1 -1
  401. package/dist/esm/models/confidence.d.ts +2 -0
  402. package/dist/esm/models/confidence.d.ts.map +1 -1
  403. package/dist/esm/models/confidence.js +2 -0
  404. package/dist/esm/models/confidence.js.map +1 -1
  405. package/dist/esm/models/consistency-value.d.ts +2 -0
  406. package/dist/esm/models/consistency-value.d.ts.map +1 -1
  407. package/dist/esm/models/consistency-value.js +2 -0
  408. package/dist/esm/models/consistency-value.js.map +1 -1
  409. package/dist/esm/models/consistency.d.ts +10 -0
  410. package/dist/esm/models/consistency.d.ts.map +1 -1
  411. package/dist/esm/models/consistency.js +12 -2
  412. package/dist/esm/models/consistency.js.map +1 -1
  413. package/dist/esm/models/country.d.ts +2 -0
  414. package/dist/esm/models/country.d.ts.map +1 -1
  415. package/dist/esm/models/country.js +3 -0
  416. package/dist/esm/models/country.js.map +1 -1
  417. package/dist/esm/models/endpoint-verification-event.d.ts +41 -0
  418. package/dist/esm/models/endpoint-verification-event.d.ts.map +1 -0
  419. package/dist/esm/models/endpoint-verification-event.js +36 -0
  420. package/dist/esm/models/endpoint-verification-event.js.map +1 -0
  421. package/dist/esm/models/endpoint-verification.d.ts +25 -0
  422. package/dist/esm/models/endpoint-verification.d.ts.map +1 -0
  423. package/dist/esm/models/endpoint-verification.js +29 -0
  424. package/dist/esm/models/endpoint-verification.js.map +1 -0
  425. package/dist/esm/models/environment.d.ts +18 -0
  426. package/dist/esm/models/environment.d.ts.map +1 -0
  427. package/dist/esm/models/environment.js +14 -0
  428. package/dist/esm/models/environment.js.map +1 -0
  429. package/dist/esm/models/failure-reason.d.ts +2 -0
  430. package/dist/esm/models/failure-reason.d.ts.map +1 -1
  431. package/dist/esm/models/failure-reason.js +2 -0
  432. package/dist/esm/models/failure-reason.js.map +1 -1
  433. package/dist/esm/models/freshness.d.ts +2 -0
  434. package/dist/esm/models/freshness.d.ts.map +1 -1
  435. package/dist/esm/models/freshness.js +2 -0
  436. package/dist/esm/models/freshness.js.map +1 -1
  437. package/dist/esm/models/identifier-kind.d.ts +2 -0
  438. package/dist/esm/models/identifier-kind.d.ts.map +1 -1
  439. package/dist/esm/models/identifier-kind.js +2 -0
  440. package/dist/esm/models/identifier-kind.js.map +1 -1
  441. package/dist/esm/models/incomplete-reason.d.ts +2 -0
  442. package/dist/esm/models/incomplete-reason.d.ts.map +1 -1
  443. package/dist/esm/models/incomplete-reason.js +2 -0
  444. package/dist/esm/models/incomplete-reason.js.map +1 -1
  445. package/dist/esm/models/incomplete-source.d.ts +8 -0
  446. package/dist/esm/models/incomplete-source.d.ts.map +1 -1
  447. package/dist/esm/models/incomplete-source.js +10 -2
  448. package/dist/esm/models/incomplete-source.js.map +1 -1
  449. package/dist/esm/models/index.d.ts +16 -0
  450. package/dist/esm/models/index.d.ts.map +1 -1
  451. package/dist/esm/models/index.js +16 -0
  452. package/dist/esm/models/index.js.map +1 -1
  453. package/dist/esm/models/ip-summary-type.d.ts +2 -0
  454. package/dist/esm/models/ip-summary-type.d.ts.map +1 -1
  455. package/dist/esm/models/ip-summary-type.js +2 -0
  456. package/dist/esm/models/ip-summary-type.js.map +1 -1
  457. package/dist/esm/models/ip-summary.d.ts +9 -0
  458. package/dist/esm/models/ip-summary.d.ts.map +1 -1
  459. package/dist/esm/models/ip-summary.js +14 -1
  460. package/dist/esm/models/ip-summary.js.map +1 -1
  461. package/dist/esm/models/lane.d.ts +2 -0
  462. package/dist/esm/models/lane.d.ts.map +1 -1
  463. package/dist/esm/models/lane.js +3 -0
  464. package/dist/esm/models/lane.js.map +1 -1
  465. package/dist/esm/models/line-type.d.ts +2 -0
  466. package/dist/esm/models/line-type.d.ts.map +1 -1
  467. package/dist/esm/models/line-type.js +2 -0
  468. package/dist/esm/models/line-type.js.map +1 -1
  469. package/dist/esm/models/phone-enrichment-fields.d.ts +110 -0
  470. package/dist/esm/models/phone-enrichment-fields.d.ts.map +1 -1
  471. package/dist/esm/models/phone-enrichment-fields.js +219 -0
  472. package/dist/esm/models/phone-enrichment-fields.js.map +1 -1
  473. package/dist/esm/models/phone-enrichment.d.ts +8 -1
  474. package/dist/esm/models/phone-enrichment.d.ts.map +1 -1
  475. package/dist/esm/models/phone-enrichment.js +8 -1
  476. package/dist/esm/models/phone-enrichment.js.map +1 -1
  477. package/dist/esm/models/reason-code.d.ts +2 -0
  478. package/dist/esm/models/reason-code.d.ts.map +1 -1
  479. package/dist/esm/models/reason-code.js +2 -0
  480. package/dist/esm/models/reason-code.js.map +1 -1
  481. package/dist/esm/models/reason-identifier.d.ts +2 -0
  482. package/dist/esm/models/reason-identifier.d.ts.map +1 -1
  483. package/dist/esm/models/reason-identifier.js +2 -0
  484. package/dist/esm/models/reason-identifier.js.map +1 -1
  485. package/dist/esm/models/recommendation.d.ts +2 -0
  486. package/dist/esm/models/recommendation.d.ts.map +1 -1
  487. package/dist/esm/models/recommendation.js +2 -0
  488. package/dist/esm/models/recommendation.js.map +1 -1
  489. package/dist/esm/models/risk-confidence.d.ts +2 -0
  490. package/dist/esm/models/risk-confidence.d.ts.map +1 -1
  491. package/dist/esm/models/risk-confidence.js +2 -0
  492. package/dist/esm/models/risk-confidence.js.map +1 -1
  493. package/dist/esm/models/risk-coverage.d.ts +9 -0
  494. package/dist/esm/models/risk-coverage.d.ts.map +1 -1
  495. package/dist/esm/models/risk-coverage.js +9 -0
  496. package/dist/esm/models/risk-coverage.js.map +1 -1
  497. package/dist/esm/models/risk-details-breach-name.d.ts +8 -0
  498. package/dist/esm/models/risk-details-breach-name.d.ts.map +1 -1
  499. package/dist/esm/models/risk-details-breach-name.js +12 -0
  500. package/dist/esm/models/risk-details-breach-name.js.map +1 -1
  501. package/dist/esm/models/risk-details-phone-name.d.ts +8 -0
  502. package/dist/esm/models/risk-details-phone-name.d.ts.map +1 -1
  503. package/dist/esm/models/risk-details-phone-name.js +12 -0
  504. package/dist/esm/models/risk-details-phone-name.js.map +1 -1
  505. package/dist/esm/models/risk-details.d.ts +12 -3
  506. package/dist/esm/models/risk-details.d.ts.map +1 -1
  507. package/dist/esm/models/risk-details.js +17 -3
  508. package/dist/esm/models/risk-details.js.map +1 -1
  509. package/dist/esm/models/risk-reason.d.ts +9 -0
  510. package/dist/esm/models/risk-reason.d.ts.map +1 -1
  511. package/dist/esm/models/risk-reason.js +11 -2
  512. package/dist/esm/models/risk-reason.js.map +1 -1
  513. package/dist/esm/models/risk-summary-email.d.ts +10 -1
  514. package/dist/esm/models/risk-summary-email.d.ts.map +1 -1
  515. package/dist/esm/models/risk-summary-email.js +14 -1
  516. package/dist/esm/models/risk-summary-email.js.map +1 -1
  517. package/dist/esm/models/risk-summary-phone.d.ts +10 -0
  518. package/dist/esm/models/risk-summary-phone.d.ts.map +1 -1
  519. package/dist/esm/models/risk-summary-phone.js +16 -1
  520. package/dist/esm/models/risk-summary-phone.js.map +1 -1
  521. package/dist/esm/models/risk-summary-username.d.ts +9 -1
  522. package/dist/esm/models/risk-summary-username.d.ts.map +1 -1
  523. package/dist/esm/models/risk-summary-username.js +13 -1
  524. package/dist/esm/models/risk-summary-username.js.map +1 -1
  525. package/dist/esm/models/risk-summary.d.ts +16 -5
  526. package/dist/esm/models/risk-summary.d.ts.map +1 -1
  527. package/dist/esm/models/risk-summary.js +16 -5
  528. package/dist/esm/models/risk-summary.js.map +1 -1
  529. package/dist/esm/models/risk.d.ts +22 -4
  530. package/dist/esm/models/risk.d.ts.map +1 -1
  531. package/dist/esm/models/risk.js +31 -7
  532. package/dist/esm/models/risk.js.map +1 -1
  533. package/dist/esm/models/signal-outcome.d.ts +2 -0
  534. package/dist/esm/models/signal-outcome.d.ts.map +1 -1
  535. package/dist/esm/models/signal-outcome.js +2 -0
  536. package/dist/esm/models/signal-outcome.js.map +1 -1
  537. package/dist/esm/models/signal.d.ts +17 -1
  538. package/dist/esm/models/signal.d.ts.map +1 -1
  539. package/dist/esm/models/signal.js +29 -5
  540. package/dist/esm/models/signal.js.map +1 -1
  541. package/dist/esm/models/status.d.ts +2 -0
  542. package/dist/esm/models/status.d.ts.map +1 -1
  543. package/dist/esm/models/status.js +3 -0
  544. package/dist/esm/models/status.js.map +1 -1
  545. package/dist/esm/models/webhook-endpoint-disabled-event.d.ts +44 -0
  546. package/dist/esm/models/webhook-endpoint-disabled-event.d.ts.map +1 -0
  547. package/dist/esm/models/webhook-endpoint-disabled-event.js +36 -0
  548. package/dist/esm/models/webhook-endpoint-disabled-event.js.map +1 -0
  549. package/dist/esm/models/webhook-endpoint-disabled.d.ts +33 -0
  550. package/dist/esm/models/webhook-endpoint-disabled.d.ts.map +1 -0
  551. package/dist/esm/models/webhook-endpoint-disabled.js +35 -0
  552. package/dist/esm/models/webhook-endpoint-disabled.js.map +1 -0
  553. package/dist/esm/models/webhook-event.d.ts +22 -0
  554. package/dist/esm/models/webhook-event.d.ts.map +1 -0
  555. package/dist/esm/models/webhook-event.js +33 -0
  556. package/dist/esm/models/webhook-event.js.map +1 -0
  557. package/dist/esm/models/webhook-verification-response.d.ts +23 -0
  558. package/dist/esm/models/webhook-verification-response.d.ts.map +1 -0
  559. package/dist/esm/models/webhook-verification-response.js +18 -0
  560. package/dist/esm/models/webhook-verification-response.js.map +1 -0
  561. package/dist/esm/models/workspace-deleted-event.d.ts +44 -0
  562. package/dist/esm/models/workspace-deleted-event.d.ts.map +1 -0
  563. package/dist/esm/models/workspace-deleted-event.js +36 -0
  564. package/dist/esm/models/workspace-deleted-event.js.map +1 -0
  565. package/dist/esm/models/workspace-deleted.d.ts +34 -0
  566. package/dist/esm/models/workspace-deleted.d.ts.map +1 -0
  567. package/dist/esm/models/workspace-deleted.js +34 -0
  568. package/dist/esm/models/workspace-deleted.js.map +1 -0
  569. package/dist/esm/sdk/sdk.d.ts +11 -0
  570. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  571. package/dist/esm/sdk/sdk.js +5 -0
  572. package/dist/esm/sdk/sdk.js.map +1 -1
  573. package/dist/esm/types/index.d.ts +1 -0
  574. package/dist/esm/types/index.d.ts.map +1 -1
  575. package/dist/esm/types/webhooks.d.ts +5 -0
  576. package/dist/esm/types/webhooks.d.ts.map +1 -0
  577. package/dist/esm/types/webhooks.js +2 -0
  578. package/dist/esm/types/webhooks.js.map +1 -0
  579. package/dist/esm/webhooks.d.ts +18 -139
  580. package/dist/esm/webhooks.d.ts.map +1 -1
  581. package/dist/esm/webhooks.js +86 -160
  582. package/dist/esm/webhooks.js.map +1 -1
  583. package/package.json +1 -1
@@ -1,150 +1,29 @@
1
- import { type Account } from "./models/account.js";
2
- import { type AccountDecisionsByFlow } from "./models/account-decisions-by-flow.js";
3
- import { type Assessment } from "./models/assessment.js";
1
+ import * as models from "./models/index.js";
2
+ /** How far, in seconds, the NR-Webhook-Timestamp header may be from the receiver's clock. */
4
3
  export declare const DEFAULT_TOLERANCE_SECONDS = 300;
5
- /** Any case-insensitive mapping of header name to value: Fetch Headers, Node IncomingHttpHeaders, a plain object or entries. */
4
+ /** Why a webhook delivery was refused. */
5
+ export type WebhookErrorCode = "missing_header" | "duplicate_header" | "invalid_timestamp" | "unknown_key" | "invalid_signature" | "invalid_payload";
6
+ /** Thrown by constructEvent: answer the delivery with a 400 and do not process it. */
7
+ export declare class WebhookVerificationError extends Error {
8
+ name: string;
9
+ readonly code: WebhookErrorCode;
10
+ constructor(code: WebhookErrorCode, message: string);
11
+ }
12
+ /** Fetch Headers, Node's IncomingHttpHeaders, a plain object or [name, value] entries; names match in any letter case. */
6
13
  export type HeaderInput = Headers | Iterable<readonly [string, string]> | Readonly<Record<string, string | string[] | undefined>>;
7
- /** Webhook key id (whk_...) to its secret. Hold both during a rotation. */
8
- export type WebhookSecrets = Readonly<Record<string, string | Uint8Array>>;
14
+ /** Each key id, sent in NR-Webhook-Key-Id, mapped to its secret; hold two during a rotation. */
15
+ export type WebhookSecrets = Readonly<Record<string, string>>;
9
16
  export type ConstructEventOptions = {
10
- /** How far the NR-Webhook-Timestamp may be from now, in seconds. Default 300. */
17
+ /** Replaces DEFAULT_TOLERANCE_SECONDS. */
11
18
  toleranceSeconds?: number;
12
19
  /** The receiver's clock in Unix seconds; defaults to now. */
13
20
  now?: number;
14
21
  };
15
- /** The final event for an assessment: it has expired and GET now answers 404. */
16
- export type AssessmentExpired = {
17
- assessmentId: string;
18
- accountId: string;
19
- /** The last served version; expiry is not a revision. */
20
- assessmentVersion: number;
21
- status: "expired";
22
- changeReason: "expired";
23
- };
24
- export type EndpointVerification = {
25
- endpointId: string;
26
- challenge: string;
27
- };
28
- /** An account you erased with accounts.delete: delete what you hold for it. */
29
- export type AccountDeleted = {
30
- accountId: string;
31
- /** How many assessments the erasure deleted, at least 1. */
32
- assessmentsDeleted: number;
33
- /** When the erasure took effect, as deletedAt in the accounts.delete answer. */
34
- deletedAt: string;
35
- };
36
- /**
37
- * The workspace was deleted. Sent once per environment before its endpoints
38
- * are torn down: the last event this endpoint receives.
39
- */
40
- export type WorkspaceDeleted = {
41
- workspaceId: string;
42
- environment: "live" | "test";
43
- deletedAt: string;
44
- };
45
- /**
46
- * Another endpoint of this environment was disabled after failing
47
- * continuously for 72 hours. It receives nothing more until it is verified again.
48
- */
49
- export type EndpointDisabled = {
50
- endpointId: string;
51
- /** When its deliveries started failing. */
52
- failingSince: string;
53
- disabledAt: string;
54
- };
55
- /**
56
- * The account's decision for at least one flow changed. It is not sent when
57
- * the score moves within the same decision, nor for an account's first risk.
58
- */
59
- export type AccountRiskChanged = {
60
- /** The account exactly as accounts.get returns it: the new risk and decisions. */
61
- account: Account;
62
- /** The decision for each flow before the change, as last announced. */
63
- previousDecisionsByFlow: AccountDecisionsByFlow;
64
- };
65
- export type AssessmentUpdatedEvent = {
66
- id: string;
67
- type: "assessment.updated";
68
- createdAt: string;
69
- /**
70
- * True on an event sent by webhookEndpoints.sendTestEvent: data is a fixed
71
- * example assessment, not one of yours. Acknowledge it and apply nothing.
72
- * False on every real event.
73
- */
74
- test: boolean;
75
- /** The assessment exactly as assessments.get returns it at this version. */
76
- data: Assessment;
77
- };
78
- export type AssessmentExpiredEvent = {
79
- id: string;
80
- type: "assessment.updated";
81
- createdAt: string;
82
- /** Always false: an expiry is never a test event. */
83
- test: false;
84
- data: AssessmentExpired;
85
- };
86
- export type EndpointVerificationEvent = {
87
- id: string;
88
- type: "endpoint.verification";
89
- createdAt: string;
90
- /** Always false. */
91
- test: false;
92
- data: EndpointVerification;
93
- };
94
- export type AccountDeletedEvent = {
95
- id: string;
96
- type: "account.deleted";
97
- createdAt: string;
98
- /** Always false. */
99
- test: false;
100
- data: AccountDeleted;
101
- };
102
- export type WorkspaceDeletedEvent = {
103
- id: string;
104
- type: "workspace.deleted";
105
- createdAt: string;
106
- /** Always false. */
107
- test: false;
108
- data: WorkspaceDeleted;
109
- };
110
- export type EndpointDisabledEvent = {
111
- id: string;
112
- type: "webhook_endpoint.disabled";
113
- createdAt: string;
114
- /** Always false. */
115
- test: false;
116
- data: EndpointDisabled;
117
- };
118
- export type AccountRiskChangedEvent = {
119
- id: string;
120
- type: "account.risk_changed";
121
- createdAt: string;
122
- /** Always false. */
123
- test: false;
124
- data: AccountRiskChanged;
125
- };
126
- export type WebhookEvent = AssessmentUpdatedEvent | AssessmentExpiredEvent | EndpointVerificationEvent | AccountDeletedEvent | WorkspaceDeletedEvent | EndpointDisabledEvent | AccountRiskChangedEvent;
127
- export type WebhookErrorCode = "missing_header" | "duplicate_header" | "invalid_timestamp" | "unknown_key" | "invalid_signature" | "invalid_payload";
128
- /** Thrown by constructEvent and verificationResponse. Answer 400 and do not process the delivery. */
129
- export declare class WebhookVerificationError extends Error {
130
- readonly code: WebhookErrorCode;
131
- constructor(code: WebhookErrorCode, message: string);
132
- }
133
22
  /**
134
- * Verify a delivery and return the typed event.
23
+ * Verifies a webhook delivery and parses its body.
135
24
  *
136
- * `payload` is the raw request body (bytes, or the exact text). `headers` is
137
- * any case-insensitive header mapping; a repeated signature header, in any
138
- * letter case, is refused. `secrets` maps each whk_ key id NoResponse gave you
139
- * to its secret, so two can be held during a rotation. Deliveries older than
140
- * `toleranceSeconds` (default 300) are refused; deduplicate on `event.id`
141
- * and keep the highest `data.detail.assessmentVersion` yourself.
25
+ * `payload` is the raw request body exactly as received: re-encoding parsed JSON breaks the signature.
26
+ * A header repeated in any letter case, or sent as a comma-joined list, is refused.
142
27
  */
143
- export declare function constructEvent(payload: Uint8Array | string, headers: HeaderInput, secrets: WebhookSecrets, options?: ConstructEventOptions): WebhookEvent;
144
- /** The body to answer an endpoint.verification event with, as JSON, status 200. */
145
- export declare function verificationResponse(event: WebhookEvent): {
146
- challenge: string;
147
- };
148
- /** True for the terminal expiry event. Delete what you hold for the assessment and fetch nothing. */
149
- export declare function isExpiredEvent(event: WebhookEvent): event is AssessmentExpiredEvent;
28
+ export declare function constructEvent(payload: Uint8Array | string, headers: HeaderInput, secrets: WebhookSecrets, options?: ConstructEventOptions): Promise<models.WebhookEvent>;
150
29
  //# sourceMappingURL=webhooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,6FAA6F;AAC7F,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,aAAa,GACb,mBAAmB,GACnB,iBAAiB,CAAC;AAEtB,sFAAsF;AACtF,qBAAa,wBAAyB,SAAQ,KAAK;IACxC,IAAI,SAA8B;IAC3C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAEhC,YAAY,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAGlD;CACF;AAED,0HAA0H;AAC1H,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AAE5D,gGAAgG;AAChG,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9D,MAAM,MAAM,qBAAqB,GAAG;IAClC,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAMF;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAmF9B"}
@@ -1,189 +1,115 @@
1
- /**
2
- * Webhook verification. Hand-written; not generated. Needs Node.js (node:crypto).
3
- *
4
- * Verify the exact bytes received: the signature is HMAC-SHA256 over
5
- * "<timestamp>.<raw body>", so re-serialising parsed JSON breaks it.
6
- */
7
- import { createHmac, timingSafeEqual } from "node:crypto";
8
- import * as z from "zod/v4-mini";
9
- import { Account$inboundSchema } from "./models/account.js";
10
- import { AccountDecisionsByFlow$inboundSchema } from "./models/account-decisions-by-flow.js";
11
- import { Assessment$inboundSchema } from "./models/assessment.js";
1
+ import * as models from "./models/index.js";
2
+ /** How far, in seconds, the NR-Webhook-Timestamp header may be from the receiver's clock. */
12
3
  export const DEFAULT_TOLERANCE_SECONDS = 300;
13
- const REQUIRED = ["nr-webhook-id", "nr-webhook-timestamp", "nr-webhook-key-id", "nr-webhook-signature"];
14
- const KEY_ID = /^whk_[A-Za-z0-9]{8,64}$/;
15
- const SIGNATURE = /^v1=[0-9a-f]{64}$/;
16
- const TIMESTAMP = /^[0-9]{1,12}$/;
17
- const CHALLENGE = /^[A-Za-z0-9_-]{43}$/;
18
- const EVENT_ID = /^evt_[0-9A-HJKMNP-TV-Z]{26}$/;
19
- const ASSESSMENT_ID = /^asm_[0-9A-HJKMNP-TV-Z]{26}$/;
20
- const ACCOUNT_ID = /^[A-Za-z0-9][A-Za-z0-9._:|-]{0,127}$/;
21
- const ENDPOINT_ID = /^whe_[0-9A-HJKMNP-TV-Z]{26}$/;
22
- const WORKSPACE_ID = /^[A-Za-z0-9][A-Za-z0-9_.-]{0,122}$/;
23
- const DATETIME = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
24
- /** Thrown by constructEvent and verificationResponse. Answer 400 and do not process the delivery. */
4
+ /** Thrown by constructEvent: answer the delivery with a 400 and do not process it. */
25
5
  export class WebhookVerificationError extends Error {
6
+ name = "WebhookVerificationError";
26
7
  code;
27
8
  constructor(code, message) {
28
9
  super(message);
29
- this.name = "WebhookVerificationError";
30
10
  this.code = code;
31
11
  }
32
12
  }
33
13
  function fail(code, message) {
34
14
  throw new WebhookVerificationError(code, message);
35
15
  }
36
- function isRecord(value) {
37
- return value !== null && typeof value === "object" && !Array.isArray(value);
38
- }
39
- function validDateTime(value) {
40
- return DATETIME.test(value) && !Number.isNaN(Date.parse(value));
41
- }
42
- function entriesOf(headers) {
43
- if (typeof Headers !== "undefined" && headers instanceof Headers)
44
- return [...headers.entries()];
45
- if (typeof headers[Symbol.iterator] === "function") {
46
- return [...headers];
47
- }
48
- return Object.entries(headers);
49
- }
50
- function collect(headers) {
51
- const found = new Map();
52
- for (const [name, raw] of entriesOf(headers)) {
53
- const key = name.toLowerCase();
54
- if (!REQUIRED.includes(key))
55
- continue;
56
- if (Array.isArray(raw)) {
57
- if (raw.length !== 1)
58
- fail("duplicate_header", `Webhook header ${key} is repeated`);
59
- }
60
- const value = Array.isArray(raw) ? raw[0] : raw;
61
- if (found.has(key))
62
- fail("duplicate_header", `Webhook header ${key} is repeated`);
63
- if (typeof value === "string")
64
- found.set(key, value);
65
- }
66
- for (const name of REQUIRED) {
67
- if (!found.get(name))
68
- fail("missing_header", `Webhook header ${name} is missing`);
69
- }
70
- return found;
71
- }
72
- function expired(data) {
73
- const { assessment_id, account_id, assessment_version, change_reason } = data;
74
- if (typeof assessment_id !== "string" || !ASSESSMENT_ID.test(assessment_id) ||
75
- typeof account_id !== "string" || !ACCOUNT_ID.test(account_id) ||
76
- typeof assessment_version !== "number" || !Number.isInteger(assessment_version) || assessment_version < 1 ||
77
- change_reason !== "expired") {
78
- fail("invalid_payload", "Expired assessment event is malformed");
79
- }
80
- return { assessmentId: assessment_id, accountId: account_id, assessmentVersion: assessment_version, status: "expired", changeReason: "expired" };
81
- }
82
16
  /**
83
- * Verify a delivery and return the typed event.
17
+ * Verifies a webhook delivery and parses its body.
84
18
  *
85
- * `payload` is the raw request body (bytes, or the exact text). `headers` is
86
- * any case-insensitive header mapping; a repeated signature header, in any
87
- * letter case, is refused. `secrets` maps each whk_ key id NoResponse gave you
88
- * to its secret, so two can be held during a rotation. Deliveries older than
89
- * `toleranceSeconds` (default 300) are refused; deduplicate on `event.id`
90
- * and keep the highest `data.detail.assessmentVersion` yourself.
19
+ * `payload` is the raw request body exactly as received: re-encoding parsed JSON breaks the signature.
20
+ * A header repeated in any letter case, or sent as a comma-joined list, is refused.
91
21
  */
92
- export function constructEvent(payload, headers, secrets, options = {}) {
93
- const raw = typeof payload === "string" ? Buffer.from(payload, "utf8") : Buffer.from(payload.buffer, payload.byteOffset, payload.byteLength);
22
+ export async function constructEvent(payload, headers, secrets, options = {}) {
94
23
  const tolerance = options.toleranceSeconds ?? DEFAULT_TOLERANCE_SECONDS;
95
24
  const now = options.now ?? Math.floor(Date.now() / 1000);
96
- const found = collect(headers);
97
- const timestamp = found.get("nr-webhook-timestamp");
98
- if (!TIMESTAMP.test(timestamp) || Math.abs(now - Number(timestamp)) > tolerance) {
99
- fail("invalid_timestamp", "Webhook timestamp is outside the replay window");
100
- }
101
- const keyId = found.get("nr-webhook-key-id");
102
- if (!KEY_ID.test(keyId) || !Object.prototype.hasOwnProperty.call(secrets, keyId)) {
103
- fail("unknown_key", "Webhook key id is not one this receiver holds");
104
- }
105
- const signature = found.get("nr-webhook-signature");
106
- if (!SIGNATURE.test(signature))
107
- fail("invalid_signature", "Webhook signature is malformed");
108
- const expected = createHmac("sha256", secrets[keyId]).update(timestamp).update(".").update(raw).digest();
109
- if (!timingSafeEqual(expected, Buffer.from(signature.slice(3), "hex"))) {
110
- fail("invalid_signature", "Webhook signature does not match");
111
- }
112
- let body;
25
+ const header = headerReader(headers);
26
+ const id = header("NR-Webhook-Id");
27
+ const timestamp = header("NR-Webhook-Timestamp");
28
+ const keyId = header("NR-Webhook-Key-Id");
29
+ const signature = header("NR-Webhook-Signature");
30
+ if (!/^[0-9]{1,12}$/.test(timestamp)) {
31
+ fail("invalid_timestamp", "NR-Webhook-Timestamp is not a Unix time in seconds");
32
+ }
33
+ if (Math.abs(now - Number(timestamp)) > tolerance) {
34
+ fail("invalid_timestamp", "NR-Webhook-Timestamp is outside the tolerance");
35
+ }
36
+ if (!Object.prototype.hasOwnProperty.call(secrets, keyId)) {
37
+ fail("unknown_key", "NR-Webhook-Key-Id names a key this receiver does not hold");
38
+ }
39
+ const secret = secrets[keyId];
40
+ if (!secret) {
41
+ fail("invalid_signature", "the webhook secret is empty");
42
+ }
43
+ const prefix = "v1=";
44
+ const received = signature.startsWith(prefix)
45
+ ? decodeSignature(signature.slice(prefix.length))
46
+ : undefined;
47
+ if (!received) {
48
+ fail("invalid_signature", "NR-Webhook-Signature is malformed");
49
+ }
50
+ const subtle = globalThis?.crypto?.subtle;
51
+ if (!subtle) {
52
+ throw new Error("Verifying webhooks needs WebCrypto (globalThis.crypto.subtle)");
53
+ }
54
+ const encoder = new TextEncoder();
55
+ const substitute = (text) => text.replaceAll("{timestamp}", timestamp).replaceAll("{id}", id);
56
+ const body = typeof payload === "string" ? encoder.encode(payload) : payload;
57
+ const signed = concatBytes(encoder.encode(substitute("{timestamp}.")), body);
58
+ const key = await subtle.importKey("raw", encoder.encode(secret), { name: "HMAC", hash: "SHA-256" }, false, ["verify"]);
59
+ if (!(await subtle.verify("HMAC", key, received, signed))) {
60
+ fail("invalid_signature", "NR-Webhook-Signature does not match");
61
+ }
62
+ const text = new TextDecoder().decode(body);
63
+ let envelope;
113
64
  try {
114
- body = JSON.parse(raw.toString("utf8"));
65
+ envelope = JSON.parse(text);
115
66
  }
116
67
  catch {
117
- fail("invalid_payload", "Webhook body is not JSON");
118
- }
119
- if (!isRecord(body) || body["id"] !== found.get("nr-webhook-id")) {
120
- fail("invalid_payload", "Webhook event id does not match NR-Webhook-Id");
68
+ fail("invalid_payload", "the body is not JSON");
121
69
  }
122
- const { id, type, created_at, data, test } = body;
123
- if (typeof id !== "string" || !EVENT_ID.test(id) || typeof created_at !== "string" || !validDateTime(created_at) || !isRecord(data)) {
124
- fail("invalid_payload", "Webhook event envelope is malformed");
70
+ if (typeof envelope !== "object"
71
+ || envelope === null
72
+ || Array.isArray(envelope)
73
+ || envelope["id"] !== id) {
74
+ fail("invalid_payload", "the body's id does not equal NR-Webhook-Id");
125
75
  }
126
- if (type === "endpoint.verification") {
127
- const { endpoint_id, challenge } = data;
128
- if (typeof endpoint_id !== "string" || !ENDPOINT_ID.test(endpoint_id) || typeof challenge !== "string" || !CHALLENGE.test(challenge)) {
129
- fail("invalid_payload", "Endpoint verification event is malformed");
130
- }
131
- return { id, type, createdAt: created_at, test: false, data: { endpointId: endpoint_id, challenge } };
132
- }
133
- if (type === "account.deleted") {
134
- const { account_id, assessments_deleted, deleted_at } = data;
135
- if (typeof account_id !== "string" || !ACCOUNT_ID.test(account_id) ||
136
- typeof assessments_deleted !== "number" || !Number.isInteger(assessments_deleted) || assessments_deleted < 1 ||
137
- typeof deleted_at !== "string" || !validDateTime(deleted_at)) {
138
- fail("invalid_payload", "Account deleted event is malformed");
139
- }
140
- return { id, type, createdAt: created_at, test: false, data: { accountId: account_id, assessmentsDeleted: assessments_deleted, deletedAt: deleted_at } };
76
+ const event = models.webhookEventFromJSON(text);
77
+ if (!event.ok) {
78
+ fail("invalid_payload", "the body is not a known webhook event");
141
79
  }
142
- if (type === "workspace.deleted") {
143
- const { workspace_id, environment, deleted_at } = data;
144
- if (typeof workspace_id !== "string" || !WORKSPACE_ID.test(workspace_id) ||
145
- (environment !== "live" && environment !== "test") ||
146
- typeof deleted_at !== "string" || !validDateTime(deleted_at)) {
147
- fail("invalid_payload", "Workspace deleted event is malformed");
148
- }
149
- return { id, type, createdAt: created_at, test: false, data: { workspaceId: workspace_id, environment, deletedAt: deleted_at } };
150
- }
151
- if (type === "webhook_endpoint.disabled") {
152
- const { endpoint_id, failing_since, disabled_at } = data;
153
- if (typeof endpoint_id !== "string" || !ENDPOINT_ID.test(endpoint_id) ||
154
- typeof failing_since !== "string" || !validDateTime(failing_since) ||
155
- typeof disabled_at !== "string" || !validDateTime(disabled_at)) {
156
- fail("invalid_payload", "Endpoint disabled event is malformed");
80
+ return event.value;
81
+ }
82
+ function headerReader(headers) {
83
+ const entries = Symbol.iterator in headers
84
+ ? [...headers]
85
+ : Object.entries(headers);
86
+ return (name) => {
87
+ const wanted = name.toLowerCase();
88
+ const [value, ...rest] = entries
89
+ .filter(([key]) => key.toLowerCase() === wanted)
90
+ .flatMap(([, values]) => values ?? []);
91
+ if (rest.length > 0 || value?.includes(",")) {
92
+ fail("duplicate_header", `${name} is repeated`);
157
93
  }
158
- return { id, type, createdAt: created_at, test: false, data: { endpointId: endpoint_id, failingSince: failing_since, disabledAt: disabled_at } };
159
- }
160
- if (type === "account.risk_changed") {
161
- const account = z.safeParse(Account$inboundSchema, data["account"]);
162
- const previous = z.safeParse(AccountDecisionsByFlow$inboundSchema, data["previous_decisions_by_flow"]);
163
- if (!account.success || !previous.success || !ACCOUNT_ID.test(account.data.id)) {
164
- fail("invalid_payload", "Account risk changed event is malformed");
94
+ if (!value) {
95
+ fail("missing_header", `${name} is missing`);
165
96
  }
166
- return { id, type, createdAt: created_at, test: false, data: { account: account.data, previousDecisionsByFlow: previous.data } };
167
- }
168
- if (type !== "assessment.updated")
169
- fail("invalid_payload", "Unknown webhook event type");
170
- if (data["status"] === "expired") {
171
- return { id, type, createdAt: created_at, test: false, data: expired(data) };
172
- }
173
- const result = z.safeParse(Assessment$inboundSchema, data);
174
- if (!result.success)
175
- fail("invalid_payload", "Webhook data is not an assessment");
176
- return { id, type, createdAt: created_at, test: test === true, data: result.data };
97
+ return value;
98
+ };
177
99
  }
178
- /** The body to answer an endpoint.verification event with, as JSON, status 200. */
179
- export function verificationResponse(event) {
180
- if (event.type !== "endpoint.verification") {
181
- fail("invalid_payload", "Not an endpoint.verification event");
100
+ function decodeSignature(text) {
101
+ if (!/^(?:[0-9a-fA-F]{2})*$/.test(text)) {
102
+ return undefined;
182
103
  }
183
- return { challenge: event.data.challenge };
104
+ return Uint8Array.from(text.match(/../g) ?? [], (byte) => parseInt(byte, 16));
184
105
  }
185
- /** True for the terminal expiry event. Delete what you hold for the assessment and fetch nothing. */
186
- export function isExpiredEvent(event) {
187
- return event.type === "assessment.updated" && event.data.status === "expired";
106
+ function concatBytes(...parts) {
107
+ const out = new Uint8Array(parts.reduce((length, part) => length + part.length, 0));
108
+ let offset = 0;
109
+ for (const part of parts) {
110
+ out.set(part, offset);
111
+ offset += part.length;
112
+ }
113
+ return out;
188
114
  }
189
115
  //# sourceMappingURL=webhooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noresponse/node",
3
- "version": "5.1.2",
3
+ "version": "6.0.1",
4
4
  "author": "NoResponse",
5
5
  "bugs": {
6
6
  "url": "https://github.com/noresponsehq/node/issues"