@prosopo/types-database 5.4.0 → 5.5.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.
- package/.turbo/turbo-build$colon$cjs.log +6 -6
- package/.turbo/turbo-build$colon$tsc.log +15 -15
- package/.turbo/turbo-build.log +7 -7
- package/CHANGELOG.md +85 -0
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/types/client.cjs +65 -1
- package/dist/cjs/types/index.cjs +1 -0
- package/dist/cjs/types/provider.cjs +9 -0
- package/dist/index.js +2 -2
- package/dist/types/client.d.ts +507 -6
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client.js +66 -3
- package/dist/types/client.js.map +1 -1
- package/dist/types/index.js +2 -2
- package/dist/types/provider.d.ts +22 -1
- package/dist/types/provider.d.ts.map +1 -1
- package/dist/types/provider.js +9 -0
- package/dist/types/provider.js.map +1 -1
- package/dist/types/schemas.test.js +44 -1
- package/dist/types/schemas.test.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/types-database@5.
|
|
2
|
+
> @prosopo/types-database@5.5.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: .
|
|
@@ -43,9 +43,9 @@ dist/cjs/types/userAgent.cjs 0.00 kB │ gzip: 0.02 kB
|
|
|
43
43
|
dist/cjs/types/bannedDomain.cjs 0.23 kB │ gzip: 0.16 kB
|
|
44
44
|
dist/cjs/types/spamEmailDomain.cjs 0.25 kB │ gzip: 0.17 kB
|
|
45
45
|
dist/cjs/types/captcha.cjs 0.99 kB │ gzip: 0.27 kB
|
|
46
|
-
dist/cjs/types/index.cjs 2.
|
|
47
|
-
dist/cjs/index.cjs 2.
|
|
48
|
-
dist/cjs/types/client.cjs
|
|
49
|
-
dist/cjs/types/provider.cjs
|
|
46
|
+
dist/cjs/types/index.cjs 2.50 kB │ gzip: 0.49 kB
|
|
47
|
+
dist/cjs/index.cjs 2.60 kB │ gzip: 0.54 kB
|
|
48
|
+
dist/cjs/types/client.cjs 8.03 kB │ gzip: 1.67 kB
|
|
49
|
+
dist/cjs/types/provider.cjs 29.10 kB │ gzip: 4.57 kB
|
|
50
50
|
|
|
51
|
-
[32m✓ built in
|
|
51
|
+
[32m✓ built in 46ms[39m
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/types-database@5.
|
|
2
|
+
> @prosopo/types-database@5.5.0 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
11:40:55 AM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../locale/tsconfig.json
|
|
8
8
|
* ../util/tsconfig.json
|
|
@@ -16,29 +16,29 @@
|
|
|
16
16
|
* ../user-access-policy/tsconfig.json
|
|
17
17
|
* tsconfig.json
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
11:40:56 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/vite/vite.backend.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
11:40:56 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
11:40:56 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
11:40:56 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
11:40:56 AM - 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'
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
11:40:56 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
11:40:56 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
11:40:56 AM - 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'
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
11:40:56 AM - 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'
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
11:40:56 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
11:40:56 AM - 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'
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
11:40:56 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
11:40:56 AM - Building project '/home/runner/work/captcha/captcha/packages/types-database/tsconfig.json'...
|
|
44
44
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/types-database@5.
|
|
2
|
+
> @prosopo/types-database@5.5.0 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/types-database@5.
|
|
6
|
+
> @prosopo/types-database@5.5.0 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -48,9 +48,9 @@ dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
|
|
|
48
48
|
dist/types/bannedDomain.js 0.22 kB │ gzip: 0.17 kB
|
|
49
49
|
dist/types/spamEmailDomain.js 0.23 kB │ gzip: 0.17 kB
|
|
50
50
|
dist/types/captcha.js 0.82 kB │ gzip: 0.25 kB
|
|
51
|
-
dist/types/index.js 1.
|
|
52
|
-
dist/index.js 1.
|
|
53
|
-
dist/types/client.js
|
|
54
|
-
dist/types/provider.js 27.
|
|
51
|
+
dist/types/index.js 1.65 kB │ gzip: 0.39 kB
|
|
52
|
+
dist/index.js 1.72 kB │ gzip: 0.42 kB
|
|
53
|
+
dist/types/client.js 7.86 kB │ gzip: 1.71 kB
|
|
54
|
+
dist/types/provider.js 27.95 kB │ gzip: 4.54 kB
|
|
55
55
|
|
|
56
|
-
[32m✓ built in
|
|
56
|
+
[32m✓ built in 68ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,90 @@
|
|
|
1
1
|
# @prosopo/types-database
|
|
2
2
|
|
|
3
|
+
## 5.5.0
|
|
4
|
+
### Minor Changes
|
|
5
|
+
|
|
6
|
+
- af267c2: Web Bot Auth verifier and an authenticated frictionless flow for pre-verified agents.
|
|
7
|
+
|
|
8
|
+
**`@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.
|
|
9
|
+
|
|
10
|
+
**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.
|
|
11
|
+
|
|
12
|
+
**`/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.
|
|
13
|
+
|
|
14
|
+
**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`.
|
|
15
|
+
|
|
16
|
+
Three fixes the new end-to-end coverage turned up, each of which broke the flow outright:
|
|
17
|
+
|
|
18
|
+
- `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.
|
|
19
|
+
- `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.
|
|
20
|
+
- `serverChecked` was missing from `SESSION_PROJECTION`. Left out, the single-use check reads `undefined` and an authenticated token verifies an unlimited number of times.
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- 929d99b: Default `trafficFilter.abuserScoreThreshold` to 0.2.
|
|
25
|
+
|
|
26
|
+
The mongoose default was `0`. The abuser score runs 0..1 with 0 meaning "clean", so a `0` threshold applies the `abuser` category to every IP carrying any non-zero score, which is the widest the field can be set. A site that had never opened the traffic filter got that by default.
|
|
27
|
+
|
|
28
|
+
`trafficFilterAbuserScoreThresholdDefault` moves from 0.5 to 0.2 and `@prosopo/types-database` now reads it instead of its own literal, so the zod default, the mongoose default and the provider's runtime fallbacks (`checkTrafficFilter`, `enrichDnsEvent`) all resolve to one number.
|
|
29
|
+
|
|
30
|
+
`trafficFilter` is optional on `ClientSettingsSchema` and no create-site path sends one, so the mongoose default is what a new site key actually gets — the zod default only applies once a caller supplies a `trafficFilter` object.
|
|
31
|
+
|
|
32
|
+
Existing sites keep whatever value is stored; only records with no value are affected.
|
|
33
|
+
- b2183f9: Fix the client-list poll, which has never carried site settings to a provider.
|
|
34
|
+
|
|
35
|
+
`getUpdatedClients` read `record.sites.siteKey` off the portal's `accounts` documents, where `sites` is an array. That property does not exist on an array, so every record came back as `{ account: undefined }`. `updateClientRecords` upserts filtered on `account`, so a whole poll's worth of sites matched nothing, inserted, and collapsed into a single `account: null` row that each run overwrote. An `as ClientRecord` cast on the mapping is what kept tsc quiet about it.
|
|
36
|
+
|
|
37
|
+
Observed on a production node: `GetClientList` completing every 2 minutes with `clientRecords: 1247`, one `account: null` row in `clients`, and 1,610 site keys still holding settings the portal had changed. Direct registration via the admin `SiteKeyRegister` endpoint was the only path actually updating providers.
|
|
38
|
+
|
|
39
|
+
- `getUpdatedClients` now flattens account → sites and emits one record per site, applying the `updatedAt` cutoff per site rather than relying on the document-level match. The account's `tier` is projected and attached; it was previously projected as `sites.tier`, which does not exist, so `tier` was undefined too.
|
|
40
|
+
- The cast is gone. `getUpdatedClients` returns `IUserDataSlim[]` and `updateClientRecords` accepts it — these are plain objects built from portal documents, never mongoose Documents, and the declared types now say so.
|
|
41
|
+
- `updateClientRecords` drops records with no account and logs the count instead of upserting them, so a future mapping bug cannot silently overwrite one row with every client's settings.
|
|
42
|
+
|
|
43
|
+
Adds an integration test covering the flattening, the per-site cutoff, and the active-user filter; it fails with `account: undefined` against the old mapping.
|
|
44
|
+
- 27f525e: Stop the puzzle difficulty ladder silently replacing a site's own puzzle settings.
|
|
45
|
+
|
|
46
|
+
An escalated puzzle session samples its render settings from a difficulty band, and a sampled band sets every knob — decoy count, edge darkness, hole darken, piece scale and tolerance. While that is happening the site's configured `puzzle` block and `puzzleTolerance` are not consulted at all. For a site using escalation that is the intent; for a site that deliberately configured an easier puzzle it means the settings it saved never render, which reads as "my settings aren't being saved".
|
|
47
|
+
|
|
48
|
+
Two changes:
|
|
49
|
+
|
|
50
|
+
`puzzleMaxDifficulty` is a new client setting — the puzzle counterpart to `imageMaxRounds`. It caps how far automatic escalation may climb the ladder, and `0` pins the site to level 0, the documented "nothing escalated" case where the session is left bare and the site's own settings render every time. It defaults to `MAX_AUTO_ESCALATION_LEVEL`, so sites that never set it keep the behaviour they have.
|
|
51
|
+
|
|
52
|
+
Separately, the paths that measured nothing about a client — `MISSING_TOKEN`, `MISSING_HEAD_HASH` and `DECRYPTION_FAILED` — no longer feed the ladder. Each sizes its challenge from a fixed constant chosen to be short ("prove you're human quickly", per their own comments), not from any signal the client produced, but those constants sit above the default baseline of `DEFAULT_SOLVED_COUNT` and so scored as an escalation. A site whose CSP blocks the detector bundle sends no token on every request, so every one of its users was permanently escalated. `OLD_TIMESTAMP` deliberately keeps the ladder: its round count comes from `timestampDecayFunction`, which scales with staleness and is a real graduated measurement.
|
|
53
|
+
|
|
54
|
+
Explicit router and traffic-filter overrides are unaffected in both cases — an operator naming a value still gets it.
|
|
55
|
+
- Updated dependencies [929d99b]
|
|
56
|
+
- Updated dependencies [934fa5d]
|
|
57
|
+
- Updated dependencies [27f525e]
|
|
58
|
+
- Updated dependencies [af267c2]
|
|
59
|
+
- @prosopo/types@5.8.0
|
|
60
|
+
- @prosopo/user-access-policy@3.14.0
|
|
61
|
+
|
|
62
|
+
## 5.4.1
|
|
63
|
+
### Patch Changes
|
|
64
|
+
|
|
65
|
+
- b6918c0: fix: declare the puzzle render settings on the mongoose user-settings schema
|
|
66
|
+
|
|
67
|
+
`UserSettingsSchema` never declared the `puzzle` block that
|
|
68
|
+
`ClientSettingsSchema` has carried since the puzzle render tunables shipped.
|
|
69
|
+
Mongoose is strict by default, so every site-wide override — decoy count,
|
|
70
|
+
decoy edge/body shading, hole darken, decoy hole darken, piece scale — round
|
|
71
|
+
tripped through zod, reached the database and was silently dropped on write.
|
|
72
|
+
The same omission on `TrafficCategoryPolicySchema` did the same to the
|
|
73
|
+
per-category puzzle overrides a traffic-filter challenge can carry.
|
|
74
|
+
|
|
75
|
+
Identical failure mode to `frictionlessTypes`, which carries the comment
|
|
76
|
+
explaining it. Bounds mirror the zod field schemas, and the block has no
|
|
77
|
+
default so an unconfigured site stays free of an empty subdocument rather
|
|
78
|
+
than gaining one on every save.
|
|
79
|
+
- Updated dependencies [6f57ee9]
|
|
80
|
+
- Updated dependencies [6f57ee9]
|
|
81
|
+
- Updated dependencies [e22d5fb]
|
|
82
|
+
- Updated dependencies [d288371]
|
|
83
|
+
- @prosopo/user-access-policy@3.13.0
|
|
84
|
+
- @prosopo/types@5.7.0
|
|
85
|
+
- @prosopo/common@3.1.54
|
|
86
|
+
- @prosopo/logger@2.0.9
|
|
87
|
+
|
|
3
88
|
## 5.4.0
|
|
4
89
|
### Minor Changes
|
|
5
90
|
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -16,6 +16,7 @@ exports.DecisionMachineArtifactRecordSchema = require_provider.DecisionMachineAr
|
|
|
16
16
|
exports.IPValidationRulesSchema = require_client.IPValidationRulesSchema;
|
|
17
17
|
exports.PoWCaptchaRecordSchema = require_provider.PoWCaptchaRecordSchema;
|
|
18
18
|
exports.PuzzleCaptchaRecordSchema = require_provider.PuzzleCaptchaRecordSchema;
|
|
19
|
+
exports.PuzzleRenderSettingsSchema = require_client.PuzzleRenderSettingsSchema;
|
|
19
20
|
exports.SESSION_PROJECTION = require_provider.SESSION_PROJECTION;
|
|
20
21
|
exports.ScheduledTaskRecordSchema = require_provider.ScheduledTaskRecordSchema;
|
|
21
22
|
exports.ScheduledTaskSchema = require_provider.ScheduledTaskSchema;
|
|
@@ -70,6 +70,55 @@ var IPValidationRulesSchema = new mongoose.Schema({
|
|
|
70
70
|
default: void 0
|
|
71
71
|
}
|
|
72
72
|
});
|
|
73
|
+
var PuzzleRenderSettingsSchema = new mongoose.Schema({
|
|
74
|
+
decoyCount: {
|
|
75
|
+
type: Number,
|
|
76
|
+
min: 0,
|
|
77
|
+
max: 200,
|
|
78
|
+
required: false
|
|
79
|
+
},
|
|
80
|
+
decoyEdgeDarkness: {
|
|
81
|
+
type: Number,
|
|
82
|
+
min: 0,
|
|
83
|
+
max: 40,
|
|
84
|
+
required: false
|
|
85
|
+
},
|
|
86
|
+
decoyBodyBrightness: {
|
|
87
|
+
type: Number,
|
|
88
|
+
min: -20,
|
|
89
|
+
max: 20,
|
|
90
|
+
required: false
|
|
91
|
+
},
|
|
92
|
+
decoyHoleDarken: {
|
|
93
|
+
type: Number,
|
|
94
|
+
min: 0,
|
|
95
|
+
max: 1,
|
|
96
|
+
required: false
|
|
97
|
+
},
|
|
98
|
+
holeDarken: {
|
|
99
|
+
type: Number,
|
|
100
|
+
min: 0,
|
|
101
|
+
max: 1,
|
|
102
|
+
required: false
|
|
103
|
+
},
|
|
104
|
+
pieceScale: {
|
|
105
|
+
type: new mongoose.Schema({
|
|
106
|
+
min: {
|
|
107
|
+
type: Number,
|
|
108
|
+
min: .05,
|
|
109
|
+
max: .95,
|
|
110
|
+
required: false
|
|
111
|
+
},
|
|
112
|
+
max: {
|
|
113
|
+
type: Number,
|
|
114
|
+
min: .05,
|
|
115
|
+
max: .95,
|
|
116
|
+
required: false
|
|
117
|
+
}
|
|
118
|
+
}, { _id: false }),
|
|
119
|
+
required: false
|
|
120
|
+
}
|
|
121
|
+
}, { _id: false });
|
|
73
122
|
var TrafficCategoryPolicySchema = new mongoose.Schema({
|
|
74
123
|
action: {
|
|
75
124
|
type: String,
|
|
@@ -92,6 +141,10 @@ var TrafficCategoryPolicySchema = new mongoose.Schema({
|
|
|
92
141
|
puzzleTolerance: {
|
|
93
142
|
type: Number,
|
|
94
143
|
required: false
|
|
144
|
+
},
|
|
145
|
+
puzzle: {
|
|
146
|
+
type: PuzzleRenderSettingsSchema,
|
|
147
|
+
required: false
|
|
95
148
|
}
|
|
96
149
|
}, { _id: false });
|
|
97
150
|
var UserSettingsSchema = new mongoose.Schema({
|
|
@@ -147,6 +200,16 @@ var UserSettingsSchema = new mongoose.Schema({
|
|
|
147
200
|
type: Number,
|
|
148
201
|
required: false
|
|
149
202
|
},
|
|
203
|
+
puzzleMaxDifficulty: {
|
|
204
|
+
type: Number,
|
|
205
|
+
min: 0,
|
|
206
|
+
max: _prosopo_types.puzzleMaxDifficultyMax,
|
|
207
|
+
required: false
|
|
208
|
+
},
|
|
209
|
+
puzzle: {
|
|
210
|
+
type: PuzzleRenderSettingsSchema,
|
|
211
|
+
required: false
|
|
212
|
+
},
|
|
150
213
|
ipValidationRules: IPValidationRulesSchema,
|
|
151
214
|
domains: {
|
|
152
215
|
type: [String],
|
|
@@ -220,7 +283,7 @@ var UserSettingsSchema = new mongoose.Schema({
|
|
|
220
283
|
type: Number,
|
|
221
284
|
min: 0,
|
|
222
285
|
max: 1,
|
|
223
|
-
default:
|
|
286
|
+
default: _prosopo_types.trafficFilterAbuserScoreThresholdDefault
|
|
224
287
|
},
|
|
225
288
|
datacenter: {
|
|
226
289
|
type: TrafficCategoryPolicySchema,
|
|
@@ -327,6 +390,7 @@ var TableNames = /* @__PURE__ */ function(TableNames) {
|
|
|
327
390
|
//#endregion
|
|
328
391
|
exports.AccountSchema = AccountSchema;
|
|
329
392
|
exports.IPValidationRulesSchema = IPValidationRulesSchema;
|
|
393
|
+
exports.PuzzleRenderSettingsSchema = PuzzleRenderSettingsSchema;
|
|
330
394
|
exports.TableNames = TableNames;
|
|
331
395
|
exports.TrafficCategoryPolicySchema = TrafficCategoryPolicySchema;
|
|
332
396
|
exports.UserDataSchema = UserDataSchema;
|
package/dist/cjs/types/index.cjs
CHANGED
|
@@ -15,6 +15,7 @@ exports.DecisionMachineArtifactRecordSchema = require_provider.DecisionMachineAr
|
|
|
15
15
|
exports.IPValidationRulesSchema = require_client.IPValidationRulesSchema;
|
|
16
16
|
exports.PoWCaptchaRecordSchema = require_provider.PoWCaptchaRecordSchema;
|
|
17
17
|
exports.PuzzleCaptchaRecordSchema = require_provider.PuzzleCaptchaRecordSchema;
|
|
18
|
+
exports.PuzzleRenderSettingsSchema = require_client.PuzzleRenderSettingsSchema;
|
|
18
19
|
exports.SESSION_PROJECTION = require_provider.SESSION_PROJECTION;
|
|
19
20
|
exports.ScheduledTaskRecordSchema = require_provider.ScheduledTaskRecordSchema;
|
|
20
21
|
exports.ScheduledTaskSchema = require_provider.ScheduledTaskSchema;
|
|
@@ -1142,6 +1142,14 @@ var SessionRecordSchema = new mongoose.Schema({
|
|
|
1142
1142
|
type: Boolean,
|
|
1143
1143
|
required: false
|
|
1144
1144
|
},
|
|
1145
|
+
agent: {
|
|
1146
|
+
type: Boolean,
|
|
1147
|
+
required: false
|
|
1148
|
+
},
|
|
1149
|
+
webBotAuthAgent: {
|
|
1150
|
+
type: String,
|
|
1151
|
+
required: false
|
|
1152
|
+
},
|
|
1145
1153
|
simdReadings: {
|
|
1146
1154
|
type: mongoose.Schema.Types.Mixed,
|
|
1147
1155
|
required: false
|
|
@@ -1498,6 +1506,7 @@ var SESSION_PROJECTION = {
|
|
|
1498
1506
|
iframeUrl: 1,
|
|
1499
1507
|
clientMetaData: 1,
|
|
1500
1508
|
captchaType: 1,
|
|
1509
|
+
serverChecked: 1,
|
|
1501
1510
|
synNs: 1,
|
|
1502
1511
|
synackNs: 1,
|
|
1503
1512
|
ackNs: 1,
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./_virtual/_rolldown/runtime.js";
|
|
2
|
-
import { AccountSchema, IPValidationRulesSchema, TableNames, TrafficCategoryPolicySchema, UserDataSchema, UserSettingsSchema } from "./types/client.js";
|
|
2
|
+
import { AccountSchema, IPValidationRulesSchema, PuzzleRenderSettingsSchema, TableNames, TrafficCategoryPolicySchema, UserDataSchema, UserSettingsSchema } from "./types/client.js";
|
|
3
3
|
import { CaptchaRecordSchema, ClientContextEntropyRecordSchema, ClientMetaDataRecordSchemaObj, ClientRecordSchema, CompositeIpAddressRecordSchemaObj, DatasetRecordSchema, DecisionMachineArtifactRecordSchema, PoWCaptchaRecordSchema, PuzzleCaptchaRecordSchema, SESSION_PROJECTION, ScheduledTaskRecordSchema, ScheduledTaskSchema, SessionRecordSchema, SolutionRecordSchema, UserCommitmentRecordSchema, UserSolutionRecordSchema } from "./types/provider.js";
|
|
4
4
|
import { StoredPoWCaptchaRecordSchema, StoredPuzzleCaptchaRecordSchema, StoredSessionRecordSchema, StoredUserCommitmentRecordSchema } from "./types/captcha.js";
|
|
5
5
|
import { SpamEmailDomainRecordSchema } from "./types/spamEmailDomain.js";
|
|
6
6
|
import { BannedDomainRecordSchema } from "./types/bannedDomain.js";
|
|
7
|
-
export { AccountSchema, BannedDomainRecordSchema, CaptchaRecordSchema, ClientContextEntropyRecordSchema, ClientMetaDataRecordSchemaObj, ClientRecordSchema, CompositeIpAddressRecordSchemaObj, DatasetRecordSchema, DecisionMachineArtifactRecordSchema, IPValidationRulesSchema, PoWCaptchaRecordSchema, PuzzleCaptchaRecordSchema, SESSION_PROJECTION, ScheduledTaskRecordSchema, ScheduledTaskSchema, SessionRecordSchema, SolutionRecordSchema, SpamEmailDomainRecordSchema, StoredPoWCaptchaRecordSchema, StoredPuzzleCaptchaRecordSchema, StoredSessionRecordSchema, StoredUserCommitmentRecordSchema, TableNames, TrafficCategoryPolicySchema, UserCommitmentRecordSchema, UserDataSchema, UserSettingsSchema, UserSolutionRecordSchema };
|
|
7
|
+
export { AccountSchema, BannedDomainRecordSchema, CaptchaRecordSchema, ClientContextEntropyRecordSchema, ClientMetaDataRecordSchemaObj, ClientRecordSchema, CompositeIpAddressRecordSchemaObj, DatasetRecordSchema, DecisionMachineArtifactRecordSchema, IPValidationRulesSchema, PoWCaptchaRecordSchema, PuzzleCaptchaRecordSchema, PuzzleRenderSettingsSchema, SESSION_PROJECTION, ScheduledTaskRecordSchema, ScheduledTaskSchema, SessionRecordSchema, SolutionRecordSchema, SpamEmailDomainRecordSchema, StoredPoWCaptchaRecordSchema, StoredPuzzleCaptchaRecordSchema, StoredSessionRecordSchema, StoredUserCommitmentRecordSchema, TableNames, TrafficCategoryPolicySchema, UserCommitmentRecordSchema, UserDataSchema, UserSettingsSchema, UserSolutionRecordSchema };
|