@prosopo/provider 5.6.3 → 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.
- package/.turbo/turbo-build$colon$cjs.log +11 -11
- package/.turbo/turbo-build$colon$tsc.log +25 -25
- package/.turbo/turbo-build.log +11 -11
- package/CHANGELOG.md +64 -0
- package/dist/api/captcha/contextAwareValidation.d.ts +3 -2
- package/dist/api/captcha/contextAwareValidation.d.ts.map +1 -1
- package/dist/api/captcha/contextAwareValidation.js +32 -13
- package/dist/api/captcha/contextAwareValidation.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +4 -4
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +14 -20
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +2 -2
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
- package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getImageCaptchaChallenge.js +2 -3
- package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/trafficFilterRequestTime.d.ts.map +1 -1
- package/dist/api/captcha/trafficFilterRequestTime.js +2 -2
- package/dist/api/captcha/trafficFilterRequestTime.js.map +1 -1
- package/dist/cjs/api/captcha/contextAwareValidation.cjs +31 -11
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +3 -3
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +12 -18
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +1 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +1 -1
- package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +1 -1
- package/dist/cjs/api/captcha/trafficFilterRequestTime.cjs +1 -1
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +2 -2
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +3 -3
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/routingMachine.d.ts +1 -0
- package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
- package/dist/tasks/frictionless/routingMachine.js.map +1 -1
- 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 +2 -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/contextAwareValidation.unit.test.js +88 -67
- package/dist/tests/unit/api/contextAwareValidation.unit.test.js.map +1 -1
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +55 -105
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.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/frictionless/routerImageRoundsClamp.unit.test.js +22 -3
- package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.js.map +1 -1
- package/package.json +13 -13
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@5.6.
|
|
2
|
+
> @prosopo/provider@5.6.4 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -28,7 +28,6 @@ ViteCommonJSConfig: .
|
|
|
28
28
|
]
|
|
29
29
|
}
|
|
30
30
|
{
|
|
31
|
-
[33mThe plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the [1mresolve.tsconfigPaths[22m option. You can remove the plugin and set [1mresolve.tsconfigPaths: true[22m in your Vite config instead.[39m
|
|
32
31
|
externals: [
|
|
33
32
|
'@prosopo/api-route',
|
|
34
33
|
'@prosopo/logger',
|
|
@@ -52,6 +51,7 @@ ViteCommonJSConfig: .
|
|
|
52
51
|
'@prosopo/puzzle-assets'
|
|
53
52
|
]
|
|
54
53
|
}
|
|
54
|
+
[33mThe plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the [1mresolve.tsconfigPaths[22m option. You can remove the plugin and set [1mresolve.tsconfigPaths: true[22m in your Vite config instead.[39m
|
|
55
55
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
56
56
|
Bundle build started
|
|
57
57
|
[2K
|
|
@@ -85,7 +85,6 @@ dist/cjs/api/admin/apiRegisterSiteKeysEndpoint.cjs 1
|
|
|
85
85
|
dist/cjs/utils/normalizeRequestIp.cjs 1.16 kB │ gzip: 0.52 kB
|
|
86
86
|
dist/cjs/api/admin/apiRemoveSiteKeysEndpoint.cjs 1.16 kB │ gzip: 0.50 kB
|
|
87
87
|
dist/cjs/api/admin/apiRemoveSiteKeyEndpoint.cjs 1.17 kB │ gzip: 0.50 kB
|
|
88
|
-
dist/cjs/api/captcha/contextAwareValidation.cjs 1.17 kB │ gzip: 0.46 kB
|
|
89
88
|
dist/cjs/schedulers/captchaScheduler.cjs 1.21 kB │ gzip: 0.50 kB
|
|
90
89
|
dist/cjs/api/block.cjs 1.28 kB │ gzip: 0.48 kB
|
|
91
90
|
dist/cjs/schedulers/getClientList.cjs 1.28 kB │ gzip: 0.55 kB
|
|
@@ -113,6 +112,7 @@ dist/cjs/utils/honeypot/phraseBank.cjs 1
|
|
|
113
112
|
dist/cjs/api/handshakeTimingMiddleware.cjs 1.88 kB │ gzip: 0.71 kB
|
|
114
113
|
dist/cjs/api/admin/apiClearAllCountersEndpoint.cjs 2.01 kB │ gzip: 0.78 kB
|
|
115
114
|
dist/cjs/api/captcha/assignDetectorBundle.cjs 2.03 kB │ gzip: 0.86 kB
|
|
115
|
+
dist/cjs/api/captcha/contextAwareValidation.cjs 2.09 kB │ gzip: 0.90 kB
|
|
116
116
|
dist/cjs/tasks/spam/updateSpamEmailDomains.cjs 2.12 kB │ gzip: 0.85 kB
|
|
117
117
|
dist/cjs/tasks/frictionless/routingMachine.cjs 2.17 kB │ gzip: 0.91 kB
|
|
118
118
|
dist/cjs/api/public.cjs 2.18 kB │ gzip: 0.91 kB
|
|
@@ -126,25 +126,25 @@ dist/cjs/api/captcha/checkSpamEmail.cjs 2
|
|
|
126
126
|
dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs 2.77 kB │ gzip: 0.99 kB
|
|
127
127
|
dist/cjs/api/captcha/maintenanceModeResponses.cjs 2.91 kB │ gzip: 0.77 kB
|
|
128
128
|
dist/cjs/api/captcha/submitImageCaptchaSolution.cjs 2.93 kB │ gzip: 1.03 kB
|
|
129
|
-
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs 3.
|
|
129
|
+
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs 3.66 kB │ gzip: 1.35 kB
|
|
130
130
|
dist/cjs/api/admin/apiAdminRoutesProvider.cjs 3.67 kB │ gzip: 0.62 kB
|
|
131
131
|
dist/cjs/api/rawTlsSignalsMiddleware.cjs 3.84 kB │ gzip: 1.16 kB
|
|
132
132
|
dist/cjs/api/domainMiddleware.cjs 3.85 kB │ gzip: 1.26 kB
|
|
133
133
|
dist/cjs/services/ipComparison.cjs 3.98 kB │ gzip: 1.20 kB
|
|
134
134
|
dist/cjs/tasks/spam/evaluateEmailSpamRules.cjs 4.03 kB │ gzip: 1.60 kB
|
|
135
|
-
dist/cjs/api/captcha/trafficFilterRequestTime.cjs 4.12 kB │ gzip: 1.52 kB
|
|
136
135
|
dist/cjs/tasks/spam/checkSpamEmail.cjs 4.14 kB │ gzip: 1.14 kB
|
|
136
|
+
dist/cjs/api/captcha/trafficFilterRequestTime.cjs 4.17 kB │ gzip: 1.53 kB
|
|
137
137
|
dist/cjs/tasks/puzzle/puzzleRenderer.cjs 4.24 kB │ gzip: 1.51 kB
|
|
138
138
|
dist/cjs/api/hardBlockVerdictCache.cjs 4.27 kB │ gzip: 1.70 kB
|
|
139
|
-
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs 4.44 kB │ gzip: 1.05 kB
|
|
140
139
|
dist/cjs/api/captcha.cjs 4.51 kB │ gzip: 1.40 kB
|
|
140
|
+
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs 4.56 kB │ gzip: 1.07 kB
|
|
141
141
|
dist/cjs/tasks/dnsEvent/enrichDnsEvent.cjs 4.84 kB │ gzip: 1.74 kB
|
|
142
142
|
dist/cjs/index.cjs 4.85 kB │ gzip: 1.01 kB
|
|
143
143
|
dist/cjs/tasks/tasks.cjs 5.07 kB │ gzip: 1.57 kB
|
|
144
144
|
dist/cjs/util/usageCounters.cjs 5.72 kB │ gzip: 2.03 kB
|
|
145
145
|
dist/cjs/tasks/puzzle/puzzleDifficulty.cjs 5.78 kB │ gzip: 2.05 kB
|
|
146
146
|
dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs 6.65 kB │ gzip: 1.87 kB
|
|
147
|
-
dist/cjs/api/captcha/getImageCaptchaChallenge.cjs
|
|
147
|
+
dist/cjs/api/captcha/getImageCaptchaChallenge.cjs 6.98 kB │ gzip: 1.99 kB
|
|
148
148
|
dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs 7.48 kB │ gzip: 2.00 kB
|
|
149
149
|
dist/cjs/api/metrics.cjs 7.51 kB │ gzip: 2.12 kB
|
|
150
150
|
dist/cjs/tasks/spam/checkTrafficFilter.cjs 7.65 kB │ gzip: 2.55 kB
|
|
@@ -154,11 +154,11 @@ dist/cjs/api/startProviderApi.cjs 11
|
|
|
154
154
|
dist/cjs/tasks/client/clientTasks.cjs 11.73 kB │ gzip: 3.04 kB
|
|
155
155
|
dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs 12.32 kB │ gzip: 3.81 kB
|
|
156
156
|
dist/cjs/api/blacklistRequestInspector.cjs 12.41 kB │ gzip: 4.31 kB
|
|
157
|
-
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 12.
|
|
157
|
+
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 12.47 kB │ gzip: 2.26 kB
|
|
158
158
|
dist/cjs/util.cjs 13.25 kB │ gzip: 3.22 kB
|
|
159
159
|
dist/cjs/api/verify.cjs 13.86 kB │ gzip: 2.60 kB
|
|
160
|
-
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 18.
|
|
161
|
-
dist/cjs/tasks/frictionless/frictionlessTasks.cjs 20.
|
|
160
|
+
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 18.33 kB │ gzip: 4.30 kB
|
|
161
|
+
dist/cjs/tasks/frictionless/frictionlessTasks.cjs 20.34 kB │ gzip: 5.38 kB
|
|
162
162
|
dist/cjs/tasks/captchaManager.cjs 22.33 kB │ gzip: 6.35 kB
|
|
163
163
|
dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs 24.03 kB │ gzip: 5.15 kB
|
|
164
164
|
dist/cjs/tasks/powCaptcha/powTasks.cjs 24.84 kB │ gzip: 5.97 kB
|
|
@@ -167,7 +167,7 @@ dist/cjs/tasks/detection/decodeBehavior.cjs 32
|
|
|
167
167
|
dist/cjs/tasks/detection/decodeSimd.cjs 36.03 kB │ gzip: 11.96 kB
|
|
168
168
|
dist/cjs/tasks/detection/decodePayload.cjs 49.79 kB │ gzip: 16.98 kB
|
|
169
169
|
|
|
170
|
-
[32m✓ built in
|
|
170
|
+
[32m✓ built in 113ms[39m
|
|
171
171
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeBehavior.js
|
|
172
172
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodePayload.js
|
|
173
173
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeSimd.js
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@5.6.
|
|
2
|
+
> @prosopo/provider@5.6.4 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
1:56:54 PM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../util/tsconfig.json
|
|
8
8
|
* ../logger/tsconfig.json
|
|
@@ -26,49 +26,49 @@
|
|
|
26
26
|
* ../puzzle-assets/tsconfig.json
|
|
27
27
|
* tsconfig.json
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
1:56:54 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
1:56:54 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
1:56:54 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
1:56:54 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/index.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
1:56:54 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
1:56:54 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
1:56:54 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/index.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
1:56:54 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
1:56:54 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
1:56:54 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
1:56:54 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
1:56:54 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/rule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
1:56:54 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
1:56:54 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/mongoGlobalSetup.ts' is older than output '../database/tsconfig.tsbuildinfo'
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
1:56:54 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
1:56:54 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/index.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
1:56:54 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/index.ts' is older than output '../env/tsconfig.tsbuildinfo'
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
1:56:54 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/testDoubles.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
1:56:54 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
1:56:54 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
1:56:54 PM - Project '../puzzle-assets/tsconfig.json' is up to date because newest input '../puzzle-assets/src/background.ts' is older than output '../puzzle-assets/tsconfig.tsbuildinfo'
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
1:56:54 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
1:56:54 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
|
|
74
74
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@5.6.
|
|
2
|
+
> @prosopo/provider@5.6.4 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/provider@5.6.
|
|
6
|
+
> @prosopo/provider@5.6.4 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -89,7 +89,6 @@ dist/api/admin/apiRemoveSiteKeysEndpoint.js 1.07 k
|
|
|
89
89
|
dist/api/admin/apiRegisterSiteKeysEndpoint.js 1.08 kB │ gzip: 0.50 kB
|
|
90
90
|
dist/api/admin/apiRemoveSiteKeyEndpoint.js 1.08 kB │ gzip: 0.48 kB
|
|
91
91
|
dist/api/block.js 1.08 kB │ gzip: 0.46 kB
|
|
92
|
-
dist/api/captcha/contextAwareValidation.js 1.09 kB │ gzip: 0.45 kB
|
|
93
92
|
dist/schedulers/captchaScheduler.js 1.11 kB │ gzip: 0.48 kB
|
|
94
93
|
dist/utils/normalizeRequestIp.js 1.14 kB │ gzip: 0.52 kB
|
|
95
94
|
dist/pairs.js 1.19 kB │ gzip: 0.58 kB
|
|
@@ -119,6 +118,7 @@ dist/tasks/spam/updateSpamEmailDomains.js 1.87 k
|
|
|
119
118
|
dist/api/admin/apiClearAllCountersEndpoint.js 1.89 kB │ gzip: 0.76 kB
|
|
120
119
|
dist/api/public.js 1.90 kB │ gzip: 0.83 kB
|
|
121
120
|
dist/api/captcha/assignDetectorBundle.js 1.90 kB │ gzip: 0.84 kB
|
|
121
|
+
dist/api/captcha/contextAwareValidation.js 1.99 kB │ gzip: 0.88 kB
|
|
122
122
|
dist/migrations/frictionlessLadder.js 2.12 kB │ gzip: 0.93 kB
|
|
123
123
|
dist/tasks/puzzle/stratifiedSampler.js 2.14 kB │ gzip: 1.07 kB
|
|
124
124
|
dist/tasks/frictionless/routingMachine.js 2.16 kB │ gzip: 0.91 kB
|
|
@@ -132,23 +132,23 @@ dist/api/forwardVerify.js 2.59 k
|
|
|
132
132
|
dist/api/captcha/submitImageCaptchaSolution.js 2.59 kB │ gzip: 1.00 kB
|
|
133
133
|
dist/api/admin/apiAdminRoutesProvider.js 2.78 kB │ gzip: 0.55 kB
|
|
134
134
|
dist/index.js 2.86 kB │ gzip: 0.78 kB
|
|
135
|
-
dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js 3.
|
|
135
|
+
dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js 3.39 kB │ gzip: 1.32 kB
|
|
136
136
|
dist/api/domainMiddleware.js 3.52 kB │ gzip: 1.22 kB
|
|
137
137
|
dist/api/rawTlsSignalsMiddleware.js 3.69 kB │ gzip: 1.13 kB
|
|
138
138
|
dist/tasks/spam/evaluateEmailSpamRules.js 3.84 kB │ gzip: 1.59 kB
|
|
139
|
-
dist/api/captcha/trafficFilterRequestTime.js 3.89 kB │ gzip: 1.49 kB
|
|
140
139
|
dist/tasks/puzzle/puzzleRenderer.js 3.90 kB │ gzip: 1.49 kB
|
|
140
|
+
dist/api/captcha/trafficFilterRequestTime.js 3.94 kB │ gzip: 1.51 kB
|
|
141
141
|
dist/services/ipComparison.js 3.96 kB │ gzip: 1.19 kB
|
|
142
142
|
dist/api/captcha.js 4.05 kB │ gzip: 1.31 kB
|
|
143
143
|
dist/tasks/spam/checkSpamEmail.js 4.12 kB │ gzip: 1.12 kB
|
|
144
144
|
dist/api/hardBlockVerdictCache.js 4.14 kB │ gzip: 1.69 kB
|
|
145
|
-
dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js 4.
|
|
145
|
+
dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js 4.35 kB │ gzip: 1.07 kB
|
|
146
146
|
dist/tasks/tasks.js 4.69 kB │ gzip: 1.51 kB
|
|
147
147
|
dist/tasks/dnsEvent/enrichDnsEvent.js 4.71 kB │ gzip: 1.72 kB
|
|
148
148
|
dist/tasks/puzzle/puzzleDifficulty.js 5.50 kB │ gzip: 2.02 kB
|
|
149
149
|
dist/util/usageCounters.js 5.65 kB │ gzip: 2.01 kB
|
|
150
150
|
dist/api/captcha/getPoWCaptchaChallenge.js 6.02 kB │ gzip: 1.81 kB
|
|
151
|
-
dist/api/captcha/getImageCaptchaChallenge.js 6.
|
|
151
|
+
dist/api/captcha/getImageCaptchaChallenge.js 6.28 kB │ gzip: 1.94 kB
|
|
152
152
|
dist/api/captcha/getPuzzleCaptchaChallenge.js 6.77 kB │ gzip: 1.95 kB
|
|
153
153
|
dist/api/metrics.js 6.96 kB │ gzip: 2.09 kB
|
|
154
154
|
dist/tasks/spam/checkTrafficFilter.js 7.32 kB │ gzip: 2.53 kB
|
|
@@ -156,13 +156,13 @@ dist/tasks/detection/bundlePool.js 8.30 k
|
|
|
156
156
|
dist/api/captcha/submitPoWCaptchaSolution.js 8.37 kB │ gzip: 2.62 kB
|
|
157
157
|
dist/api/startProviderApi.js 9.93 kB │ gzip: 3.42 kB
|
|
158
158
|
dist/tasks/client/clientTasks.js 11.27 kB │ gzip: 3.00 kB
|
|
159
|
-
dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js 11.
|
|
159
|
+
dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js 11.34 kB │ gzip: 2.23 kB
|
|
160
160
|
dist/api/blacklistRequestInspector.js 11.85 kB │ gzip: 4.28 kB
|
|
161
161
|
dist/tasks/decisionMachine/decisionMachineRunner.js 11.93 kB │ gzip: 3.75 kB
|
|
162
162
|
dist/api/verify.js 12.52 kB │ gzip: 2.49 kB
|
|
163
163
|
dist/util.js 12.57 kB │ gzip: 3.17 kB
|
|
164
|
-
dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 17.
|
|
165
|
-
dist/tasks/frictionless/frictionlessTasks.js 19.
|
|
164
|
+
dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 17.12 kB │ gzip: 4.21 kB
|
|
165
|
+
dist/tasks/frictionless/frictionlessTasks.js 19.85 kB │ gzip: 5.35 kB
|
|
166
166
|
dist/tasks/captchaManager.js 21.82 kB │ gzip: 6.29 kB
|
|
167
167
|
dist/tasks/puzzleCaptcha/puzzleTasks.js 22.62 kB │ gzip: 5.11 kB
|
|
168
168
|
dist/tasks/powCaptcha/powTasks.js 23.47 kB │ gzip: 5.93 kB
|
|
@@ -171,7 +171,7 @@ dist/tasks/detection/decodeBehavior.js 32.26 k
|
|
|
171
171
|
dist/tasks/detection/decodeSimd.js 36.06 kB │ gzip: 12.00 kB
|
|
172
172
|
dist/tasks/detection/decodePayload.js 49.69 kB │ gzip: 16.96 kB
|
|
173
173
|
|
|
174
|
-
[32m✓ built in
|
|
174
|
+
[32m✓ built in 103ms[39m
|
|
175
175
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeBehavior.js
|
|
176
176
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodePayload.js
|
|
177
177
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeSimd.js
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,69 @@
|
|
|
1
1
|
# @prosopo/provider
|
|
2
2
|
|
|
3
|
+
## 5.6.4
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- a62b994: Context-aware validation buckets by device type, not just webview.
|
|
7
|
+
|
|
8
|
+
Context-aware validation compares a session's head SimHash against a baseline
|
|
9
|
+
for its context. That context was `default | webview`, which puts a phone and
|
|
10
|
+
a desktop in the same bucket — and those two emit genuinely different
|
|
11
|
+
`<head>`s, so the blended baseline matches neither well. Contexts are now the
|
|
12
|
+
device family crossed with the webview flag: `desktop`, `desktop-webview`,
|
|
13
|
+
`mobile`, `mobile-webview`, `tablet`, `tablet-webview`.
|
|
14
|
+
|
|
15
|
+
`desktop-webview` is included deliberately. Desktop webviews are a real and
|
|
16
|
+
notably fraudulent population here (see the Twickets desktop-webview rules),
|
|
17
|
+
and folding them into the plain `desktop` baseline would let exactly the
|
|
18
|
+
traffic we want excluded define what "normal desktop" looks like.
|
|
19
|
+
|
|
20
|
+
**Classification.** `deviceTypeFromUserAgent` in `@prosopo/types` is a
|
|
21
|
+
dependency-free UA classifier, deliberately not ua-parser-js: this module is
|
|
22
|
+
imported by the browser bundles, and the off-provider entropy sweep has to
|
|
23
|
+
bucket stored sessions *identically* or it writes baselines the decision
|
|
24
|
+
machine never looks up. One shared function keeps the two sides in lockstep.
|
|
25
|
+
Tablets are matched before phones because an iPad's UA carries a
|
|
26
|
+
`Mobile/<build>` token and an Android tablet is exactly "Android without
|
|
27
|
+
Mobile". Known gap, documented at the call site: an iPadOS 13+ Safari in
|
|
28
|
+
desktop mode identifies as a Mac and lands in `desktop` — nothing in the UA
|
|
29
|
+
separates it from a real Mac, and both sides make the same call, which is
|
|
30
|
+
what matters for the lookup.
|
|
31
|
+
|
|
32
|
+
**Back-compat.** `default` and `webview` remain valid `ContextType` members,
|
|
33
|
+
so settings already stored against them keep parsing. `expandContexts` maps a
|
|
34
|
+
legacy `default` onto the three non-webview families and a legacy `webview`
|
|
35
|
+
onto the three webview families, at the threshold they were saved with; an
|
|
36
|
+
explicit device entry always wins over the legacy entry covering it. Nothing
|
|
37
|
+
downstream of settings parsing branches on the legacy keys, and no data
|
|
38
|
+
migration is required.
|
|
39
|
+
|
|
40
|
+
**Behaviour change.** A request whose context is not configured now skips
|
|
41
|
+
context validation instead of borrowing another context's baseline.
|
|
42
|
+
Previously, configuring a single context validated *every* request against it
|
|
43
|
+
— with six contexts that would measure desktop traffic against a tablet
|
|
44
|
+
baseline and reject real users wholesale. `isContextConfigured` is the new
|
|
45
|
+
guard; `determineContextType` now takes the raw request UA alongside the
|
|
46
|
+
webview flag.
|
|
47
|
+
|
|
48
|
+
New site-key registrations default to all six device contexts.
|
|
49
|
+
- a447afa: Per-sitekey `imageMinRounds` alongside the existing `imageMaxRounds`.
|
|
50
|
+
|
|
51
|
+
Every source of an image round count — access-policy rules, traffic-filter categories, routing machines, the staleness curve, and the provider's own heuristics — is now clamped into `[imageMinRounds, imageMaxRounds]` via `clampImageRounds`, so the sitekey's settings override its rules in both directions rather than only capping them. `imageMinRounds` defaults to 2, matching the floor that was previously hard-coded, so existing sitekeys are unaffected.
|
|
52
|
+
- Updated dependencies [a62b994]
|
|
53
|
+
- Updated dependencies [a447afa]
|
|
54
|
+
- @prosopo/types@5.5.3
|
|
55
|
+
- @prosopo/types-database@5.3.4
|
|
56
|
+
- @prosopo/api@4.1.4
|
|
57
|
+
- @prosopo/api-express-router@3.1.80
|
|
58
|
+
- @prosopo/database@4.0.26
|
|
59
|
+
- @prosopo/datasets@3.1.76
|
|
60
|
+
- @prosopo/env@3.6.49
|
|
61
|
+
- @prosopo/ipinfo@0.3.21
|
|
62
|
+
- @prosopo/keyring@2.9.83
|
|
63
|
+
- @prosopo/load-balancer@2.10.38
|
|
64
|
+
- @prosopo/types-env@2.10.43
|
|
65
|
+
- @prosopo/user-access-policy@3.12.32
|
|
66
|
+
|
|
3
67
|
## 5.6.3
|
|
4
68
|
### Patch Changes
|
|
5
69
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ContextType, type IUserSettings } from "@prosopo/types";
|
|
2
|
-
export declare function determineContextType(webView: boolean): ContextType;
|
|
1
|
+
import { type ContextType, type IUserSettings } from "@prosopo/types";
|
|
2
|
+
export declare function determineContextType(userAgent: string | undefined, webView: boolean): ContextType;
|
|
3
|
+
export declare function isContextConfigured(settings: IUserSettings, contextType: ContextType): boolean;
|
|
3
4
|
export declare function getContextThreshold(settings: IUserSettings, contextType: ContextType): number;
|
|
4
5
|
//# sourceMappingURL=contextAwareValidation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextAwareValidation.d.ts","sourceRoot":"","sources":["../../../src/api/captcha/contextAwareValidation.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,WAAW,
|
|
1
|
+
{"version":3,"file":"contextAwareValidation.d.ts","sourceRoot":"","sources":["../../../src/api/captcha/contextAwareValidation.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,aAAa,EAIlB,MAAM,gBAAgB,CAAC;AAcxB,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,OAAO,GACd,WAAW,CAEb;AAWD,wBAAgB,mBAAmB,CAClC,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,WAAW,GACtB,OAAO,CAIT;AAaD,wBAAgB,mBAAmB,CAClC,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,WAAW,GACtB,MAAM,CAGR"}
|
|
@@ -1,26 +1,45 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { contextAwareThresholdDefault, contextTypeFromSession, expandContexts } from "@prosopo/types";
|
|
2
2
|
//#region src/api/captcha/contextAwareValidation.ts
|
|
3
3
|
/**
|
|
4
|
-
* Determines the context
|
|
4
|
+
* Determines the context a request belongs to — its device family crossed
|
|
5
|
+
* with whether it is running in a webview.
|
|
6
|
+
*
|
|
7
|
+
* `userAgent` is the raw header value, not the hashed one carried on the
|
|
8
|
+
* decrypted payload. The entropy sweep classifies stored sessions from the
|
|
9
|
+
* same header through the same function, so the two sides agree on which
|
|
10
|
+
* bucket a session lands in.
|
|
11
|
+
*
|
|
12
|
+
* @param userAgent - Raw `user-agent` request header
|
|
5
13
|
* @param webView - Whether the request is from a WebView
|
|
6
|
-
* @returns The context type (Webview or Default)
|
|
7
14
|
*/
|
|
8
|
-
function determineContextType(webView) {
|
|
9
|
-
return webView
|
|
15
|
+
function determineContextType(userAgent, webView) {
|
|
16
|
+
return contextTypeFromSession(userAgent, webView);
|
|
10
17
|
}
|
|
11
18
|
/**
|
|
12
|
-
*
|
|
19
|
+
* Whether the client has this context configured.
|
|
20
|
+
*
|
|
21
|
+
* A context the customer has not enabled is not validated at all — the
|
|
22
|
+
* request passes through this stage untouched. That is a change from the
|
|
23
|
+
* pre-device-type behaviour, where configuring a single context validated
|
|
24
|
+
* *every* request against it: with six contexts, applying a tablet baseline
|
|
25
|
+
* to desktop traffic would reject real users wholesale.
|
|
26
|
+
*/
|
|
27
|
+
function isContextConfigured(settings, contextType) {
|
|
28
|
+
return expandContexts(settings.contextAware?.contexts)[contextType] !== void 0;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Gets the threshold for a specific context type from client settings.
|
|
32
|
+
*
|
|
33
|
+
* Falls back to the global default when the context is unconfigured, so a
|
|
34
|
+
* caller that skipped `isContextConfigured` still gets a sane number rather
|
|
35
|
+
* than NaN.
|
|
36
|
+
*
|
|
13
37
|
* @param settings - Client settings
|
|
14
38
|
* @param contextType - The context type to get the threshold for
|
|
15
39
|
* @returns The threshold for the context type, or the global threshold if not configured
|
|
16
40
|
*/
|
|
17
41
|
function getContextThreshold(settings, contextType) {
|
|
18
|
-
|
|
19
|
-
if (contextAware === void 0) return contextAwareThresholdDefault;
|
|
20
|
-
const contexts = contextAware.contexts;
|
|
21
|
-
let contextConfig;
|
|
22
|
-
if (contexts !== void 0) contextConfig = contexts[contextType];
|
|
23
|
-
return contextConfig?.threshold ?? contextAwareThresholdDefault;
|
|
42
|
+
return expandContexts(settings.contextAware?.contexts)[contextType]?.threshold ?? contextAwareThresholdDefault;
|
|
24
43
|
}
|
|
25
44
|
//#endregion
|
|
26
|
-
export { determineContextType, getContextThreshold };
|
|
45
|
+
export { determineContextType, getContextThreshold, isContextConfigured };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextAwareValidation.js","sourceRoot":"","sources":["../../../src/api/captcha/contextAwareValidation.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"contextAwareValidation.js","sourceRoot":"","sources":["../../../src/api/captcha/contextAwareValidation.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,4BAA4B,EAC5B,sBAAsB,EACtB,cAAc,GACd,MAAM,gBAAgB,CAAC;AAcxB,MAAM,UAAU,oBAAoB,CACnC,SAA6B,EAC7B,OAAgB;IAEhB,OAAO,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAWD,MAAM,UAAU,mBAAmB,CAClC,QAAuB,EACvB,WAAwB;IAExB,OAAO,CACN,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,KAAK,SAAS,CAC1E,CAAC;AACH,CAAC;AAaD,MAAM,UAAU,mBAAmB,CAClC,QAAuB,EACvB,WAAwB;IAExB,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,IAAI,4BAA4B,CAAC;AACzE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessPolicy.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"accessPolicy.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACN,KAAK,UAAU,EACf,KAAK,SAAS,EAEd,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAI3B,gBAAgB,EAAE,UAAU,GAAG,SAAS,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACrB,CAAC;AAIF,MAAM,MAAM,mBAAmB,GAC5B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACrC;IACA,OAAO,EAAE,KAAK,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;CAChC,CAAC;AAEL,eAAO,MAAM,kBAAkB,UACvB,iBAAiB,OACnB,QAAQ,KACX,OAAO,CAAC,mBAAmB,CA4K7B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FrictionlessReason as FrictionlessReason$1 } from "../../../tasks/frictionless/frictionlessTasks.js";
|
|
2
2
|
import { attachHoneypot } from "./honeypotResponse.js";
|
|
3
|
-
import { CaptchaType } from "@prosopo/types";
|
|
3
|
+
import { CaptchaType, clampImageRounds, resolveImageRoundsBounds } from "@prosopo/types";
|
|
4
4
|
import { describeMatchedRule } from "@prosopo/user-access-policy";
|
|
5
5
|
//#region src/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.ts
|
|
6
6
|
var handleAccessPolicy = async (input, res) => {
|
|
@@ -32,7 +32,7 @@ var handleAccessPolicy = async (input, res) => {
|
|
|
32
32
|
}
|
|
33
33
|
}));
|
|
34
34
|
await tasks.frictionlessManager.registerBlockedSession({
|
|
35
|
-
solvedImagesCount: clientRecord.settings.
|
|
35
|
+
solvedImagesCount: resolveImageRoundsBounds(clientRecord.settings).max,
|
|
36
36
|
userSitekeyIpHash: input.userSitekeyIpHash,
|
|
37
37
|
reason: FrictionlessReason$1.ACCESS_POLICY_BLOCK,
|
|
38
38
|
siteKey: input.dapp,
|
|
@@ -56,7 +56,7 @@ var handleAccessPolicy = async (input, res) => {
|
|
|
56
56
|
}
|
|
57
57
|
}));
|
|
58
58
|
await tasks.frictionlessManager.registerBlockedSession({
|
|
59
|
-
solvedImagesCount: clientRecord.settings.
|
|
59
|
+
solvedImagesCount: resolveImageRoundsBounds(clientRecord.settings).max,
|
|
60
60
|
userSitekeyIpHash: input.userSitekeyIpHash,
|
|
61
61
|
reason: FrictionlessReason$1.AUTO_BAN_SCORE,
|
|
62
62
|
siteKey: input.dapp,
|
|
@@ -88,7 +88,7 @@ var handleAccessPolicy = async (input, res) => {
|
|
|
88
88
|
handled: true,
|
|
89
89
|
response: res.json(await tasks.frictionlessManager.sendImageCaptcha({
|
|
90
90
|
...captchaTypeBaseParams,
|
|
91
|
-
solvedImagesCount: userAccessPolicy.solvedImagesCount ?
|
|
91
|
+
solvedImagesCount: userAccessPolicy.solvedImagesCount ? clampImageRounds(userAccessPolicy.solvedImagesCount, clientRecord.settings) : resolveImageRoundsBounds(clientRecord.settings).max
|
|
92
92
|
}))
|
|
93
93
|
};
|
|
94
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessPolicy.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.ts"],"names":[],"mappings":"AAeA,OAAO,EACN,WAAW,
|
|
1
|
+
{"version":3,"file":"accessPolicy.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decisionMachine.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"AAeA,OAAO,
|
|
1
|
+
{"version":3,"file":"decisionMachine.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"AAeA,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAiBrD,MAAM,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,mBAAmB,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,YAAY,EAAE,MAAM,CAAC;IAIrB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,kBAAkB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAIzC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAI/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,KAAK,aAAa,GAAG;IACpB,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAChC,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;CACnB,CAAC;AAKF,eAAO,MAAM,kBAAkB,UACvB,oBAAoB,UACnB,aAAa,KACnB,OAAO,CAAC,OAAO,CA0VjB,CAAC"}
|