@prosopo/provider 5.6.2 → 5.6.3
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.
- package/.turbo/turbo-build$colon$cjs.log +12 -9
- package/.turbo/turbo-build$colon$tsc.log +25 -25
- package/.turbo/turbo-build.log +12 -9
- package/CHANGELOG.md +28 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +4 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +2 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +4 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.js +23 -6
- package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +4 -1
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +2 -0
- package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +22 -5
- package/dist/cjs/tasks/captchaTypeSelection.cjs +53 -0
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +19 -8
- package/dist/cjs/tasks/puzzle/puzzleDifficulty.cjs +208 -0
- package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +13 -61
- package/dist/cjs/tasks/puzzle/stratifiedSampler.cjs +61 -0
- package/dist/tasks/captchaTypeSelection.d.ts +5 -0
- package/dist/tasks/captchaTypeSelection.d.ts.map +1 -0
- package/dist/tasks/captchaTypeSelection.js +53 -0
- package/dist/tasks/captchaTypeSelection.js.map +1 -0
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +20 -9
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/routingMachine.d.ts +3 -1
- package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
- package/dist/tasks/frictionless/routingMachine.js.map +1 -1
- package/dist/tasks/puzzle/puzzleDifficulty.d.ts +25 -0
- package/dist/tasks/puzzle/puzzleDifficulty.d.ts.map +1 -0
- package/dist/tasks/puzzle/puzzleDifficulty.js +204 -0
- package/dist/tasks/puzzle/puzzleDifficulty.js.map +1 -0
- package/dist/tasks/puzzle/puzzleRenderer.d.ts +1 -3
- package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.js +15 -62
- package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
- package/dist/tasks/puzzle/stratifiedSampler.d.ts +7 -0
- package/dist/tasks/puzzle/stratifiedSampler.d.ts.map +1 -0
- package/dist/tasks/puzzle/stratifiedSampler.js +61 -0
- package/dist/tasks/puzzle/stratifiedSampler.js.map +1 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +2 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +1 -0
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +1 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +3 -0
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +54 -0
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.js +3 -3
- package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.js +137 -0
- package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.js.map +1 -0
- package/package.json +13 -13
|
@@ -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.
|
|
3
|
+
"version": "5.6.3",
|
|
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.
|
|
27
|
-
"@prosopo/api-express-router": "3.1.
|
|
26
|
+
"@prosopo/api": "4.1.3",
|
|
27
|
+
"@prosopo/api-express-router": "3.1.79",
|
|
28
28
|
"@prosopo/api-route": "2.6.56",
|
|
29
29
|
"@prosopo/common": "3.1.52",
|
|
30
|
-
"@prosopo/database": "4.0.
|
|
31
|
-
"@prosopo/datasets": "3.1.
|
|
32
|
-
"@prosopo/env": "3.6.
|
|
33
|
-
"@prosopo/ipinfo": "0.3.
|
|
34
|
-
"@prosopo/keyring": "2.9.
|
|
35
|
-
"@prosopo/load-balancer": "2.10.
|
|
30
|
+
"@prosopo/database": "4.0.25",
|
|
31
|
+
"@prosopo/datasets": "3.1.75",
|
|
32
|
+
"@prosopo/env": "3.6.48",
|
|
33
|
+
"@prosopo/ipinfo": "0.3.20",
|
|
34
|
+
"@prosopo/keyring": "2.9.82",
|
|
35
|
+
"@prosopo/load-balancer": "2.10.37",
|
|
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.
|
|
43
|
-
"@prosopo/types-database": "5.3.
|
|
44
|
-
"@prosopo/types-env": "2.10.
|
|
45
|
-
"@prosopo/user-access-policy": "3.12.
|
|
42
|
+
"@prosopo/types": "5.5.2",
|
|
43
|
+
"@prosopo/types-database": "5.3.3",
|
|
44
|
+
"@prosopo/types-env": "2.10.42",
|
|
45
|
+
"@prosopo/user-access-policy": "3.12.31",
|
|
46
46
|
"@prosopo/util": "3.3.7",
|
|
47
47
|
"@prosopo/util-crypto": "13.5.30",
|
|
48
48
|
"cron": "3.1.7",
|