@prosopo/provider 5.7.0 → 5.8.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.
Files changed (52) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +11 -11
  2. package/.turbo/turbo-build$colon$tsc.log +26 -26
  3. package/.turbo/turbo-build.log +13 -13
  4. package/CHANGELOG.md +127 -0
  5. package/dist/api/blacklistRequestInspector.d.ts +4 -3
  6. package/dist/api/blacklistRequestInspector.d.ts.map +1 -1
  7. package/dist/api/blacklistRequestInspector.js +26 -21
  8. package/dist/api/blacklistRequestInspector.js.map +1 -1
  9. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  10. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +6 -6
  11. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  12. package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
  13. package/dist/api/captcha/getImageCaptchaChallenge.js +2 -2
  14. package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
  15. package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -1
  16. package/dist/api/captcha/getPoWCaptchaChallenge.js +2 -2
  17. package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -1
  18. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
  19. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +2 -2
  20. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
  21. package/dist/cjs/api/blacklistRequestInspector.cjs +25 -19
  22. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +5 -5
  23. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +1 -1
  24. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +1 -1
  25. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +1 -1
  26. package/dist/cjs/index.cjs +1 -0
  27. package/dist/cjs/tasks/captchaManager.cjs +3 -3
  28. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +8 -7
  29. package/dist/cjs/util.cjs +5 -1
  30. package/dist/index.js +2 -2
  31. package/dist/tasks/captchaManager.d.ts +1 -1
  32. package/dist/tasks/captchaManager.d.ts.map +1 -1
  33. package/dist/tasks/captchaManager.js +4 -4
  34. package/dist/tasks/captchaManager.js.map +1 -1
  35. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +0 -1
  36. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  37. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +8 -7
  38. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  39. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js +16 -16
  40. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js.map +1 -1
  41. package/dist/tests/integration/api/blacklistRequestInspector.storm.integration.test.js +5 -5
  42. package/dist/tests/integration/api/blacklistRequestInspector.storm.integration.test.js.map +1 -1
  43. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +153 -22
  44. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +1 -1
  45. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +30 -0
  46. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  47. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +8 -38
  48. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
  49. package/dist/util.d.ts.map +1 -1
  50. package/dist/util.js +5 -1
  51. package/dist/util.js.map +1 -1
  52. package/package.json +24 -24
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/provider@5.7.0 build:cjs
2
+ > @prosopo/provider@5.8.1 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -141,34 +141,34 @@ dist/cjs/api/hardBlockVerdictCache.cjs 4
141
141
  dist/cjs/api/captcha.cjs 4.51 kB │ gzip: 1.40 kB
142
142
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs 4.56 kB │ gzip: 1.07 kB
143
143
  dist/cjs/tasks/dnsEvent/enrichDnsEvent.cjs 4.84 kB │ gzip: 1.74 kB
144
- dist/cjs/index.cjs 4.85 kB │ gzip: 1.01 kB
144
+ dist/cjs/index.cjs 4.95 kB │ gzip: 1.03 kB
145
145
  dist/cjs/tasks/tasks.cjs 5.07 kB │ gzip: 1.57 kB
146
146
  dist/cjs/util/usageCounters.cjs 5.72 kB │ gzip: 2.03 kB
147
- dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs 6.65 kB │ gzip: 1.87 kB
148
- dist/cjs/api/captcha/getImageCaptchaChallenge.cjs 6.98 kB │ gzip: 1.99 kB
147
+ dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs 6.73 kB │ gzip: 1.89 kB
148
+ dist/cjs/api/captcha/getImageCaptchaChallenge.cjs 7.06 kB │ gzip: 2.01 kB
149
149
  dist/cjs/tasks/spam/checkTrafficFilter.cjs 7.47 kB │ gzip: 2.48 kB
150
- dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs 7.48 kB │ gzip: 2.00 kB
151
150
  dist/cjs/api/metrics.cjs 7.51 kB │ gzip: 2.12 kB
151
+ dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs 7.56 kB │ gzip: 2.03 kB
152
152
  dist/cjs/tasks/detection/bundlePool.cjs 8.72 kB │ gzip: 3.26 kB
153
153
  dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs 8.93 kB │ gzip: 2.68 kB
154
154
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 10.33 kB │ gzip: 1.82 kB
155
155
  dist/cjs/api/startProviderApi.cjs 11.62 kB │ gzip: 3.70 kB
156
156
  dist/cjs/tasks/client/clientTasks.cjs 11.73 kB │ gzip: 3.04 kB
157
157
  dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs 12.32 kB │ gzip: 3.81 kB
158
- dist/cjs/api/blacklistRequestInspector.cjs 12.38 kB │ gzip: 4.27 kB
159
- dist/cjs/util.cjs 13.25 kB │ gzip: 3.22 kB
158
+ dist/cjs/api/blacklistRequestInspector.cjs 13.02 kB │ gzip: 4.39 kB
159
+ dist/cjs/util.cjs 13.33 kB │ gzip: 3.24 kB
160
160
  dist/cjs/api/verify.cjs 13.81 kB │ gzip: 2.58 kB
161
- dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 18.33 kB │ gzip: 4.30 kB
161
+ dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 18.52 kB │ gzip: 4.32 kB
162
162
  dist/cjs/tasks/frictionless/frictionlessTasks.cjs 20.29 kB │ gzip: 5.36 kB
163
- dist/cjs/tasks/captchaManager.cjs 22.33 kB │ gzip: 6.35 kB
163
+ dist/cjs/tasks/captchaManager.cjs 22.43 kB │ gzip: 6.38 kB
164
164
  dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs 24.03 kB │ gzip: 5.15 kB
165
165
  dist/cjs/tasks/powCaptcha/powTasks.cjs 24.84 kB │ gzip: 5.97 kB
166
- dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 28.20 kB │ gzip: 6.41 kB
166
+ dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 27.96 kB │ gzip: 6.37 kB
167
167
  dist/cjs/tasks/detection/decodeBehavior.cjs 32.24 kB │ gzip: 10.32 kB
168
168
  dist/cjs/tasks/detection/decodeSimd.cjs 36.03 kB │ gzip: 11.96 kB
169
169
  dist/cjs/tasks/detection/decodePayload.cjs 49.79 kB │ gzip: 16.98 kB
170
170
 
171
- ✓ built in 209ms
171
+ ✓ built in 104ms
172
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/cjs/tasks/detection/decodeBehavior.js
173
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/cjs/tasks/detection/decodePayload.js
174
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/cjs/tasks/detection/decodeSimd.js
@@ -1,8 +1,8 @@
1
1
 
2
- > @prosopo/provider@5.7.0 build:tsc
2
+ > @prosopo/provider@5.8.1 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 10:40:18 PM - Projects in this build:
5
+ 8:02:29 PM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../util/tsconfig.json
8
8
  * ../logger/tsconfig.json
@@ -27,51 +27,51 @@
27
27
  * ../puzzle-assets/tsconfig.json
28
28
  * tsconfig.json
29
29
 
30
- 10:40:18 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/vite/NodejsPolarsNativeFilePlugin.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
30
+ 8:02:29 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/vite/NodejsPolarsNativeFilePlugin.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
31
31
 
32
- 10:40:18 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
32
+ 8:02:29 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
33
33
 
34
- 10:40:18 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/logger.ts' is older than output '../logger/tsconfig.tsbuildinfo'
34
+ 8:02:29 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
35
35
 
36
- 10:40:18 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
+ 8:02:29 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/tests/apiRoute.unit.test.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
37
37
 
38
- 10:40:18 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
38
+ 8:02:29 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
39
39
 
40
- 10:40:18 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
+ 8:02:29 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'
41
41
 
42
- 10:40:18 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
+ 8:02:29 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'
43
43
 
44
- 10:40:18 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/tests/utils/batches.unit.test.ts' is older than output '../common/tsconfig.tsbuildinfo'
44
+ 8:02:29 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
45
45
 
46
- 10:40:18 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
46
+ 8:02:29 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
47
47
 
48
- 10:40:18 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
+ 8:02:29 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/tests/testRedisConnection.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
49
49
 
50
- 10:40:18 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/tsconfig.tsbuildinfo'
50
+ 8:02:29 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
51
51
 
52
- 10:40:18 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
+ 8:02:29 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'
53
53
 
54
- 10:40:18 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/captcha.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
54
+ 8:02:29 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'
55
55
 
56
- 10:40:18 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'
56
+ 8:02:29 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/unit/captchaLabel.unit.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
57
57
 
58
- 10:40:18 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/pair/decode.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
58
+ 8:02:29 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
59
59
 
60
- 10:40:18 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
+ 8:02:29 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'
61
61
 
62
- 10:40:18 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/tests/env.maintenance.unit.test.ts' is older than output '../env/tsconfig.tsbuildinfo'
62
+ 8:02:29 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
63
63
 
64
- 10:40:18 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/apiExpressRouterFactory.unit.test.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
64
+ 8:02:29 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/middlewares/requestLoggerMiddleware.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
65
65
 
66
- 10:40:18 PM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.test.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
66
+ 8:02:29 PM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.test.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
67
67
 
68
- 10:40:18 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
68
+ 8:02:29 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
69
69
 
70
- 10:40:18 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'
70
+ 8:02:29 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'
71
71
 
72
- 10:40:18 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'
72
+ 8:02:29 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'
73
73
 
74
- 10:40:18 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
74
+ 8:02:29 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
75
75
 
76
- 10:40:18 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
76
+ 8:02:29 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
77
77
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/provider@5.7.0 build
2
+ > @prosopo/provider@5.8.1 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/provider@5.7.0 build:cross-env
6
+ > @prosopo/provider@5.8.1 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -33,6 +33,7 @@ ViteEsmConfig: .
33
33
  ]
34
34
  }
35
35
  {
36
+ The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
36
37
  externals: [
37
38
  '@prosopo/api-route',
38
39
  '@prosopo/logger',
@@ -57,7 +58,6 @@ ViteEsmConfig: .
57
58
  '@prosopo/puzzle-assets'
58
59
  ]
59
60
  }
60
- The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
61
61
  vite v8.1.5 building ssr environment for production...
62
62
  Bundle build started
63
63
  
@@ -133,7 +133,7 @@ dist/api/captcha/submitPuzzleCaptchaSolution.js 2.55 k
133
133
  dist/api/forwardVerify.js 2.59 kB │ gzip: 1.10 kB
134
134
  dist/api/captcha/submitImageCaptchaSolution.js 2.59 kB │ gzip: 1.00 kB
135
135
  dist/api/admin/apiAdminRoutesProvider.js 2.78 kB │ gzip: 0.55 kB
136
- dist/index.js 2.86 kB │ gzip: 0.78 kB
136
+ dist/index.js 2.92 kB │ gzip: 0.80 kB
137
137
  dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js 3.39 kB │ gzip: 1.32 kB
138
138
  dist/api/domainMiddleware.js 3.52 kB │ gzip: 1.22 kB
139
139
  dist/api/rawTlsSignalsMiddleware.js 3.69 kB │ gzip: 1.13 kB
@@ -148,9 +148,9 @@ dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js 4.35 k
148
148
  dist/tasks/tasks.js 4.69 kB │ gzip: 1.51 kB
149
149
  dist/tasks/dnsEvent/enrichDnsEvent.js 4.71 kB │ gzip: 1.72 kB
150
150
  dist/util/usageCounters.js 5.65 kB │ gzip: 2.01 kB
151
- dist/api/captcha/getPoWCaptchaChallenge.js 6.02 kB │ gzip: 1.81 kB
152
- dist/api/captcha/getImageCaptchaChallenge.js 6.28 kB │ gzip: 1.94 kB
153
- dist/api/captcha/getPuzzleCaptchaChallenge.js 6.77 kB │ gzip: 1.95 kB
151
+ dist/api/captcha/getPoWCaptchaChallenge.js 6.09 kB │ gzip: 1.83 kB
152
+ dist/api/captcha/getImageCaptchaChallenge.js 6.35 kB │ gzip: 1.96 kB
153
+ dist/api/captcha/getPuzzleCaptchaChallenge.js 6.84 kB │ gzip: 1.97 kB
154
154
  dist/api/metrics.js 6.96 kB │ gzip: 2.09 kB
155
155
  dist/tasks/spam/checkTrafficFilter.js 7.16 kB │ gzip: 2.45 kB
156
156
  dist/tasks/detection/bundlePool.js 8.30 kB │ gzip: 3.21 kB
@@ -158,21 +158,21 @@ dist/api/captcha/submitPoWCaptchaSolution.js 8.41 k
158
158
  dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js 9.36 kB │ gzip: 1.80 kB
159
159
  dist/api/startProviderApi.js 9.93 kB │ gzip: 3.42 kB
160
160
  dist/tasks/client/clientTasks.js 11.27 kB │ gzip: 3.00 kB
161
- dist/api/blacklistRequestInspector.js 11.79 kB │ gzip: 4.24 kB
162
161
  dist/tasks/decisionMachine/decisionMachineRunner.js 11.93 kB │ gzip: 3.75 kB
162
+ dist/api/blacklistRequestInspector.js 12.38 kB │ gzip: 4.35 kB
163
163
  dist/api/verify.js 12.48 kB │ gzip: 2.48 kB
164
- dist/util.js 12.57 kB │ gzip: 3.17 kB
165
- dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 17.12 kB │ gzip: 4.21 kB
164
+ dist/util.js 12.65 kB │ gzip: 3.18 kB
165
+ dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 17.27 kB │ gzip: 4.23 kB
166
166
  dist/tasks/frictionless/frictionlessTasks.js 19.77 kB │ gzip: 5.32 kB
167
- dist/tasks/captchaManager.js 21.82 kB │ gzip: 6.29 kB
167
+ dist/tasks/captchaManager.js 21.92 kB │ gzip: 6.32 kB
168
168
  dist/tasks/puzzleCaptcha/puzzleTasks.js 22.62 kB │ gzip: 5.11 kB
169
169
  dist/tasks/powCaptcha/powTasks.js 23.47 kB │ gzip: 5.93 kB
170
- dist/tasks/imgCaptcha/imgCaptchaTasks.js 26.67 kB │ gzip: 6.34 kB
170
+ dist/tasks/imgCaptcha/imgCaptchaTasks.js 26.44 kB │ gzip: 6.30 kB
171
171
  dist/tasks/detection/decodeBehavior.js 32.26 kB │ gzip: 10.34 kB
172
172
  dist/tasks/detection/decodeSimd.js 36.06 kB │ gzip: 12.00 kB
173
173
  dist/tasks/detection/decodePayload.js 49.69 kB │ gzip: 16.96 kB
174
174
 
175
- ✓ built in 143ms
175
+ ✓ built in 101ms
176
176
  [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
177
177
  [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
178
178
  [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,132 @@
1
1
  # @prosopo/provider
2
2
 
3
+ ## 5.8.1
4
+ ### Patch Changes
5
+
6
+ - 162f591: Make the MaxMind fallback answer lookups instead of silently failing all of them.
7
+
8
+ `MaxMindBackend` was configured with `cityDbPath` pointing at `GeoLite2-Country.mmdb` (`MAXMIND_DB_PATH`), and only ever called `city()`. `Reader.open()` accepts any valid `.mmdb`, so the reader opened, `isAvailable()` reported `true`, and the backend advertised itself as a working fallback — but `city()` checks `metadata.databaseType` and throws `BadMethodCallError` against a Country database. The throw was swallowed at `debug` level, `asnReader` was never configured because nothing read a path for it, and every lookup fell through to `{ isValid: false, error: "No MaxMind data available for IP" }`.
9
+
10
+ The failure was invisible for as long as ipapi.is was up, because `IpInfoService` only reaches MaxMind when the ipapi.is lookup fails. When the self-hosted ipapi.is sidecar went down on five production provider nodes, IP lookups did not degrade to MaxMind — they failed outright, and `compareIPs` returned "Failed to lookup both IP addresses" for every request whose challenge IP differed from its solution IP.
11
+
12
+ Three changes:
13
+
14
+ - `MaxMindBackend` latches the database kind on the first `BadMethodCallError` and uses `country()` from then on, so a Country database yields country and country code rather than nothing. The latch means the rejection is constructed once per process, not once per request, and a genuine City database never pays for a second lookup. The mismatch is logged once at `warn` with the offending path, because silent degradation is what let this sit unnoticed.
15
+ - `maxmindAsnDbPath` is read from `MAXMIND_ASN_DB_PATH`. The image has downloaded `GeoLite2-ASN.mmdb` alongside City and Country since the Dockerfile was written, but nothing ever opened it, so the fallback could not name a provider or an AS number.
16
+ - `deepValidateIpAddress` logs `ip1Error` and `ip2Error` alongside the top-level comparison error. "Failed to lookup both IP addresses" on its own does not distinguish an IP that is absent from the database from a backend that is down, and diagnosing the difference meant going onto the host.
17
+
18
+ Deployments should also point `MAXMIND_DB_PATH` at `GeoLite2-City.mmdb`, which the image already ships: country-level data is enough for geoblocking but carries no coordinates, so the IP distance rule cannot run against it.
19
+ - 9149dff: fix(provider): give the routing machine the request user agent, not the hashed one
20
+
21
+ `decryptPayload` returns `userAgent` already hashed — it exists so
22
+ `runUserAgentMismatchCheck` can compare it against `hashUserAgent(request UA)`.
23
+ The frictionless handler was also passing that hash into `derivePlatform` and
24
+ `raw.userAgent` on the routing context, so every UA-derived signal the routing
25
+ machine sees was computed from a 32-character hex digest.
26
+
27
+ `platform.isApple` was therefore always false on the fresh frictionless path.
28
+ Not usually — always: the regex matches `iPhone` / `iPad` / `Macintosh`, and
29
+ every one of those contains a letter outside `[0-9a-f]`, so no hash can match.
30
+ The UA fallback inside `isMobile` was dead for the same reason and only worked
31
+ when ipInfo supplied the bit.
32
+
33
+ The dedup replay a few hundred lines above already read
34
+ `req.headers["user-agent"]` directly, so the two paths disagreed about the same
35
+ request. The fresh path now reads the header too. The hashed value is untouched
36
+ where it belongs — it still goes to the decision machine for the mismatch check.
37
+
38
+ Two live consequences, both of which restore intended behaviour:
39
+
40
+ - `pow-baseline-apple-passthrough` in the global routing machine could never
41
+ fire on a fresh session. Apple devices on a PoW baseline fell through to the
42
+ rate ladder and were escalated to image captchas on volume alone. This is
43
+ what put a genuine iPhone — bot score 0.219 against a 0.5 threshold, zero
44
+ triggered detectors — into an image challenge.
45
+ - `isUndeclaredMiddlebox` in the shared route checks gates on
46
+ `isAppleUa(raw.userAgent)`, so the `UNDECLARED_VPN_TCP_STACK` escalation was
47
+ unreachable on that path. It is not new or untested logic — it already fires
48
+ on the paths that carry the real UA — it simply becomes reachable here too.
49
+
50
+ Rules classifying on `platform.osNameIn` / `browserNameIn` / `deviceTypeIn` were
51
+ misclassifying on this path for the same reason, and now resolve correctly.
52
+
53
+ Covered by a regression test that asserts the routing context receives the real
54
+ user agent and resolves `isApple` for an iPhone UA; it fails against the old
55
+ code with `isApple: false`.
56
+ - Updated dependencies [8a63ea3]
57
+ - Updated dependencies [162f591]
58
+ - @prosopo/database@4.0.29
59
+ - @prosopo/ipinfo@0.3.24
60
+ - @prosopo/env@3.6.52
61
+ - @prosopo/api-express-router@3.1.83
62
+
63
+ ## 5.8.0
64
+ ### Minor Changes
65
+
66
+ - e22d5fb: Add an arbitrary-header match dimension to user access policies.
67
+
68
+ A `Block` or `Restrict` rule can now target a named request header with an `equals`, `contains`, `notEquals`, `notContains`, `notEqualsAny` or `notContainsAny` operator. The negated operators back the portal's allow-list mode — block unless the header matches; the `*Any` pair carries a list of accepted values in `headerValue` so an allow-list over several values of the same header fires only when the header matches none of them (separate single-value rules would each fire on the other's value and block everything). Because substring `contains` and per-rule operators can't be expressed as a Redis TAG query — and an allow-list rule must still fire on a request that omits the header — the header condition is carried on the rule as `headerName`/`headerValue`/`headerOperator` and evaluated in code against the raw request headers, while an indexed `headerMatch` sentinel makes every header rule a matching candidate for every request. Header rules contribute one point to rule specificity ranking, mirroring the other scalar dimensions.
69
+
70
+ The raw request headers are a **required** argument of `getPrioritisedAccessRule` / `CaptchaManager.getPrioritisedAccessPolicies`, with no default. A negated header operator treats a missing header as "does not match", so a lookup that quietly ran with an empty header map would fire every allow-list rule on every request. Every lookup now passes them: the request-time block middleware, the verify-path hard-block check, the `/frictionless` policy and dedup lookups, and the image / PoW / puzzle challenge endpoints.
71
+
72
+ `getPrioritisedAccessRule` now caches only the candidate fetch and ranks per request, because the header verdict depends on data that is not part of the cache key. This also closes a latent gap where `os` was never part of `hardBlockCacheKey`, so a cached ranked list could serve one operating system's verdict to a request from another.
73
+
74
+ ### Patch Changes
75
+
76
+ - 6f57ee9: chore(deps-dev): bump @types/uuid from 10.0.0 to 11.0.0
77
+ - 6f57ee9: chore(deps): bump the npm-minor-and-patch group across 1 directory with 3 updates
78
+ - c59f8a6: Remove the account-wide commitment fallback from image captcha verification.
79
+
80
+ `verifyImageCaptchaSolution` fell back to `getDappUserCommitmentByAccount` when
81
+ the token carried no `commitmentId`, returning the first *approved* commitment
82
+ in the account's history — any age, any session.
83
+
84
+ That fallback predates the Procaptcha token (#1263, 2024-06-06), which has
85
+ carried `commitmentId` on every image solve since; `Manager.ts` sets it
86
+ unconditionally for this captcha type, and it is `optional()` on the schema only
87
+ because PoW shares the token shape and identifies its work by `challenge`.
88
+
89
+ It could only ever return the wrong record. For a returning user whose current
90
+ solve was not yet approved it produced an approved commitment from an earlier
91
+ visit, which carries no `clientSessionId`, so the session correlation compared
92
+ the live id against `undefined` and reported `CLIENT_SESSION_MISMATCH` — a token
93
+ replay that never happened. Observed in production at scale on the image
94
+ path while PoW, which resolves its exact challenge record, was unaffected.
95
+
96
+ Verification now requires a `commitmentId` and returns
97
+ `API.USER_NOT_VERIFIED_NO_SOLUTION` without one. A token that names no
98
+ commitment cannot be verified against one.
99
+ - Updated dependencies [f8a41fe]
100
+ - Updated dependencies [6f57ee9]
101
+ - Updated dependencies [6f57ee9]
102
+ - Updated dependencies [6f57ee9]
103
+ - Updated dependencies [6f57ee9]
104
+ - Updated dependencies [e22d5fb]
105
+ - Updated dependencies [9386e5e]
106
+ - Updated dependencies [6fd727c]
107
+ - Updated dependencies [b6918c0]
108
+ - Updated dependencies [d288371]
109
+ - @prosopo/database@4.0.28
110
+ - @prosopo/user-access-policy@3.13.0
111
+ - @prosopo/native-ja4@0.0.5
112
+ - @prosopo/native-merkle@0.0.5
113
+ - @prosopo/types@5.7.0
114
+ - @prosopo/util@3.3.9
115
+ - @prosopo/puzzle-assets@0.1.4
116
+ - @prosopo/types-database@5.4.1
117
+ - @prosopo/env@3.6.51
118
+ - @prosopo/api@4.1.6
119
+ - @prosopo/api-express-router@3.1.82
120
+ - @prosopo/api-route@2.6.58
121
+ - @prosopo/common@3.1.54
122
+ - @prosopo/datasets@3.1.78
123
+ - @prosopo/ipinfo@0.3.23
124
+ - @prosopo/keyring@2.9.85
125
+ - @prosopo/load-balancer@2.10.40
126
+ - @prosopo/logger@2.0.9
127
+ - @prosopo/redis-client@1.0.35
128
+ - @prosopo/types-env@2.10.45
129
+
3
130
  ## 5.7.0
4
131
  ### Minor Changes
5
132
 
@@ -4,8 +4,9 @@ import type { IProviderDatabase } from "@prosopo/types-database";
4
4
  import { type AccessRule, type AccessRulesStorage, type UserScope, type UserScopeRecord } from "@prosopo/user-access-policy";
5
5
  import type { NextFunction, Request, Response } from "express";
6
6
  import { HardBlockVerdictCache } from "./hardBlockVerdictCache.js";
7
- export declare const getRequestUserScope: (requestHeaders: Record<string, unknown>, ja4?: string, ip?: string, user?: string, headHash?: string, coords?: string, countryCode?: string, asn?: number) => Pick<UserScopeRecord, "userId" | "ja4Hash" | "userAgent" | "ip" | "headHash" | "coords" | "countryCode" | "asn" | "os" | "browser">;
8
- export declare const rankCandidateRules: (rules: AccessRule[], request: UserScope, requestClientId: string | undefined) => AccessRule[];
7
+ export declare const getRequestUserScope: (requestHeaders: Record<string, unknown>, ja4?: string, ip?: string, user?: string, headHash?: string, coords?: string, countryCode?: string, asn?: number) => Pick<UserScopeRecord, "userId" | "ja4Hash" | "userAgent" | "ip" | "headHash" | "coords" | "countryCode" | "asn" | "os" | "browser" | "headerMatch">;
8
+ export declare const normalizeHeadersForMatching: (headers: Record<string, unknown>) => Record<string, string>;
9
+ export declare const rankCandidateRules: (rules: AccessRule[], request: UserScope, requestClientId: string | undefined, requestHeaders: Record<string, string>) => AccessRule[];
9
10
  export declare const getVerdictCache: () => HardBlockVerdictCache;
10
11
  export type GetPrioritisedAccessRuleOptions = {
11
12
  blockOnly?: boolean;
@@ -13,7 +14,7 @@ export type GetPrioritisedAccessRuleOptions = {
13
14
  requestMemoHost?: object;
14
15
  skipCache?: boolean;
15
16
  };
16
- export declare const getPrioritisedAccessRule: (userAccessRulesStorage: AccessRulesStorage, userScope: UserScope | UserScopeRecord, clientId?: string, options?: GetPrioritisedAccessRuleOptions) => Promise<AccessRule[]>;
17
+ export declare const getPrioritisedAccessRule: (userAccessRulesStorage: AccessRulesStorage, userScope: UserScope | UserScopeRecord, clientId: string | undefined, requestHeaders: Record<string, string>, options?: GetPrioritisedAccessRuleOptions) => Promise<AccessRule[]>;
17
18
  export declare class BlacklistRequestInspector {
18
19
  private readonly userAccessRulesStorage;
19
20
  private readonly environmentReadinessWaiter;
@@ -1 +1 @@
1
- {"version":3,"file":"blacklistRequestInspector.d.ts","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAKN,KAAK,cAAc,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAEN,KAAK,UAAU,EACf,KAAK,kBAAkB,EAEvB,KAAK,SAAS,EACd,KAAK,eAAe,EAMpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EACN,qBAAqB,EAErB,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,mBAAmB,mBACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QACjC,MAAM,OACP,MAAM,SACJ,MAAM,aACF,MAAM,WACR,MAAM,gBACD,MAAM,QACd,MAAM,KACV,IAAI,CACN,eAAe,EACb,QAAQ,GACR,SAAS,GACT,WAAW,GACX,IAAI,GACJ,UAAU,GACV,QAAQ,GACR,aAAa,GACb,KAAK,GACL,IAAI,GACJ,SAAS,CAoBX,CAAC;AAkLF,eAAO,MAAM,kBAAkB,UACvB,UAAU,EAAE,WACV,SAAS,mBACD,MAAM,GAAG,SAAS,KACjC,UAAU,EAWT,CAAC;AAoCL,eAAO,MAAM,eAAe,QAAO,qBAAqC,CAAC;AAuBzE,MAAM,MAAM,+BAA+B,GAAG;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IAIpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,wBAAwB,2BACZ,kBAAkB,aAC/B,SAAS,GAAG,eAAe,aAC3B,MAAM,YACP,+BAA+B,KACvC,OAAO,CAAC,UAAU,EAAE,CAmEtB,CAAC;AAEF,qBAAa,yBAAyB;IAEpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAQ3C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBATH,sBAAsB,EAAE,kBAAkB,EAC1C,0BAA0B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAQ/C,EAAE,CAAC,EAAE,iBAAiB,YAAA;IAG3B,2BAA2B,CACvC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC;IA2CH,kBAAkB,CAC9B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC;IAkHnB,OAAO,CAAC,mBAAmB;IAiG3B,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInD,SAAS,CAAC,qBAAqB,CAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC;QACF,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B;IAcD,SAAS,CAAC,cAAc,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,GACT,OAAO;CAGV"}
1
+ {"version":3,"file":"blacklistRequestInspector.d.ts","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { recordBlockedRequest } from "./metrics.js";
4
4
  import { ApiPrefix, CaptchaStatus, CaptchaType, FrictionlessReason, ResultReason } from "@prosopo/types";
5
5
  import { randomUUID } from "node:crypto";
6
6
  import { captchaPolicySeverity } from "@prosopo/captcha-severity";
7
- import { AccessPolicyType, FilterScopeMatch, classifyBrowser, classifyOs, describeMatchedRule, makeAccessRuleHash, userScopeInput } from "@prosopo/user-access-policy";
7
+ import { AccessPolicyType, FilterScopeMatch, HEADER_RULE_MARKER, accessRuleHeaderMatches, classifyBrowser, classifyOs, describeMatchedRule, makeAccessRuleHash, userScopeInput } from "@prosopo/user-access-policy";
8
8
  //#region src/api/blacklistRequestInspector.ts
9
9
  var getRequestUserScope = (requestHeaders, ja4, ip, user, headHash, coords, countryCode, asn) => {
10
10
  const userAgent = requestHeaders["user-agent"] ? requestHeaders["user-agent"].toString() : void 0;
@@ -18,9 +18,16 @@ var getRequestUserScope = (requestHeaders, ja4, ip, user, headHash, coords, coun
18
18
  ...countryCode && { countryCode },
19
19
  ...typeof asn === "number" && { asn },
20
20
  os: classifyOs(userAgent),
21
- browser: classifyBrowser(userAgent)
21
+ browser: classifyBrowser(userAgent),
22
+ headerMatch: HEADER_RULE_MARKER
22
23
  };
23
24
  };
25
+ var normalizeHeadersForMatching = (headers) => {
26
+ const out = {};
27
+ for (const [key, value] of Object.entries(headers)) if (typeof value === "string") out[key.toLowerCase()] = value;
28
+ else if (Array.isArray(value)) out[key.toLowerCase()] = value.map((v) => String(v)).join(", ");
29
+ return out;
30
+ };
24
31
  var SCALAR_USER_SCOPE_FIELDS = [
25
32
  "userId",
26
33
  "ja4Hash",
@@ -31,7 +38,8 @@ var SCALAR_USER_SCOPE_FIELDS = [
31
38
  "countryCode",
32
39
  "asn",
33
40
  "os",
34
- "browser"
41
+ "browser",
42
+ "headerMatch"
35
43
  ];
36
44
  var deriveRuleType = (rule) => {
37
45
  const fields = [];
@@ -53,14 +61,15 @@ var ruleIpMatchesRequest = (rule, requestIp) => {
53
61
  if (rule.numericIp !== void 0) return requestIp === rule.numericIp;
54
62
  return requestIp >= rule.numericIpMaskMin && requestIp <= rule.numericIpMaskMax;
55
63
  };
56
- var ruleApplies = (rule, request, requestClientId) => {
64
+ var ruleApplies = (rule, request, requestClientId, requestHeaders) => {
57
65
  if (rule.clientId !== void 0 && rule.clientId !== requestClientId) return false;
58
66
  for (const field of SCALAR_USER_SCOPE_FIELDS) {
59
67
  const ruleValue = rule[field];
60
68
  if (ruleValue === void 0) continue;
61
69
  if (ruleValue !== request[field]) return false;
62
70
  }
63
- return ruleIpMatchesRequest(rule, request.numericIp);
71
+ if (!ruleIpMatchesRequest(rule, request.numericIp)) return false;
72
+ return accessRuleHeaderMatches(rule, requestHeaders);
64
73
  };
65
74
  var ruleSpecificity = (rule, requestClientId) => {
66
75
  let score = 0;
@@ -84,7 +93,7 @@ var ruleHarshness = (rule) => {
84
93
  * Restrict[puzzle] > Restrict[pow]. Client-scoped rules outrank global rules
85
94
  * of equal user-scope specificity.
86
95
  */
87
- var rankCandidateRules = (rules, request, requestClientId) => rules.filter((rule) => ruleApplies(rule, request, requestClientId)).sort((a, b) => {
96
+ var rankCandidateRules = (rules, request, requestClientId, requestHeaders) => rules.filter((rule) => ruleApplies(rule, request, requestClientId, requestHeaders)).sort((a, b) => {
88
97
  const specDelta = ruleSpecificity(b, requestClientId) - ruleSpecificity(a, requestClientId);
89
98
  if (specDelta !== 0) return specDelta;
90
99
  return ruleHarshness(b) - ruleHarshness(a);
@@ -123,7 +132,7 @@ var getOrCreateRequestMemo = (requestMemoHost) => {
123
132
  }
124
133
  return memo;
125
134
  };
126
- var getPrioritisedAccessRule = async (userAccessRulesStorage, userScope, clientId, options) => {
135
+ var getPrioritisedAccessRule = async (userAccessRulesStorage, userScope, clientId, requestHeaders, options) => {
127
136
  const parsedUserScope = userScopeInput.parse(userScope);
128
137
  const blockOnly = options?.blockOnly ?? false;
129
138
  const includeDeferred = options?.includeDeferred ?? false;
@@ -131,10 +140,7 @@ var getPrioritisedAccessRule = async (userAccessRulesStorage, userScope, clientI
131
140
  const requestMemoHost = options?.requestMemoHost;
132
141
  const cacheKey = hardBlockCacheKey(clientId, parsedUserScope, blockOnly, includeDeferred);
133
142
  const requestMemo = requestMemoHost ? getOrCreateRequestMemo(requestMemoHost) : void 0;
134
- if (requestMemo !== void 0) {
135
- const memoHit = requestMemo.get(cacheKey);
136
- if (memoHit !== void 0) return memoHit;
137
- }
143
+ const memoHit = requestMemo?.get(cacheKey);
138
144
  const filter = {
139
145
  ...clientId && { policyScope: { clientId } },
140
146
  policyScopeMatch: FilterScopeMatch.Greedy,
@@ -143,14 +149,13 @@ var getPrioritisedAccessRule = async (userAccessRulesStorage, userScope, clientI
143
149
  ...blockOnly && { blockOnly: true },
144
150
  ...includeDeferred && { includeDeferred: true }
145
151
  };
146
- const compute = async () => {
147
- return rankCandidateRules(await userAccessRulesStorage.findRules(filter, true, true), parsedUserScope, clientId);
148
- };
149
- let ranked;
150
- if (skipCache) ranked = await compute();
151
- else ranked = await verdictCache.getOrCompute(cacheKey, compute);
152
- requestMemo?.set(cacheKey, ranked);
153
- return ranked;
152
+ const compute = async () => userAccessRulesStorage.findRules(filter, true, true);
153
+ let candidates;
154
+ if (memoHit !== void 0) candidates = memoHit;
155
+ else if (skipCache) candidates = await compute();
156
+ else candidates = await verdictCache.getOrCompute(cacheKey, compute);
157
+ requestMemo?.set(cacheKey, candidates);
158
+ return rankCandidateRules(candidates, parsedUserScope, clientId, requestHeaders);
154
159
  };
155
160
  var BlacklistRequestInspector = class {
156
161
  constructor(userAccessRulesStorage, environmentReadinessWaiter, db) {
@@ -189,7 +194,7 @@ var BlacklistRequestInspector = class {
189
194
  const { userId, clientId } = this.extractIdsFromRequest(requestHeaders, requestBody);
190
195
  const countryCode = ipInfo?.isValid ? ipInfo.countryCode : void 0;
191
196
  const asn = ipInfo?.isValid ? ipInfo.asnNumber : void 0;
192
- const enforceable = (await getPrioritisedAccessRule(this.userAccessRulesStorage, getRequestUserScope(requestHeaders, ja4, rawIp, userId, void 0, void 0, countryCode, asn), clientId, {
197
+ const enforceable = (await getPrioritisedAccessRule(this.userAccessRulesStorage, getRequestUserScope(requestHeaders, ja4, rawIp, userId, void 0, void 0, countryCode, asn), clientId, normalizeHeadersForMatching(requestHeaders), {
193
198
  blockOnly: true,
194
199
  requestMemoHost
195
200
  }) ?? []).filter((p) => !p.deferToVerify);
@@ -301,4 +306,4 @@ var BlacklistRequestInspector = class {
301
306
  }
302
307
  };
303
308
  //#endregion
304
- export { BlacklistRequestInspector, getPrioritisedAccessRule, getRequestUserScope, getVerdictCache, rankCandidateRules };
309
+ export { BlacklistRequestInspector, getPrioritisedAccessRule, getRequestUserScope, getVerdictCache, normalizeHeadersForMatching, rankCandidateRules };
@@ -1 +1 @@
1
- {"version":3,"file":"blacklistRequestInspector.js","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blacklistRequestInspector.js","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.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;8BAoCtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,wBAwyBG"}
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;8BAuCtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,wBA8yBG"}