@prosopo/provider 5.6.2 → 5.6.4

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 (90) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +16 -13
  2. package/.turbo/turbo-build$colon$tsc.log +25 -25
  3. package/.turbo/turbo-build.log +17 -14
  4. package/CHANGELOG.md +92 -0
  5. package/dist/api/captcha/contextAwareValidation.d.ts +3 -2
  6. package/dist/api/captcha/contextAwareValidation.d.ts.map +1 -1
  7. package/dist/api/captcha/contextAwareValidation.js +32 -13
  8. package/dist/api/captcha/contextAwareValidation.js.map +1 -1
  9. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts.map +1 -1
  10. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +8 -5
  11. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js.map +1 -1
  12. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -1
  13. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +14 -20
  14. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -1
  15. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  16. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +3 -0
  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 +2 -2
  20. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
  21. package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
  22. package/dist/api/captcha/getImageCaptchaChallenge.js +2 -3
  23. package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
  24. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +4 -1
  25. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
  26. package/dist/api/captcha/submitPoWCaptchaSolution.js +23 -6
  27. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  28. package/dist/api/captcha/trafficFilterRequestTime.d.ts.map +1 -1
  29. package/dist/api/captcha/trafficFilterRequestTime.js +2 -2
  30. package/dist/api/captcha/trafficFilterRequestTime.js.map +1 -1
  31. package/dist/cjs/api/captcha/contextAwareValidation.cjs +31 -11
  32. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +7 -4
  33. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +12 -18
  34. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +3 -0
  35. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +1 -1
  36. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +1 -1
  37. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +22 -5
  38. package/dist/cjs/api/captcha/trafficFilterRequestTime.cjs +1 -1
  39. package/dist/cjs/tasks/captchaTypeSelection.cjs +53 -0
  40. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +19 -8
  41. package/dist/cjs/tasks/puzzle/puzzleDifficulty.cjs +208 -0
  42. package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +13 -61
  43. package/dist/cjs/tasks/puzzle/stratifiedSampler.cjs +61 -0
  44. package/dist/tasks/captchaTypeSelection.d.ts +5 -0
  45. package/dist/tasks/captchaTypeSelection.d.ts.map +1 -0
  46. package/dist/tasks/captchaTypeSelection.js +53 -0
  47. package/dist/tasks/captchaTypeSelection.js.map +1 -0
  48. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  49. package/dist/tasks/frictionless/frictionlessTasks.js +20 -9
  50. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  51. package/dist/tasks/frictionless/routingMachine.d.ts +4 -1
  52. package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
  53. package/dist/tasks/frictionless/routingMachine.js.map +1 -1
  54. package/dist/tasks/puzzle/puzzleDifficulty.d.ts +25 -0
  55. package/dist/tasks/puzzle/puzzleDifficulty.d.ts.map +1 -0
  56. package/dist/tasks/puzzle/puzzleDifficulty.js +204 -0
  57. package/dist/tasks/puzzle/puzzleDifficulty.js.map +1 -0
  58. package/dist/tasks/puzzle/puzzleRenderer.d.ts +1 -3
  59. package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
  60. package/dist/tasks/puzzle/puzzleRenderer.js +15 -62
  61. package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
  62. package/dist/tasks/puzzle/stratifiedSampler.d.ts +7 -0
  63. package/dist/tasks/puzzle/stratifiedSampler.d.ts.map +1 -0
  64. package/dist/tasks/puzzle/stratifiedSampler.js +61 -0
  65. package/dist/tasks/puzzle/stratifiedSampler.js.map +1 -0
  66. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +4 -0
  67. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
  68. package/dist/tests/integration/clientSettingsPersistence.integration.test.js +3 -0
  69. package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
  70. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +2 -0
  71. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
  72. package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +3 -0
  73. package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
  74. package/dist/tests/unit/api/contextAwareValidation.unit.test.js +88 -67
  75. package/dist/tests/unit/api/contextAwareValidation.unit.test.js.map +1 -1
  76. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +55 -105
  77. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  78. package/dist/tests/unit/tasks/captchaManager.unit.test.js +2 -0
  79. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  80. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.d.ts +2 -0
  81. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.d.ts.map +1 -0
  82. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +54 -0
  83. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -0
  84. package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.js +24 -5
  85. package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.js.map +1 -1
  86. package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.d.ts +2 -0
  87. package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.d.ts.map +1 -0
  88. package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.js +137 -0
  89. package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.js.map +1 -0
  90. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"captchaManager.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/captchaManager.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captchaManager.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/captchaManager.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=captchaTypeSelection.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captchaTypeSelection.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/captchaTypeSelection.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ import { CaptchaType } from "@prosopo/types";
2
+ import { describe, expect, it } from "vitest";
3
+ import { coerceToEnabledCaptchaType, } from "../../../tasks/captchaTypeSelection.js";
4
+ const BOTH = { image: true, puzzle: true };
5
+ const NO_IMAGE = { image: false, puzzle: true };
6
+ const NO_PUZZLE = { image: true, puzzle: false };
7
+ const NEITHER = { image: false, puzzle: false };
8
+ const ALL_TYPES = [
9
+ CaptchaType.pow,
10
+ CaptchaType.image,
11
+ CaptchaType.puzzle,
12
+ ];
13
+ describe("coerceToEnabledCaptchaType", () => {
14
+ it("passes every type through untouched when both are enabled", () => {
15
+ for (const type of ALL_TYPES) {
16
+ expect(coerceToEnabledCaptchaType(type, BOTH)).toBe(type);
17
+ }
18
+ });
19
+ it("never serves image on a site with image disabled", () => {
20
+ for (const type of ALL_TYPES) {
21
+ expect(coerceToEnabledCaptchaType(type, NO_IMAGE)).not.toBe(CaptchaType.image);
22
+ }
23
+ });
24
+ it("substitutes puzzle for image when image is disabled", () => {
25
+ expect(coerceToEnabledCaptchaType(CaptchaType.image, NO_IMAGE)).toBe(CaptchaType.puzzle);
26
+ });
27
+ it("substitutes image for puzzle when puzzle is disabled", () => {
28
+ expect(coerceToEnabledCaptchaType(CaptchaType.puzzle, NO_PUZZLE)).toBe(CaptchaType.image);
29
+ });
30
+ it("falls back to pow when neither interactive type is enabled", () => {
31
+ expect(coerceToEnabledCaptchaType(CaptchaType.image, NEITHER)).toBe(CaptchaType.pow);
32
+ expect(coerceToEnabledCaptchaType(CaptchaType.puzzle, NEITHER)).toBe(CaptchaType.pow);
33
+ });
34
+ it("always leaves pow reachable — it is the terminal fallback", () => {
35
+ for (const types of [BOTH, NO_IMAGE, NO_PUZZLE, NEITHER]) {
36
+ expect(coerceToEnabledCaptchaType(CaptchaType.pow, types)).toBe(CaptchaType.pow);
37
+ }
38
+ });
39
+ it("treats a missing setting as every type enabled, not as none", () => {
40
+ for (const type of ALL_TYPES) {
41
+ expect(coerceToEnabledCaptchaType(type, undefined)).toBe(type);
42
+ }
43
+ });
44
+ it("treats a partial setting as enabled for the unspecified type", () => {
45
+ expect(coerceToEnabledCaptchaType(CaptchaType.image, { puzzle: false })).toBe(CaptchaType.image);
46
+ expect(coerceToEnabledCaptchaType(CaptchaType.puzzle, { image: false })).toBe(CaptchaType.puzzle);
47
+ });
48
+ it("only ever narrows — coercion cannot introduce an interactive type", () => {
49
+ for (const types of [BOTH, NO_IMAGE, NO_PUZZLE, NEITHER]) {
50
+ expect(coerceToEnabledCaptchaType(CaptchaType.pow, types)).toBe(CaptchaType.pow);
51
+ }
52
+ });
53
+ });
54
+ //# sourceMappingURL=captchaTypeSelection.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captchaTypeSelection.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/captchaTypeSelection.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CaptchaType, FrictionlessPenalties, } from "@prosopo/types";
1
+ import { CaptchaType, FrictionlessPenalties, imageMaxRoundsDefault, imageMinRoundsDefault, } from "@prosopo/types";
2
2
  import { beforeEach, describe, expect, it, vi } from "vitest";
3
3
  const { applyRouterMock } = vi.hoisted(() => ({
4
4
  applyRouterMock: vi.fn(),
@@ -9,11 +9,11 @@ vi.mock("../../../../tasks/frictionless/routingMachine.js", () => ({
9
9
  import { getCompositeIpAddress } from "../../../../compositeIpAddress.js";
10
10
  import { FrictionlessManager } from "../../../../tasks/frictionless/frictionlessTasks.js";
11
11
  const SITE_KEY = "5EjTA28bKSbFPPyMbUjNtArxyqjwq38r1BapVmLZShaqEedV";
12
- describe("router-supplied image rounds are held to the sitekey's ceiling", () => {
12
+ describe("router-supplied image rounds are held to the sitekey's bounds", () => {
13
13
  let db;
14
14
  let storeSessionRecord;
15
15
  let manager;
16
- const buildContext = (imageMaxRounds) => ({
16
+ const buildContext = (imageMaxRounds, imageMinRounds) => ({
17
17
  dappAccount: SITE_KEY,
18
18
  userAccount: "user",
19
19
  ip: "1.2.3.4",
@@ -21,6 +21,7 @@ describe("router-supplied image rounds are held to the sitekey's ceiling", () =>
21
21
  platform: { isMobile: false, isApple: false, isWebView: false },
22
22
  raw: { headers: {}, userAgent: "ua" },
23
23
  ...(imageMaxRounds !== undefined && { imageMaxRounds }),
24
+ ...(imageMinRounds !== undefined && { imageMinRounds }),
24
25
  });
25
26
  const storedSession = () => {
26
27
  const call = storeSessionRecord.mock.calls[0];
@@ -93,14 +94,32 @@ describe("router-supplied image rounds are held to the sitekey's ceiling", () =>
93
94
  await manager.sendImageCaptcha({ solvedImagesCount: 4 });
94
95
  expect(storedSession().solvedImagesCount).toBe(4);
95
96
  });
96
- it("leaves the count alone when the context carries no ceiling", async () => {
97
+ it("falls back to the schema default ceiling when the context carries none", async () => {
97
98
  routerReturns({
98
99
  captchaType: CaptchaType.image,
99
100
  solvedImagesCount: 50,
100
101
  });
101
102
  manager.setRoutingContext(buildContext(undefined));
102
103
  await manager.sendImageCaptcha({ solvedImagesCount: 4 });
103
- expect(storedSession().solvedImagesCount).toBe(50);
104
+ expect(storedSession().solvedImagesCount).toBe(imageMaxRoundsDefault);
105
+ });
106
+ it("lifts a router asking for fewer rounds than the sitekey's floor", async () => {
107
+ routerReturns({
108
+ captchaType: CaptchaType.image,
109
+ solvedImagesCount: 1,
110
+ });
111
+ manager.setRoutingContext(buildContext(8, 4));
112
+ await manager.sendImageCaptcha({ solvedImagesCount: 4 });
113
+ expect(storedSession().solvedImagesCount).toBe(4);
114
+ });
115
+ it("falls back to the schema default floor when the context carries none", async () => {
116
+ routerReturns({
117
+ captchaType: CaptchaType.image,
118
+ solvedImagesCount: 1,
119
+ });
120
+ manager.setRoutingContext(buildContext(8));
121
+ await manager.sendImageCaptcha({ solvedImagesCount: 4 });
122
+ expect(storedSession().solvedImagesCount).toBe(imageMinRoundsDefault);
104
123
  });
105
124
  it("does not put a round count on a session that stayed a puzzle", async () => {
106
125
  routerReturns({ captchaType: CaptchaType.puzzle });
@@ -1 +1 @@
1
- {"version":3,"file":"routerImageRoundsClamp.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routerImageRoundsClamp.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=puzzleDifficulty.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puzzleDifficulty.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/puzzleDifficulty.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,137 @@
1
+ import { DEFAULT_RENDER_SETTINGS, } from "@prosopo/puzzle-assets";
2
+ import { puzzleDecoyCountFieldSchema, puzzleDecoyEdgeDarknessFieldSchema, puzzleDecoyHoleDarkenFieldSchema, puzzlePieceScaleFieldSchema, puzzleToleranceFieldSchema, } from "@prosopo/types";
3
+ import { describe, expect, it } from "vitest";
4
+ import { MAX_AUTO_ESCALATION_LEVEL, MIN_DECOY_HOLE_DARKEN_MARGIN, PUZZLE_DIFFICULTY_LEVELS, clampDifficultyLevel, samplePuzzleDifficulty, severityToPuzzleDifficulty, } from "../../../tasks/puzzle/puzzleDifficulty.js";
5
+ import { resolvePuzzleRenderSettings } from "../../../tasks/puzzle/puzzleRenderer.js";
6
+ const HOLE_DARKEN = DEFAULT_RENDER_SETTINGS.holeDarken;
7
+ const SAMPLES = 400;
8
+ describe("PUZZLE_DIFFICULTY_LEVELS table", () => {
9
+ it("is ordered strictly harder as the level rises", () => {
10
+ for (let i = 1; i < PUZZLE_DIFFICULTY_LEVELS.length; i++) {
11
+ const prev = PUZZLE_DIFFICULTY_LEVELS[i - 1];
12
+ const cur = PUZZLE_DIFFICULTY_LEVELS[i];
13
+ if (!prev || !cur)
14
+ throw new Error("missing level");
15
+ expect(cur.tolerance.max).toBeLessThan(prev.tolerance.max);
16
+ expect(cur.decoyCount.min).toBeGreaterThanOrEqual(prev.decoyCount.min);
17
+ expect(cur.decoyHoleDarken.max).toBeLessThan(prev.decoyHoleDarken.max);
18
+ expect(cur.decoyEdgeDarkness.max).toBeGreaterThan(prev.decoyEdgeDarkness.max);
19
+ expect(cur.pieceScale.max).toBeLessThan(prev.pieceScale.max);
20
+ }
21
+ });
22
+ it("overlaps adjacent bands so one render does not identify the level", () => {
23
+ for (let i = 1; i < PUZZLE_DIFFICULTY_LEVELS.length; i++) {
24
+ const prev = PUZZLE_DIFFICULTY_LEVELS[i - 1];
25
+ const cur = PUZZLE_DIFFICULTY_LEVELS[i];
26
+ if (!prev || !cur)
27
+ throw new Error("missing level");
28
+ expect(cur.decoyCount.min).toBeLessThanOrEqual(prev.decoyCount.max);
29
+ expect(cur.tolerance.max).toBeGreaterThanOrEqual(prev.tolerance.min);
30
+ }
31
+ });
32
+ it("keeps every band inside the settings-schema bounds", () => {
33
+ for (const band of PUZZLE_DIFFICULTY_LEVELS) {
34
+ for (const v of [band.tolerance.min, band.tolerance.max]) {
35
+ expect(puzzleToleranceFieldSchema.safeParse(v).success).toBe(true);
36
+ }
37
+ for (const v of [band.decoyCount.min, band.decoyCount.max]) {
38
+ expect(puzzleDecoyCountFieldSchema.safeParse(v).success).toBe(true);
39
+ }
40
+ for (const v of [
41
+ band.decoyEdgeDarkness.min,
42
+ band.decoyEdgeDarkness.max,
43
+ ]) {
44
+ expect(puzzleDecoyEdgeDarknessFieldSchema.safeParse(v).success).toBe(true);
45
+ }
46
+ for (const v of [band.decoyHoleDarken.min, band.decoyHoleDarken.max]) {
47
+ expect(puzzleDecoyHoleDarkenFieldSchema.safeParse(v).success).toBe(true);
48
+ }
49
+ for (const v of [band.pieceScale.min, band.pieceScale.max]) {
50
+ expect(puzzlePieceScaleFieldSchema.safeParse(v).success).toBe(true);
51
+ }
52
+ }
53
+ });
54
+ });
55
+ describe("severityToPuzzleDifficulty", () => {
56
+ it("maps no requested rounds to the baseline level", () => {
57
+ expect(severityToPuzzleDifficulty(undefined, 2)).toBe(0);
58
+ });
59
+ it("maps a request at or below the site baseline to the baseline level", () => {
60
+ expect(severityToPuzzleDifficulty(2, 2)).toBe(0);
61
+ expect(severityToPuzzleDifficulty(1, 2)).toBe(0);
62
+ });
63
+ it("rises monotonically with rounds requested above the baseline", () => {
64
+ const levels = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12].map((extra) => severityToPuzzleDifficulty(2 + extra, 2, PUZZLE_DIFFICULTY_LEVELS.length));
65
+ for (let i = 1; i < levels.length; i++) {
66
+ expect(levels[i]).toBeGreaterThanOrEqual(levels[i - 1]);
67
+ }
68
+ });
69
+ it("is relative to the site baseline, not an absolute round count", () => {
70
+ expect(severityToPuzzleDifficulty(6, 2)).toBeGreaterThan(severityToPuzzleDifficulty(6, 6));
71
+ });
72
+ it("caps automatic escalation below the hardest level", () => {
73
+ expect(severityToPuzzleDifficulty(100, 2)).toBe(MAX_AUTO_ESCALATION_LEVEL);
74
+ expect(MAX_AUTO_ESCALATION_LEVEL).toBeLessThan(PUZZLE_DIFFICULTY_LEVELS.length - 1);
75
+ });
76
+ });
77
+ describe("clampDifficultyLevel", () => {
78
+ it("clamps out-of-range and non-finite input", () => {
79
+ expect(clampDifficultyLevel(-5)).toBe(0);
80
+ expect(clampDifficultyLevel(Number.NaN)).toBe(0);
81
+ expect(clampDifficultyLevel(99)).toBe(MAX_AUTO_ESCALATION_LEVEL);
82
+ });
83
+ });
84
+ describe("samplePuzzleDifficulty", () => {
85
+ it("stays within its band across many draws", () => {
86
+ for (let level = 0; level < PUZZLE_DIFFICULTY_LEVELS.length; level++) {
87
+ const band = PUZZLE_DIFFICULTY_LEVELS[level];
88
+ if (!band)
89
+ throw new Error("missing level");
90
+ for (let i = 0; i < SAMPLES; i++) {
91
+ const s = samplePuzzleDifficulty(level, HOLE_DARKEN, PUZZLE_DIFFICULTY_LEVELS.length);
92
+ expect(s.tolerance).toBeGreaterThanOrEqual(band.tolerance.min);
93
+ expect(s.tolerance).toBeLessThanOrEqual(band.tolerance.max);
94
+ expect(s.puzzle.decoyCount).toBeGreaterThanOrEqual(band.decoyCount.min);
95
+ expect(s.puzzle.decoyCount).toBeLessThanOrEqual(band.decoyCount.max);
96
+ }
97
+ }
98
+ });
99
+ it("actually varies — a fixed config would be learnable", () => {
100
+ const seen = new Set();
101
+ for (let i = 0; i < SAMPLES; i++) {
102
+ const s = samplePuzzleDifficulty(2, HOLE_DARKEN);
103
+ seen.add(`${s.tolerance}:${s.puzzle.decoyCount}`);
104
+ }
105
+ expect(seen.size).toBeGreaterThan(1);
106
+ });
107
+ it("never lets decoys reach the real cut's darkness", () => {
108
+ for (let level = 0; level < PUZZLE_DIFFICULTY_LEVELS.length; level++) {
109
+ for (let i = 0; i < SAMPLES; i++) {
110
+ const s = samplePuzzleDifficulty(level, HOLE_DARKEN, PUZZLE_DIFFICULTY_LEVELS.length);
111
+ expect(s.puzzle.decoyHoleDarken).toBeGreaterThanOrEqual(HOLE_DARKEN + MIN_DECOY_HOLE_DARKEN_MARGIN);
112
+ }
113
+ }
114
+ });
115
+ it("holds the invariant even when the site pushes holeDarken up", () => {
116
+ const lightHole = 0.75;
117
+ for (let i = 0; i < SAMPLES; i++) {
118
+ const s = samplePuzzleDifficulty(4, lightHole, 4);
119
+ expect(s.puzzle.decoyHoleDarken).toBeGreaterThanOrEqual(lightHole + MIN_DECOY_HOLE_DARKEN_MARGIN);
120
+ }
121
+ });
122
+ });
123
+ describe("resolvePuzzleRenderSettings invariant enforcement", () => {
124
+ it("repairs an operator-authored inversion", () => {
125
+ const resolved = resolvePuzzleRenderSettings({ holeDarken: 0.8 }, { decoyHoleDarken: 0.2 });
126
+ expect(resolved.decoyHoleDarken).toBeGreaterThanOrEqual(resolved.holeDarken + MIN_DECOY_HOLE_DARKEN_MARGIN);
127
+ });
128
+ it("leaves a valid pair untouched", () => {
129
+ const resolved = resolvePuzzleRenderSettings({
130
+ holeDarken: 0.5,
131
+ decoyHoleDarken: 0.9,
132
+ });
133
+ expect(resolved.holeDarken).toBe(0.5);
134
+ expect(resolved.decoyHoleDarken).toBe(0.9);
135
+ });
136
+ });
137
+ //# sourceMappingURL=puzzleDifficulty.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puzzleDifficulty.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/puzzleDifficulty.unit.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/provider",
3
- "version": "5.6.2",
3
+ "version": "5.6.4",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -23,26 +23,26 @@
23
23
  "dependencies": {
24
24
  "@noble/hashes": "1.8.0",
25
25
  "@polkadot/util": "13.5.7",
26
- "@prosopo/api": "4.1.2",
27
- "@prosopo/api-express-router": "3.1.78",
26
+ "@prosopo/api": "4.1.4",
27
+ "@prosopo/api-express-router": "3.1.80",
28
28
  "@prosopo/api-route": "2.6.56",
29
29
  "@prosopo/common": "3.1.52",
30
- "@prosopo/database": "4.0.24",
31
- "@prosopo/datasets": "3.1.74",
32
- "@prosopo/env": "3.6.47",
33
- "@prosopo/ipinfo": "0.3.19",
34
- "@prosopo/keyring": "2.9.81",
35
- "@prosopo/load-balancer": "2.10.36",
30
+ "@prosopo/database": "4.0.26",
31
+ "@prosopo/datasets": "3.1.76",
32
+ "@prosopo/env": "3.6.49",
33
+ "@prosopo/ipinfo": "0.3.21",
34
+ "@prosopo/keyring": "2.9.83",
35
+ "@prosopo/load-balancer": "2.10.38",
36
36
  "@prosopo/locale": "3.4.0",
37
37
  "@prosopo/logger": "2.0.7",
38
38
  "@prosopo/native-ja4": "0.0.3",
39
39
  "@prosopo/native-merkle": "0.0.3",
40
40
  "@prosopo/puzzle-assets": "0.1.3",
41
41
  "@prosopo/redis-client": "1.0.33",
42
- "@prosopo/types": "5.5.1",
43
- "@prosopo/types-database": "5.3.2",
44
- "@prosopo/types-env": "2.10.41",
45
- "@prosopo/user-access-policy": "3.12.30",
42
+ "@prosopo/types": "5.5.3",
43
+ "@prosopo/types-database": "5.3.4",
44
+ "@prosopo/types-env": "2.10.43",
45
+ "@prosopo/user-access-policy": "3.12.32",
46
46
  "@prosopo/util": "3.3.7",
47
47
  "@prosopo/util-crypto": "13.5.30",
48
48
  "cron": "3.1.7",