@prosopo/provider 5.15.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 (224) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +50 -32
  2. package/.turbo/turbo-build$colon$tsc.log +36 -30
  3. package/.turbo/turbo-build.log +51 -33
  4. package/CHANGELOG.md +65 -0
  5. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +4 -0
  6. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +1 -1
  7. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js +63 -3
  8. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +1 -1
  9. package/dist/api/blacklistRequestInspector.js +2 -2
  10. package/dist/api/captcha/getAudioCaptchaChallenge.d.ts +5 -0
  11. package/dist/api/captcha/getAudioCaptchaChallenge.d.ts.map +1 -0
  12. package/dist/api/captcha/getAudioCaptchaChallenge.js +37 -0
  13. package/dist/api/captcha/getAudioCaptchaChallenge.js.map +1 -0
  14. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +1 -1
  15. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  16. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +11 -7
  17. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  18. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -1
  19. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +1 -0
  20. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
  21. package/dist/api/captcha/getIconOrderCaptchaChallenge.d.ts +5 -0
  22. package/dist/api/captcha/getIconOrderCaptchaChallenge.d.ts.map +1 -0
  23. package/dist/api/captcha/getIconOrderCaptchaChallenge.js +37 -0
  24. package/dist/api/captcha/getIconOrderCaptchaChallenge.js.map +1 -0
  25. package/dist/api/captcha/getImageCaptchaChallenge.js +2 -2
  26. package/dist/api/captcha/getPoWCaptchaChallenge.js +4 -4
  27. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts +1 -3
  28. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
  29. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +52 -169
  30. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
  31. package/dist/api/captcha/interactiveCaptchaChallenge.d.ts +42 -0
  32. package/dist/api/captcha/interactiveCaptchaChallenge.d.ts.map +1 -0
  33. package/dist/api/captcha/interactiveCaptchaChallenge.js +154 -0
  34. package/dist/api/captcha/interactiveCaptchaChallenge.js.map +1 -0
  35. package/dist/api/captcha/interactiveCaptchaSolution.d.ts +14 -0
  36. package/dist/api/captcha/interactiveCaptchaSolution.d.ts.map +1 -0
  37. package/dist/api/captcha/interactiveCaptchaSolution.js +77 -0
  38. package/dist/api/captcha/interactiveCaptchaSolution.js.map +1 -0
  39. package/dist/api/captcha/maintenanceModeResponses.d.ts +4 -2
  40. package/dist/api/captcha/maintenanceModeResponses.d.ts.map +1 -1
  41. package/dist/api/captcha/maintenanceModeResponses.js +28 -1
  42. package/dist/api/captcha/maintenanceModeResponses.js.map +1 -1
  43. package/dist/api/captcha/submitAudioCaptchaSolution.d.ts +4 -0
  44. package/dist/api/captcha/submitAudioCaptchaSolution.d.ts.map +1 -0
  45. package/dist/api/captcha/submitAudioCaptchaSolution.js +11 -0
  46. package/dist/api/captcha/submitAudioCaptchaSolution.js.map +1 -0
  47. package/dist/api/captcha/submitIconOrderCaptchaSolution.d.ts +4 -0
  48. package/dist/api/captcha/submitIconOrderCaptchaSolution.d.ts.map +1 -0
  49. package/dist/api/captcha/submitIconOrderCaptchaSolution.js +11 -0
  50. package/dist/api/captcha/submitIconOrderCaptchaSolution.js.map +1 -0
  51. package/dist/api/captcha/submitPoWCaptchaSolution.js +2 -2
  52. package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts +1 -3
  53. package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts.map +1 -1
  54. package/dist/api/captcha/submitPuzzleCaptchaSolution.js +6 -73
  55. package/dist/api/captcha/submitPuzzleCaptchaSolution.js.map +1 -1
  56. package/dist/api/captcha/trafficFilterRequestTime.d.ts +4 -1
  57. package/dist/api/captcha/trafficFilterRequestTime.d.ts.map +1 -1
  58. package/dist/api/captcha/trafficFilterRequestTime.js +3 -0
  59. package/dist/api/captcha/trafficFilterRequestTime.js.map +1 -1
  60. package/dist/api/captcha.d.ts.map +1 -1
  61. package/dist/api/captcha.js +8 -0
  62. package/dist/api/captcha.js.map +1 -1
  63. package/dist/api/domainMiddleware.js +1 -1
  64. package/dist/api/ja4Middleware.js +1 -1
  65. package/dist/api/startProviderApi.js +1 -1
  66. package/dist/api/verify.d.ts.map +1 -1
  67. package/dist/api/verify.js +153 -96
  68. package/dist/api/verify.js.map +1 -1
  69. package/dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs +65 -2
  70. package/dist/cjs/api/blacklistRequestInspector.cjs +2 -2
  71. package/dist/cjs/api/captcha/getAudioCaptchaChallenge.cjs +37 -0
  72. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +1 -1
  73. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +11 -7
  74. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +1 -0
  75. package/dist/cjs/api/captcha/getIconOrderCaptchaChallenge.cjs +37 -0
  76. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +2 -2
  77. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +4 -4
  78. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +51 -168
  79. package/dist/cjs/api/captcha/interactiveCaptchaChallenge.cjs +154 -0
  80. package/dist/cjs/api/captcha/interactiveCaptchaSolution.cjs +77 -0
  81. package/dist/cjs/api/captcha/maintenanceModeResponses.cjs +29 -0
  82. package/dist/cjs/api/captcha/submitAudioCaptchaSolution.cjs +11 -0
  83. package/dist/cjs/api/captcha/submitIconOrderCaptchaSolution.cjs +11 -0
  84. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +2 -2
  85. package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +6 -73
  86. package/dist/cjs/api/captcha/trafficFilterRequestTime.cjs +3 -0
  87. package/dist/cjs/api/captcha.cjs +8 -0
  88. package/dist/cjs/api/domainMiddleware.cjs +1 -1
  89. package/dist/cjs/api/ja4Middleware.cjs +1 -1
  90. package/dist/cjs/api/startProviderApi.cjs +1 -1
  91. package/dist/cjs/api/verify.cjs +152 -95
  92. package/dist/cjs/index.cjs +1 -1
  93. package/dist/cjs/tasks/audio/audioBuffer.cjs +72 -0
  94. package/dist/cjs/tasks/audio/audioRenderer.cjs +32 -0
  95. package/dist/cjs/tasks/audioAlternative.cjs +23 -0
  96. package/dist/cjs/tasks/audioCaptcha/audioTasks.cjs +65 -0
  97. package/dist/cjs/tasks/audioCaptcha/audioTasksUtils.cjs +19 -0
  98. package/dist/cjs/tasks/captchaManager.cjs +14 -2
  99. package/dist/cjs/tasks/captchaTypeSelection.cjs +10 -3
  100. package/dist/cjs/tasks/client/clientTasks.cjs +2 -2
  101. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +26 -6
  102. package/dist/cjs/tasks/iconOrder/iconOrderRenderer.cjs +42 -0
  103. package/dist/cjs/tasks/iconOrderCaptcha/iconOrderTasks.cjs +69 -0
  104. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +8 -8
  105. package/dist/cjs/tasks/interactiveCaptcha/interactiveCaptchaManager.cjs +423 -0
  106. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +8 -8
  107. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +1 -1
  108. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +40 -486
  109. package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +18 -1
  110. package/dist/cjs/tasks/tasks.cjs +6 -0
  111. package/dist/cjs/util.cjs +1 -1
  112. package/dist/index.js +2 -2
  113. package/dist/tasks/audio/audioBuffer.d.ts +23 -0
  114. package/dist/tasks/audio/audioBuffer.d.ts.map +1 -0
  115. package/dist/tasks/audio/audioBuffer.js +70 -0
  116. package/dist/tasks/audio/audioBuffer.js.map +1 -0
  117. package/dist/tasks/audio/audioRenderer.d.ts +11 -0
  118. package/dist/tasks/audio/audioRenderer.d.ts.map +1 -0
  119. package/dist/tasks/audio/audioRenderer.js +31 -0
  120. package/dist/tasks/audio/audioRenderer.js.map +1 -0
  121. package/dist/tasks/audioAlternative.d.ts +8 -0
  122. package/dist/tasks/audioAlternative.d.ts.map +1 -0
  123. package/dist/tasks/audioAlternative.js +20 -0
  124. package/dist/tasks/audioAlternative.js.map +1 -0
  125. package/dist/tasks/audioCaptcha/audioTasks.d.ts +19 -0
  126. package/dist/tasks/audioCaptcha/audioTasks.d.ts.map +1 -0
  127. package/dist/tasks/audioCaptcha/audioTasks.js +65 -0
  128. package/dist/tasks/audioCaptcha/audioTasks.js.map +1 -0
  129. package/dist/tasks/audioCaptcha/audioTasksUtils.d.ts +3 -0
  130. package/dist/tasks/audioCaptcha/audioTasksUtils.d.ts.map +1 -0
  131. package/dist/tasks/audioCaptcha/audioTasksUtils.js +18 -0
  132. package/dist/tasks/audioCaptcha/audioTasksUtils.js.map +1 -0
  133. package/dist/tasks/captchaManager.d.ts +9 -3
  134. package/dist/tasks/captchaManager.d.ts.map +1 -1
  135. package/dist/tasks/captchaManager.js +15 -3
  136. package/dist/tasks/captchaManager.js.map +1 -1
  137. package/dist/tasks/captchaTypeSelection.d.ts +1 -1
  138. package/dist/tasks/captchaTypeSelection.d.ts.map +1 -1
  139. package/dist/tasks/captchaTypeSelection.js +11 -4
  140. package/dist/tasks/captchaTypeSelection.js.map +1 -1
  141. package/dist/tasks/client/clientTasks.js +2 -2
  142. package/dist/tasks/frictionless/frictionlessTasks.d.ts +3 -0
  143. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  144. package/dist/tasks/frictionless/frictionlessTasks.js +26 -6
  145. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  146. package/dist/tasks/iconOrder/iconOrderRenderer.d.ts +12 -0
  147. package/dist/tasks/iconOrder/iconOrderRenderer.d.ts.map +1 -0
  148. package/dist/tasks/iconOrder/iconOrderRenderer.js +40 -0
  149. package/dist/tasks/iconOrder/iconOrderRenderer.js.map +1 -0
  150. package/dist/tasks/iconOrderCaptcha/iconOrderTasks.d.ts +22 -0
  151. package/dist/tasks/iconOrderCaptcha/iconOrderTasks.d.ts.map +1 -0
  152. package/dist/tasks/iconOrderCaptcha/iconOrderTasks.js +69 -0
  153. package/dist/tasks/iconOrderCaptcha/iconOrderTasks.js.map +1 -0
  154. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +8 -8
  155. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts +52 -0
  156. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts.map +1 -0
  157. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js +423 -0
  158. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js.map +1 -0
  159. package/dist/tasks/powCaptcha/powTasks.js +8 -8
  160. package/dist/tasks/powCaptcha/powTasksUtils.js +1 -1
  161. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts +14 -16
  162. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
  163. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +41 -487
  164. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
  165. package/dist/tasks/spam/checkTrafficFilter.d.ts +4 -1
  166. package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
  167. package/dist/tasks/spam/checkTrafficFilter.js +18 -1
  168. package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
  169. package/dist/tasks/tasks.d.ts +4 -0
  170. package/dist/tasks/tasks.d.ts.map +1 -1
  171. package/dist/tasks/tasks.js +6 -0
  172. package/dist/tasks/tasks.js.map +1 -1
  173. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +7 -3
  174. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
  175. package/dist/tests/integration/clientSettingsPersistence.integration.test.js +43 -3
  176. package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
  177. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +4 -2
  178. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
  179. package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js +76 -1
  180. package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js.map +1 -1
  181. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +27 -8
  182. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -1
  183. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js +20 -0
  184. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js.map +1 -1
  185. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +28 -2
  186. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  187. package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.d.ts +2 -0
  188. package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.d.ts.map +1 -0
  189. package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.js +105 -0
  190. package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.js.map +1 -0
  191. package/dist/tests/unit/tasks/audioAlternative.unit.test.d.ts +2 -0
  192. package/dist/tests/unit/tasks/audioAlternative.unit.test.d.ts.map +1 -0
  193. package/dist/tests/unit/tasks/audioAlternative.unit.test.js +76 -0
  194. package/dist/tests/unit/tasks/audioAlternative.unit.test.js.map +1 -0
  195. package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.d.ts +2 -0
  196. package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.d.ts.map +1 -0
  197. package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.js +259 -0
  198. package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.js.map +1 -0
  199. package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.d.ts +2 -0
  200. package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.d.ts.map +1 -0
  201. package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.js +52 -0
  202. package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.js.map +1 -0
  203. package/dist/tests/unit/tasks/captchaManager.unit.test.js +120 -2
  204. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  205. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +48 -5
  206. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -1
  207. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js +29 -0
  208. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js.map +1 -1
  209. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +31 -0
  210. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
  211. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js +1 -1
  212. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js.map +1 -1
  213. package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js +28 -0
  214. package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js.map +1 -1
  215. package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.d.ts +2 -0
  216. package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.d.ts.map +1 -0
  217. package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.js +60 -0
  218. package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.js.map +1 -0
  219. package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.d.ts +2 -0
  220. package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.d.ts.map +1 -0
  221. package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.js +225 -0
  222. package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.js.map +1 -0
  223. package/dist/util.js +1 -1
  224. package/package.json +19 -17
@@ -1 +1 @@
1
- {"version":3,"file":"routerPuzzleOverrides.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routerPuzzleOverrides.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=iconOrderRenderer.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconOrderRenderer.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { DEFAULT_RENDER_SETTINGS, GLYPH_KINDS, GlyphKind, } from "@prosopo/icon-order-assets";
2
+ import { ICON_ORDER_GLYPH_VOCABULARY, iconOrderDecoyCountDefault, iconOrderTargetCountDefault, } from "@prosopo/types";
3
+ import { describe, expect, it } from "vitest";
4
+ import { resolveIconOrderRenderSettings, toStoredTargets, } from "../../../../tasks/iconOrder/iconOrderRenderer.js";
5
+ describe("icon-order constants mirrored in @prosopo/types", () => {
6
+ it("match the asset package", () => {
7
+ expect(ICON_ORDER_GLYPH_VOCABULARY).toBe(GLYPH_KINDS.length);
8
+ expect(iconOrderTargetCountDefault).toBe(DEFAULT_RENDER_SETTINGS.targetCount);
9
+ expect(iconOrderDecoyCountDefault).toBe(DEFAULT_RENDER_SETTINGS.decoyCount);
10
+ });
11
+ });
12
+ describe("resolveIconOrderRenderSettings", () => {
13
+ it("returns the asset defaults when nothing overrides", () => {
14
+ expect(resolveIconOrderRenderSettings()).toEqual(DEFAULT_RENDER_SETTINGS);
15
+ expect(resolveIconOrderRenderSettings(undefined, undefined)).toEqual(DEFAULT_RENDER_SETTINGS);
16
+ });
17
+ it("applies a partial override without disturbing the rest", () => {
18
+ expect(resolveIconOrderRenderSettings({ strokeWidth: 5 })).toEqual({
19
+ ...DEFAULT_RENDER_SETTINGS,
20
+ strokeWidth: 5,
21
+ });
22
+ });
23
+ it("lets a later source win, so traffic-filter beats client settings", () => {
24
+ const resolved = resolveIconOrderRenderSettings({ targetCount: 4, iconOpacity: 0.5 }, { targetCount: 2 });
25
+ expect(resolved.targetCount).toBe(2);
26
+ expect(resolved.iconOpacity).toBe(0.5);
27
+ });
28
+ it("clamps a targets+decoys total that two valid layers add up past", () => {
29
+ const resolved = resolveIconOrderRenderSettings({ targetCount: 6 }, { decoyCount: 6 });
30
+ expect(resolved.targetCount).toBe(6);
31
+ expect(resolved.decoyCount).toBe(4);
32
+ expect(resolved.targetCount + resolved.decoyCount).toBeLessThanOrEqual(10);
33
+ });
34
+ it("never clamps the decoy count below zero", () => {
35
+ const resolved = resolveIconOrderRenderSettings({ targetCount: 6, decoyCount: 6 }, { targetCount: 6 });
36
+ expect(resolved.decoyCount).toBeGreaterThanOrEqual(0);
37
+ });
38
+ it("leaves a within-budget pair alone", () => {
39
+ const resolved = resolveIconOrderRenderSettings({
40
+ targetCount: 3,
41
+ decoyCount: 5,
42
+ });
43
+ expect(resolved.decoyCount).toBe(5);
44
+ });
45
+ });
46
+ describe("toStoredTargets", () => {
47
+ it("keeps only what grading needs", () => {
48
+ expect(toStoredTargets([
49
+ {
50
+ x: 1,
51
+ y: 2,
52
+ size: 3,
53
+ kind: GlyphKind.ring,
54
+ rotation: 42,
55
+ hue: 200,
56
+ },
57
+ ])).toEqual([{ x: 1, y: 2, size: 3, kind: GlyphKind.ring }]);
58
+ });
59
+ });
60
+ //# sourceMappingURL=iconOrderRenderer.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconOrderRenderer.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=iconOrderTasks.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconOrderTasks.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,225 @@
1
+ import { stringToHex, u8aToHex } from "@polkadot/util";
2
+ import { GlyphKind } from "@prosopo/icon-order-assets";
3
+ import { CaptchaStatus, ResultReason, iconOrderToleranceDefault, } from "@prosopo/types";
4
+ import { getIPAddress, verifyRecency } from "@prosopo/util";
5
+ import { beforeEach, describe, expect, it, vi } from "vitest";
6
+ import { IconOrderCaptchaManager } from "../../../../tasks/iconOrderCaptcha/iconOrderTasks.js";
7
+ import { checkPowSignature } from "../../../../tasks/powCaptcha/powTasksUtils.js";
8
+ vi.mock("@polkadot/util", async (importOriginal) => {
9
+ const actual = await importOriginal();
10
+ return { ...actual, u8aToHex: vi.fn(), stringToHex: vi.fn() };
11
+ });
12
+ vi.mock("@prosopo/util", async (importOriginal) => {
13
+ const actual = await importOriginal();
14
+ return { ...actual, verifyRecency: vi.fn() };
15
+ });
16
+ vi.mock("../../../../tasks/powCaptcha/powTasksUtils.js", () => ({
17
+ checkPowSignature: vi.fn(),
18
+ }));
19
+ const asRecord = (partial) => ({
20
+ submittedAtTimestamp: new Date(),
21
+ ...partial,
22
+ });
23
+ const targets = [
24
+ { x: 60, y: 50, size: 38, kind: GlyphKind.ring },
25
+ { x: 180, y: 90, size: 38, kind: GlyphKind.star },
26
+ { x: 240, y: 150, size: 38, kind: GlyphKind.bolt },
27
+ ];
28
+ const asPlacements = () => targets.map((target) => ({
29
+ ...target,
30
+ kind: target.kind,
31
+ rotation: 0,
32
+ hue: 0,
33
+ }));
34
+ const renderedImages = () => ({
35
+ background: "data:image/webp;base64,BG",
36
+ legend: "data:image/webp;base64,LEGEND",
37
+ legendIconSize: 26,
38
+ targets: asPlacements(),
39
+ });
40
+ describe("IconOrderCaptchaManager", () => {
41
+ let db;
42
+ let pair;
43
+ let manager;
44
+ let mockEnv;
45
+ beforeEach(() => {
46
+ db = {
47
+ storeIconOrderCaptchaRecord: vi.fn(),
48
+ getIconOrderCaptchaRecordByChallenge: vi.fn(),
49
+ claimIconOrderCaptchaSubmission: vi.fn().mockResolvedValue(true),
50
+ updateIconOrderCaptchaRecord: vi.fn(),
51
+ updateIconOrderCaptchaRecordResult: vi.fn(),
52
+ getClientRecord: vi.fn(),
53
+ getSessionRecordBySessionId: vi.fn(),
54
+ updateSessionRecord: vi.fn(),
55
+ };
56
+ pair = {
57
+ sign: vi.fn().mockReturnValue(new Uint8Array()),
58
+ address: "testAddress",
59
+ };
60
+ mockEnv = { config: {} };
61
+ manager = new IconOrderCaptchaManager(db, pair, mockEnv.config);
62
+ vi.clearAllMocks();
63
+ vi.mocked(u8aToHex).mockReturnValue("0xsigned");
64
+ vi.mocked(stringToHex).mockImplementation((s) => `0xhex:${s}`);
65
+ vi.mocked(verifyRecency).mockReturnValue(true);
66
+ });
67
+ describe("getIconOrderCaptchaChallenge", () => {
68
+ it("mints a signed challenge carrying the rendered targets", async () => {
69
+ const render = vi.fn().mockResolvedValue(renderedImages());
70
+ const challenge = await manager.getIconOrderCaptchaChallenge("user", "dapp", 0.5, render);
71
+ expect(challenge.challenge).toContain("___user___dapp___");
72
+ expect(challenge.providerSignature).toBe("0xsigned");
73
+ expect(challenge.tolerance).toBe(0.5);
74
+ expect(challenge.targets).toEqual(targets);
75
+ expect(render).toHaveBeenCalledOnce();
76
+ });
77
+ it("strips render-only fields from the persisted targets", async () => {
78
+ const render = vi.fn().mockResolvedValue(renderedImages());
79
+ const challenge = await manager.getIconOrderCaptchaChallenge("user", "dapp", undefined, render);
80
+ for (const target of challenge.targets) {
81
+ expect(Object.keys(target).sort()).toEqual(["kind", "size", "x", "y"]);
82
+ }
83
+ });
84
+ it("keeps the imagery and the answer in separate fields", async () => {
85
+ const render = vi.fn().mockResolvedValue(renderedImages());
86
+ const challenge = await manager.getIconOrderCaptchaChallenge("user", "dapp", undefined, render);
87
+ expect(challenge.images).toEqual({
88
+ background: "data:image/webp;base64,BG",
89
+ legend: "data:image/webp;base64,LEGEND",
90
+ legendIconSize: 26,
91
+ });
92
+ expect(JSON.stringify(challenge.images)).not.toContain("240");
93
+ });
94
+ it("falls back to the default tolerance when none is resolved", async () => {
95
+ const challenge = await manager.getIconOrderCaptchaChallenge("user", "dapp", undefined, vi.fn().mockResolvedValue(renderedImages()));
96
+ expect(challenge.tolerance).toBe(iconOrderToleranceDefault);
97
+ });
98
+ });
99
+ describe("verifyIconOrderCaptchaSolution", () => {
100
+ const challenge = `${Date.now()}___user___dapp___1`;
101
+ const ip = getIPAddress("1.1.1.1");
102
+ const submit = (clicks) => manager.verifyIconOrderCaptchaSolution(challenge, "0xprovider", clicks, [], 60000, "0xuser", ip);
103
+ const storedRecord = (over = {}) => asRecord({
104
+ challenge,
105
+ userAccount: "user",
106
+ dappAccount: "dapp",
107
+ targets,
108
+ tolerance: 0.6,
109
+ userSubmitted: false,
110
+ serverChecked: false,
111
+ result: { status: CaptchaStatus.pending },
112
+ ...over,
113
+ });
114
+ it("approves the target icons clicked in the right order", async () => {
115
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(storedRecord());
116
+ await expect(submit([
117
+ { x: 60, y: 50 },
118
+ { x: 180, y: 90 },
119
+ { x: 240, y: 150 },
120
+ ])).resolves.toBe(true);
121
+ expect(db.updateIconOrderCaptchaRecordResult).toHaveBeenCalledWith(challenge, { status: CaptchaStatus.approved }, false, true, "0xuser", undefined);
122
+ });
123
+ it("rejects the right icons clicked in the wrong order", async () => {
124
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(storedRecord());
125
+ await expect(submit([
126
+ { x: 180, y: 90 },
127
+ { x: 60, y: 50 },
128
+ { x: 240, y: 150 },
129
+ ])).resolves.toBe(false);
130
+ expect(db.updateIconOrderCaptchaRecordResult).toHaveBeenCalledWith(challenge, {
131
+ status: CaptchaStatus.disapproved,
132
+ reason: ResultReason.CAPTCHA_INVALID_SOLUTION,
133
+ }, false, true, "0xuser", undefined);
134
+ });
135
+ it("rejects clicks that miss the icons", async () => {
136
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(storedRecord());
137
+ await expect(submit([
138
+ { x: 5, y: 5 },
139
+ { x: 10, y: 10 },
140
+ { x: 15, y: 15 },
141
+ ])).resolves.toBe(false);
142
+ });
143
+ it("rejects a submission with the wrong number of clicks", async () => {
144
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(storedRecord());
145
+ await expect(submit([
146
+ { x: 60, y: 50 },
147
+ { x: 180, y: 90 },
148
+ ])).resolves.toBe(false);
149
+ });
150
+ it("refuses a second submission against the same challenge", async () => {
151
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(storedRecord({ userSubmitted: true }));
152
+ vi.mocked(db.claimIconOrderCaptchaSubmission).mockResolvedValue(false);
153
+ await expect(submit([
154
+ { x: 60, y: 50 },
155
+ { x: 180, y: 90 },
156
+ { x: 240, y: 150 },
157
+ ])).resolves.toBe(false);
158
+ expect(db.updateIconOrderCaptchaRecordResult).not.toHaveBeenCalled();
159
+ });
160
+ it("grades nothing when it loses the claim on an unsubmitted record", async () => {
161
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(storedRecord({ userSubmitted: false }));
162
+ vi.mocked(db.claimIconOrderCaptchaSubmission).mockResolvedValue(false);
163
+ await expect(submit([
164
+ { x: 60, y: 50 },
165
+ { x: 180, y: 90 },
166
+ { x: 240, y: 150 },
167
+ ])).resolves.toBe(false);
168
+ expect(db.updateIconOrderCaptchaRecordResult).not.toHaveBeenCalled();
169
+ expect(db.updateIconOrderCaptchaRecord).not.toHaveBeenCalled();
170
+ });
171
+ it("claims the submission before grading it", async () => {
172
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(storedRecord({ userSubmitted: false }));
173
+ await submit([
174
+ { x: 60, y: 50 },
175
+ { x: 180, y: 90 },
176
+ { x: 240, y: 150 },
177
+ ]);
178
+ expect(db.claimIconOrderCaptchaSubmission).toHaveBeenCalledTimes(1);
179
+ });
180
+ it("returns false when the challenge is unknown", async () => {
181
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(null);
182
+ await expect(submit([{ x: 60, y: 50 }])).resolves.toBe(false);
183
+ });
184
+ it("disapproves a submission that arrives outside the window", async () => {
185
+ vi.mocked(verifyRecency).mockReturnValue(false);
186
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(storedRecord());
187
+ await expect(submit([
188
+ { x: 60, y: 50 },
189
+ { x: 180, y: 90 },
190
+ { x: 240, y: 150 },
191
+ ])).resolves.toBe(false);
192
+ expect(db.updateIconOrderCaptchaRecordResult).toHaveBeenCalledWith(challenge, {
193
+ status: CaptchaStatus.disapproved,
194
+ reason: ResultReason.CAPTCHA_INVALID_TIMESTAMP,
195
+ }, false, true, "0xuser", undefined);
196
+ });
197
+ it("persists the clicks and pointer trail even on a failed solve", async () => {
198
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(storedRecord());
199
+ const clicks = [
200
+ { x: 5, y: 5 },
201
+ { x: 10, y: 10 },
202
+ { x: 15, y: 15 },
203
+ ];
204
+ const trail = [{ x: 5, y: 5, t: 12 }];
205
+ await manager.verifyIconOrderCaptchaSolution(challenge, "0xprovider", clicks, trail, 60000, "0xuser", ip);
206
+ expect(db.updateIconOrderCaptchaRecord).toHaveBeenCalledWith(challenge, {
207
+ clicks,
208
+ iconOrderEvents: trail,
209
+ });
210
+ });
211
+ it("checks both signatures before touching the database", async () => {
212
+ vi.mocked(db.getIconOrderCaptchaRecordByChallenge).mockResolvedValue(null);
213
+ await submit([{ x: 60, y: 50 }]);
214
+ expect(checkPowSignature).toHaveBeenCalledTimes(2);
215
+ const order = vi
216
+ .mocked(checkPowSignature)
217
+ .mock.invocationCallOrder.at(-1);
218
+ const dbOrder = vi
219
+ .mocked(db.getIconOrderCaptchaRecordByChallenge)
220
+ .mock.invocationCallOrder.at(0);
221
+ expect(order).toBeLessThan(dbOrder ?? Number.POSITIVE_INFINITY);
222
+ });
223
+ });
224
+ });
225
+ //# sourceMappingURL=iconOrderTasks.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconOrderTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.ts"],"names":[],"mappings":"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"}
package/dist/util.js CHANGED
@@ -2,10 +2,10 @@ import { compareIPs } from "./services/ipComparison.js";
2
2
  import { ProsopoContractError, ProsopoEnvError } from "@prosopo/common";
3
3
  import { IPValidationAction, ScheduledTaskStatus } from "@prosopo/types";
4
4
  import { at } from "@prosopo/util";
5
- import { decodeAddress, encodeAddress } from "@prosopo/util-crypto";
6
5
  import { Address4, Address6 } from "ip-address";
7
6
  import { hexToU8a } from "@polkadot/util/hex";
8
7
  import { isHex } from "@polkadot/util/is";
8
+ import { decodeAddress, encodeAddress } from "@prosopo/util-crypto";
9
9
  //#region src/util.ts
10
10
  function encodeStringAddress(address) {
11
11
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/provider",
3
- "version": "5.15.0",
3
+ "version": "5.16.0",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -10,28 +10,30 @@
10
10
  "dependencies": {
11
11
  "@noble/hashes": "2.4.0",
12
12
  "@polkadot/util": "14.0.3",
13
- "@prosopo/api": "4.4.0",
14
- "@prosopo/api-express-router": "3.2.1",
13
+ "@prosopo/api": "4.5.0",
14
+ "@prosopo/api-express-router": "3.2.2",
15
15
  "@prosopo/api-route": "2.6.63",
16
- "@prosopo/captcha-severity": "1.2.0",
17
- "@prosopo/common": "3.1.62",
18
- "@prosopo/database": "4.1.4",
19
- "@prosopo/datasets": "3.2.1",
20
- "@prosopo/env": "3.6.69",
21
- "@prosopo/ipinfo": "0.4.14",
22
- "@prosopo/keyring": "2.10.1",
23
- "@prosopo/load-balancer": "2.11.5",
24
- "@prosopo/locale": "3.7.0",
16
+ "@prosopo/audio-assets": "0.2.0",
17
+ "@prosopo/captcha-severity": "1.3.0",
18
+ "@prosopo/common": "3.1.63",
19
+ "@prosopo/database": "4.2.0",
20
+ "@prosopo/datasets": "3.2.2",
21
+ "@prosopo/env": "3.6.70",
22
+ "@prosopo/icon-order-assets": "0.2.0",
23
+ "@prosopo/ipinfo": "0.4.15",
24
+ "@prosopo/keyring": "2.10.2",
25
+ "@prosopo/load-balancer": "2.11.6",
26
+ "@prosopo/locale": "3.8.0",
25
27
  "@prosopo/logger": "2.1.3",
26
28
  "@prosopo/native-ja4": "0.0.7",
27
29
  "@prosopo/native-merkle": "0.0.6",
28
30
  "@prosopo/native-puzzle": "0.1.0",
29
- "@prosopo/puzzle-assets": "0.2.0",
31
+ "@prosopo/puzzle-assets": "0.2.1",
30
32
  "@prosopo/redis-client": "1.0.40",
31
- "@prosopo/types": "5.13.0",
32
- "@prosopo/types-database": "5.8.0",
33
- "@prosopo/types-env": "2.11.15",
34
- "@prosopo/user-access-policy": "3.14.15",
33
+ "@prosopo/types": "5.14.0",
34
+ "@prosopo/types-database": "5.9.0",
35
+ "@prosopo/types-env": "2.11.16",
36
+ "@prosopo/user-access-policy": "3.14.16",
35
37
  "@prosopo/util": "3.3.14",
36
38
  "@prosopo/util-crypto": "13.6.0",
37
39
  "@prosopo/web-bot-auth": "0.1.3",