@prosopo/cli 3.8.7 → 3.8.9

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/cli@3.8.7 build:cjs
2
+ > @prosopo/cli@3.8.9 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -27,7 +27,8 @@ ViteCommonJSConfig: .
27
27
  '/home/runner/work/captcha/captcha/packages/captcha-severity/tsconfig.json',
28
28
  '/home/runner/work/captcha/captcha/packages/datasets/tsconfig.json',
29
29
  '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json',
30
- '/home/runner/work/captcha/captcha/packages/puzzle-assets/tsconfig.json'
30
+ '/home/runner/work/captcha/captcha/packages/puzzle-assets/tsconfig.json',
31
+ '/home/runner/work/captcha/captcha/packages/web-bot-auth/tsconfig.json'
31
32
  ]
32
33
  }
33
34
  {
@@ -54,7 +55,8 @@ ViteCommonJSConfig: .
54
55
  '@prosopo/captcha-severity',
55
56
  '@prosopo/datasets',
56
57
  '@prosopo/load-balancer',
57
- '@prosopo/puzzle-assets'
58
+ '@prosopo/puzzle-assets',
59
+ '@prosopo/web-bot-auth'
58
60
  ]
59
61
  }
60
62
  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.
@@ -81,10 +83,10 @@ dist/cjs/reloader.cjs 1.87 kB │ gzip: 0.76 kB
81
83
  dist/cjs/commands/migrateAbuserScoreThreshold.cjs 2.17 kB │ gzip: 0.90 kB
82
84
  dist/cjs/argv.cjs 2.30 kB │ gzip: 0.66 kB
83
85
  dist/cjs/start.cjs 2.45 kB │ gzip: 0.84 kB
84
- dist/cjs/commands/siteKeyRegisterApi.cjs 3.70 kB │ gzip: 1.19 kB
85
- dist/cjs/commands/siteKeyRegister.cjs 4.06 kB │ gzip: 1.22 kB
86
+ dist/cjs/commands/siteKeyRegisterApi.cjs 3.77 kB │ gzip: 1.20 kB
87
+ dist/cjs/commands/siteKeyRegister.cjs 4.13 kB │ gzip: 1.24 kB
86
88
  dist/cjs/prosopo.config.cjs 4.63 kB │ gzip: 1.47 kB
87
- dist/cjs/RateLimiter.cjs 5.58 kB │ gzip: 0.89 kB
89
+ dist/cjs/RateLimiter.cjs 5.78 kB │ gzip: 0.92 kB
88
90
 
89
91
  [EMPTY_IMPORT_META] `import.meta` may not be a valid syntax with the `cjs` output format.
90
92
  ╭─[ src/prosopo.config.ts:56:21 ]
@@ -94,4 +96,4 @@ dist/cjs/RateLimiter.cjs 5.58 kB │ gzip: 0.89 kB
94
96
   │ ╰─────── This `import.meta` will be replaced with an empty object (`{}`) automatically. If this is desired, you can suppress this warning by adding `transform.define: { 'import.meta': {} }`. If `import.meta` needs to be kept as-is, you need to set the output format to `esm`.
95
97
  ────╯
96
98
  
97
- ✓ built in 30ms
99
+ ✓ built in 71ms
@@ -1,8 +1,8 @@
1
1
 
2
- > @prosopo/cli@3.8.7 build:tsc
2
+ > @prosopo/cli@3.8.9 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 8:02:33 PM - Projects in this build:
5
+ 7:32:45 PM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../locale/tsconfig.json
8
8
  * ../util/tsconfig.json
@@ -26,61 +26,64 @@
26
26
  * ../datasets/tsconfig.json
27
27
  * ../load-balancer/tsconfig.json
28
28
  * ../puzzle-assets/tsconfig.json
29
+ * ../web-bot-auth/tsconfig.json
29
30
  * ../provider/tsconfig.json
30
31
  * ../../dev/workspace/tsconfig.json
31
32
  * tsconfig.json
32
33
 
33
- 8:02:33 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'
34
+ 7:32:45 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'
34
35
 
35
- 8:02:33 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
36
+ 7:32:45 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
36
37
 
37
- 8:02:33 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
38
+ 7:32:45 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/util.ts' is older than output '../util/tsconfig.tsbuildinfo'
38
39
 
39
- 8:02:34 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
+ 7:32:45 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
41
 
41
- 8:02:34 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
+ 7:32:45 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
43
 
43
- 8:02:34 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
44
+ 7:32:45 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/tsconfig.tsbuildinfo'
44
45
 
45
- 8:02:34 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
46
+ 7:32:45 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/tests/loggerBrowser.unit.test.ts' is older than output '../logger/tsconfig.tsbuildinfo'
46
47
 
47
- 8:02:34 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
48
+ 7:32:45 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/tests/utils/objectUtils.unit.test.ts' is older than output '../common/tsconfig.tsbuildinfo'
48
49
 
49
- 8:02:34 PM - Project '../dotenv/tsconfig.json' is up to date because newest input '../dotenv/src/index.ts' is older than output '../dotenv/tsconfig.tsbuildinfo'
50
+ 7:32:45 PM - Project '../dotenv/tsconfig.json' is up to date because newest input '../dotenv/src/env.ts' is older than output '../dotenv/tsconfig.tsbuildinfo'
50
51
 
51
- 8:02:34 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
52
+ 7:32:45 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
52
53
 
53
- 8:02:34 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'
54
+ 7:32:45 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'
54
55
 
55
- 8:02:34 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'
56
+ 7:32:45 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'
56
57
 
57
- 8:02:34 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'
58
+ 7:32:45 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'
58
59
 
59
- 8:02:34 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'
60
+ 7:32:45 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'
60
61
 
61
- 8:02:34 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'
62
+ 7:32:45 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'
62
63
 
63
- 8:02:34 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
64
+ 7:32:45 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'
64
65
 
65
- 8:02:34 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'
66
+ 7:32:45 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'
66
67
 
67
- 8:02:34 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
68
+ 7:32:45 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/index.ts' is older than output '../env/tsconfig.tsbuildinfo'
68
69
 
69
- 8:02:34 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'
70
+ 7:32:45 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'
70
71
 
71
- 8:02:34 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'
72
+ 7:32:45 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'
72
73
 
73
- 8:02:34 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
74
+ 7:32:45 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'
74
75
 
75
- 8:02:34 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'
76
+ 7:32:45 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'
76
77
 
77
- 8:02:34 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'
78
+ 7:32:45 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'
78
79
 
79
- 8:02:34 PM - Project '../provider/tsconfig.json' is up to date because newest input '../provider/src/util.ts' is older than output '../provider/tsconfig.tsbuildinfo'
80
+ 7:32:45 PM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/base64.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
80
81
 
81
- 8:02:34 PM - Project '../../dev/workspace/tsconfig.json' is up to date because newest input '../../dev/workspace/src/index.ts' is older than output '../../dev/workspace/tsconfig.tsbuildinfo'
82
+ 7:32:45 PM - Project '../provider/tsconfig.json' is up to date because newest input '../provider/src/utils/devicePlatform.ts' is older than output '../provider/tsconfig.tsbuildinfo'
82
83
 
83
- 8:02:34 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
84
+ 7:32:45 PM - Project '../../dev/workspace/tsconfig.json' is up to date because newest input '../../dev/workspace/src/index.ts' is older than output '../../dev/workspace/tsconfig.tsbuildinfo'
84
85
 
85
- 8:02:34 PM - Building project '/home/runner/work/captcha/captcha/packages/cli/tsconfig.json'...
86
+ 7:32:45 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
87
+
88
+ 7:32:45 PM - Building project '/home/runner/work/captcha/captcha/packages/cli/tsconfig.json'...
86
89
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/cli@3.8.7 build
2
+ > @prosopo/cli@3.8.9 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/cli@3.8.7 build:cross-env
6
+ > @prosopo/cli@3.8.9 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -31,7 +31,8 @@ ViteEsmConfig: .
31
31
  '/home/runner/work/captcha/captcha/packages/captcha-severity/tsconfig.json',
32
32
  '/home/runner/work/captcha/captcha/packages/datasets/tsconfig.json',
33
33
  '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json',
34
- '/home/runner/work/captcha/captcha/packages/puzzle-assets/tsconfig.json'
34
+ '/home/runner/work/captcha/captcha/packages/puzzle-assets/tsconfig.json',
35
+ '/home/runner/work/captcha/captcha/packages/web-bot-auth/tsconfig.json'
35
36
  ]
36
37
  }
37
38
  {
@@ -58,7 +59,8 @@ ViteEsmConfig: .
58
59
  '@prosopo/captcha-severity',
59
60
  '@prosopo/datasets',
60
61
  '@prosopo/load-balancer',
61
- '@prosopo/puzzle-assets'
62
+ '@prosopo/puzzle-assets',
63
+ '@prosopo/web-bot-auth'
62
64
  ]
63
65
  }
64
66
  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.
@@ -85,9 +87,9 @@ dist/reloader.js 1.62 kB │ gzip: 0.69 kB
85
87
  dist/argv.js 1.98 kB │ gzip: 0.59 kB
86
88
  dist/commands/migrateAbuserScoreThreshold.js 2.11 kB │ gzip: 0.89 kB
87
89
  dist/start.js 2.23 kB │ gzip: 0.82 kB
88
- dist/commands/siteKeyRegisterApi.js 3.63 kB │ gzip: 1.19 kB
89
- dist/commands/siteKeyRegister.js 3.91 kB │ gzip: 1.22 kB
90
+ dist/commands/siteKeyRegisterApi.js 3.71 kB │ gzip: 1.21 kB
91
+ dist/commands/siteKeyRegister.js 3.99 kB │ gzip: 1.24 kB
90
92
  dist/prosopo.config.js 4.49 kB │ gzip: 1.48 kB
91
- dist/RateLimiter.js 5.16 kB │ gzip: 0.89 kB
93
+ dist/RateLimiter.js 5.35 kB │ gzip: 0.92 kB
92
94
 
93
- ✓ built in 39ms
95
+ ✓ built in 65ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,46 @@
1
1
  # @prosopo/cli
2
2
 
3
+ ## 3.8.9
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [886b664]
7
+ - Updated dependencies [0c1f301]
8
+ - Updated dependencies [32d286d]
9
+ - @prosopo/provider@5.10.0
10
+ - @prosopo/types@5.8.1
11
+ - @prosopo/env@3.6.54
12
+ - @prosopo/api@4.2.1
13
+ - @prosopo/keyring@2.9.87
14
+
15
+ ## 3.8.8
16
+ ### Patch Changes
17
+
18
+ - af267c2: Web Bot Auth verifier and an authenticated frictionless flow for pre-verified agents.
19
+
20
+ **`@prosopo/web-bot-auth`** — a new package: an RFC 9421 HTTP Message Signatures verifier built on `@noble/curves/ed25519`, with no Cloudflare dependency. It parses `Signature-Agent` in both its bare-string and dictionary forms, resolves the signer's JWKS at `/.well-known/http-message-signatures-directory` honouring the response's cache-control TTL, and verifies the Ed25519 signature over the RFC 9421 signature base.
21
+
22
+ **Provider fast path.** `/captcha/frictionless` returns `captchaType: authenticated` when a non-`deferToVerify` `AccessPolicyType.Allow` rule matches the request's user scope, and writes a session with `serverChecked: false`, `agent: true` and the issuing IP frozen for verify-time binding. Decrypt, bot score and the decision machine are all skipped. A verified `Signature-Agent` is one way to qualify — the userScope gains a `webBotAuthAgent` field, set only when signature verification succeeded so a rule scoped to a signer can never be matched by a spoofed header — but an IP CIDR, JA4, user agent, ASN or country rule qualifies the same way. A `Block` or `Restrict` on the same match set always wins, because severity outranks Allow.
23
+
24
+ **`/client/authenticated/verify`.** A separate router with mandatory IP binding — the operator must forward the client IP (`API.AUTHENTICATED_IP_REQUIRED`) and it must match the one the session was issued to (`API.AUTHENTICATED_IP_MISMATCH`), so a leaked token cannot be replayed from elsewhere. Single use is enforced through `serverChecked`, and `captchaType` is checked so an ordinary captcha token cannot be redeemed on this route. `clientSessionId` correlation goes through the same `isClientSessionMismatch` helper as pow / image / puzzle, so the authenticated path cannot drift from the others.
25
+
26
+ **Surface.** `AccessPolicyType.Allow` and `CaptchaType.authenticated`; `webBotAuthAgent` on the user scope (indexed, normalised at parse time to a lowercase scheme+host with no trailing slash); `Session.agent` / `Session.webBotAuthAgent` for the Traffic view's "pre-verified pass" filter; `submitAuthenticatedCaptchaVerify` on `ProviderApi` and the matching branch in `@prosopo/server.verifyProvider`; `AuthenticatedBadge` and a dispatch branch in `procaptcha-frictionless`.
27
+
28
+ Three fixes the new end-to-end coverage turned up, each of which broke the flow outright:
29
+
30
+ - `ipMatchesSession` compared the operator's parsed IP against the session's composite halves with `===`. A session read back from Mongo carries BSON (`Decimal128`, or `Long` on pre-migration records), not the `bigint` the type claims, so the comparison was false for every session that had been through the database — every legitimate redemption was rejected as `API.AUTHENTICATED_IP_MISMATCH`. Both halves are now normalised before comparison, and an unparseable half fails closed rather than defaulting to `0n`, so garbage still cannot match garbage.
31
+ - `serverChecked` was never written onto the authenticated session, so "never set" and "consumed" were distinguishable only by an absence. It is now written as `false` at issuance.
32
+ - `serverChecked` was missing from `SESSION_PROJECTION`. Left out, the single-use check reads `undefined` and an authenticated token verifies an unlimited number of times.
33
+ - Updated dependencies [929d99b]
34
+ - Updated dependencies [934fa5d]
35
+ - Updated dependencies [27f525e]
36
+ - Updated dependencies [a0c87c7]
37
+ - Updated dependencies [af267c2]
38
+ - @prosopo/types@5.8.0
39
+ - @prosopo/provider@5.9.0
40
+ - @prosopo/api@4.2.0
41
+ - @prosopo/env@3.6.53
42
+ - @prosopo/keyring@2.9.86
43
+
3
44
  ## 3.8.7
4
45
  ### Patch Changes
5
46
 
@@ -103,6 +103,10 @@ export declare const getRateLimitConfig: () => {
103
103
  windowMs: string | undefined;
104
104
  limit: string | undefined;
105
105
  };
106
+ "/v1/prosopo/provider/client/authenticated/verify": {
107
+ windowMs: string | undefined;
108
+ limit: string | undefined;
109
+ };
106
110
  "/v1/prosopo/provider/admin/dns/event": {
107
111
  windowMs: string | undefined;
108
112
  limit: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../src/RateLimiter.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuH9B,CAAC"}
1
+ {"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../src/RateLimiter.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2H9B,CAAC"}
@@ -106,6 +106,10 @@ var getRateLimitConfig = () => {
106
106
  windowMs: process.env.PROSOPO_VERIFY_PUZZLE_CAPTCHA_SOLUTION_WINDOW,
107
107
  limit: process.env.PROSOPO_VERIFY_PUZZLE_CAPTCHA_SOLUTION_LIMIT
108
108
  },
109
+ [ClientApiPaths.VerifyAuthenticatedSession]: {
110
+ windowMs: process.env.PROSOPO_VERIFY_AUTHENTICATED_SESSION_WINDOW,
111
+ limit: process.env.PROSOPO_VERIFY_AUTHENTICATED_SESSION_LIMIT
112
+ },
109
113
  [AdminApiPaths.DnsEvent]: {
110
114
  windowMs: process.env.PROSOPO_DNS_EVENT_WINDOW,
111
115
  limit: process.env.PROSOPO_DNS_EVENT_LIMIT
@@ -1 +1 @@
1
- {"version":3,"file":"RateLimiter.js","sourceRoot":"","sources":["../src/RateLimiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RateLimiter.js","sourceRoot":"","sources":["../src/RateLimiter.ts"],"names":[],"mappings":"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"}