@prosopo/types 4.3.1 → 4.4.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/types@4.3.1 build:cjs
2
+ > @prosopo/types@4.4.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: .
@@ -55,13 +55,13 @@ rendering chunks...
55
55
  dist/cjs/config/index.cjs  2.82 kB
56
56
  dist/cjs/api/params.cjs  3.04 kB
57
57
  dist/cjs/client/index.cjs  3.12 kB
58
- dist/cjs/decisionMachine/index.cjs  3.60 kB
58
+ dist/cjs/decisionMachine/index.cjs  3.61 kB
59
59
  dist/cjs/procaptcha/token.cjs  3.69 kB
60
60
  dist/cjs/provider/index.cjs  4.57 kB
61
61
  dist/cjs/datasets/captcha.cjs  5.10 kB
62
62
  dist/cjs/config/config.cjs  9.30 kB
63
- dist/cjs/client/settings.cjs  9.34 kB
64
- dist/cjs/provider/database.cjs  9.62 kB
63
+ dist/cjs/client/settings.cjs  9.58 kB
64
+ dist/cjs/provider/database.cjs 10.31 kB
65
65
  dist/cjs/index.cjs 14.32 kB
66
- dist/cjs/provider/api.cjs 20.65 kB
67
- ✓ built in 614ms
66
+ dist/cjs/provider/api.cjs 20.18 kB
67
+ ✓ built in 215ms
@@ -1,23 +1,23 @@
1
1
 
2
- > @prosopo/types@4.3.1 build:tsc
2
+ > @prosopo/types@4.4.1 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 10:12:58 AM - Projects in this build:
5
+ 11:33:47 AM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../locale/tsconfig.json
8
8
  * ../util/tsconfig.json
9
9
  * ../util-crypto/tsconfig.json
10
10
  * tsconfig.json
11
11
 
12
- 10:12:58 AM - 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'
12
+ 11:33:47 AM - 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'
13
13
 
14
- 10:12:58 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/util.ts' is older than output '../locale/tsconfig.tsbuildinfo'
14
+ 11:33:47 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
15
15
 
16
- 10:12:58 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
16
+ 11:33:47 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
17
17
 
18
- 10:12:58 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'
18
+ 11:33:47 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'
19
19
 
20
- 10:12:58 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
20
+ 11:33:47 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
21
21
 
22
- 10:12:58 AM - Building project '/home/runner/work/captcha/captcha/packages/types/tsconfig.json'...
22
+ 11:33:47 AM - Building project '/home/runner/work/captcha/captcha/packages/types/tsconfig.json'...
23
23
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/types@4.3.1 build
2
+ > @prosopo/types@4.4.1 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/types@4.3.1 build:cross-env
6
+ > @prosopo/types@4.4.1 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -60,12 +60,12 @@ rendering chunks...
60
60
  dist/provider/reasons.js  2.61 kB
61
61
  dist/procaptcha/token.js  2.90 kB
62
62
  dist/api/params.js  2.95 kB
63
- dist/decisionMachine/index.js  3.00 kB
63
+ dist/decisionMachine/index.js  3.01 kB
64
64
  dist/provider/index.js  3.60 kB
65
65
  dist/datasets/captcha.js  4.29 kB
66
- dist/client/settings.js  8.15 kB
67
- dist/provider/database.js  8.84 kB
66
+ dist/client/settings.js  8.40 kB
68
67
  dist/config/config.js  8.98 kB
68
+ dist/provider/database.js  9.51 kB
69
69
  dist/index.js 11.12 kB
70
- dist/provider/api.js 18.09 kB
71
- ✓ built in 542ms
70
+ dist/provider/api.js 17.66 kB
71
+ ✓ built in 565ms
@@ -1,4 +1,4 @@
1
1
 
2
- > @prosopo/types@4.3.1 typecheck
2
+ > @prosopo/types@4.4.1 typecheck
3
3
  > tsc --project tsconfig.types.json
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,69 @@
1
1
  # @prosopo/types
2
2
 
3
+ ## 4.4.1
4
+ ### Patch Changes
5
+
6
+ - f69724f: Expose `ipInfo` to the verify-phase decision machine. The frictionless DM already gets the full `IPInfoResponse`; the verify-phase DM was only receiving `countryCode`, so rules that need `isDatacenter`, `isVPN`, `isAbuser`, `asnNumber` etc. couldn't run at submission time.
7
+
8
+ `DecisionMachineInput` now carries an optional `ipInfo` field (alongside `countryCode`, which is kept for backwards compatibility). The three verify-phase call sites — `powTasks`, `puzzleTasks`, `imgCaptchaTasks` — forward `challengeRecord.ipInfo` / `solution.ipInfo` into the input.
9
+
10
+ This unblocks rules like:
11
+ ```
12
+ if (input.behavioralDataPacked &&
13
+ !input.behavioralDataPacked.c1.length &&
14
+ !input.behavioralDataPacked.c2.length &&
15
+ !input.behavioralDataPacked.c3.length &&
16
+ input.ipInfo?.isDatacenter) return Deny;
17
+ ```
18
+ which catches the datacenter-class bots (Sparkle, Versatel, OVH) that submit empty `behavioralDataPacked` — observed at 100% empty-bDP across a 21-row Sparkle sample, versus 1–3% in genuine traffic.
19
+ - 3973078: Track every lifecycle timestamp on every captcha type, and switch the dapp-verify recency check from issuance→verify to **submit→verify** with the window sourced from per-client settings.
20
+
21
+ ### Lifecycle timestamps
22
+
23
+ `StoredCaptcha` (the base shared by PoW, Puzzle, and Image/UserCommitment) gains three new fields:
24
+
25
+ - `submittedAtTimestamp` — set once on the first user-submission write, never overwritten.
26
+ - `verifiedAtTimestamp` — set once when the dapp first calls /verify, never overwritten.
27
+ - `failedAtTimestamp` — set once on the first non-approved terminal state, never overwritten.
28
+
29
+ `lastUpdatedTimestamp` keeps its "last write of any kind" meaning. The new fields use `$ifNull` in aggregation-pipeline updates so the stamp lands only on the first transition — concurrent or repeat writes are no-ops on the lifecycle stamps.
30
+
31
+ ### Submit→verify window
32
+
33
+ The dapp-verify recency check used to be `now - challengeTimestamp <= timeout`. The window was issuance→verify, which gave bots room to stockpile pre-solved solutions and redeem them many seconds (sometimes minutes) later from the time they reached the provider.
34
+
35
+ The check is now `now - challengeRecord.submittedAtTimestamp <= clientSettings.verifiedTimeout`. The window measures from the moment the user's solution actually arrived. Combined with the new lifecycle fields, this measurably tightens the stockpile attack surface — the data showed 1564 records / 21% on Twickets where a correct PoW was submitted but the dapp never verified, p99 issuance→submit of 31s on that cohort, and records up to 1.26 min.
36
+
37
+ ### Settings move
38
+
39
+ `verifiedTimeout` moves to `ClientSettingsSchema` (per-client, operator-set via the portal). Default stays at 120000ms for back-compat; auto-submit dapps (Twickets et al.) should set it to ~10000ms.
40
+
41
+ Removed from request bodies entirely:
42
+
43
+ - `ServerPowCaptchaVerifyRequestBody`
44
+ - `ServerPuzzleCaptchaVerifyRequestBody`
45
+ - `SubmitPowCaptchaSolutionBody`
46
+ - `SubmitPuzzleCaptchaSolutionBody`
47
+
48
+ The client field was client-controlled and unsigned — any caller could raise the recency ceiling. It's now server-determined.
49
+
50
+ `ProviderApiInterface.submitPow/PuzzleCaptchaSolution` lose their `timeout` parameter (no longer forwarded). The verify wrappers keep their `recencyLimit` parameter for caller back-compat but the value is no longer transmitted; server reads from the client settings instead.
51
+
52
+ ### Migration
53
+
54
+ Pre-PR records with `userSubmitted=true` but no `submittedAtTimestamp` will fail the new recency check. The submit window is short (120s default verifiedTimeout) so the migration cliff is naturally bounded — records in flight at deploy time expire within ~2 minutes.
55
+
56
+ 348 provider unit tests + 28 database tests pass.
57
+
58
+ ## 4.4.0
59
+ ### Minor Changes
60
+
61
+ - bc3813d: Surface dnsEvent observations across the verify and frictionless flows. Each verify path now enriches the session's dnsEvent IPs once and passes the result to the traffic filter, decision machine, IP validation, and usage counters. Adds `scoreComponents.dnsAsymmetry` (Zod + TS interface + mongoose) computed from resolver / peer ipInfo plus path validity, with the score patched onto the session at DNS event ingest time so it weights subsequent reads. Adds `CounterDimension.peerIp` for rate-limit keys keyed on the dnsEvent peer IP.
62
+
63
+ ### Patch Changes
64
+
65
+ - 4d05e3f: Add `ipInfo` and `parsedUserAgentInfo` to the Zod `UserCommitmentSchema` so the provider stops silently stripping them on the write path. Mirrors the existing fields on `PoWCaptchaStoredSchema` and `SessionSchema`.
66
+
3
67
  ## 4.3.1
4
68
  ### Patch Changes
5
69
 
package/dist/api/api.d.ts CHANGED
@@ -10,14 +10,14 @@ export interface ProviderApiInterface {
10
10
  submitCaptchaSolution(captchas: CaptchaSolution[], requestHash: string, userAccount: string, timestamp: string, providerRequestHashSignature: string, userRequestHashSignature: string, behavioralData?: string, simdReadings?: string, clientMetaData?: ClientMetaData): Promise<CaptchaSolutionResponse>;
11
11
  verifyDappUser(token: ProcaptchaToken, signature: string, userAccount: string, maxVerifiedTime?: number): Promise<ImageVerificationResponse>;
12
12
  getPowCaptchaChallenge(userAccount: string, dappAccount: string, sessionId?: string, simdReadings?: string): Promise<GetPowCaptchaResponse>;
13
- submitPowCaptchaSolution(challenge: GetPowCaptchaResponse, userAccount: string, dappAccount: string, nonce: number, userTimestampSignature: string, timeout?: number, behavioralData?: string, salt?: string, simdReadings?: string, clientMetaData?: ClientMetaData): Promise<PowCaptchaSolutionResponse>;
13
+ submitPowCaptchaSolution(challenge: GetPowCaptchaResponse, userAccount: string, dappAccount: string, nonce: number, userTimestampSignature: string, behavioralData?: string, salt?: string, simdReadings?: string, clientMetaData?: ClientMetaData): Promise<PowCaptchaSolutionResponse>;
14
14
  getPuzzleCaptchaChallenge(userAccount: string, dappAccount: string, sessionId?: string, simdReadings?: string): Promise<GetPuzzleCaptchaResponse>;
15
15
  submitPuzzleCaptchaSolution(challenge: GetPuzzleCaptchaResponse, userAccount: string, dappAccount: string, finalX: number, finalY: number, puzzleEvents: Array<{
16
16
  x: number;
17
17
  y: number;
18
18
  t: number;
19
- }>, userTimestampSignature: string, timeout?: number, behavioralData?: string, salt?: string, simdReadings?: string, clientMetaData?: ClientMetaData): Promise<PuzzleCaptchaSolutionResponse>;
20
- submitPuzzleCaptchaVerify(token: string, signatureHex: string, recencyLimit: number, user: string, ip?: string, email?: string): Promise<VerificationResponse>;
19
+ }>, userTimestampSignature: string, behavioralData?: string, salt?: string, simdReadings?: string, clientMetaData?: ClientMetaData): Promise<PuzzleCaptchaSolutionResponse>;
20
+ submitPuzzleCaptchaVerify(token: string, signatureHex: string, user: string, ip?: string, email?: string): Promise<VerificationResponse>;
21
21
  submitUserEvents(events: StoredEvents, string: string): Promise<UpdateProviderClientsResponse>;
22
22
  getProviderStatus(): Promise<ProviderRegistered>;
23
23
  getProviderDetails(): Promise<Provider>;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const z = require("zod");
4
+ const timeouts = require("../config/timeouts.cjs");
4
5
  const captchaType = require("./captchaType/captchaType.cjs");
5
6
  const captchaTypeSpec = require("./captchaType/captchaTypeSpec.cjs");
6
7
  const captchaTypeDefault = captchaType.CaptchaType.frictionless;
@@ -144,6 +145,8 @@ const HoneypotSettingsSchema = z.object({
144
145
  const ClientSettingsSchema = z.object({
145
146
  captchaType: captchaTypeSpec.CaptchaTypeSpec.optional().default(captchaTypeDefault),
146
147
  domains: z.array(z.string()).min(1),
148
+ // Maximum ms between user submission and the dapp's /verify call.
149
+ verifiedTimeout: z.number().int().min(1e3).max(6e5).optional().default(timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
147
150
  frictionlessThreshold: z.number().min(0).max(1).optional().default(frictionlessThresholdDefault),
148
151
  powDifficulty: z.number().int().positive().min(1).max(10).optional().default(powDifficultyDefault),
149
152
  imageThreshold: z.number().min(0).max(1).optional().default(imageThresholdDefault),
@@ -46,7 +46,7 @@ const COUNTER_WINDOW_SECONDS = {
46
46
  "24h": 86400
47
47
  };
48
48
  const COUNTER_KINDS = ["served", "solved"];
49
- const COUNTER_DIMENSIONS = ["ip", "userAccount"];
49
+ const COUNTER_DIMENSIONS = ["ip", "userAccount", "peerIp"];
50
50
  const COUNTER_CAPTCHA_ANY = "any";
51
51
  const CounterSpecSchema = z.z.object({
52
52
  kind: z.z.enum(COUNTER_KINDS),
@@ -242,7 +242,6 @@ const VerifySolutionBody = z.object({
242
242
  const ServerPowCaptchaVerifyRequestBody = z.object({
243
243
  [params.ApiParams.token]: token.ProcaptchaTokenSpec,
244
244
  [params.ApiParams.dappSignature]: z.string(),
245
- [params.ApiParams.verifiedTimeout]: z.number().optional().default(timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
246
245
  [params.ApiParams.ip]: z.string().optional(),
247
246
  [params.ApiParams.email]: z.string().email().optional()
248
247
  });
@@ -291,7 +290,6 @@ const SubmitPowCaptchaSolutionBody = z.object({
291
290
  [params.ApiParams.user]: z.string(),
292
291
  [params.ApiParams.dapp]: z.string(),
293
292
  [params.ApiParams.nonce]: z.number(),
294
- [params.ApiParams.verifiedTimeout]: z.number().optional().default(timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
295
293
  [params.ApiParams.behavioralData]: z.string().optional(),
296
294
  [params.ApiParams.salt]: z.string().optional(),
297
295
  [params.ApiParams.simdReadings]: z.string().optional(),
@@ -331,7 +329,6 @@ const SubmitPuzzleCaptchaSolutionBody = z.object({
331
329
  }),
332
330
  [params.ApiParams.user]: z.string(),
333
331
  [params.ApiParams.dapp]: z.string(),
334
- [params.ApiParams.verifiedTimeout]: z.number().optional().default(timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
335
332
  [params.ApiParams.behavioralData]: z.string().optional(),
336
333
  [params.ApiParams.salt]: z.string().optional(),
337
334
  [params.ApiParams.simdReadings]: z.string().optional(),
@@ -340,7 +337,6 @@ const SubmitPuzzleCaptchaSolutionBody = z.object({
340
337
  const ServerPuzzleCaptchaVerifyRequestBody = z.object({
341
338
  [params.ApiParams.token]: token.ProcaptchaTokenSpec,
342
339
  [params.ApiParams.dappSignature]: z.string(),
343
- [params.ApiParams.verifiedTimeout]: z.number().optional().default(timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
344
340
  [params.ApiParams.ip]: z.string().optional(),
345
341
  [params.ApiParams.email]: z.string().email().optional()
346
342
  });
@@ -64,8 +64,18 @@ const UserCommitmentSchema = z.object({
64
64
  ja4: z.string(),
65
65
  userSubmitted: z.boolean(),
66
66
  serverChecked: z.boolean(),
67
+ // The full ipinfo payload — optional and not validated nominally
68
+ // because IPInfoResponse is a discriminated union and consumers
69
+ // only need to narrow at read time. Mirrors PoWCaptchaStoredSchema.
70
+ // Omitting these dropped enrichment on every commitment because Zod
71
+ // strips unknown keys by default.
72
+ ipInfo: z.any().optional(),
73
+ parsedUserAgentInfo: z.any().optional(),
67
74
  storedAtTimestamp: z.date().optional(),
68
75
  requestedAtTimestamp: z.date(),
76
+ submittedAtTimestamp: z.date().optional(),
77
+ verifiedAtTimestamp: z.date().optional(),
78
+ failedAtTimestamp: z.date().optional(),
69
79
  lastUpdatedTimestamp: z.date().optional(),
70
80
  pendingStage: z.boolean().optional(),
71
81
  sessionId: z.string().optional(),
@@ -93,7 +103,8 @@ const ScoreComponentsSchema = z.object({
93
103
  unverifiedHost: z.number().optional(),
94
104
  webView: z.number().optional(),
95
105
  triggeredDetectors: z.array(z.number()).optional(),
96
- shadowDomPenalty: z.boolean().optional()
106
+ shadowDomPenalty: z.boolean().optional(),
107
+ dnsAsymmetry: z.number().optional()
97
108
  });
98
109
  const SimdOpReadingRecordSchema = z.object({
99
110
  name: z.string(),
@@ -199,6 +210,9 @@ const PoWCaptchaStoredSchema = z.object({
199
210
  // From StoredCaptcha
200
211
  result: CaptchaResultSchema,
201
212
  requestedAtTimestamp: z.date(),
213
+ submittedAtTimestamp: z.date().optional(),
214
+ verifiedAtTimestamp: z.date().optional(),
215
+ failedAtTimestamp: z.date().optional(),
202
216
  ipAddress: CompositeIpAddressSchema,
203
217
  providedIp: CompositeIpAddressSchema.optional(),
204
218
  metadata: StoredCaptchaMetadataSchema.optional(),
@@ -366,6 +366,7 @@ export type IHoneypotSettings = output<typeof HoneypotSettingsSchema>;
366
366
  export declare const ClientSettingsSchema: z.ZodObject<{
367
367
  captchaType: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof CaptchaType>>>;
368
368
  domains: z.ZodArray<z.ZodString, "many">;
369
+ verifiedTimeout: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
369
370
  frictionlessThreshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
370
371
  powDifficulty: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
371
372
  imageThreshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -609,6 +610,7 @@ export declare const ClientSettingsSchema: z.ZodObject<{
609
610
  }, "strip", z.ZodTypeAny, {
610
611
  captchaType: CaptchaType;
611
612
  domains: string[];
613
+ verifiedTimeout: number;
612
614
  frictionlessThreshold: number;
613
615
  powDifficulty: number;
614
616
  imageThreshold: number;
@@ -680,6 +682,7 @@ export declare const ClientSettingsSchema: z.ZodObject<{
680
682
  }, {
681
683
  domains: string[];
682
684
  captchaType?: CaptchaType | undefined;
685
+ verifiedTimeout?: number | undefined;
683
686
  frictionlessThreshold?: number | undefined;
684
687
  powDifficulty?: number | undefined;
685
688
  imageThreshold?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/client/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/client/settings.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { z, object, boolean, number, string, array } from "zod";
2
+ import { DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT } from "../config/timeouts.js";
2
3
  import { CaptchaType } from "./captchaType/captchaType.js";
3
4
  import { CaptchaTypeSpec } from "./captchaType/captchaTypeSpec.js";
4
5
  const captchaTypeDefault = CaptchaType.frictionless;
@@ -142,6 +143,8 @@ const HoneypotSettingsSchema = object({
142
143
  const ClientSettingsSchema = object({
143
144
  captchaType: CaptchaTypeSpec.optional().default(captchaTypeDefault),
144
145
  domains: array(string()).min(1),
146
+ // Maximum ms between user submission and the dapp's /verify call.
147
+ verifiedTimeout: number().int().min(1e3).max(6e5).optional().default(DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
145
148
  frictionlessThreshold: number().min(0).max(1).optional().default(frictionlessThresholdDefault),
146
149
  powDifficulty: number().int().positive().min(1).max(10).optional().default(powDifficultyDefault),
147
150
  imageThreshold: number().min(0).max(1).optional().default(imageThresholdDefault),
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/client/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/client/settings.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
1
  import { z } from "zod";
2
+ import type { IPInfoResponse } from "../api/ipapi.js";
2
3
  import { CaptchaType } from "../client/captchaType/captchaType.js";
3
4
  import type { RequestHeaders } from "../provider/api.js";
5
+ export type EnrichedDnsEvent = {
6
+ peerIp?: string;
7
+ resolverIp?: string;
8
+ pathValid?: boolean;
9
+ peerIpInfo?: IPInfoResponse;
10
+ resolverIpInfo?: IPInfoResponse;
11
+ };
4
12
  export declare enum DecisionMachineRuntime {
5
13
  Node = "node"
6
14
  }
@@ -32,6 +40,8 @@ export type DecisionMachineInput = {
32
40
  behavioralDataPacked?: DecisionMachineBehavioralDataPacked;
33
41
  deviceCapability?: string;
34
42
  countryCode?: string;
43
+ ipInfo?: IPInfoResponse;
44
+ dnsEvent?: EnrichedDnsEvent;
35
45
  };
36
46
  export type DecisionMachineOutput = {
37
47
  decision: DecisionMachineDecision;
@@ -95,7 +105,7 @@ export type CounterWindow = (typeof COUNTER_WINDOWS)[number];
95
105
  export declare const COUNTER_WINDOW_SECONDS: Record<CounterWindow, number>;
96
106
  export declare const COUNTER_KINDS: readonly ["served", "solved"];
97
107
  export type CounterKind = (typeof COUNTER_KINDS)[number];
98
- export declare const COUNTER_DIMENSIONS: readonly ["ip", "userAccount"];
108
+ export declare const COUNTER_DIMENSIONS: readonly ["ip", "userAccount", "peerIp"];
99
109
  export type CounterDimension = (typeof COUNTER_DIMENSIONS)[number];
100
110
  export declare const COUNTER_CAPTCHA_ANY: "any";
101
111
  export type CounterCaptchaType = CaptchaType.pow | CaptchaType.image | CaptchaType.puzzle | typeof COUNTER_CAPTCHA_ANY;
@@ -108,17 +118,17 @@ export interface CounterSpec {
108
118
  export declare const CounterSpecSchema: z.ZodObject<{
109
119
  kind: z.ZodEnum<["served", "solved"]>;
110
120
  captchaType: z.ZodUnion<[z.ZodLiteral<CaptchaType.pow>, z.ZodLiteral<CaptchaType.image>, z.ZodLiteral<CaptchaType.puzzle>, z.ZodLiteral<"any">]>;
111
- dimension: z.ZodEnum<["ip", "userAccount"]>;
121
+ dimension: z.ZodEnum<["ip", "userAccount", "peerIp"]>;
112
122
  window: z.ZodEnum<["1m", "10m", "1h", "3h", "6h", "24h"]>;
113
123
  }, "strip", z.ZodTypeAny, {
114
124
  captchaType: CaptchaType.image | CaptchaType.pow | CaptchaType.puzzle | "any";
115
125
  kind: "solved" | "served";
116
- dimension: "ip" | "userAccount";
126
+ dimension: "ip" | "userAccount" | "peerIp";
117
127
  window: "1m" | "10m" | "1h" | "3h" | "6h" | "24h";
118
128
  }, {
119
129
  captchaType: CaptchaType.image | CaptchaType.pow | CaptchaType.puzzle | "any";
120
130
  kind: "solved" | "served";
121
- dimension: "ip" | "userAccount";
131
+ dimension: "ip" | "userAccount" | "peerIp";
122
132
  window: "1m" | "10m" | "1h" | "3h" | "6h" | "24h";
123
133
  }>;
124
134
  export declare const encodeCounterKey: (dappAccount: string, spec: CounterSpec, value: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decisionMachine/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decisionMachine/index.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ const COUNTER_WINDOW_SECONDS = {
44
44
  "24h": 86400
45
45
  };
46
46
  const COUNTER_KINDS = ["served", "solved"];
47
- const COUNTER_DIMENSIONS = ["ip", "userAccount"];
47
+ const COUNTER_DIMENSIONS = ["ip", "userAccount", "peerIp"];
48
48
  const COUNTER_CAPTCHA_ANY = "any";
49
49
  const CounterSpecSchema = z.object({
50
50
  kind: z.enum(COUNTER_KINDS),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decisionMachine/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decisionMachine/index.ts"],"names":[],"mappings":"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"}