@prosopo/provider 5.11.0 → 5.12.1
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 +117 -116
- package/.turbo/turbo-build$colon$tsc.log +27 -27
- package/.turbo/turbo-build.log +117 -116
- package/CHANGELOG.md +86 -0
- package/dist/api/blacklistRequestInspector.d.ts +5 -2
- package/dist/api/blacklistRequestInspector.d.ts.map +1 -1
- package/dist/api/blacklistRequestInspector.js +10 -5
- package/dist/api/blacklistRequestInspector.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +1 -1
- package/dist/api/captcha/getPoWCaptchaChallenge.js +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +1 -1
- package/dist/api/cpuProfiler.d.ts +32 -0
- package/dist/api/cpuProfiler.d.ts.map +1 -0
- package/dist/api/cpuProfiler.js +128 -0
- package/dist/api/cpuProfiler.js.map +1 -0
- package/dist/api/metrics.d.ts +9 -0
- package/dist/api/metrics.d.ts.map +1 -1
- package/dist/api/metrics.js +107 -1
- package/dist/api/metrics.js.map +1 -1
- package/dist/api/startProviderApi.d.ts.map +1 -1
- package/dist/api/startProviderApi.js +2 -0
- package/dist/api/startProviderApi.js.map +1 -1
- package/dist/cjs/api/blacklistRequestInspector.cjs +10 -5
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +1 -1
- package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +1 -1
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +1 -1
- package/dist/cjs/api/cpuProfiler.cjs +129 -0
- package/dist/cjs/api/metrics.cjs +108 -0
- package/dist/cjs/api/startProviderApi.cjs +2 -0
- package/dist/cjs/tasks/captchaManager.cjs +61 -4
- package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +2 -1
- package/dist/cjs/tasks/detection/decodePayload.js +1 -1
- package/dist/cjs/tasks/detection/decoderModules.cjs +14 -0
- package/dist/cjs/tasks/detection/decoderPool.cjs +183 -0
- package/dist/cjs/tasks/detection/getBotScore.cjs +9 -2
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +6 -3
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs +5 -2
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +6 -3
- package/dist/cjs/tasks/puzzle/backgroundBuffer.cjs +3 -2
- package/dist/cjs/tasks/puzzle/nativeBackground.cjs +30 -0
- package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +3 -2
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +6 -3
- package/dist/tasks/captchaManager.d.ts +7 -0
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +61 -4
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.js +2 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -1
- package/dist/tasks/detection/decodePayload.d.ts +2 -2
- package/dist/tasks/detection/decodePayload.d.ts.map +1 -1
- package/dist/tasks/detection/decodePayload.js +1 -1
- package/dist/tasks/detection/decodePayload.js.map +1 -1
- package/dist/tasks/detection/decoderModules.d.ts +5 -0
- package/dist/tasks/detection/decoderModules.d.ts.map +1 -0
- package/dist/tasks/detection/decoderModules.js +13 -0
- package/dist/tasks/detection/decoderModules.js.map +1 -0
- package/dist/tasks/detection/decoderPool.d.ts +4 -0
- package/dist/tasks/detection/decoderPool.d.ts.map +1 -0
- package/dist/tasks/detection/decoderPool.js +183 -0
- package/dist/tasks/detection/decoderPool.js.map +1 -0
- package/dist/tasks/detection/getBotScore.js +9 -2
- package/dist/tasks/detection/getBotScore.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +6 -3
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +5 -2
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +6 -3
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.d.ts.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.js +4 -3
- package/dist/tasks/puzzle/backgroundBuffer.js.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts +3 -0
- package/dist/tasks/puzzle/nativeBackground.d.ts.map +1 -0
- package/dist/tasks/puzzle/nativeBackground.js +31 -0
- package/dist/tasks/puzzle/nativeBackground.js.map +1 -0
- package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.js +3 -2
- package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +6 -3
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +42 -1
- package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +1 -1
- package/dist/tests/unit/api/cpuProfiler.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/cpuProfiler.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/cpuProfiler.unit.test.js +47 -0
- package/dist/tests/unit/api/cpuProfiler.unit.test.js.map +1 -0
- package/dist/tests/unit/api/cpuSpans.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/cpuSpans.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/cpuSpans.unit.test.js +37 -0
- package/dist/tests/unit/api/cpuSpans.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +83 -5
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/detection/decoderPool.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/detection/decoderPool.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/detection/decoderPool.unit.test.js +59 -0
- package/dist/tests/unit/tasks/detection/decoderPool.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +39 -18
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js +50 -0
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js.map +1 -0
- package/package.json +18 -17
- package/dist/cjs/tasks/detection/decodeBehavior.cjs +0 -721
- package/dist/cjs/tasks/detection/decodePayload.cjs +0 -1691
- package/dist/cjs/tasks/detection/decodeSimd.cjs +0 -805
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeBackground.d.ts","sourceRoot":"","sources":["../../../src/tasks/puzzle/nativeBackground.ts"],"names":[],"mappings":"AAeA,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,MAAM,wBAAwB,CAAC;AA2BhC,eAAO,MAAM,sBAAsB,cACxB,cAAc,KACtB,SAMF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { measureSync } from "../../api/metrics.js";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { DEFAULT_GEOMETRY, createSeed } from "@prosopo/puzzle-assets";
|
|
4
|
+
//#region src/tasks/puzzle/nativeBackground.ts
|
|
5
|
+
var req = createRequire(import.meta.url);
|
|
6
|
+
var nativePuzzle = (() => {
|
|
7
|
+
try {
|
|
8
|
+
return req("@prosopo/native-puzzle");
|
|
9
|
+
} catch {
|
|
10
|
+
return req("./prosopo-native-puzzle.node");
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
13
|
+
/**
|
|
14
|
+
* Synthesise one background in Rust.
|
|
15
|
+
*
|
|
16
|
+
* Byte-identical to `createBackground` from @prosopo/puzzle-assets given the
|
|
17
|
+
* same seed — the JS remains the reference implementation and the contract
|
|
18
|
+
* the differential test pins. Single-use is unchanged and still the caller's
|
|
19
|
+
* responsibility: this mints a fresh CSPRNG seed per call and the seed never
|
|
20
|
+
* leaves the process.
|
|
21
|
+
*/
|
|
22
|
+
var createBackgroundNative = (geometry = DEFAULT_GEOMETRY) => {
|
|
23
|
+
const { width, height } = geometry;
|
|
24
|
+
return {
|
|
25
|
+
data: measureSync("puzzle_background", () => nativePuzzle.generateBackground(createSeed(), width, height)),
|
|
26
|
+
width,
|
|
27
|
+
height
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { createBackgroundNative };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeBackground.js","sourceRoot":"","sources":["../../../src/tasks/puzzle/nativeBackground.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACN,gBAAgB,EAGhB,UAAU,GACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAQnD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,MAAM,YAAY,GAAuB,CAAC,GAAG,EAAE;IAC9C,IAAI,CAAC;QACJ,OAAO,GAAG,CAAC,wBAAwB,CAAuB,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,GAAG,CAAC,8BAA8B,CAAuB,CAAC;IAClE,CAAC;AACF,CAAC,CAAC,EAAE,CAAC;AAWL,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,WAA2B,gBAAgB,EAC/B,EAAE;IACd,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACnC,MAAM,IAAI,GAAG,WAAW,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAClD,YAAY,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAC5D,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puzzleRenderer.d.ts","sourceRoot":"","sources":["../../../src/tasks/puzzle/puzzleRenderer.ts"],"names":[],"mappings":"AAeA,OAAO,EAGN,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAGzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,KAAK,eAAe,EAGpB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"puzzleRenderer.d.ts","sourceRoot":"","sources":["../../../src/tasks/puzzle/puzzleRenderer.ts"],"names":[],"mappings":"AAeA,OAAO,EAGN,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAGzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,KAAK,eAAe,EAGpB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CAClB;AAQD,eAAO,MAAM,2BAA2B,iBACzB,CAAC,eAAe,GAAG,SAAS,CAAC,EAAE,KAC3C,oBAmCF,CAAC;AAcF,eAAO,MAAM,sBAAsB,iBACpB,CAAC,eAAe,GAAG,SAAS,CAAC,EAAE,KAC3C,MAaF,CAAC;AAYF,eAAO,MAAM,uBAAuB,QAAO,OAM1C,CAAC;AASF,eAAO,MAAM,kBAAkB,cACnB,cAAc,aACf,oBAAoB,cAClB,MAAM,KAChB,OAAO,CAAC,oBAAoB,CAyB9B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { measureSync } from "../../api/metrics.js";
|
|
1
2
|
import { getPuzzleBackgroundBuffer, initPuzzleBackgroundBuffer } from "./backgroundBuffer.js";
|
|
2
3
|
import { createStratifiedSampler } from "./stratifiedSampler.js";
|
|
3
4
|
import { puzzlePieceScaleMaxDefault, puzzlePieceScaleMinDefault } from "@prosopo/types";
|
|
@@ -79,10 +80,10 @@ var isPuzzleRenderAvailable = () => {
|
|
|
79
80
|
var renderPuzzleImages = async (placement, settings = DEFAULT_RENDER_SETTINGS, pieceSize) => {
|
|
80
81
|
const background = (getPuzzleBackgroundBuffer() ?? initPuzzleBackgroundBuffer()).take();
|
|
81
82
|
if (!background) throw new Error("puzzle renderer: no background available");
|
|
82
|
-
const rendered = await renderPuzzle(background, placement, pieceSize !== void 0 ? {
|
|
83
|
+
const rendered = await measureSync("puzzle_render", () => renderPuzzle(background, placement, pieceSize !== void 0 ? {
|
|
83
84
|
...DEFAULT_GEOMETRY,
|
|
84
85
|
pieceSize
|
|
85
|
-
} : DEFAULT_GEOMETRY, settings);
|
|
86
|
+
} : DEFAULT_GEOMETRY, settings));
|
|
86
87
|
return {
|
|
87
88
|
background: toDataUri(rendered.background),
|
|
88
89
|
piece: toDataUri(rendered.piece),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puzzleRenderer.js","sourceRoot":"","sources":["../../../src/tasks/puzzle/puzzleRenderer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"puzzleRenderer.js","sourceRoot":"","sources":["../../../src/tasks/puzzle/puzzleRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puzzleTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/puzzleCaptcha/puzzleTasks.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMvE,OAAO,EAKN,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,cAAc,EAKnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACN,KAAK,kBAAkB,EAEvB,MAAM,6BAA6B,CAAC;AAYrC,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAYtD,UAAU,sBAAsB;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,oBAAqB,SAAQ,cAAc;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;gBAGpD,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI;IAgB/B,yBAAyB,CAC9B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IA6C5B,2BAA2B,CAChC,SAAS,EAAE,cAAc,EACzB,0BAA0B,EAAE,MAAM,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,EAAE,EAC3B,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,cAAc,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,cAAc,GAC7B,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"puzzleTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/puzzleCaptcha/puzzleTasks.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMvE,OAAO,EAKN,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,cAAc,EAKnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACN,KAAK,kBAAkB,EAEvB,MAAM,6BAA6B,CAAC;AAYrC,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAYtD,UAAU,sBAAsB;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,oBAAqB,SAAQ,cAAc;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;gBAGpD,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI;IAgB/B,yBAAyB,CAC9B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IA6C5B,2BAA2B,CAChC,SAAS,EAAE,cAAc,EACzB,0BAA0B,EAAE,MAAM,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,EAAE,EAC3B,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,cAAc,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,cAAc,GAC7B,OAAO,CAAC,OAAO,CAAC;IAmRb,iCAAiC,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,EACxB,EAAE,CAAC,EAAE,MAAM,EACX,sBAAsB,CAAC,EAAE,kBAAkB,EAC3C,KAAK,CAAC,EAAE,MAAM,EACd,8BAA8B,UAAQ,EACtC,UAAU,CAAC,EAAE,gBAAgB,EAC7B,aAAa,CAAC,EAAE,cAAc,EAC9B,aAAa,UAAQ,EACrB,eAAe,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA6gBrE"}
|
|
@@ -130,9 +130,12 @@ var PuzzleCaptchaManager = class extends CaptchaManager {
|
|
|
130
130
|
this.usageCounters.incrManyAsync(dappAccount, buildAllWindowIncrements("solved", CaptchaType.puzzle, ipAddress.address, userAccount));
|
|
131
131
|
}
|
|
132
132
|
await this.db.updatePuzzleCaptchaRecord(challenge, { puzzleEvents });
|
|
133
|
+
const decodedPayloads = await this.decodeSubmissionPayloads(challengeRecord.sessionId, {
|
|
134
|
+
behavioural: behavioralData,
|
|
135
|
+
simd: simdReadings
|
|
136
|
+
});
|
|
133
137
|
if (behavioralData) try {
|
|
134
|
-
const
|
|
135
|
-
const decryptedData = await this.decryptBehavioralData(behavioralData, bundle);
|
|
138
|
+
const decryptedData = decodedPayloads.behavioural;
|
|
136
139
|
if (decryptedData) {
|
|
137
140
|
const dappAccount = at(challengeSplit, 2);
|
|
138
141
|
this.logger?.info(() => ({
|
|
@@ -176,7 +179,7 @@ var PuzzleCaptchaManager = class extends CaptchaManager {
|
|
|
176
179
|
...isBlockingCaptchaResult(CaptchaType.puzzle, result) && { blocked: true },
|
|
177
180
|
...storedClientMetaData && { clientMetaData: storedClientMetaData }
|
|
178
181
|
});
|
|
179
|
-
if (
|
|
182
|
+
if (decodedPayloads.simd) await this.recordSessionSimdReadingsIfAbsentWithCache(linkedSessionId, decodedPayloads.simd, SimdReadingsStage.submit);
|
|
180
183
|
}
|
|
181
184
|
return correct;
|
|
182
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puzzleTasks.js","sourceRoot":"","sources":["../../../src/tasks/puzzleCaptcha/puzzleTasks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"puzzleTasks.js","sourceRoot":"","sources":["../../../src/tasks/puzzleCaptcha/puzzleTasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CaptchaType, FrictionlessReason, } from "@prosopo/types";
|
|
1
|
+
import { CaptchaType, FrictionlessReason, ResultReason, } from "@prosopo/types";
|
|
2
2
|
import { AccessPolicyType, encodeHeaderValueList, } from "@prosopo/user-access-policy";
|
|
3
3
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
4
4
|
import { BlacklistRequestInspector, getPrioritisedAccessRule, getRequestUserScope, getVerdictCache, rankCandidateRules, } from "../../../api/blacklistRequestInspector.js";
|
|
@@ -434,6 +434,9 @@ describe("BlacklistRequestInspector blocked-session persistence", () => {
|
|
|
434
434
|
});
|
|
435
435
|
});
|
|
436
436
|
describe("BlacklistRequestInspector.abortRequestForBlockedUsers", () => {
|
|
437
|
+
beforeEach(() => {
|
|
438
|
+
getVerdictCache().clear();
|
|
439
|
+
});
|
|
437
440
|
const mockLogger = {
|
|
438
441
|
info: vi.fn(),
|
|
439
442
|
debug: vi.fn(),
|
|
@@ -468,6 +471,44 @@ describe("BlacklistRequestInspector.abortRequestForBlockedUsers", () => {
|
|
|
468
471
|
});
|
|
469
472
|
expect(next).not.toHaveBeenCalled();
|
|
470
473
|
});
|
|
474
|
+
it("replaces the generic Forbidden with the rule's translated messageKey", async () => {
|
|
475
|
+
const inspector = new BlacklistRequestInspector({
|
|
476
|
+
findRules: vi.fn().mockResolvedValue([
|
|
477
|
+
{
|
|
478
|
+
type: AccessPolicyType.Block,
|
|
479
|
+
messageKey: ResultReason.TOO_MANY_LOCALHOST,
|
|
480
|
+
},
|
|
481
|
+
]),
|
|
482
|
+
}, async () => undefined);
|
|
483
|
+
const { res, status, json } = buildResponse();
|
|
484
|
+
const next = vi.fn();
|
|
485
|
+
await inspector.abortRequestForBlockedUsers(buildRequest({
|
|
486
|
+
i18n: {
|
|
487
|
+
t: (key) => `translated(${key})`,
|
|
488
|
+
},
|
|
489
|
+
}), res, next);
|
|
490
|
+
expect(status).toHaveBeenCalledWith(403);
|
|
491
|
+
expect(json).toHaveBeenCalledWith({
|
|
492
|
+
error: {
|
|
493
|
+
message: `translated(${ResultReason.TOO_MANY_LOCALHOST}): test-request-id`,
|
|
494
|
+
code: 403,
|
|
495
|
+
key: ResultReason.TOO_MANY_LOCALHOST,
|
|
496
|
+
},
|
|
497
|
+
});
|
|
498
|
+
expect(next).not.toHaveBeenCalled();
|
|
499
|
+
});
|
|
500
|
+
it("keeps the generic Forbidden for a Block rule that names no reason", async () => {
|
|
501
|
+
const inspector = new BlacklistRequestInspector({
|
|
502
|
+
findRules: vi
|
|
503
|
+
.fn()
|
|
504
|
+
.mockResolvedValue([{ type: AccessPolicyType.Block }]),
|
|
505
|
+
}, async () => undefined);
|
|
506
|
+
const { res, json } = buildResponse();
|
|
507
|
+
await inspector.abortRequestForBlockedUsers(buildRequest({}), res, vi.fn());
|
|
508
|
+
expect(json).toHaveBeenCalledWith({
|
|
509
|
+
error: { message: "Forbidden: test-request-id", code: 403 },
|
|
510
|
+
});
|
|
511
|
+
});
|
|
471
512
|
it("calls next() and does not write a status when the request is allowed", async () => {
|
|
472
513
|
const inspector = new BlacklistRequestInspector({
|
|
473
514
|
findRules: vi.fn().mockResolvedValue([]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blacklistRequestInspector.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/blacklistRequestInspector.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blacklistRequestInspector.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/blacklistRequestInspector.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpuProfiler.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/api/cpuProfiler.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { summariseProfile } from "../../../api/cpuProfiler.js";
|
|
3
|
+
const frame = (id, functionName, line) => ({
|
|
4
|
+
id,
|
|
5
|
+
callFrame: { functionName, url: "file:///app/thing.js", lineNumber: line },
|
|
6
|
+
});
|
|
7
|
+
describe("summariseProfile", () => {
|
|
8
|
+
const profile = {
|
|
9
|
+
nodes: [
|
|
10
|
+
frame(1, "(root)", 0),
|
|
11
|
+
frame(2, "decodePayload", 10),
|
|
12
|
+
frame(3, "generateBackground", 20),
|
|
13
|
+
frame(4, "(idle)", 0),
|
|
14
|
+
],
|
|
15
|
+
samples: [2, 3, 2, 4, 2],
|
|
16
|
+
timeDeltas: [1000, 500, 1000, 4000, 1000],
|
|
17
|
+
startTime: 0,
|
|
18
|
+
endTime: 7_500,
|
|
19
|
+
};
|
|
20
|
+
it("ranks frames by self time, busiest first", () => {
|
|
21
|
+
const summary = summariseProfile(profile, 10);
|
|
22
|
+
expect(summary.top.map((f) => f.fn)).toEqual([
|
|
23
|
+
"decodePayload",
|
|
24
|
+
"generateBackground",
|
|
25
|
+
]);
|
|
26
|
+
expect(summary.top[0]?.selfMs).toBe(3);
|
|
27
|
+
expect(summary.top[1]?.selfMs).toBe(0.5);
|
|
28
|
+
});
|
|
29
|
+
it("reports percentages against busy time, not wall time", () => {
|
|
30
|
+
const summary = summariseProfile(profile, 10);
|
|
31
|
+
expect(summary.top[0]?.pct).toBeCloseTo((3 / 3.5) * 100, 5);
|
|
32
|
+
});
|
|
33
|
+
it("keeps idle out of the ranking and reports it as headroom", () => {
|
|
34
|
+
const summary = summariseProfile(profile, 10);
|
|
35
|
+
expect(summary.top.some((f) => f.fn === "(idle)")).toBe(false);
|
|
36
|
+
expect(summary.idlePct).toBeCloseTo((4000 / 7500) * 100, 5);
|
|
37
|
+
});
|
|
38
|
+
it("honours the top-n limit", () => {
|
|
39
|
+
expect(summariseProfile(profile, 1).top).toHaveLength(1);
|
|
40
|
+
});
|
|
41
|
+
it("survives a profile with no samples", () => {
|
|
42
|
+
const summary = summariseProfile({ ...profile, samples: [], timeDeltas: [] }, 10);
|
|
43
|
+
expect(summary.top).toEqual([]);
|
|
44
|
+
expect(summary.idlePct).toBe(0);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=cpuProfiler.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpuProfiler.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/cpuProfiler.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpuSpans.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/api/cpuSpans.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it } from "vitest";
|
|
2
|
+
import { getMetrics, measureSync } from "../../../api/metrics.js";
|
|
3
|
+
const readCounter = async (name, span) => {
|
|
4
|
+
const metric = await getMetrics()
|
|
5
|
+
.registry.getSingleMetric(`prosopo_${name}`)
|
|
6
|
+
?.get();
|
|
7
|
+
const sample = metric?.values.find((value) => value.labels.span === span);
|
|
8
|
+
return typeof sample?.value === "number" ? sample.value : 0;
|
|
9
|
+
};
|
|
10
|
+
describe("measureSync", () => {
|
|
11
|
+
let callsBefore;
|
|
12
|
+
let wallBefore;
|
|
13
|
+
beforeEach(async () => {
|
|
14
|
+
callsBefore = await readCounter("sync_span_calls_total", "merkle_build");
|
|
15
|
+
wallBefore = await readCounter("sync_span_wall_seconds_total", "merkle_build");
|
|
16
|
+
});
|
|
17
|
+
it("returns the callback's value untouched", () => {
|
|
18
|
+
expect(measureSync("merkle_build", () => 42)).toBe(42);
|
|
19
|
+
});
|
|
20
|
+
it("bills the time the span held the loop", async () => {
|
|
21
|
+
measureSync("merkle_build", () => {
|
|
22
|
+
let total = 0;
|
|
23
|
+
for (let i = 0; i < 5_000_000; i++)
|
|
24
|
+
total += i % 7;
|
|
25
|
+
return total;
|
|
26
|
+
});
|
|
27
|
+
expect(await readCounter("sync_span_wall_seconds_total", "merkle_build")).toBeGreaterThan(wallBefore);
|
|
28
|
+
});
|
|
29
|
+
it("counts a span that throws, and rethrows", async () => {
|
|
30
|
+
const boom = new Error("decoder handed the wrong key");
|
|
31
|
+
expect(() => measureSync("merkle_build", () => {
|
|
32
|
+
throw boom;
|
|
33
|
+
})).toThrow(boom);
|
|
34
|
+
expect(await readCounter("sync_span_calls_total", "merkle_build")).toBe(callsBefore + 1);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=cpuSpans.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpuSpans.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/cpuSpans.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,WAAW,GAAG,KAAK,EACxB,IAA8D,EAC9D,IAAY,EACM,EAAE;IACpB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE;SAC/B,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,EAAE,CAAC;QAC5C,EAAE,GAAG,EAAE,CAAC;IACT,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1E,OAAO,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAIF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,IAAI,WAAmB,CAAC;IACxB,IAAI,UAAkB,CAAC;IAEvB,UAAU,CAAC,KAAK,IAAI,EAAE;QACrB,WAAW,GAAG,MAAM,WAAW,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;QACzE,UAAU,GAAG,MAAM,WAAW,CAC7B,8BAA8B,EAC9B,cAAc,CACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACtD,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE;YAEhC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE;gBAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,CACL,MAAM,WAAW,CAAC,8BAA8B,EAAE,cAAc,CAAC,CACjE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,EAAE,CACX,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE;YAChC,MAAM,IAAI,CAAC;QACZ,CAAC,CAAC,CACF,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,MAAM,WAAW,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CACtE,WAAW,GAAG,CAAC,CACf,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|