@prosopo/provider 5.14.0 → 5.16.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 (303) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +62 -46
  2. package/.turbo/turbo-build$colon$tsc.log +37 -34
  3. package/.turbo/turbo-build.log +63 -50
  4. package/CHANGELOG.md +193 -0
  5. package/LICENSE +201 -0
  6. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +4 -0
  7. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +1 -1
  8. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js +63 -3
  9. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +1 -1
  10. package/dist/api/blacklistRequestInspector.js +2 -2
  11. package/dist/api/captcha/getAudioCaptchaChallenge.d.ts +5 -0
  12. package/dist/api/captcha/getAudioCaptchaChallenge.d.ts.map +1 -0
  13. package/dist/api/captcha/getAudioCaptchaChallenge.js +37 -0
  14. package/dist/api/captcha/getAudioCaptchaChallenge.js.map +1 -0
  15. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +2 -1
  16. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
  17. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +11 -2
  18. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
  19. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +1 -1
  20. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  21. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +26 -15
  22. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  23. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts +5 -0
  24. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts.map +1 -0
  25. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js +20 -0
  26. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js.map +1 -0
  27. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -1
  28. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +1 -0
  29. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
  30. package/dist/api/captcha/getIconOrderCaptchaChallenge.d.ts +5 -0
  31. package/dist/api/captcha/getIconOrderCaptchaChallenge.d.ts.map +1 -0
  32. package/dist/api/captcha/getIconOrderCaptchaChallenge.js +37 -0
  33. package/dist/api/captcha/getIconOrderCaptchaChallenge.js.map +1 -0
  34. package/dist/api/captcha/getImageCaptchaChallenge.js +2 -2
  35. package/dist/api/captcha/getPoWCaptchaChallenge.js +4 -4
  36. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts +1 -3
  37. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
  38. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +53 -146
  39. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
  40. package/dist/api/captcha/interactiveCaptchaChallenge.d.ts +42 -0
  41. package/dist/api/captcha/interactiveCaptchaChallenge.d.ts.map +1 -0
  42. package/dist/api/captcha/interactiveCaptchaChallenge.js +154 -0
  43. package/dist/api/captcha/interactiveCaptchaChallenge.js.map +1 -0
  44. package/dist/api/captcha/interactiveCaptchaSolution.d.ts +14 -0
  45. package/dist/api/captcha/interactiveCaptchaSolution.d.ts.map +1 -0
  46. package/dist/api/captcha/interactiveCaptchaSolution.js +77 -0
  47. package/dist/api/captcha/interactiveCaptchaSolution.js.map +1 -0
  48. package/dist/api/captcha/maintenanceModeResponses.d.ts +4 -2
  49. package/dist/api/captcha/maintenanceModeResponses.d.ts.map +1 -1
  50. package/dist/api/captcha/maintenanceModeResponses.js +28 -1
  51. package/dist/api/captcha/maintenanceModeResponses.js.map +1 -1
  52. package/dist/api/captcha/submitAudioCaptchaSolution.d.ts +4 -0
  53. package/dist/api/captcha/submitAudioCaptchaSolution.d.ts.map +1 -0
  54. package/dist/api/captcha/submitAudioCaptchaSolution.js +11 -0
  55. package/dist/api/captcha/submitAudioCaptchaSolution.js.map +1 -0
  56. package/dist/api/captcha/submitIconOrderCaptchaSolution.d.ts +4 -0
  57. package/dist/api/captcha/submitIconOrderCaptchaSolution.d.ts.map +1 -0
  58. package/dist/api/captcha/submitIconOrderCaptchaSolution.js +11 -0
  59. package/dist/api/captcha/submitIconOrderCaptchaSolution.js.map +1 -0
  60. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +4 -11
  61. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
  62. package/dist/api/captcha/submitPoWCaptchaSolution.js +13 -18
  63. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  64. package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts +1 -3
  65. package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts.map +1 -1
  66. package/dist/api/captcha/submitPuzzleCaptchaSolution.js +6 -73
  67. package/dist/api/captcha/submitPuzzleCaptchaSolution.js.map +1 -1
  68. package/dist/api/captcha/trafficFilterRequestTime.d.ts +4 -1
  69. package/dist/api/captcha/trafficFilterRequestTime.d.ts.map +1 -1
  70. package/dist/api/captcha/trafficFilterRequestTime.js +3 -0
  71. package/dist/api/captcha/trafficFilterRequestTime.js.map +1 -1
  72. package/dist/api/captcha.d.ts.map +1 -1
  73. package/dist/api/captcha.js +8 -0
  74. package/dist/api/captcha.js.map +1 -1
  75. package/dist/api/domainMiddleware.js +1 -1
  76. package/dist/api/ja4Middleware.js +1 -1
  77. package/dist/api/rawTlsSignalsMiddleware.d.ts +14 -1
  78. package/dist/api/rawTlsSignalsMiddleware.d.ts.map +1 -1
  79. package/dist/api/rawTlsSignalsMiddleware.js +111 -23
  80. package/dist/api/rawTlsSignalsMiddleware.js.map +1 -1
  81. package/dist/api/startProviderApi.js +2 -2
  82. package/dist/api/verify.d.ts.map +1 -1
  83. package/dist/api/verify.js +153 -96
  84. package/dist/api/verify.js.map +1 -1
  85. package/dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs +65 -2
  86. package/dist/cjs/api/blacklistRequestInspector.cjs +2 -2
  87. package/dist/cjs/api/captcha/getAudioCaptchaChallenge.cjs +37 -0
  88. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +10 -0
  89. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +1 -1
  90. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +25 -14
  91. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.cjs +20 -0
  92. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +1 -0
  93. package/dist/cjs/api/captcha/getIconOrderCaptchaChallenge.cjs +37 -0
  94. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +2 -2
  95. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +4 -4
  96. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +52 -145
  97. package/dist/cjs/api/captcha/interactiveCaptchaChallenge.cjs +154 -0
  98. package/dist/cjs/api/captcha/interactiveCaptchaSolution.cjs +77 -0
  99. package/dist/cjs/api/captcha/maintenanceModeResponses.cjs +29 -0
  100. package/dist/cjs/api/captcha/submitAudioCaptchaSolution.cjs +11 -0
  101. package/dist/cjs/api/captcha/submitIconOrderCaptchaSolution.cjs +11 -0
  102. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +11 -16
  103. package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +6 -73
  104. package/dist/cjs/api/captcha/trafficFilterRequestTime.cjs +3 -0
  105. package/dist/cjs/api/captcha.cjs +8 -0
  106. package/dist/cjs/api/domainMiddleware.cjs +1 -1
  107. package/dist/cjs/api/ja4Middleware.cjs +1 -1
  108. package/dist/cjs/api/rawTlsSignalsMiddleware.cjs +111 -22
  109. package/dist/cjs/api/startProviderApi.cjs +2 -2
  110. package/dist/cjs/api/verify.cjs +152 -95
  111. package/dist/cjs/compositeIpAddress.cjs +21 -7
  112. package/dist/cjs/index.cjs +1 -1
  113. package/dist/cjs/tasks/audio/audioBuffer.cjs +72 -0
  114. package/dist/cjs/tasks/audio/audioRenderer.cjs +32 -0
  115. package/dist/cjs/tasks/audioAlternative.cjs +23 -0
  116. package/dist/cjs/tasks/audioCaptcha/audioTasks.cjs +65 -0
  117. package/dist/cjs/tasks/audioCaptcha/audioTasksUtils.cjs +19 -0
  118. package/dist/cjs/tasks/captchaManager.cjs +28 -1
  119. package/dist/cjs/tasks/captchaTypeSelection.cjs +31 -3
  120. package/dist/cjs/tasks/client/clientTasks.cjs +2 -2
  121. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +49 -26
  122. package/dist/cjs/tasks/iconOrder/iconOrderRenderer.cjs +42 -0
  123. package/dist/cjs/tasks/iconOrderCaptcha/iconOrderTasks.cjs +69 -0
  124. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +10 -17
  125. package/dist/cjs/tasks/interactiveCaptcha/interactiveCaptchaManager.cjs +423 -0
  126. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +15 -19
  127. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +3 -1
  128. package/dist/cjs/tasks/puzzle/backgroundBuffer.cjs +3 -3
  129. package/dist/cjs/tasks/puzzle/nativeBackground.cjs +12 -5
  130. package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +4 -3
  131. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +40 -493
  132. package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +18 -1
  133. package/dist/cjs/tasks/tasks.cjs +6 -0
  134. package/dist/cjs/util.cjs +1 -1
  135. package/dist/compositeIpAddress.d.ts.map +1 -1
  136. package/dist/compositeIpAddress.js +21 -7
  137. package/dist/compositeIpAddress.js.map +1 -1
  138. package/dist/index.js +2 -2
  139. package/dist/tasks/audio/audioBuffer.d.ts +23 -0
  140. package/dist/tasks/audio/audioBuffer.d.ts.map +1 -0
  141. package/dist/tasks/audio/audioBuffer.js +70 -0
  142. package/dist/tasks/audio/audioBuffer.js.map +1 -0
  143. package/dist/tasks/audio/audioRenderer.d.ts +11 -0
  144. package/dist/tasks/audio/audioRenderer.d.ts.map +1 -0
  145. package/dist/tasks/audio/audioRenderer.js +31 -0
  146. package/dist/tasks/audio/audioRenderer.js.map +1 -0
  147. package/dist/tasks/audioAlternative.d.ts +8 -0
  148. package/dist/tasks/audioAlternative.d.ts.map +1 -0
  149. package/dist/tasks/audioAlternative.js +20 -0
  150. package/dist/tasks/audioAlternative.js.map +1 -0
  151. package/dist/tasks/audioCaptcha/audioTasks.d.ts +19 -0
  152. package/dist/tasks/audioCaptcha/audioTasks.d.ts.map +1 -0
  153. package/dist/tasks/audioCaptcha/audioTasks.js +65 -0
  154. package/dist/tasks/audioCaptcha/audioTasks.js.map +1 -0
  155. package/dist/tasks/audioCaptcha/audioTasksUtils.d.ts +3 -0
  156. package/dist/tasks/audioCaptcha/audioTasksUtils.d.ts.map +1 -0
  157. package/dist/tasks/audioCaptcha/audioTasksUtils.js +18 -0
  158. package/dist/tasks/audioCaptcha/audioTasksUtils.js.map +1 -0
  159. package/dist/tasks/captchaManager.d.ts +9 -3
  160. package/dist/tasks/captchaManager.d.ts.map +1 -1
  161. package/dist/tasks/captchaManager.js +29 -2
  162. package/dist/tasks/captchaManager.js.map +1 -1
  163. package/dist/tasks/captchaTypeSelection.d.ts +4 -2
  164. package/dist/tasks/captchaTypeSelection.d.ts.map +1 -1
  165. package/dist/tasks/captchaTypeSelection.js +32 -5
  166. package/dist/tasks/captchaTypeSelection.js.map +1 -1
  167. package/dist/tasks/client/clientTasks.js +2 -2
  168. package/dist/tasks/frictionless/frictionlessTasks.d.ts +6 -1
  169. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  170. package/dist/tasks/frictionless/frictionlessTasks.js +51 -28
  171. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  172. package/dist/tasks/frictionless/routingMachine.d.ts +1 -2
  173. package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
  174. package/dist/tasks/frictionless/routingMachine.js.map +1 -1
  175. package/dist/tasks/iconOrder/iconOrderRenderer.d.ts +12 -0
  176. package/dist/tasks/iconOrder/iconOrderRenderer.d.ts.map +1 -0
  177. package/dist/tasks/iconOrder/iconOrderRenderer.js +40 -0
  178. package/dist/tasks/iconOrder/iconOrderRenderer.js.map +1 -0
  179. package/dist/tasks/iconOrderCaptcha/iconOrderTasks.d.ts +22 -0
  180. package/dist/tasks/iconOrderCaptcha/iconOrderTasks.d.ts.map +1 -0
  181. package/dist/tasks/iconOrderCaptcha/iconOrderTasks.js +69 -0
  182. package/dist/tasks/iconOrderCaptcha/iconOrderTasks.js.map +1 -0
  183. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  184. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +10 -17
  185. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  186. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts +52 -0
  187. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts.map +1 -0
  188. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js +423 -0
  189. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js.map +1 -0
  190. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  191. package/dist/tasks/powCaptcha/powTasks.js +15 -19
  192. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  193. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +1 -0
  194. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
  195. package/dist/tasks/powCaptcha/powTasksUtils.js +3 -2
  196. package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
  197. package/dist/tasks/puzzle/backgroundBuffer.d.ts +3 -2
  198. package/dist/tasks/puzzle/backgroundBuffer.d.ts.map +1 -1
  199. package/dist/tasks/puzzle/backgroundBuffer.js +3 -3
  200. package/dist/tasks/puzzle/backgroundBuffer.js.map +1 -1
  201. package/dist/tasks/puzzle/nativeBackground.d.ts +5 -1
  202. package/dist/tasks/puzzle/nativeBackground.d.ts.map +1 -1
  203. package/dist/tasks/puzzle/nativeBackground.js +12 -5
  204. package/dist/tasks/puzzle/nativeBackground.js.map +1 -1
  205. package/dist/tasks/puzzle/puzzleRenderer.d.ts +2 -0
  206. package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
  207. package/dist/tasks/puzzle/puzzleRenderer.js +4 -3
  208. package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
  209. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts +14 -16
  210. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
  211. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +41 -494
  212. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
  213. package/dist/tasks/spam/checkTrafficFilter.d.ts +4 -1
  214. package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
  215. package/dist/tasks/spam/checkTrafficFilter.js +18 -1
  216. package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
  217. package/dist/tasks/tasks.d.ts +4 -0
  218. package/dist/tasks/tasks.d.ts.map +1 -1
  219. package/dist/tasks/tasks.js +6 -0
  220. package/dist/tasks/tasks.js.map +1 -1
  221. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +7 -3
  222. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
  223. package/dist/tests/integration/clientSettingsPersistence.integration.test.js +44 -2
  224. package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
  225. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +4 -2
  226. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
  227. package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js +76 -1
  228. package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js.map +1 -1
  229. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +54 -2
  230. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -1
  231. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts +2 -0
  232. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts.map +1 -0
  233. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js +45 -0
  234. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js.map +1 -0
  235. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js +20 -0
  236. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js.map +1 -1
  237. package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +15 -1
  238. package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
  239. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +174 -0
  240. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  241. package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js +96 -1
  242. package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js.map +1 -1
  243. package/dist/tests/unit/compositeIpAddress.unit.test.js +12 -3
  244. package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -1
  245. package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.d.ts +2 -0
  246. package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.d.ts.map +1 -0
  247. package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.js +105 -0
  248. package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.js.map +1 -0
  249. package/dist/tests/unit/tasks/audioAlternative.unit.test.d.ts +2 -0
  250. package/dist/tests/unit/tasks/audioAlternative.unit.test.d.ts.map +1 -0
  251. package/dist/tests/unit/tasks/audioAlternative.unit.test.js +76 -0
  252. package/dist/tests/unit/tasks/audioAlternative.unit.test.js.map +1 -0
  253. package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.d.ts +2 -0
  254. package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.d.ts.map +1 -0
  255. package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.js +259 -0
  256. package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.js.map +1 -0
  257. package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.d.ts +2 -0
  258. package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.d.ts.map +1 -0
  259. package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.js +52 -0
  260. package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.js.map +1 -0
  261. package/dist/tests/unit/tasks/captchaManager.unit.test.js +171 -2
  262. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  263. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +68 -6
  264. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -1
  265. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts +2 -0
  266. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts.map +1 -0
  267. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js +123 -0
  268. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js.map +1 -0
  269. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +31 -0
  270. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
  271. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts +2 -0
  272. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts.map +1 -0
  273. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js +103 -0
  274. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js.map +1 -0
  275. package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js +28 -0
  276. package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js.map +1 -1
  277. package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.d.ts +2 -0
  278. package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.d.ts.map +1 -0
  279. package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.js +60 -0
  280. package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.js.map +1 -0
  281. package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.d.ts +2 -0
  282. package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.d.ts.map +1 -0
  283. package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.js +225 -0
  284. package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.js.map +1 -0
  285. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +23 -1
  286. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
  287. package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js +1 -4
  288. package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js.map +1 -1
  289. package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js +10 -3
  290. package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js.map +1 -1
  291. package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts +2 -0
  292. package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts.map +1 -0
  293. package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js +35 -0
  294. package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js.map +1 -0
  295. package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts +2 -0
  296. package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts.map +1 -0
  297. package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js +49 -0
  298. package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js.map +1 -0
  299. package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +17 -14
  300. package/dist/tests/unit/testUtils/mockProviderEnv.d.ts.map +1 -1
  301. package/dist/tests/unit/testUtils/mockProviderEnv.js.map +1 -1
  302. package/dist/util.js +1 -1
  303. package/package.json +107 -103
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconOrderRenderer.js","sourceRoot":"","sources":["../../../src/tasks/iconOrder/iconOrderRenderer.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,uBAAuB,EACvB,gBAAgB,IAAI,mBAAmB,EAGvC,eAAe,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACN,2BAA2B,GAG3B,MAAM,gBAAgB,CAAC;AAWxB,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC7C,GAAG,SAA6C,EACtB,EAAE;IAC5B,IAAI,QAAQ,GAA4B,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACvE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,QAAQ,GAAG;YACV,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,QAAQ,CAAC,WAAW;YAC1D,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,QAAQ,CAAC,UAAU;YACvD,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,QAAQ,CAAC,WAAW;YAC1D,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,QAAQ,CAAC,WAAW;YAC1D,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,QAAQ,CAAC,WAAW;YAC1D,iBAAiB,EAChB,QAAQ,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;SAC1D,CAAC;IACH,CAAC;IAGD,MAAM,WAAW,GAAG,2BAA2B,GAAG,QAAQ,CAAC,WAAW,CAAC;IACvE,IAAI,QAAQ,CAAC,UAAU,GAAG,WAAW,EAAE,CAAC;QACvC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,OAAiC,EACZ,EAAE,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC,EAAE,MAAM,CAAC,CAAC;IACX,CAAC,EAAE,MAAM,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC,IAAI;CACjB,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACzC,WAAoC,uBAAuB,EACxB,EAAE;IACrC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAEtE,OAAO;QACN,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,OAAO,EAAE,QAAQ,CAAC,OAAO;KACzB,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type CaptchaResult, CaptchaType, type ClientMetaData, type DecisionMachineInput, type IPAddress, type IconClick, type IconOrderEvent, type PoWChallengeId, type StoredIconTarget } from "@prosopo/types";
2
+ import type { IconOrderCaptchaRecord } from "@prosopo/types-database";
3
+ import { type RenderedIconOrderImages } from "../iconOrder/iconOrderRenderer.js";
4
+ import { InteractiveCaptchaManager, type InteractiveCaptchaRecordUpdate, type MintedChallenge } from "../interactiveCaptcha/interactiveCaptchaManager.js";
5
+ export interface IconOrderCaptchaChallenge extends MintedChallenge {
6
+ targets: StoredIconTarget[];
7
+ tolerance: number;
8
+ images: Omit<RenderedIconOrderImages, "targets">;
9
+ }
10
+ export declare class IconOrderCaptchaManager extends InteractiveCaptchaManager<IconOrderCaptchaRecord> {
11
+ protected readonly captchaType = CaptchaType.iconOrder;
12
+ protected readonly logLabel = "icon-order";
13
+ protected getRecordByChallenge(challenge: string): Promise<IconOrderCaptchaRecord | null>;
14
+ protected updateRecord(challenge: PoWChallengeId, updates: InteractiveCaptchaRecordUpdate): Promise<void>;
15
+ protected updateSubmissionResult(challenge: PoWChallengeId, result: CaptchaResult, userSignature: string, coords: [number, number][][] | undefined): Promise<void>;
16
+ protected claimSubmission(record: IconOrderCaptchaRecord): Promise<boolean>;
17
+ protected markRecordChecked(challenge: PoWChallengeId): Promise<boolean>;
18
+ protected decisionMachineEventFields(record: IconOrderCaptchaRecord): Partial<DecisionMachineInput>;
19
+ getIconOrderCaptchaChallenge(userAccount: string, dappAccount: string, tolerance: number | undefined, renderImages: () => Promise<RenderedIconOrderImages>): Promise<IconOrderCaptchaChallenge>;
20
+ verifyIconOrderCaptchaSolution(challenge: PoWChallengeId, providerChallengeSignature: string, clicks: IconClick[], iconOrderEvents: IconOrderEvent[], timeout: number, userTimestampSignature: string, ipAddress: IPAddress, behavioralData?: string, salt?: string, simdReadings?: string, clientMetaData?: ClientMetaData): Promise<boolean>;
21
+ }
22
+ //# sourceMappingURL=iconOrderTasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconOrderTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/iconOrderCaptcha/iconOrderTasks.ts"],"names":[],"mappings":"AAeA,OAAO,EACN,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EAErB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACN,KAAK,uBAAuB,EAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACN,yBAAyB,EACzB,KAAK,8BAA8B,EACnC,KAAK,eAAe,EACpB,MAAM,oDAAoD,CAAC;AAG5D,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IACjE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;CACjD;AAED,qBAAa,uBAAwB,SAAQ,yBAAyB,CAAC,sBAAsB,CAAC;IAC7F,SAAS,CAAC,QAAQ,CAAC,WAAW,yBAAyB;IACvD,SAAS,CAAC,QAAQ,CAAC,QAAQ,gBAAgB;IAE3C,SAAS,CAAC,oBAAoB,CAC7B,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAIzC,SAAS,CAAC,YAAY,CACrB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,8BAA8B,GACrC,OAAO,CAAC,IAAI,CAAC;IAIhB,SAAS,CAAC,sBAAsB,CAC/B,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,SAAS,GACtC,OAAO,CAAC,IAAI,CAAC;IAgBhB,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxE,SAAS,CAAC,0BAA0B,CACnC,MAAM,EAAE,sBAAsB,GAC5B,OAAO,CAAC,oBAAoB,CAAC;IAQ1B,4BAA4B,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,YAAY,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAW/B,8BAA8B,CACnC,SAAS,EAAE,cAAc,EACzB,0BAA0B,EAAE,MAAM,EAClC,MAAM,EAAE,SAAS,EAAE,EACnB,eAAe,EAAE,cAAc,EAAE,EACjC,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,cAAc,GAC7B,OAAO,CAAC,OAAO,CAAC;CAoBnB"}
@@ -0,0 +1,69 @@
1
+ import { InteractiveCaptchaManager } from "../interactiveCaptcha/interactiveCaptchaManager.js";
2
+ import { toStoredTargets } from "../iconOrder/iconOrderRenderer.js";
3
+ import { CaptchaType, iconOrderToleranceDefault } from "@prosopo/types";
4
+ import { gradeClicks } from "@prosopo/icon-order-assets";
5
+ //#region src/tasks/iconOrderCaptcha/iconOrderTasks.ts
6
+ var IconOrderCaptchaManager = class extends InteractiveCaptchaManager {
7
+ constructor(..._args) {
8
+ super(..._args);
9
+ this.captchaType = CaptchaType.iconOrder;
10
+ this.logLabel = "icon-order";
11
+ }
12
+ getRecordByChallenge(challenge) {
13
+ return this.db.getIconOrderCaptchaRecordByChallenge(challenge);
14
+ }
15
+ updateRecord(challenge, updates) {
16
+ return this.db.updateIconOrderCaptchaRecord(challenge, updates);
17
+ }
18
+ updateSubmissionResult(challenge, result, userSignature, coords) {
19
+ return this.db.updateIconOrderCaptchaRecordResult(challenge, result, false, true, userSignature, coords);
20
+ }
21
+ /**
22
+ * An atomic claim rather than a read of `userSubmitted`: concurrent
23
+ * submissions would all read it unset and each get a verdict, enough to
24
+ * enumerate the ordering of a handful of icons.
25
+ */
26
+ claimSubmission(record) {
27
+ return this.db.claimIconOrderCaptchaSubmission(record.challenge);
28
+ }
29
+ markRecordChecked(challenge) {
30
+ return this.db.markIconOrderCaptchaRecordChecked(challenge);
31
+ }
32
+ decisionMachineEventFields(record) {
33
+ return { iconOrderEvents: record.iconOrderEvents };
34
+ }
35
+ /**
36
+ * The renderer decides where the icons land, so the answer only exists
37
+ * once the imagery does; the caller must store `targets` before responding.
38
+ */
39
+ async getIconOrderCaptchaChallenge(userAccount, dappAccount, tolerance, renderImages) {
40
+ const minted = this.mintChallenge(userAccount, dappAccount);
41
+ const { targets, ...images } = await renderImages();
42
+ return {
43
+ ...minted,
44
+ targets: toStoredTargets(targets),
45
+ tolerance: tolerance ?? iconOrderToleranceDefault,
46
+ images
47
+ };
48
+ }
49
+ async verifyIconOrderCaptchaSolution(challenge, providerChallengeSignature, clicks, iconOrderEvents, timeout, userTimestampSignature, ipAddress, behavioralData, salt, simdReadings, clientMetaData) {
50
+ return this.submitInteractiveCaptchaSolution({
51
+ challenge,
52
+ providerChallengeSignature,
53
+ timeout,
54
+ userTimestampSignature,
55
+ ipAddress,
56
+ behavioralData,
57
+ salt,
58
+ simdReadings,
59
+ clientMetaData,
60
+ isCorrect: (record) => gradeClicks(record.targets, clicks, record.tolerance),
61
+ persistInteraction: () => this.db.updateIconOrderCaptchaRecord(challenge, {
62
+ clicks,
63
+ iconOrderEvents
64
+ })
65
+ });
66
+ }
67
+ };
68
+ //#endregion
69
+ export { IconOrderCaptchaManager };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconOrderTasks.js","sourceRoot":"","sources":["../../../src/tasks/iconOrderCaptcha/iconOrderTasks.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAEN,WAAW,EAQX,yBAAyB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAEN,eAAe,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACN,yBAAyB,GAGzB,MAAM,oDAAoD,CAAC;AAS5D,MAAM,OAAO,uBAAwB,SAAQ,yBAAiD;IAA9F;;QACoB,gBAAW,GAAG,WAAW,CAAC,SAAS,CAAC;QACpC,aAAQ,GAAG,YAAY,CAAC;IAsG5C,CAAC;IApGU,oBAAoB,CAC7B,SAAiB;QAEjB,OAAO,IAAI,CAAC,EAAE,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAES,YAAY,CACrB,SAAyB,EACzB,OAAuC;QAEvC,OAAO,IAAI,CAAC,EAAE,CAAC,4BAA4B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAES,sBAAsB,CAC/B,SAAyB,EACzB,MAAqB,EACrB,aAAqB,EACrB,MAAwC;QAExC,OAAO,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAChD,SAAS,EACT,MAAM,EACN,KAAK,EACL,IAAI,EACJ,aAAa,EACb,MAAM,CACN,CAAC;IACH,CAAC;IAOS,eAAe,CAAC,MAA8B;QACvD,OAAO,IAAI,CAAC,EAAE,CAAC,+BAA+B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAES,iBAAiB,CAAC,SAAyB;QACpD,OAAO,IAAI,CAAC,EAAE,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAES,0BAA0B,CACnC,MAA8B;QAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;IACpD,CAAC;IAMD,KAAK,CAAC,4BAA4B,CACjC,WAAmB,EACnB,WAAmB,EACnB,SAA6B,EAC7B,YAAoD;QAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QACpD,OAAO;YACN,GAAG,MAAM;YACT,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC;YACjC,SAAS,EAAE,SAAS,IAAI,yBAAyB;YACjD,MAAM;SACN,CAAC;IACH,CAAC;IAED,KAAK,CAAC,8BAA8B,CACnC,SAAyB,EACzB,0BAAkC,EAClC,MAAmB,EACnB,eAAiC,EACjC,OAAe,EACf,sBAA8B,EAC9B,SAAoB,EACpB,cAAuB,EACvB,IAAa,EACb,YAAqB,EACrB,cAA+B;QAE/B,OAAO,IAAI,CAAC,gCAAgC,CAAC;YAC5C,SAAS;YACT,0BAA0B;YAC1B,OAAO;YACP,sBAAsB;YACtB,SAAS;YACT,cAAc;YACd,IAAI;YACJ,YAAY;YACZ,cAAc;YACd,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CACrB,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;YACtD,kBAAkB,EAAE,GAAG,EAAE,CACxB,IAAI,CAAC,EAAE,CAAC,4BAA4B,CAAC,SAAS,EAAE;gBAC/C,MAAM;gBACN,eAAe;aACf,CAAC;SACH,CAAC,CAAC;IACJ,CAAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"imgCaptchaTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/imgCaptcha/imgCaptchaTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imgCaptchaTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/imgCaptcha/imgCaptchaTasks.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,24 @@
1
1
  import { buildAllWindowIncrements } from "../../util/usageCounters.js";
2
- import { DecisionMachineRunner } from "../decisionMachine/decisionMachineRunner.js";
3
- import { checkLangRules } from "../../rules/lang.js";
4
- import { isClientSessionMismatch, toStoredClientMetaData } from "../../utils/clientMetaData.js";
2
+ import { rawTlsSignalsFromRecord } from "../../api/rawTlsSignalsMiddleware.js";
5
3
  import { getCompositeIpAddress, getIpAddressFromComposite } from "../../compositeIpAddress.js";
6
- import { computeDnsAsymmetry, enrichDnsEvent, getIpInfoAsn } from "../dnsEvent/enrichDnsEvent.js";
7
- import { CaptchaManager } from "../captchaManager.js";
8
- import { constructPairList, peelCheckboxInputMethod, peelCheckboxPrefix, resolveInputMethods, selectionsLookScripted } from "../../pairs.js";
9
4
  import { deepValidateIpAddress, shuffleArray } from "../../util.js";
5
+ import { isClientSessionMismatch, toStoredClientMetaData } from "../../utils/clientMetaData.js";
10
6
  import { deriveTrafficPolicies } from "../../utils/devicePlatform.js";
7
+ import { computeDnsAsymmetry, enrichDnsEvent, getIpInfoAsn } from "../dnsEvent/enrichDnsEvent.js";
8
+ import { CaptchaManager } from "../captchaManager.js";
9
+ import { DecisionMachineRunner } from "../decisionMachine/decisionMachineRunner.js";
11
10
  import { computeFrictionlessScore } from "../frictionless/frictionlessTasksUtils.js";
12
11
  import { evaluateEmailSpamRules, normaliseEmailForMatching } from "../spam/evaluateEmailSpamRules.js";
12
+ import { checkLangRules } from "../../rules/lang.js";
13
+ import { constructPairList, peelCheckboxInputMethod, peelCheckboxPrefix, resolveInputMethods, selectionsLookScripted } from "../../pairs.js";
13
14
  import { buildTreeAndGetCommitmentId } from "./imgCaptchaTasksUtils.js";
14
15
  import { ProsopoEnvError } from "@prosopo/common";
15
16
  import { ApiParams, CaptchaStatus, CaptchaType, DEFAULT_IMAGE_CAPTCHA_TIMEOUT, DecisionMachineDecision, ResultReason, SimdReadingsStage, isBlockingCaptchaResult } from "@prosopo/types";
17
+ import { stringToHex, u8aToHex } from "@polkadot/util";
18
+ import { describeMatchedRule } from "@prosopo/user-access-policy";
16
19
  import { at, extractData } from "@prosopo/util";
17
20
  import { randomAsHex, signatureVerify } from "@prosopo/util-crypto";
18
21
  import { compareCaptchaSolutions, computePendingRequestHash, parseAndSortCaptchaSolutions } from "@prosopo/datasets";
19
- import { describeMatchedRule } from "@prosopo/user-access-policy";
20
- import { stringToHex, u8aToHex } from "@polkadot/util";
21
22
  //#region src/tasks/imgCaptcha/imgCaptchaTasks.ts
22
23
  var ImgCaptchaManager = class extends CaptchaManager {
23
24
  constructor(db, pair, config, logger, writeQueue, usageCounters) {
@@ -566,15 +567,7 @@ var ImgCaptchaManager = class extends CaptchaManager {
566
567
  currentUrl: sessionRecord?.currentUrl,
567
568
  iframeUrl: sessionRecord?.iframeUrl,
568
569
  coords: solution.coords,
569
- synNs: sessionRecord?.synNs,
570
- synackNs: sessionRecord?.synackNs,
571
- ackNs: sessionRecord?.ackNs,
572
- observedTtl: sessionRecord?.observedTtl,
573
- tcpMss: sessionRecord?.tcpMss,
574
- tcpWscale: sessionRecord?.tcpWscale,
575
- tcpOptsFlags: sessionRecord?.tcpOptsFlags,
576
- tcpOptsOrder: sessionRecord?.tcpOptsOrder,
577
- tcpWindow: sessionRecord?.tcpWindow,
570
+ ...rawTlsSignalsFromRecord(sessionRecord),
578
571
  trafficPolicies: deriveTrafficPolicies(trafficFilter)
579
572
  };
580
573
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"imgCaptchaTasks.js","sourceRoot":"","sources":["../../../src/tasks/imgCaptcha/imgCaptchaTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imgCaptchaTasks.js","sourceRoot":"","sources":["../../../src/tasks/imgCaptcha/imgCaptchaTasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { Logger } from "@prosopo/logger";
2
+ import { type CaptchaResult, type ClientMetaData, type DecisionMachineCaptchaType, type DecisionMachineInput, type IPAddress, type ISpamFilterRules, type ITrafficFilter, type InteractiveCaptchaStored, type KeyringPair, type PoWChallengeId, type ProsopoConfigOutput } from "@prosopo/types";
3
+ import type { IProviderDatabase } from "@prosopo/types-database";
4
+ import type { ProviderEnvironment } from "@prosopo/types-env";
5
+ import { type AccessRulesStorage } from "@prosopo/user-access-policy";
6
+ import { type UsageCounters } from "../../util/usageCounters.js";
7
+ import { CaptchaManager } from "../captchaManager.js";
8
+ import { DecisionMachineRunner } from "../decisionMachine/decisionMachineRunner.js";
9
+ export type InteractiveCaptchaRecordUpdate = Partial<Pick<InteractiveCaptchaStored, "result" | "blocked" | "serverChecked" | "lastUpdatedTimestamp" | "providedIp" | "metadata" | "behavioralDataPacked" | "deviceCapability" | "clientMetaData">>;
10
+ export interface MintedChallenge {
11
+ challenge: PoWChallengeId;
12
+ providerSignature: string;
13
+ requestedAtTimestamp: number;
14
+ }
15
+ export interface InteractiveSubmission<TRecord> {
16
+ challenge: PoWChallengeId;
17
+ providerChallengeSignature: string;
18
+ timeout: number;
19
+ userTimestampSignature: string;
20
+ ipAddress: IPAddress;
21
+ behavioralData?: string;
22
+ salt?: string;
23
+ simdReadings?: string;
24
+ clientMetaData?: ClientMetaData;
25
+ isCorrect: (record: TRecord) => boolean;
26
+ persistInteraction: () => Promise<void>;
27
+ }
28
+ export declare abstract class InteractiveCaptchaManager<TRecord extends InteractiveCaptchaStored> extends CaptchaManager {
29
+ POW_SEPARATOR: string;
30
+ protected decisionMachineRunner: DecisionMachineRunner;
31
+ protected readonly usageCounters: UsageCounters | null;
32
+ constructor(db: IProviderDatabase, pair: KeyringPair, config: ProsopoConfigOutput, logger?: Logger, usageCounters?: UsageCounters | null);
33
+ protected abstract readonly captchaType: DecisionMachineCaptchaType;
34
+ protected abstract readonly logLabel: string;
35
+ protected abstract getRecordByChallenge(challenge: string): Promise<TRecord | null>;
36
+ protected abstract updateRecord(challenge: PoWChallengeId, updates: InteractiveCaptchaRecordUpdate): Promise<void>;
37
+ protected abstract updateSubmissionResult(challenge: PoWChallengeId, result: CaptchaResult, userSignature: string, coords: [number, number][][] | undefined): Promise<void>;
38
+ protected abstract claimSubmission(record: TRecord): Promise<boolean>;
39
+ protected abstract markRecordChecked(challenge: PoWChallengeId): Promise<boolean>;
40
+ protected abstract decisionMachineEventFields(record: TRecord): Partial<DecisionMachineInput>;
41
+ protected mintChallenge(userAccount: string, dappAccount: string): MintedChallenge;
42
+ protected submitInteractiveCaptchaSolution(submission: InteractiveSubmission<TRecord>): Promise<boolean>;
43
+ private decodeSaltCoords;
44
+ private recordSubmissionResult;
45
+ serverVerifyInteractiveCaptchaSolution(dappAccount: string, challenge: string, timeout: number, env: ProviderEnvironment, ip?: string, userAccessRulesStorage?: AccessRulesStorage, email?: string, spamEmailDomainCheckingEnabled?: boolean, spamFilter?: ISpamFilterRules, trafficFilter?: ITrafficFilter, storeMetadata?: boolean, clientSessionId?: string): Promise<{
46
+ verified: boolean;
47
+ score?: number;
48
+ sessionId?: string;
49
+ }>;
50
+ private disapproveVerification;
51
+ }
52
+ //# sourceMappingURL=interactiveCaptchaManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactiveCaptchaManager.d.ts","sourceRoot":"","sources":["../../../src/tasks/interactiveCaptcha/interactiveCaptchaManager.ts"],"names":[],"mappings":"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"}