@prosopo/provider 5.5.0 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +10 -9
  2. package/.turbo/turbo-build$colon$tsc.log +25 -25
  3. package/.turbo/turbo-build.log +11 -10
  4. package/CHANGELOG.md +46 -0
  5. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +7 -0
  6. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
  7. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +23 -3
  8. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
  9. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts +2 -0
  10. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -1
  11. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +30 -3
  12. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -1
  13. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  14. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +5 -2
  15. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  16. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -1
  17. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +2 -2
  18. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
  19. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +25 -3
  20. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +29 -2
  21. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +5 -2
  22. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +2 -2
  23. package/dist/cjs/index.cjs +3 -0
  24. package/dist/cjs/migrations/frictionlessLadder.cjs +59 -0
  25. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +3 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/migrations/frictionlessLadder.d.ts +9 -0
  31. package/dist/migrations/frictionlessLadder.d.ts.map +1 -0
  32. package/dist/migrations/frictionlessLadder.js +58 -0
  33. package/dist/migrations/frictionlessLadder.js.map +1 -0
  34. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  35. package/dist/tasks/frictionless/frictionlessTasks.js +3 -1
  36. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  37. package/dist/tasks/frictionless/routingMachine.d.ts +1 -0
  38. package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
  39. package/dist/tasks/frictionless/routingMachine.js.map +1 -1
  40. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +8 -2
  41. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
  42. package/dist/tests/integration/clientSettingsPersistence.integration.test.js +5 -2
  43. package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
  44. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +4 -1
  45. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
  46. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +62 -1
  47. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -1
  48. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js +105 -1
  49. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js.map +1 -1
  50. package/dist/tests/unit/migrations/frictionlessLadder.unit.test.d.ts +2 -0
  51. package/dist/tests/unit/migrations/frictionlessLadder.unit.test.d.ts.map +1 -0
  52. package/dist/tests/unit/migrations/frictionlessLadder.unit.test.js +119 -0
  53. package/dist/tests/unit/migrations/frictionlessLadder.unit.test.js.map +1 -0
  54. package/dist/tests/unit/tasks/captchaManager.unit.test.js +4 -1
  55. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  56. package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.d.ts +2 -0
  57. package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.d.ts.map +1 -0
  58. package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.js +112 -0
  59. package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.js.map +1 -0
  60. package/package.json +13 -13
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/provider@5.5.0 build:cjs
2
+ > @prosopo/provider@5.6.0 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -55,7 +55,7 @@ ViteCommonJSConfig: .
55
55
  vite v8.1.5 building ssr environment for production...
56
56
  Bundle build started
57
57
  
58
- ✓ 104 modules transformed.
58
+ ✓ 105 modules transformed.
59
59
  rendering chunks...
60
60
  computing gzip size...
61
61
  dist/cjs/tasks/index.cjs 0.08 kB │ gzip: 0.07 kB
@@ -65,7 +65,6 @@ dist/cjs/tasks/puzzleCaptcha/puzzleTasksUtils.cjs 0
65
65
  dist/cjs/rules/lang.cjs 0.41 kB │ gzip: 0.24 kB
66
66
  dist/cjs/api/ipInfoMiddleware.cjs 0.42 kB │ gzip: 0.27 kB
67
67
  dist/cjs/api/ignoreMiddleware.cjs 0.44 kB │ gzip: 0.26 kB
68
- dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs 0.46 kB │ gzip: 0.23 kB
69
68
  dist/cjs/api/admin/createApiAdminRoutesProvider.cjs 0.47 kB │ gzip: 0.20 kB
70
69
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.cjs 0.54 kB │ gzip: 0.28 kB
71
70
  dist/cjs/utils/hashUserIp.cjs 0.55 kB │ gzip: 0.34 kB
@@ -97,6 +96,7 @@ dist/cjs/api/admin/apiRemoveAllDecisionMachinesEndpoint.cjs 1
97
96
  dist/cjs/tasks/puzzle/backgroundBuffer.cjs 1.37 kB │ gzip: 0.52 kB
98
97
  dist/cjs/pairs.cjs 1.39 kB │ gzip: 0.60 kB
99
98
  dist/cjs/tasks/dataset/datasetTasksUtils.cjs 1.42 kB │ gzip: 0.49 kB
99
+ dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs 1.42 kB │ gzip: 0.66 kB
100
100
  dist/cjs/utils/clientMetaData.cjs 1.48 kB │ gzip: 0.72 kB
101
101
  dist/cjs/compositeIpAddress.cjs 1.55 kB │ gzip: 0.57 kB
102
102
  dist/cjs/tasks/detection/getBotScore.cjs 1.55 kB │ gzip: 0.55 kB
@@ -116,6 +116,7 @@ dist/cjs/api/captcha/assignDetectorBundle.cjs 2
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
119
+ dist/cjs/migrations/frictionlessLadder.cjs 2.19 kB │ gzip: 0.95 kB
119
120
  dist/cjs/api/admin/apiDnsEventEndpoint.cjs 2.59 kB │ gzip: 1.00 kB
120
121
  dist/cjs/utils/dns.cjs 2.66 kB │ gzip: 1.02 kB
121
122
  dist/cjs/api/forwardVerify.cjs 2.66 kB │ gzip: 1.12 kB
@@ -123,7 +124,7 @@ dist/cjs/api/captcha/checkSpamEmail.cjs 2
123
124
  dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs 2.77 kB │ gzip: 0.99 kB
124
125
  dist/cjs/api/captcha/maintenanceModeResponses.cjs 2.91 kB │ gzip: 0.77 kB
125
126
  dist/cjs/api/captcha/submitImageCaptchaSolution.cjs 2.93 kB │ gzip: 1.03 kB
126
- dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs 3.57 kB │ gzip: 1.33 kB
127
+ dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs 3.64 kB │ gzip: 1.35 kB
127
128
  dist/cjs/api/admin/apiAdminRoutesProvider.cjs 3.67 kB │ gzip: 0.62 kB
128
129
  dist/cjs/api/rawTlsSignalsMiddleware.cjs 3.84 kB │ gzip: 1.16 kB
129
130
  dist/cjs/api/domainMiddleware.cjs 3.85 kB │ gzip: 1.26 kB
@@ -134,8 +135,8 @@ dist/cjs/tasks/spam/checkSpamEmail.cjs 4
134
135
  dist/cjs/api/hardBlockVerdictCache.cjs 4.21 kB │ gzip: 1.67 kB
135
136
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs 4.31 kB │ gzip: 1.03 kB
136
137
  dist/cjs/api/captcha.cjs 4.51 kB │ gzip: 1.40 kB
137
- dist/cjs/index.cjs 4.57 kB │ gzip: 0.96 kB
138
138
  dist/cjs/tasks/dnsEvent/enrichDnsEvent.cjs 4.84 kB │ gzip: 1.74 kB
139
+ dist/cjs/index.cjs 4.85 kB │ gzip: 1.01 kB
139
140
  dist/cjs/tasks/tasks.cjs 5.07 kB │ gzip: 1.57 kB
140
141
  dist/cjs/util/usageCounters.cjs 5.72 kB │ gzip: 2.03 kB
141
142
  dist/cjs/tasks/puzzle/puzzleRenderer.cjs 5.87 kB │ gzip: 2.13 kB
@@ -146,15 +147,15 @@ dist/cjs/api/metrics.cjs 7
146
147
  dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs 7.55 kB │ gzip: 2.35 kB
147
148
  dist/cjs/tasks/spam/checkTrafficFilter.cjs 7.65 kB │ gzip: 2.55 kB
148
149
  dist/cjs/tasks/detection/bundlePool.cjs 8.72 kB │ gzip: 3.26 kB
149
- dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 11.45 kB │ gzip: 2.16 kB
150
150
  dist/cjs/api/startProviderApi.cjs 11.62 kB │ gzip: 3.70 kB
151
151
  dist/cjs/tasks/client/clientTasks.cjs 11.73 kB │ gzip: 3.04 kB
152
152
  dist/cjs/api/blacklistRequestInspector.cjs 12.28 kB │ gzip: 4.29 kB
153
153
  dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs 12.32 kB │ gzip: 3.81 kB
154
+ dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 12.53 kB │ gzip: 2.29 kB
154
155
  dist/cjs/util.cjs 13.25 kB │ gzip: 3.22 kB
155
156
  dist/cjs/api/verify.cjs 13.86 kB │ gzip: 2.60 kB
156
- dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 17.55 kB │ gzip: 4.15 kB
157
- dist/cjs/tasks/frictionless/frictionlessTasks.cjs 18.88 kB │ gzip: 5.03 kB
157
+ dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 17.74 kB │ gzip: 4.19 kB
158
+ dist/cjs/tasks/frictionless/frictionlessTasks.cjs 19.14 kB │ gzip: 5.10 kB
158
159
  dist/cjs/tasks/captchaManager.cjs 22.29 kB │ gzip: 6.34 kB
159
160
  dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs 23.87 kB │ gzip: 5.11 kB
160
161
  dist/cjs/tasks/powCaptcha/powTasks.cjs 24.68 kB │ gzip: 5.94 kB
@@ -163,7 +164,7 @@ dist/cjs/tasks/detection/decodeBehavior.cjs 32
163
164
  dist/cjs/tasks/detection/decodeSimd.cjs 36.03 kB │ gzip: 11.96 kB
164
165
  dist/cjs/tasks/detection/decodePayload.cjs 49.79 kB │ gzip: 16.98 kB
165
166
 
166
- ✓ built in 168ms
167
+ ✓ built in 136ms
167
168
  [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
168
169
  [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
169
170
  [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.5.0 build:tsc
2
+ > @prosopo/provider@5.6.0 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 1:43:47 PM - Projects in this build:
5
+ 6:42:58 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
- 1:43:47 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'
29
+ 6:42:58 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
- 1:43:47 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
31
+ 6:42:58 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
- 1:43:47 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
33
+ 6:42:58 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
- 1:43:47 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'
35
+ 6:42:58 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
36
36
 
37
- 1:43:47 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
37
+ 6:42:58 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
- 1:43:47 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'
39
+ 6:42:58 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
- 1:43:47 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
41
+ 6:42:58 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
42
42
 
43
- 1:43:47 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
43
+ 6:42:58 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/tsconfig.tsbuildinfo'
44
44
 
45
- 1:43:47 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
45
+ 6:42:58 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/types.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
46
46
 
47
- 1:43:47 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'
47
+ 6:42:58 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
- 1:43:47 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/tsconfig.tsbuildinfo'
49
+ 6:42:58 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
- 1:43:47 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
51
+ 6:42:58 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/ruleRecord.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
52
52
 
53
- 1:43:47 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types.test-d.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
53
+ 6:42:58 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
- 1:43:47 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/unit/redisCacheEscalation.unit.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
55
+ 6:42:58 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
- 1:43:47 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.test.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
57
+ 6:42:58 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.test.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
58
58
 
59
- 1:43:47 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'
59
+ 6:42:59 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/env.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
60
60
 
61
- 1:43:47 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/index.ts' is older than output '../env/tsconfig.tsbuildinfo'
61
+ 6:42:59 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
62
62
 
63
- 1:43:47 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'
63
+ 6:42:59 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/errorHandler.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
64
64
 
65
- 1:43:47 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/mocks/data/captchas.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
65
+ 6:42:59 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/mocks/data/captchas.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
66
66
 
67
- 1:43:47 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'
67
+ 6:42:59 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/index.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
68
68
 
69
- 1:43:47 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'
69
+ 6:42:59 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
- 1:43:47 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
71
+ 6:42:59 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
72
72
 
73
- 1:43:47 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
73
+ 6:42:59 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
74
74
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/provider@5.5.0 build
2
+ > @prosopo/provider@5.6.0 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/provider@5.5.0 build:cross-env
6
+ > @prosopo/provider@5.6.0 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -59,7 +59,7 @@ ViteEsmConfig: .
59
59
  vite v8.1.5 building ssr environment for production...
60
60
  Bundle build started
61
61
  
62
- ✓ 104 modules transformed.
62
+ ✓ 105 modules transformed.
63
63
  rendering chunks...
64
64
  computing gzip size...
65
65
  dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
@@ -69,7 +69,6 @@ dist/api/admin/createApiAdminRoutesProvider.js 0.35 k
69
69
  dist/api/robotsMiddleware.js 0.36 kB │ gzip: 0.24 kB
70
70
  dist/tasks/puzzleCaptcha/puzzleTasksUtils.js 0.37 kB │ gzip: 0.24 kB
71
71
  dist/rules/lang.js 0.39 kB │ gzip: 0.24 kB
72
- dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js 0.40 kB │ gzip: 0.23 kB
73
72
  dist/api/ignoreMiddleware.js 0.41 kB │ gzip: 0.26 kB
74
73
  dist/api/ipInfoMiddleware.js 0.41 kB │ gzip: 0.26 kB
75
74
  dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js 0.51 kB │ gzip: 0.27 kB
@@ -99,6 +98,7 @@ dist/schedulers/getClientList.js 1.19 k
99
98
  dist/tasks/puzzle/backgroundBuffer.js 1.20 kB │ gzip: 0.50 kB
100
99
  dist/api/admin/apiGetDecisionMachineEndpoint.js 1.26 kB │ gzip: 0.50 kB
101
100
  dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.js 1.27 kB │ gzip: 0.51 kB
101
+ dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js 1.27 kB │ gzip: 0.63 kB
102
102
  dist/api/admin/apiRemoveDecisionMachineEndpoint.js 1.29 kB │ gzip: 0.51 kB
103
103
  dist/tasks/dataset/datasetTasksUtils.js 1.30 kB │ gzip: 0.48 kB
104
104
  dist/compositeIpAddress.js 1.36 kB │ gzip: 0.55 kB
@@ -119,6 +119,7 @@ dist/tasks/spam/updateSpamEmailDomains.js 1.87 k
119
119
  dist/api/admin/apiClearAllCountersEndpoint.js 1.89 kB │ gzip: 0.76 kB
120
120
  dist/api/public.js 1.90 kB │ gzip: 0.83 kB
121
121
  dist/api/captcha/assignDetectorBundle.js 1.90 kB │ gzip: 0.84 kB
122
+ dist/migrations/frictionlessLadder.js 2.12 kB │ gzip: 0.93 kB
122
123
  dist/tasks/frictionless/routingMachine.js 2.16 kB │ gzip: 0.91 kB
123
124
  dist/api/captcha/maintenanceModeResponses.js 2.16 kB │ gzip: 0.73 kB
124
125
  dist/utils/dns.js 2.36 kB │ gzip: 0.95 kB
@@ -127,9 +128,9 @@ dist/api/captcha/checkSpamEmail.js 2.47 k
127
128
  dist/api/captcha/submitPuzzleCaptchaSolution.js 2.55 kB │ gzip: 0.96 kB
128
129
  dist/api/forwardVerify.js 2.59 kB │ gzip: 1.10 kB
129
130
  dist/api/captcha/submitImageCaptchaSolution.js 2.59 kB │ gzip: 1.00 kB
130
- dist/index.js 2.69 kB │ gzip: 0.74 kB
131
131
  dist/api/admin/apiAdminRoutesProvider.js 2.78 kB │ gzip: 0.55 kB
132
- dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js 3.32 kB │ gzip: 1.30 kB
132
+ dist/index.js 2.86 kB │ gzip: 0.78 kB
133
+ dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js 3.38 kB │ gzip: 1.32 kB
133
134
  dist/api/domainMiddleware.js 3.52 kB │ gzip: 1.22 kB
134
135
  dist/api/rawTlsSignalsMiddleware.js 3.69 kB │ gzip: 1.13 kB
135
136
  dist/tasks/spam/evaluateEmailSpamRules.js 3.84 kB │ gzip: 1.59 kB
@@ -151,14 +152,14 @@ dist/api/captcha/submitPoWCaptchaSolution.js 7.15 k
151
152
  dist/tasks/spam/checkTrafficFilter.js 7.32 kB │ gzip: 2.53 kB
152
153
  dist/tasks/detection/bundlePool.js 8.30 kB │ gzip: 3.21 kB
153
154
  dist/api/startProviderApi.js 9.93 kB │ gzip: 3.42 kB
154
- dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js 10.48 kB │ gzip: 2.13 kB
155
155
  dist/tasks/client/clientTasks.js 11.27 kB │ gzip: 3.00 kB
156
+ dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js 11.51 kB │ gzip: 2.27 kB
156
157
  dist/api/blacklistRequestInspector.js 11.72 kB │ gzip: 4.25 kB
157
158
  dist/tasks/decisionMachine/decisionMachineRunner.js 11.93 kB │ gzip: 3.75 kB
158
159
  dist/api/verify.js 12.52 kB │ gzip: 2.49 kB
159
160
  dist/util.js 12.57 kB │ gzip: 3.17 kB
160
- dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 16.41 kB │ gzip: 4.06 kB
161
- dist/tasks/frictionless/frictionlessTasks.js 18.47 kB │ gzip: 5.01 kB
161
+ dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 16.58 kB │ gzip: 4.11 kB
162
+ dist/tasks/frictionless/frictionlessTasks.js 18.73 kB │ gzip: 5.07 kB
162
163
  dist/tasks/captchaManager.js 21.79 kB │ gzip: 6.28 kB
163
164
  dist/tasks/puzzleCaptcha/puzzleTasks.js 22.49 kB │ gzip: 5.06 kB
164
165
  dist/tasks/powCaptcha/powTasks.js 23.34 kB │ gzip: 5.89 kB
@@ -167,7 +168,7 @@ dist/tasks/detection/decodeBehavior.js 32.26 k
167
168
  dist/tasks/detection/decodeSimd.js 36.06 kB │ gzip: 12.00 kB
168
169
  dist/tasks/detection/decodePayload.js 49.69 kB │ gzip: 16.96 kB
169
170
 
170
- ✓ built in 138ms
171
+ ✓ built in 258ms
171
172
  [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
172
173
  [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
173
174
  [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,51 @@
1
1
  # @prosopo/provider
2
2
 
3
+ ## 5.6.0
4
+ ### Minor Changes
5
+
6
+ - eb34de6: Add a puzzle band to the frictionless flow.
7
+
8
+ `settings.frictionlessThreshold` becomes an object with two rungs instead of a single number:
9
+
10
+ ```
11
+ frictionlessThreshold: {
12
+ frictionlessPuzzleThreshold: 0.5,
13
+ frictionlessImageThreshold: 1.0,
14
+ }
15
+ ```
16
+
17
+ Scores at or below the puzzle rung still pass silently to PoW and scores at or above the image rung still get an image captcha, but everything in between — suspicious without being conclusive — now gets a puzzle rather than being lumped in with the worst traffic.
18
+
19
+ The puzzle rung defaults to the value `frictionlessThreshold` already had, so no site's silent-pass boundary moves. Putting both rungs on the same value opts out of the middle band.
20
+
21
+ A bare number is still accepted wherever the setting is read or parsed, and means what it always meant (the puzzle rung), so records written before this release keep working while they are migrated. Unlike the puzzle rung, the image rung is not capped at 1: the score it is compared against is a total that server-side penalties add to.
22
+
23
+ Image challenges served on the score path are now sized by how many signals fired, rather than a fixed count.
24
+
25
+ ### Patch Changes
26
+
27
+ - Updated dependencies [eb34de6]
28
+ - @prosopo/types-database@5.3.0
29
+ - @prosopo/types@5.5.0
30
+ - @prosopo/database@4.0.22
31
+ - @prosopo/types-env@2.10.39
32
+ - @prosopo/api@4.1.1
33
+ - @prosopo/api-express-router@3.1.76
34
+ - @prosopo/datasets@3.1.73
35
+ - @prosopo/env@3.6.45
36
+ - @prosopo/ipinfo@0.3.18
37
+ - @prosopo/keyring@2.9.80
38
+ - @prosopo/load-balancer@2.10.34
39
+ - @prosopo/user-access-policy@3.12.28
40
+
41
+ ## 5.5.1
42
+ ### Patch Changes
43
+
44
+ - Updated dependencies [5a17a65]
45
+ - @prosopo/database@4.0.21
46
+ - @prosopo/env@3.6.44
47
+ - @prosopo/api-express-router@3.1.75
48
+
3
49
  ## 5.5.0
4
50
  ### Minor Changes
5
51
 
@@ -1,6 +1,13 @@
1
+ import { type IFrictionlessThreshold } from "@prosopo/types";
1
2
  export declare const DEFAULT_FRICTIONLESS_THRESHOLD = 0.5;
3
+ export declare const resolveScoreLadder: (configured: IFrictionlessThreshold | number | undefined) => {
4
+ botThreshold: number;
5
+ botImageThreshold: number;
6
+ };
2
7
  export declare const DECRYPTION_FAILED_IMAGE_ROUNDS = 3;
3
8
  export declare const MISSING_TOKEN_IMAGE_ROUNDS = 3;
4
9
  export declare const MISSING_HEAD_HASH_IMAGE_ROUNDS = 2;
10
+ export declare const MAX_DETECTOR_EXTRA_IMAGE_ROUNDS = 6;
11
+ export declare const getRoundsFromTriggeredDetectors: (base: number, triggeredDetectors: number[] | undefined) => number;
5
12
  export declare const getRoundsFromSimScore: (simScore: number) => number;
6
13
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/constants.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAWlD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAOhD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAM5C,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,eAAO,MAAM,qBAAqB,aAAc,MAAM,KAAG,MAOxD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/constants.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,sBAAsB,EAG3B,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,8BAA8B,MACR,CAAC;AAOpC,eAAO,MAAM,kBAAkB,eAClB,sBAAsB,GAAG,MAAM,GAAG,SAAS,KACrD;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAMnD,CAAC;AAWF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAOhD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAM5C,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAQhD,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAUjD,eAAO,MAAM,+BAA+B,SACrC,MAAM,sBACQ,MAAM,EAAE,GAAG,SAAS,KACtC,MAEwE,CAAC;AAE5E,eAAO,MAAM,qBAAqB,aAAc,MAAM,KAAG,MAOxD,CAAC"}
@@ -1,5 +1,25 @@
1
- //#region src/api/captcha/getFrictionlessCaptchaChallenge/constants.ts
2
- var DEFAULT_FRICTIONLESS_THRESHOLD = .5;
1
+ import { resolveFrictionlessThreshold } from "@prosopo/types";
2
+ /**
3
+ * A client record's configured ladder, in the terms the decision machine
4
+ * compares against. Thin rename over `resolveFrictionlessThreshold`, which
5
+ * owns the tolerance for records written before the ladder existed.
6
+ */
7
+ var resolveScoreLadder = (configured) => {
8
+ const ladder = resolveFrictionlessThreshold(configured);
9
+ return {
10
+ botThreshold: ladder.frictionlessPuzzleThreshold,
11
+ botImageThreshold: ladder.frictionlessImageThreshold
12
+ };
13
+ };
14
+ /**
15
+ * Size an image challenge by how much was actually found. `base` is the
16
+ * sitekey's ordinary image round count; each triggered signal adds a round,
17
+ * capped by `MAX_DETECTOR_EXTRA_IMAGE_ROUNDS`. A session with nothing
18
+ * triggered gets exactly the baseline.
19
+ *
20
+ * The caller is still responsible for clamping to `imageMaxRounds`.
21
+ */
22
+ var getRoundsFromTriggeredDetectors = (base, triggeredDetectors) => base + Math.min(triggeredDetectors?.length ?? 0, 6);
3
23
  var getRoundsFromSimScore = (simScore) => {
4
24
  if (simScore >= .9) return 0;
5
25
  if (simScore >= .8) return 3;
@@ -9,4 +29,4 @@ var getRoundsFromSimScore = (simScore) => {
9
29
  return 8;
10
30
  };
11
31
  //#endregion
12
- export { DEFAULT_FRICTIONLESS_THRESHOLD, getRoundsFromSimScore };
32
+ export { getRoundsFromSimScore, getRoundsFromTriggeredDetectors, resolveScoreLadder };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/constants.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAWlD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAOhD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAM5C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAU,EAAE;IACjE,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC;AACV,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/constants.ts"],"names":[],"mappings":"AAcA,OAAO,EAEN,kCAAkC,EAClC,4BAA4B,GAC5B,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,MAAM,8BAA8B,GAC1C,kCAAkC,CAAC;AAOpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,UAAuD,EACD,EAAE;IACxD,MAAM,MAAM,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACxD,OAAO;QACN,YAAY,EAAE,MAAM,CAAC,2BAA2B;QAChD,iBAAiB,EAAE,MAAM,CAAC,0BAA0B;KACpD,CAAC;AACH,CAAC,CAAC;AAWF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAOhD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAM5C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAQhD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAUjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC9C,IAAY,EACZ,kBAAwC,EAC/B,EAAE,CACX,IAAI;IACJ,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC,EAAE,+BAA+B,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAU,EAAE;IACjE,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC;AACV,CAAC,CAAC"}
@@ -25,6 +25,8 @@ export type DecisionMachineInput = {
25
25
  token: string;
26
26
  headHash: string;
27
27
  botThreshold: number;
28
+ botImageThreshold: number;
29
+ triggeredDetectors: number[] | undefined;
28
30
  currentUrl: string | undefined;
29
31
  iframeUrl: string | undefined;
30
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"decisionMachine.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"AAeA,OAAO,EAGN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,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;AAerD,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;IACjB,YAAY,EAAE,MAAM,CAAC;IAIrB,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,CAqSjB,CAAC"}
1
+ {"version":3,"file":"decisionMachine.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"AAeA,OAAO,EAGN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,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;AAgBrD,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,CAuVjB,CAAC"}
@@ -3,7 +3,7 @@ import { FrictionlessManager, FrictionlessReason as FrictionlessReason$1 } from
3
3
  import { timestampDecayFunction } from "../../../tasks/frictionless/frictionlessTasksUtils.js";
4
4
  import { hashUserAgent } from "../../../utils/hashUserAgent.js";
5
5
  import { attachHoneypot } from "./honeypotResponse.js";
6
- import { getRoundsFromSimScore } from "./constants.js";
6
+ import { getRoundsFromSimScore, getRoundsFromTriggeredDetectors } from "./constants.js";
7
7
  import { determineContextType, getContextThreshold } from "../contextAwareValidation.js";
8
8
  import { ProsopoApiError } from "@prosopo/common";
9
9
  import { CaptchaType, ContextType } from "@prosopo/types";
@@ -149,6 +149,31 @@ var runDecisionMachine = async (input, handle) => {
149
149
  headers: flatHeaders
150
150
  }));
151
151
  }
152
+ const scoredImageRounds = Math.min(getRoundsFromTriggeredDetectors(env.config.captchas.solved.count, input.triggeredDetectors), clientRecord.settings.imageMaxRounds);
153
+ const botImageThreshold = input.botImageThreshold;
154
+ if (botImageThreshold > input.botThreshold && Number(botScore) > input.botThreshold && Number(botScore) < botImageThreshold) {
155
+ req.logger.info(() => ({
156
+ msg: "Frictionless decision",
157
+ data: {
158
+ decision: "bot_score_puzzle_band",
159
+ captchaType: CaptchaType.puzzle,
160
+ botScore,
161
+ botThreshold: input.botThreshold,
162
+ botImageThreshold,
163
+ token: input.token
164
+ }
165
+ }));
166
+ recordFrictionlessDecision("bot_score_puzzle_band");
167
+ attachHoneypot(res, clientRecord);
168
+ return res.json(await tasks.frictionlessManager.sendPuzzleCaptcha({
169
+ solvedImagesCount: scoredImageRounds,
170
+ userSitekeyIpHash,
171
+ reason: FrictionlessReason$1.BOT_SCORE_PUZZLE_BAND,
172
+ siteKey: dapp,
173
+ ipInfo,
174
+ headers: flatHeaders
175
+ }));
176
+ }
152
177
  if (Number(botScore) > input.botThreshold) {
153
178
  req.logger.info(() => ({
154
179
  msg: "Bot score is greater than threshold",
@@ -162,13 +187,15 @@ var runDecisionMachine = async (input, handle) => {
162
187
  msg: "Frictionless decision",
163
188
  data: {
164
189
  decision: "bot_score_above_threshold",
165
- captchaType: CaptchaType.image
190
+ captchaType: CaptchaType.image,
191
+ solvedImagesCount: scoredImageRounds,
192
+ triggeredDetectorCount: input.triggeredDetectors?.length ?? 0
166
193
  }
167
194
  }));
168
195
  recordFrictionlessDecision("bot_score_above_threshold");
169
196
  attachHoneypot(res, clientRecord);
170
197
  return res.json(await tasks.frictionlessManager.sendImageCaptcha({
171
- solvedImagesCount: Math.min(env.config.captchas.solved.count, clientRecord.settings.imageMaxRounds),
198
+ solvedImagesCount: scoredImageRounds,
172
199
  userSitekeyIpHash,
173
200
  reason: FrictionlessReason$1.BOT_SCORE_ABOVE_THRESHOLD,
174
201
  siteKey: dapp,
@@ -1 +1 @@
1
- {"version":3,"file":"decisionMachine.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisionMachine.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAiCtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,wBA2wBG"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAiCtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,wBAixBG"}
@@ -14,7 +14,7 @@ import { buildFrictionlessMaintenanceResponse } from "../maintenanceModeResponse
14
14
  import { applyTrafficFilterAtRequestTime, handleFrictionlessTrafficFilter } from "../trafficFilterRequestTime.js";
15
15
  import { attachHoneypot } from "./honeypotResponse.js";
16
16
  import { handleAccessPolicy } from "./accessPolicy.js";
17
- import "./constants.js";
17
+ import { resolveScoreLadder } from "./constants.js";
18
18
  import { runDecisionMachine } from "./decisionMachine.js";
19
19
  import { decryptIncomingSimdReadings } from "./decryptSimdReadings.js";
20
20
  import { resolveSessionDedup } from "./sessionDedup.js";
@@ -266,7 +266,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
266
266
  }));
267
267
  recordBotScore(botScore);
268
268
  if (triggeredDetectors && triggeredDetectors.length > 0) recordDetectorTriggered(triggeredDetectors);
269
- const botThreshold = clientRecord.settings?.frictionlessThreshold || .5;
269
+ const { botThreshold, botImageThreshold } = resolveScoreLadder(clientRecord.settings?.frictionlessThreshold);
270
270
  let scoreComponents = {
271
271
  baseScore: baseBotScore,
272
272
  ...lScore && { lScore },
@@ -312,6 +312,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
312
312
  ip: normalizedIp,
313
313
  countryCode,
314
314
  score: botScore,
315
+ imageMaxRounds: clientRecord.settings.imageMaxRounds,
315
316
  platform: derivePlatform(safeUserAgent, webView, { ...typeof ipInfoMobile === "boolean" && { isMobile: ipInfoMobile } }),
316
317
  raw: {
317
318
  headers: flatHeaders,
@@ -374,6 +375,8 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
374
375
  token,
375
376
  headHash,
376
377
  botThreshold,
378
+ botImageThreshold,
379
+ triggeredDetectors,
377
380
  currentUrl,
378
381
  iframeUrl
379
382
  }, {