@prosopo/provider 5.19.3 → 5.20.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 (295) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +45 -40
  2. package/.turbo/turbo-build$colon$tsc.log +28 -28
  3. package/.turbo/turbo-build.log +48 -40
  4. package/CHANGELOG.md +167 -0
  5. package/dist/api/admin/apiClearAllCountersEndpoint.js.map +1 -1
  6. package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.js.map +1 -1
  7. package/dist/api/admin/apiGetDecisionMachineEndpoint.js.map +1 -1
  8. package/dist/api/admin/apiGetSessionEndpoint.js.map +1 -1
  9. package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.js.map +1 -1
  10. package/dist/api/admin/apiRemoveDecisionMachineEndpoint.js.map +1 -1
  11. package/dist/api/admin/apiRemoveSiteKeyEndpoint.js.map +1 -1
  12. package/dist/api/admin/apiRemoveSiteKeysEndpoint.js.map +1 -1
  13. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.js.map +1 -1
  14. package/dist/api/admin/apiUpdateDecisionMachineEndpoint.js.map +1 -1
  15. package/dist/api/blacklistRequestInspector.d.ts.map +1 -1
  16. package/dist/api/blacklistRequestInspector.js +9 -8
  17. package/dist/api/blacklistRequestInspector.js.map +1 -1
  18. package/dist/api/captcha/checkSpamEmail.d.ts.map +1 -1
  19. package/dist/api/captcha/checkSpamEmail.js +19 -26
  20. package/dist/api/captcha/checkSpamEmail.js.map +1 -1
  21. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts.map +1 -1
  22. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +11 -2
  23. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js.map +1 -1
  24. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -1
  25. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +6 -1
  26. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -1
  27. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  28. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +30 -27
  29. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  30. package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
  31. package/dist/api/captcha/getImageCaptchaChallenge.js +32 -43
  32. package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
  33. package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -1
  34. package/dist/api/captcha/getPoWCaptchaChallenge.js +27 -32
  35. package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -1
  36. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts +3 -0
  37. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
  38. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +23 -5
  39. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
  40. package/dist/api/captcha/interactiveCaptchaChallenge.d.ts.map +1 -1
  41. package/dist/api/captcha/interactiveCaptchaChallenge.js +27 -32
  42. package/dist/api/captcha/interactiveCaptchaChallenge.js.map +1 -1
  43. package/dist/api/captcha/interactiveCaptchaSolution.d.ts.map +1 -1
  44. package/dist/api/captcha/interactiveCaptchaSolution.js +18 -24
  45. package/dist/api/captcha/interactiveCaptchaSolution.js.map +1 -1
  46. package/dist/api/captcha/submitImageCaptchaSolution.d.ts.map +1 -1
  47. package/dist/api/captcha/submitImageCaptchaSolution.js +18 -24
  48. package/dist/api/captcha/submitImageCaptchaSolution.js.map +1 -1
  49. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
  50. package/dist/api/captcha/submitPoWCaptchaSolution.js +35 -27
  51. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  52. package/dist/api/domainMiddleware.d.ts.map +1 -1
  53. package/dist/api/domainMiddleware.js +39 -47
  54. package/dist/api/domainMiddleware.js.map +1 -1
  55. package/dist/api/errorCodeForReason.d.ts +3 -0
  56. package/dist/api/errorCodeForReason.d.ts.map +1 -0
  57. package/dist/api/errorCodeForReason.js +22 -0
  58. package/dist/api/errorCodeForReason.js.map +1 -0
  59. package/dist/api/headerCheckMiddleware.d.ts.map +1 -1
  60. package/dist/api/headerCheckMiddleware.js +14 -9
  61. package/dist/api/headerCheckMiddleware.js.map +1 -1
  62. package/dist/api/ipInfoMiddleware.d.ts +1 -1
  63. package/dist/api/ipInfoMiddleware.d.ts.map +1 -1
  64. package/dist/api/ipInfoMiddleware.js +5 -1
  65. package/dist/api/ipInfoMiddleware.js.map +1 -1
  66. package/dist/api/metrics.d.ts.map +1 -1
  67. package/dist/api/metrics.js +9 -1
  68. package/dist/api/metrics.js.map +1 -1
  69. package/dist/api/public.d.ts.map +1 -1
  70. package/dist/api/public.js +6 -2
  71. package/dist/api/public.js.map +1 -1
  72. package/dist/api/rateLimitHandler.d.ts +4 -0
  73. package/dist/api/rateLimitHandler.d.ts.map +1 -0
  74. package/dist/api/rateLimitHandler.js +20 -0
  75. package/dist/api/rateLimitHandler.js.map +1 -0
  76. package/dist/api/startProviderApi.d.ts +1 -0
  77. package/dist/api/startProviderApi.d.ts.map +1 -1
  78. package/dist/api/startProviderApi.js +8 -17
  79. package/dist/api/startProviderApi.js.map +1 -1
  80. package/dist/api/validateAddress.d.ts +3 -4
  81. package/dist/api/validateAddress.d.ts.map +1 -1
  82. package/dist/api/validateAddress.js +13 -19
  83. package/dist/api/validateAddress.js.map +1 -1
  84. package/dist/api/verify.d.ts.map +1 -1
  85. package/dist/api/verify.js +73 -96
  86. package/dist/api/verify.js.map +1 -1
  87. package/dist/cjs/api/blacklistRequestInspector.cjs +9 -8
  88. package/dist/cjs/api/captcha/checkSpamEmail.cjs +18 -25
  89. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +11 -2
  90. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +6 -1
  91. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +29 -26
  92. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +31 -42
  93. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +26 -31
  94. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +22 -3
  95. package/dist/cjs/api/captcha/interactiveCaptchaChallenge.cjs +26 -31
  96. package/dist/cjs/api/captcha/interactiveCaptchaSolution.cjs +17 -23
  97. package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +17 -23
  98. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +34 -26
  99. package/dist/cjs/api/domainMiddleware.cjs +38 -46
  100. package/dist/cjs/api/errorCodeForReason.cjs +22 -0
  101. package/dist/cjs/api/headerCheckMiddleware.cjs +13 -8
  102. package/dist/cjs/api/ipInfoMiddleware.cjs +5 -1
  103. package/dist/cjs/api/metrics.cjs +9 -1
  104. package/dist/cjs/api/public.cjs +5 -1
  105. package/dist/cjs/api/rateLimitHandler.cjs +20 -0
  106. package/dist/cjs/api/startProviderApi.cjs +8 -16
  107. package/dist/cjs/api/validateAddress.cjs +12 -18
  108. package/dist/cjs/api/verify.cjs +72 -95
  109. package/dist/cjs/index.cjs +1 -0
  110. package/dist/cjs/tasks/captchaManager.cjs +6 -8
  111. package/dist/cjs/tasks/client/clientTasks.cjs +26 -13
  112. package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +28 -8
  113. package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +21 -19
  114. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +1 -1
  115. package/dist/cjs/tasks/frictionless/routingMachine.cjs +13 -4
  116. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +89 -40
  117. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs +18 -8
  118. package/dist/cjs/tasks/interactiveCaptcha/interactiveCaptchaManager.cjs +21 -13
  119. package/dist/cjs/tasks/powCaptcha/backgroundWrites.cjs +24 -0
  120. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +44 -19
  121. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +14 -10
  122. package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +17 -8
  123. package/dist/cjs/tasks/signatureCheck.cjs +12 -0
  124. package/dist/cjs/tasks/tasks.cjs +6 -1
  125. package/dist/cjs/util/usageCounters.cjs +26 -3
  126. package/dist/cjs/util.cjs +14 -3
  127. package/dist/cjs/utils/devicePlatform.cjs +9 -5
  128. package/dist/cjs/utils/mobileSignals.cjs +69 -0
  129. package/dist/errorSites.d.ts +98 -0
  130. package/dist/errorSites.d.ts.map +1 -0
  131. package/dist/errorSites.js +2 -0
  132. package/dist/errorSites.js.map +1 -0
  133. package/dist/fingerprint/dist/merkle.js +69 -0
  134. package/dist/fingerprint/dist/proof.js +95 -0
  135. package/dist/fingerprint/dist/summary.js +73 -0
  136. package/dist/index.js +2 -2
  137. package/dist/tasks/captchaManager.d.ts +2 -3
  138. package/dist/tasks/captchaManager.d.ts.map +1 -1
  139. package/dist/tasks/captchaManager.js +6 -7
  140. package/dist/tasks/captchaManager.js.map +1 -1
  141. package/dist/tasks/client/clientTasks.d.ts.map +1 -1
  142. package/dist/tasks/client/clientTasks.js +27 -14
  143. package/dist/tasks/client/clientTasks.js.map +1 -1
  144. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +1 -1
  145. package/dist/tasks/dataset/datasetTasksUtils.js +29 -9
  146. package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -1
  147. package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts +1 -3
  148. package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -1
  149. package/dist/tasks/decisionMachine/decisionMachineRunner.js +21 -19
  150. package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -1
  151. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  152. package/dist/tasks/frictionless/frictionlessTasks.js +1 -1
  153. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  154. package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
  155. package/dist/tasks/frictionless/routingMachine.js +13 -4
  156. package/dist/tasks/frictionless/routingMachine.js.map +1 -1
  157. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  158. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +91 -42
  159. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  160. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +19 -9
  161. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -1
  162. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts.map +1 -1
  163. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js +22 -14
  164. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js.map +1 -1
  165. package/dist/tasks/powCaptcha/backgroundWrites.d.ts +7 -0
  166. package/dist/tasks/powCaptcha/backgroundWrites.d.ts.map +1 -0
  167. package/dist/tasks/powCaptcha/backgroundWrites.js +24 -0
  168. package/dist/tasks/powCaptcha/backgroundWrites.js.map +1 -0
  169. package/dist/tasks/powCaptcha/powTasks.d.ts +3 -3
  170. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  171. package/dist/tasks/powCaptcha/powTasks.js +45 -20
  172. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  173. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
  174. package/dist/tasks/powCaptcha/powTasksUtils.js +15 -11
  175. package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
  176. package/dist/tasks/puzzle/puzzleRenderer.d.ts +8 -1
  177. package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
  178. package/dist/tasks/puzzle/puzzleRenderer.js +16 -8
  179. package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
  180. package/dist/tasks/signatureCheck.d.ts +2 -0
  181. package/dist/tasks/signatureCheck.d.ts.map +1 -0
  182. package/dist/tasks/signatureCheck.js +12 -0
  183. package/dist/tasks/signatureCheck.js.map +1 -0
  184. package/dist/tasks/tasks.d.ts.map +1 -1
  185. package/dist/tasks/tasks.js +7 -2
  186. package/dist/tasks/tasks.js.map +1 -1
  187. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +3 -1
  188. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
  189. package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.js +6 -2
  190. package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.js.map +1 -1
  191. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js +1 -1
  192. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js.map +1 -1
  193. package/dist/tests/integration/imgCaptcha.integration.test.js +6 -5
  194. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
  195. package/dist/tests/integration/ipValidation.integration.test.js +1 -1
  196. package/dist/tests/integration/ipValidation.integration.test.js.map +1 -1
  197. package/dist/tests/integration/powCaptcha.integration.test.js +2 -2
  198. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -1
  199. package/dist/tests/integration/routingDecisionMachines.integration.test.js.map +1 -1
  200. package/dist/tests/integration/testUtils.d.ts +2 -2
  201. package/dist/tests/integration/testUtils.d.ts.map +1 -1
  202. package/dist/tests/integration/testUtils.js +1 -1
  203. package/dist/tests/integration/testUtils.js.map +1 -1
  204. package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js +3 -1
  205. package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js.map +1 -1
  206. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +26 -10
  207. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +1 -1
  208. package/dist/tests/unit/api/captcha/checkSpamEmail.unit.test.js +4 -4
  209. package/dist/tests/unit/api/captcha/checkSpamEmail.unit.test.js.map +1 -1
  210. package/dist/tests/unit/api/captcha/puzzleTouchFloors.unit.test.d.ts +2 -0
  211. package/dist/tests/unit/api/captcha/puzzleTouchFloors.unit.test.d.ts.map +1 -0
  212. package/dist/tests/unit/api/captcha/puzzleTouchFloors.unit.test.js +210 -0
  213. package/dist/tests/unit/api/captcha/puzzleTouchFloors.unit.test.js.map +1 -0
  214. package/dist/tests/unit/api/captcha/submitSolutionBadSignature.unit.test.d.ts +2 -0
  215. package/dist/tests/unit/api/captcha/submitSolutionBadSignature.unit.test.d.ts.map +1 -0
  216. package/dist/tests/unit/api/captcha/submitSolutionBadSignature.unit.test.js +153 -0
  217. package/dist/tests/unit/api/captcha/submitSolutionBadSignature.unit.test.js.map +1 -0
  218. package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js +6 -2
  219. package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js.map +1 -1
  220. package/dist/tests/unit/api/errorCodeForReason.unit.test.d.ts +2 -0
  221. package/dist/tests/unit/api/errorCodeForReason.unit.test.d.ts.map +1 -0
  222. package/dist/tests/unit/api/errorCodeForReason.unit.test.js +23 -0
  223. package/dist/tests/unit/api/errorCodeForReason.unit.test.js.map +1 -0
  224. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +6 -1
  225. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  226. package/dist/tests/unit/api/headerCheckMiddleware.unit.test.js +16 -7
  227. package/dist/tests/unit/api/headerCheckMiddleware.unit.test.js.map +1 -1
  228. package/dist/tests/unit/api/ipInfoMiddleware.unit.test.d.ts +2 -0
  229. package/dist/tests/unit/api/ipInfoMiddleware.unit.test.d.ts.map +1 -0
  230. package/dist/tests/unit/api/ipInfoMiddleware.unit.test.js +46 -0
  231. package/dist/tests/unit/api/ipInfoMiddleware.unit.test.js.map +1 -0
  232. package/dist/tests/unit/api/public.unit.test.js +45 -10
  233. package/dist/tests/unit/api/public.unit.test.js.map +1 -1
  234. package/dist/tests/unit/api/rateLimitHandler.unit.test.d.ts +2 -0
  235. package/dist/tests/unit/api/rateLimitHandler.unit.test.d.ts.map +1 -0
  236. package/dist/tests/unit/api/rateLimitHandler.unit.test.js +39 -0
  237. package/dist/tests/unit/api/rateLimitHandler.unit.test.js.map +1 -0
  238. package/dist/tests/unit/api/validateAddress.unit.test.js +41 -115
  239. package/dist/tests/unit/api/validateAddress.unit.test.js.map +1 -1
  240. package/dist/tests/unit/api/verifyMalformedToken.unit.test.js +3 -3
  241. package/dist/tests/unit/api/verifyMalformedToken.unit.test.js.map +1 -1
  242. package/dist/tests/unit/tasks/captchaManager.unit.test.js +22 -18
  243. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  244. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +25 -0
  245. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -1
  246. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +25 -20
  247. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -1
  248. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js +31 -0
  249. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js.map +1 -1
  250. package/dist/tests/unit/tasks/frictionless/fingerprintBucketFlow.unit.test.d.ts +2 -0
  251. package/dist/tests/unit/tasks/frictionless/fingerprintBucketFlow.unit.test.d.ts.map +1 -0
  252. package/dist/tests/unit/tasks/frictionless/fingerprintBucketFlow.unit.test.js +80 -0
  253. package/dist/tests/unit/tasks/frictionless/fingerprintBucketFlow.unit.test.js.map +1 -0
  254. package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.js +48 -0
  255. package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.js.map +1 -1
  256. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +20 -28
  257. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
  258. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +2 -2
  259. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -1
  260. package/dist/tests/unit/tasks/powCaptcha/backgroundWrites.unit.test.d.ts +2 -0
  261. package/dist/tests/unit/tasks/powCaptcha/backgroundWrites.unit.test.d.ts.map +1 -0
  262. package/dist/tests/unit/tasks/powCaptcha/backgroundWrites.unit.test.js +44 -0
  263. package/dist/tests/unit/tasks/powCaptcha/backgroundWrites.unit.test.js.map +1 -0
  264. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +78 -43
  265. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
  266. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +7 -6
  267. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
  268. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +2 -2
  269. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
  270. package/dist/tests/unit/util/usageCounters.unit.test.js +20 -0
  271. package/dist/tests/unit/util/usageCounters.unit.test.js.map +1 -1
  272. package/dist/tests/unit/util.unit.test.js +7 -7
  273. package/dist/tests/unit/util.unit.test.js.map +1 -1
  274. package/dist/tests/unit/utils/devicePlatform.unit.test.js +9 -8
  275. package/dist/tests/unit/utils/devicePlatform.unit.test.js.map +1 -1
  276. package/dist/tests/unit/utils/mobileSignals.unit.test.d.ts +2 -0
  277. package/dist/tests/unit/utils/mobileSignals.unit.test.d.ts.map +1 -0
  278. package/dist/tests/unit/utils/mobileSignals.unit.test.js +161 -0
  279. package/dist/tests/unit/utils/mobileSignals.unit.test.js.map +1 -0
  280. package/dist/util/usageCounters.d.ts +1 -1
  281. package/dist/util/usageCounters.d.ts.map +1 -1
  282. package/dist/util/usageCounters.js +26 -3
  283. package/dist/util/usageCounters.js.map +1 -1
  284. package/dist/util.d.ts.map +1 -1
  285. package/dist/util.js +15 -4
  286. package/dist/util.js.map +1 -1
  287. package/dist/utils/devicePlatform.d.ts +3 -3
  288. package/dist/utils/devicePlatform.d.ts.map +1 -1
  289. package/dist/utils/devicePlatform.js +9 -5
  290. package/dist/utils/devicePlatform.js.map +1 -1
  291. package/dist/utils/mobileSignals.d.ts +32 -0
  292. package/dist/utils/mobileSignals.d.ts.map +1 -0
  293. package/dist/utils/mobileSignals.js +68 -0
  294. package/dist/utils/mobileSignals.js.map +1 -0
  295. package/package.json +44 -43
@@ -1,5 +1,4 @@
1
- import type { TranslationKey } from "@prosopo/locale";
2
- import type { Logger } from "@prosopo/logger";
3
- export declare const validateSiteKey: (siteKey: string, logger?: Logger) => void;
4
- export declare const validateAddr: (address: string, translationKey?: TranslationKey, logger?: Logger) => void;
1
+ import { type ErrorCode } from "@prosopo/common";
2
+ export declare const validateSiteKey: (siteKey: string) => void;
3
+ export declare const validateAddr: (address: string, code?: ErrorCode) => void;
5
4
  //# sourceMappingURL=validateAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateAddress.d.ts","sourceRoot":"","sources":["../../src/api/validateAddress.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG9C,eAAO,MAAM,eAAe,YAAa,MAAM,WAAW,MAAM,SAE/D,CAAC;AAEF,eAAO,MAAM,YAAY,YACf,MAAM,mBACC,cAAc,WACrB,MAAM,SAiBf,CAAC"}
1
+ {"version":3,"file":"validateAddress.d.ts","sourceRoot":"","sources":["../../src/api/validateAddress.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,iBAAiB,CAAC;AAG/D,eAAO,MAAM,eAAe,YAAa,MAAM,SACL,CAAC;AAE3C,eAAO,MAAM,YAAY,YACf,MAAM,SACT,SAAS,SAgBf,CAAC"}
@@ -1,27 +1,21 @@
1
- import { ProsopoApiError } from "@prosopo/common";
1
+ import { ProsopoError } from "@prosopo/common";
2
2
  import { validateAddress } from "@prosopo/util-crypto";
3
3
  //#region src/api/validateAddress.ts
4
- var validateSiteKey = (siteKey, logger) => {
5
- return validateAddr(siteKey, "API.INVALID_SITE_KEY", logger);
6
- };
7
- var validateAddr = (address, translationKey = "CONTRACT.INVALID_ADDRESS", logger) => {
4
+ var validateSiteKey = (siteKey) => validateAddr(siteKey, "SITE_KEY_INVALID");
5
+ var validateAddr = (address, code = "INVALID_REQUEST") => {
6
+ let valid = false;
7
+ let cause;
8
8
  try {
9
- if (!validateAddress(address, false, 42)) throw new ProsopoApiError(translationKey, {
10
- context: {
11
- code: 400,
12
- siteKey: address
13
- },
14
- logger
15
- });
9
+ valid = validateAddress(address, false, 42);
16
10
  } catch (err) {
17
- throw new ProsopoApiError(translationKey, {
18
- context: {
19
- code: 400,
20
- siteKey: address
21
- },
22
- logger
23
- });
11
+ cause = err;
24
12
  }
13
+ if (!valid) throw new ProsopoError({
14
+ code,
15
+ errorSite: "PROV-35",
16
+ cause,
17
+ context: { siteKey: address }
18
+ });
25
19
  };
26
20
  //#endregion
27
21
  export { validateAddr, validateSiteKey };
@@ -1 +1 @@
1
- {"version":3,"file":"validateAddress.js","sourceRoot":"","sources":["../../src/api/validateAddress.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,MAAe,EAAE,EAAE;IACnE,OAAO,YAAY,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,OAAe,EACf,iBAAiC,0BAA0B,EAC3D,MAAe,EACd,EAAE;IACH,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAElD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE;gBACzC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;gBACxC,MAAM;aACN,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE;YACzC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;YACxC,MAAM;SACN,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"validateAddress.js","sourceRoot":"","sources":["../../src/api/validateAddress.ts"],"names":[],"mappings":"AAcA,OAAO,EAAkB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE,CAClD,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,OAAe,EACf,OAAkB,iBAAiB,EAClC,EAAE;IACH,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACJ,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,KAAK,GAAG,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAC,KAAK;QACT,MAAM,IAAI,YAAY,CAAC;YACtB,IAAI;YACJ,SAAS,EAAE,SAAS;YACpB,KAAK;YACL,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC7B,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAgB,EAIf,KAAK,MAAM,EACX,MAAM,SAAS,CAAC;AAuSjB,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAmkBpE"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAgB,EAIf,KAAK,MAAM,EACX,MAAM,SAAS,CAAC;AA6SjB,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CA6kBpE"}
@@ -5,7 +5,7 @@ import { isReservedTestSiteKey, resolveTestSiteKeyVerdict } from "./testSiteKey.
5
5
  import { summariseRequestBody } from "./requestBodySummary.js";
6
6
  import { buildMaintenanceVerificationResponse } from "./captcha/maintenanceModeResponses.js";
7
7
  import { forwardVerifyIfNotIssuer } from "./forwardVerify.js";
8
- import { ProsopoApiError } from "@prosopo/common";
8
+ import { ProsopoError } from "@prosopo/common";
9
9
  import { ApiParams, CaptchaType, ClientApiPaths, ServerPowCaptchaVerifyRequestBody, ServerPuzzleCaptchaVerifyRequestBody, VerifySolutionBody, decodeProcaptchaOutput } from "@prosopo/types";
10
10
  import { handleErrors, verifySignature } from "@prosopo/api-express-router";
11
11
  import { validateAddress } from "@prosopo/util-crypto";
@@ -34,13 +34,11 @@ var decodeTokenOr400 = (token, i18n, logger, next) => {
34
34
  try {
35
35
  return decodeProcaptchaOutput(token);
36
36
  } catch (error) {
37
- next(new ProsopoApiError("CAPTCHA.PARSE_ERROR", {
38
- context: {
39
- code: 400,
40
- error
41
- },
42
- i18n,
43
- logger
37
+ next(new ProsopoError({
38
+ code: "INVALID_REQUEST",
39
+ errorSite: "PROV-37",
40
+ message: "Error parsing captcha",
41
+ cause: error
44
42
  }));
45
43
  return null;
46
44
  }
@@ -50,13 +48,12 @@ var dappSignatureError = (signature, message, pair, req) => {
50
48
  verifySignature(signature, message, pair);
51
49
  return;
52
50
  } catch {
53
- return new ProsopoApiError("GENERAL.INVALID_SIGNATURE", {
54
- context: {
55
- code: 400,
56
- siteKey: pair.address
57
- },
58
- i18n: req.i18n,
59
- logger: req.logger
51
+ return new ProsopoError({
52
+ code: "UNAUTHORIZED",
53
+ errorSite: "PROV-38",
54
+ message: "Invalid signature",
55
+ status: 400,
56
+ context: { siteKey: pair.address }
60
57
  });
61
58
  }
62
59
  };
@@ -75,14 +72,12 @@ var interactiveVerifyHandler = ({ env, userAccessRulesStorage, path, label, hand
75
72
  try {
76
73
  parsed = ServerPuzzleCaptchaVerifyRequestBody.parse(req.body);
77
74
  } catch (err) {
78
- return next(new ProsopoApiError("CAPTCHA.PARSE_ERROR", {
79
- context: {
80
- code: 400,
81
- error: err,
82
- body: summariseRequestBody(req)
83
- },
84
- i18n: req.i18n,
85
- logger: req.logger
75
+ return next(new ProsopoError({
76
+ code: "INVALID_REQUEST",
77
+ errorSite: "PROV-39",
78
+ message: "Error parsing captcha",
79
+ cause: err,
80
+ context: { body: summariseRequestBody(req) }
86
81
  }));
87
82
  }
88
83
  try {
@@ -113,13 +108,10 @@ var interactiveVerifyHandler = ({ env, userAccessRulesStorage, path, label, hand
113
108
  validateAddress(dapp, false, 42);
114
109
  validateAddress(user, false, 42);
115
110
  const clientRecord = await tasks.db.getClientRecord(dapp);
116
- if (!clientRecord) return next(new ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
117
- context: {
118
- code: 400,
119
- siteKey: dapp
120
- },
121
- i18n: req.i18n,
122
- logger: req.logger
111
+ if (!clientRecord) return next(new ProsopoError({
112
+ code: "SITE_KEY_NOT_REGISTERED",
113
+ errorSite: "PROV-40",
114
+ context: { siteKey: dapp }
123
115
  }));
124
116
  if (!challenge) {
125
117
  const unverifiedResponse = {
@@ -149,13 +141,11 @@ var interactiveVerifyHandler = ({ env, userAccessRulesStorage, path, label, hand
149
141
  err,
150
142
  data: { body: summariseRequestBody(req) }
151
143
  }));
152
- return next(new ProsopoApiError("API.BAD_REQUEST", {
153
- context: {
154
- code: 500,
155
- error: err
156
- },
157
- i18n: req.i18n,
158
- logger: req.logger
144
+ return next(new ProsopoError({
145
+ code: "UNEXPECTED",
146
+ errorSite: "PROV-41",
147
+ message: "BadRequest",
148
+ cause: err
159
149
  }));
160
150
  }
161
151
  };
@@ -215,14 +205,12 @@ function prosopoVerifyRouter(env) {
215
205
  try {
216
206
  parsed = VerifySolutionBody.parse(req.body);
217
207
  } catch (err) {
218
- return next(new ProsopoApiError("CAPTCHA.PARSE_ERROR", {
219
- context: {
220
- code: 400,
221
- error: err,
222
- body: summariseRequestBody(req)
223
- },
224
- i18n: req.i18n,
225
- logger: req.logger
208
+ return next(new ProsopoError({
209
+ code: "INVALID_REQUEST",
210
+ errorSite: "PROV-42",
211
+ message: "Error parsing captcha",
212
+ cause: err,
213
+ context: { body: summariseRequestBody(req) }
226
214
  }));
227
215
  }
228
216
  const { dappSignature, token, ip, maxVerifiedTime, email, clientSessionId } = parsed;
@@ -253,14 +241,13 @@ function prosopoVerifyRouter(env) {
253
241
  validateAddress(dapp, false, 42);
254
242
  validateAddress(user, false, 42);
255
243
  const clientRecord = await tasks.db.getClientRecord(dapp);
256
- if (!clientRecord) return next(new ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
244
+ if (!clientRecord) return next(new ProsopoError({
245
+ code: "SITE_KEY_NOT_REGISTERED",
246
+ errorSite: "PROV-43",
257
247
  context: {
258
- code: 400,
259
248
  siteKey: dapp,
260
249
  user
261
- },
262
- i18n: req.i18n,
263
- logger: req.logger
250
+ }
264
251
  }));
265
252
  const keyPair = env.keyring.addFromAddress(dapp);
266
253
  const signatureError = dappSignatureError(dappSignature, timestamp.toString(), keyPair, req);
@@ -283,14 +270,14 @@ function prosopoVerifyRouter(env) {
283
270
  msg: "Error in verifyImageCaptchaSolution",
284
271
  data: { body: summariseRequestBody(req) }
285
272
  }));
286
- return next(new ProsopoApiError("API.BAD_REQUEST", {
273
+ return next(new ProsopoError({
274
+ code: "UNEXPECTED",
275
+ errorSite: "PROV-44",
276
+ message: "BadRequest",
287
277
  context: {
288
- code: 500,
289
278
  siteKey: req.body.dapp,
290
279
  user: req.body.user
291
- },
292
- i18n: req.i18n,
293
- logger: req.logger
280
+ }
294
281
  }));
295
282
  }
296
283
  });
@@ -311,14 +298,12 @@ function prosopoVerifyRouter(env) {
311
298
  try {
312
299
  parsed = ServerPowCaptchaVerifyRequestBody.parse(req.body);
313
300
  } catch (err) {
314
- return next(new ProsopoApiError("CAPTCHA.PARSE_ERROR", {
315
- context: {
316
- code: 400,
317
- error: err,
318
- body: summariseRequestBody(req)
319
- },
320
- i18n: req.i18n,
321
- logger: req.logger
301
+ return next(new ProsopoError({
302
+ code: "INVALID_REQUEST",
303
+ errorSite: "PROV-45",
304
+ message: "Error parsing captcha",
305
+ cause: err,
306
+ context: { body: summariseRequestBody(req) }
322
307
  }));
323
308
  }
324
309
  try {
@@ -349,13 +334,10 @@ function prosopoVerifyRouter(env) {
349
334
  validateAddress(dapp, false, 42);
350
335
  validateAddress(user, false, 42);
351
336
  const clientRecord = await tasks.db.getClientRecord(dapp);
352
- if (!clientRecord) return next(new ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
353
- context: {
354
- code: 400,
355
- siteKey: dapp
356
- },
357
- i18n: req.i18n,
358
- logger: req.logger
337
+ if (!clientRecord) return next(new ProsopoError({
338
+ code: "SITE_KEY_NOT_REGISTERED",
339
+ errorSite: "PROV-46",
340
+ context: { siteKey: dapp }
359
341
  }));
360
342
  if (!challenge) {
361
343
  const unverifiedResponse = {
@@ -375,7 +357,7 @@ function prosopoVerifyRouter(env) {
375
357
  const maintenanceResponse = buildMaintenanceVerificationResponse(req.i18n.t);
376
358
  return res.json(maintenanceResponse);
377
359
  }
378
- const { verified, score, reason, sessionId } = await tasks.powCaptchaManager.serverVerifyPowCaptchaSolution(dapp, challenge, clientRecord.settings.verifiedTimeout, env, ip, userAccessRulesStorage, email, clientRecord.settings.spamEmailDomainCheckEnabled, clientRecord.settings.spamFilter, clientRecord.settings.trafficFilter, clientRecord.settings.storeMetadata, clientSessionId);
360
+ const { verified, score, reason, sessionId } = await tasks.powCaptchaManager.serverVerifyPowCaptchaSolution(dapp, challenge, clientRecord.settings.verifiedTimeout, env, ip, userAccessRulesStorage, email, clientRecord.settings.spamEmailDomainCheckEnabled, clientRecord.settings.spamFilter, clientRecord.settings.trafficFilter, clientRecord.settings.storeMetadata, clientSessionId, clientRecord.settings.ipValidationRules);
379
361
  const verificationResponse = tasks.powCaptchaManager.getVerificationResponse(verified, clientRecord, req.i18n.t, score, reason, sessionId);
380
362
  return res.json(verificationResponse);
381
363
  } catch (err) {
@@ -384,13 +366,11 @@ function prosopoVerifyRouter(env) {
384
366
  err,
385
367
  data: { body: summariseRequestBody(req) }
386
368
  }));
387
- return next(new ProsopoApiError("API.BAD_REQUEST", {
388
- context: {
389
- code: 500,
390
- error: err
391
- },
392
- i18n: req.i18n,
393
- logger: req.logger
369
+ return next(new ProsopoError({
370
+ code: "UNEXPECTED",
371
+ errorSite: "PROV-47",
372
+ message: "BadRequest",
373
+ cause: err
394
374
  }));
395
375
  }
396
376
  });
@@ -435,14 +415,12 @@ function prosopoVerifyRouter(env) {
435
415
  try {
436
416
  parsed = VerifySolutionBody.parse(req.body);
437
417
  } catch (err) {
438
- return next(new ProsopoApiError("CAPTCHA.PARSE_ERROR", {
439
- context: {
440
- code: 400,
441
- error: err,
442
- body: summariseRequestBody(req)
443
- },
444
- i18n: req.i18n,
445
- logger: req.logger
418
+ return next(new ProsopoError({
419
+ code: "INVALID_REQUEST",
420
+ errorSite: "PROV-48",
421
+ message: "Error parsing captcha",
422
+ cause: err,
423
+ context: { body: summariseRequestBody(req) }
446
424
  }));
447
425
  }
448
426
  const { dappSignature, token, ip, clientSessionId } = parsed;
@@ -469,14 +447,13 @@ function prosopoVerifyRouter(env) {
469
447
  const tasks = new Tasks(env, req.logger);
470
448
  validateAddress(dapp, false, 42);
471
449
  validateAddress(user, false, 42);
472
- if (!await tasks.db.getClientRecord(dapp)) return next(new ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
450
+ if (!await tasks.db.getClientRecord(dapp)) return next(new ProsopoError({
451
+ code: "SITE_KEY_NOT_REGISTERED",
452
+ errorSite: "PROV-49",
473
453
  context: {
474
- code: 400,
475
454
  siteKey: dapp,
476
455
  user
477
- },
478
- i18n: req.i18n,
479
- logger: req.logger
456
+ }
480
457
  }));
481
458
  const keyPair = env.keyring.addFromAddress(dapp);
482
459
  const signatureError = dappSignatureError(dappSignature, timestamp.toString(), keyPair, req);
@@ -501,14 +478,14 @@ function prosopoVerifyRouter(env) {
501
478
  msg: "Error in verifyAuthenticatedSession",
502
479
  data: { body: summariseRequestBody(req) }
503
480
  }));
504
- return next(new ProsopoApiError("API.BAD_REQUEST", {
481
+ return next(new ProsopoError({
482
+ code: "UNEXPECTED",
483
+ errorSite: "PROV-50",
484
+ message: "BadRequest",
505
485
  context: {
506
- code: 500,
507
486
  siteKey: req.body.dapp,
508
487
  user: req.body.user
509
- },
510
- i18n: req.i18n,
511
- logger: req.logger
488
+ }
512
489
  }));
513
490
  }
514
491
  });
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  const require_compositeIpAddress = require("../compositeIpAddress.cjs");
2
+ const require_errorCodeForReason = require("./errorCodeForReason.cjs");
2
3
  const require_hardBlockVerdictCache = require("./hardBlockVerdictCache.cjs");
3
4
  const require_metrics = require("./metrics.cjs");
5
+ let _prosopo_common = require("@prosopo/common");
4
6
  let _prosopo_types = require("@prosopo/types");
5
7
  let _prosopo_user_access_policy = require("@prosopo/user-access-policy");
6
8
  let node_crypto = require("node:crypto");
7
9
  let _prosopo_captcha_severity = require("@prosopo/captcha-severity");
8
- let _prosopo_locale = require("@prosopo/locale");
9
10
  //#region src/api/blacklistRequestInspector.ts
10
11
  var getRequestUserScope = (requestHeaders, ja4, ip, user, headHash, coords, countryCode, asn, webBotAuthAgent) => {
11
12
  const userAgent = requestHeaders["user-agent"] ? requestHeaders["user-agent"].toString() : void 0;
@@ -172,13 +173,13 @@ var BlacklistRequestInspector = class {
172
173
  request.logger.debug(() => ({ data: { ja4: request.ja4 } }));
173
174
  const blockOutcome = {};
174
175
  if (await this.shouldAbortRequest(request.url, rawIp, request.ja4, request.headers, request.body, request.logger, request.ipInfo, request, blockOutcome)) {
175
- const { messageKey } = blockOutcome;
176
- const reason = !messageKey ? "Forbidden" : (0, _prosopo_locale.isTranslationKey)(messageKey) ? request.i18n.t(messageKey) : messageKey;
177
- res.status(403).json({ error: {
178
- message: `${reason}: ${request.requestId ?? "unknown"}`,
179
- code: 403,
180
- ...messageKey && { key: messageKey }
181
- } });
176
+ const error = new _prosopo_common.ProsopoError({
177
+ code: require_errorCodeForReason.errorCodeForReason(blockOutcome.messageKey, "FORBIDDEN"),
178
+ errorSite: "PROV-84",
179
+ status: 403,
180
+ data: { requestId: request.requestId ?? "unknown" }
181
+ });
182
+ res.status(error.status).json({ error: (0, _prosopo_common.toPublicError)(error, "BACKEND_ERROR") });
182
183
  return;
183
184
  }
184
185
  next();
@@ -16,13 +16,11 @@ var checkSpamEmail_default = (env) => async (req, res, next) => {
16
16
  try {
17
17
  ({email, dapp} = CheckSpamEmailRequestBody.parse(req.body));
18
18
  } catch (err) {
19
- return next(new _prosopo_common.ProsopoApiError("CAPTCHA.PARSE_ERROR", {
20
- context: {
21
- code: 400,
22
- error: err
23
- },
24
- i18n: req.i18n,
25
- logger: req.logger
19
+ return next(new _prosopo_common.ProsopoError({
20
+ code: "INVALID_REQUEST",
21
+ errorSite: "PROV-1",
22
+ message: "Error parsing captcha",
23
+ cause: err
26
24
  }));
27
25
  }
28
26
  try {
@@ -47,21 +45,16 @@ var checkSpamEmail_default = (env) => async (req, res, next) => {
47
45
  }
48
46
  const tasks = new require_tasks.Tasks(env, req.logger);
49
47
  const clientRecord = await tasks.db.getClientRecord(dapp);
50
- if (!clientRecord) return next(new _prosopo_common.ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
51
- context: {
52
- code: 400,
53
- siteKey: dapp
54
- },
55
- i18n: req.i18n,
56
- logger: req.logger
48
+ if (!clientRecord) return next(new _prosopo_common.ProsopoError({
49
+ code: "SITE_KEY_NOT_REGISTERED",
50
+ errorSite: "PROV-2",
51
+ context: { siteKey: dapp }
57
52
  }));
58
- if (!clientRecord.settings.spamEmailDomainCheckEnabled) return next(new _prosopo_common.ProsopoApiError("API.BAD_REQUEST", {
59
- context: {
60
- code: 400,
61
- siteKey: dapp
62
- },
63
- i18n: req.i18n,
64
- logger: req.logger
53
+ if (!clientRecord.settings.spamEmailDomainCheckEnabled) return next(new _prosopo_common.ProsopoError({
54
+ code: "INVALID_REQUEST",
55
+ errorSite: "PROV-3",
56
+ message: "BadRequest",
57
+ context: { siteKey: dapp }
65
58
  }));
66
59
  const isSpam = await require_checkSpamEmail.checkSpamEmail(email, tasks.db, env.config, req.logger);
67
60
  req.logger.info(() => ({
@@ -81,10 +74,10 @@ var checkSpamEmail_default = (env) => async (req, res, next) => {
81
74
  msg: "Error in check spam email handler",
82
75
  error
83
76
  }));
84
- return next(new _prosopo_common.ProsopoApiError("API.INTERNAL_SERVER_ERROR", {
85
- context: { code: 500 },
86
- i18n: req.i18n,
87
- logger: req.logger
77
+ return next(new _prosopo_common.ProsopoError({
78
+ code: "UNEXPECTED",
79
+ errorSite: "PROV-4",
80
+ message: "Internal server error"
88
81
  }));
89
82
  }
90
83
  };
@@ -1,6 +1,8 @@
1
1
  const require_honeypotResponse = require("./honeypotResponse.cjs");
2
+ let _prosopo_common = require("@prosopo/common");
2
3
  let _prosopo_types = require("@prosopo/types");
3
4
  let _prosopo_user_access_policy = require("@prosopo/user-access-policy");
5
+ let _prosopo_api_express_router = require("@prosopo/api-express-router");
4
6
  //#region src/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.ts
5
7
  var handleAccessPolicy = async (input, res) => {
6
8
  if (!input.userAccessPolicy) return {
@@ -40,7 +42,11 @@ var handleAccessPolicy = async (input, res) => {
40
42
  });
41
43
  return {
42
44
  handled: true,
43
- response: res.status(401).json({ error: "Unauthorized" })
45
+ response: (0, _prosopo_api_express_router.sendProsopoError)(res, new _prosopo_common.ProsopoError({
46
+ code: "ACCESS_POLICY_BLOCK",
47
+ errorSite: "PROV-89",
48
+ status: 401
49
+ }))
44
50
  };
45
51
  }
46
52
  const autoBanThreshold = clientRecord.settings.autoBanScoreThreshold;
@@ -64,7 +70,10 @@ var handleAccessPolicy = async (input, res) => {
64
70
  });
65
71
  return {
66
72
  handled: true,
67
- response: res.status(401).json({ error: "Unauthorized" })
73
+ response: (0, _prosopo_api_express_router.sendProsopoError)(res, new _prosopo_common.ProsopoError({
74
+ code: "UNAUTHORIZED",
75
+ errorSite: "PROV-90"
76
+ }))
68
77
  };
69
78
  }
70
79
  const captchaTypeBaseParams = {
@@ -4,7 +4,9 @@ const require_frictionlessTasks = require("../../../tasks/frictionless/frictionl
4
4
  const require_hashUserAgent = require("../../../utils/hashUserAgent.cjs");
5
5
  const require_honeypotResponse = require("./honeypotResponse.cjs");
6
6
  const require_constants = require("./constants.cjs");
7
+ let _prosopo_common = require("@prosopo/common");
7
8
  let _prosopo_types = require("@prosopo/types");
9
+ let _prosopo_api_express_router = require("@prosopo/api-express-router");
8
10
  //#region src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts
9
11
  var runDecisionMachine = async (input, handle) => {
10
12
  const { tasks, env, clientRecord, dapp, userSitekeyIpHash, flatHeaders, ipInfo } = input;
@@ -104,7 +106,10 @@ var runDecisionMachine = async (input, handle) => {
104
106
  ipInfo,
105
107
  headers: flatHeaders
106
108
  });
107
- return res.status(401).json({ error: "Unauthorized" });
109
+ return (0, _prosopo_api_express_router.sendProsopoError)(res, new _prosopo_common.ProsopoError({
110
+ code: "UNAUTHORIZED",
111
+ errorSite: "PROV-88"
112
+ }));
108
113
  }
109
114
  if (webViewTripped) {
110
115
  req.logger.info(() => ({