@prosopo/provider 4.15.6 → 4.15.8

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/provider@4.15.6 build:cjs
2
+ > @prosopo/provider@4.15.8 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -128,7 +128,7 @@ rendering chunks...
128
128
  dist/cjs/api/hardBlockVerdictCache.cjs  4.09 kB
129
129
  dist/cjs/services/ipComparison.cjs  4.10 kB
130
130
  dist/cjs/api/domainMiddleware.cjs  4.11 kB
131
- dist/cjs/tasks/spam/checkSpamEmail.cjs  4.32 kB
131
+ dist/cjs/tasks/spam/checkSpamEmail.cjs  4.34 kB
132
132
  dist/cjs/index.cjs  4.37 kB
133
133
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs  4.48 kB
134
134
  dist/cjs/tasks/tasks.cjs  5.32 kB
@@ -142,8 +142,8 @@ rendering chunks...
142
142
  dist/cjs/api/startProviderApi.cjs  8.62 kB
143
143
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 10.21 kB
144
144
  dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs 10.59 kB
145
- dist/cjs/util.cjs 12.59 kB
146
145
  dist/cjs/api/blacklistRequestInspector.cjs 13.16 kB
146
+ dist/cjs/util.cjs 13.27 kB
147
147
  dist/cjs/api/verify.cjs 13.49 kB
148
148
  dist/cjs/tasks/client/clientTasks.cjs 15.74 kB
149
149
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 16.98 kB
@@ -155,7 +155,7 @@ rendering chunks...
155
155
  dist/cjs/tasks/powCaptcha/powTasks.cjs 24.90 kB
156
156
  dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 28.84 kB
157
157
  dist/cjs/tasks/detection/decodePayload.cjs 29.94 kB
158
- ✓ built in 721ms
158
+ ✓ built in 827ms
159
159
  [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
160
160
  [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
161
161
  [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@4.15.6 build:tsc
2
+ > @prosopo/provider@4.15.8 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 4:36:07 PM - Projects in this build:
5
+ 10:28:50 AM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../util/tsconfig.json
8
8
  * ../logger/tsconfig.json
@@ -25,47 +25,47 @@
25
25
  * ../load-balancer/tsconfig.json
26
26
  * tsconfig.json
27
27
 
28
- 4:36:07 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/index.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
28
+ 10:28:50 AM - 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'
29
29
 
30
- 4:36:07 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
30
+ 10:28:50 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
31
31
 
32
- 4:36:07 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
32
+ 10:28:50 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
33
33
 
34
- 4:36:07 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
34
+ 10:28:50 AM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/index.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
35
35
 
36
- 4:36:07 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
36
+ 10:28:50 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
37
37
 
38
- 4:36:07 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'
38
+ 10:28:50 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'
39
39
 
40
- 4:36:07 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/keyring/keyring/types.ts' is older than output '../types/tsconfig.tsbuildinfo'
40
+ 10:28:50 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
41
41
 
42
- 4:36:07 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
42
+ 10:28:50 AM - 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'
43
43
 
44
- 4:36:07 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
44
+ 10:28:50 AM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
45
45
 
46
- 4:36:07 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'
46
+ 10:28:50 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'
47
47
 
48
- 4:36:07 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
48
+ 10:28:50 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
49
49
 
50
- 4:36:07 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/rule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
50
+ 10:28:51 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'
51
51
 
52
- 4:36:07 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
52
+ 10:28:51 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
53
53
 
54
- 4:36:07 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/mongoGlobalSetup.ts' is older than output '../database/tsconfig.tsbuildinfo'
54
+ 10:28:51 AM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/mongoGlobalSetup.ts' is older than output '../database/tsconfig.tsbuildinfo'
55
55
 
56
- 4:36:07 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
56
+ 10:28:51 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
57
57
 
58
- 4:36:07 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'
58
+ 10:28:51 AM - 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'
59
59
 
60
- 4:36:07 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/index.ts' is older than output '../env/tsconfig.tsbuildinfo'
60
+ 10:28:51 AM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
61
61
 
62
- 4:36:07 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'
62
+ 10:28:51 AM - 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'
63
63
 
64
- 4:36:07 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'
64
+ 10:28:51 AM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
65
65
 
66
- 4:36:07 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'
66
+ 10:28:51 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
67
67
 
68
- 4:36:07 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
68
+ 10:28:51 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
69
69
 
70
- 4:36:07 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
70
+ 10:28:51 AM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
71
71
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/provider@4.15.6 build
2
+ > @prosopo/provider@4.15.8 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/provider@4.15.6 build:cross-env
6
+ > @prosopo/provider@4.15.8 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -130,7 +130,7 @@ rendering chunks...
130
130
  dist/api/hardBlockVerdictCache.js  3.87 kB
131
131
  dist/api/domainMiddleware.js  3.89 kB
132
132
  dist/services/ipComparison.js  4.00 kB
133
- dist/tasks/spam/checkSpamEmail.js  4.26 kB
133
+ dist/tasks/spam/checkSpamEmail.js  4.29 kB
134
134
  dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js  4.29 kB
135
135
  dist/tasks/tasks.js  5.12 kB
136
136
  dist/util/usageCounters.js  5.69 kB
@@ -143,8 +143,8 @@ rendering chunks...
143
143
  dist/api/startProviderApi.js  7.89 kB
144
144
  dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js  9.77 kB
145
145
  dist/tasks/decisionMachine/decisionMachineRunner.js 10.54 kB
146
- dist/util.js 12.17 kB
147
146
  dist/api/blacklistRequestInspector.js 12.81 kB
147
+ dist/util.js 12.84 kB
148
148
  dist/api/verify.js 12.98 kB
149
149
  dist/tasks/client/clientTasks.js 15.48 kB
150
150
  dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 16.59 kB
@@ -156,7 +156,7 @@ rendering chunks...
156
156
  dist/tasks/powCaptcha/powTasks.js 24.50 kB
157
157
  dist/tasks/imgCaptcha/imgCaptchaTasks.js 28.40 kB
158
158
  dist/tasks/detection/decodePayload.js 29.92 kB
159
- ✓ built in 945ms
159
+ ✓ built in 1.38s
160
160
  [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
161
161
  [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
162
162
  [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,40 @@
1
1
  # @prosopo/provider
2
2
 
3
+ ## 4.15.8
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [0a4f902]
7
+ - @prosopo/types@4.9.10
8
+ - @prosopo/api@3.5.17
9
+ - @prosopo/api-express-router@3.1.46
10
+ - @prosopo/database@3.15.15
11
+ - @prosopo/datasets@3.1.52
12
+ - @prosopo/env@3.6.15
13
+ - @prosopo/ipinfo@0.2.38
14
+ - @prosopo/keyring@2.9.58
15
+ - @prosopo/load-balancer@2.10.12
16
+ - @prosopo/types-database@4.11.13
17
+ - @prosopo/types-env@2.10.13
18
+ - @prosopo/user-access-policy@3.12.5
19
+
20
+ ## 4.15.7
21
+ ### Patch Changes
22
+
23
+ - 6b17995: fix(provider): skip city and distance IP validation rules for same trusted provider
24
+
25
+ Dual-stack and CGNAT subscribers routinely egress via different POPs of the same operator (e.g. AT&T's BellSouth v4 pool + AT&T Internet v6 pool — distinct ASNs but identical `company.name` from ipapi). The city-change and distance-exceed rules previously fired on such traffic, producing PoW captcha rejections with `City changed from Laredo to Los Angeles; IP addresses are 1930km apart` even though the ISP-change rule correctly recognised the provider match.
26
+
27
+ `evaluateIpValidationRules` now gates the city-change and distance-exceed rule blocks on a `sameTrustedProvider` precondition: both providers match (non-`"Unknown"`), same `countryCode`, and neither endpoint is a datacenter (guards against AWS/Cloudflare same-`company.name` false negatives where "same corporate owner" absolutely does not mean "same subscriber"). Country-change, ISP-change, VPN/proxy, and abuse-score rules are unchanged.
28
+ - b394cc5: fix(provider): stop treating apex-TLS-handshake failure as spam-email evidence
29
+
30
+ `checkSpamEmail` was auto-rejecting any email domain whose apex website failed a modern TLS handshake (`https://<domain>` → `EPROTO` / `unsupported protocol`). This is a property of the web server, not the email domain — small-business domains routinely host mail on modern providers (Zoho / Google / Fastmail) while the apex site runs legacy Apache with only TLSv1.0 and an expired self-signed cert, and modern Node/OpenSSL 3 refuses those handshakes.
31
+
32
+ The `tlsError → return true` short-circuit is removed. The TLS observation is still logged (as `info`, for signal), and the check now falls through to the remaining DNS signals (redirect-target spam lookup, CNAME spam lookup, MX-target spam lookup) — those are the signals that actually reflect email reputation. Existing coverage on those paths is unchanged; two unit tests cover the new behaviour (apex TLS error alone is not spam; spam via MX is still caught when apex has a TLS error).
33
+ - Updated dependencies [446f53b]
34
+ - @prosopo/database@3.15.14
35
+ - @prosopo/env@3.6.14
36
+ - @prosopo/api-express-router@3.1.45
37
+
3
38
  ## 4.15.6
4
39
  ### Patch Changes
5
40
 
@@ -52,11 +52,10 @@ async function checkSpamEmail(email, db, config, logger) {
52
52
  return false;
53
53
  }
54
54
  if (dnsCheckResult.redirectResult.tlsError) {
55
- logger.warn(() => ({
56
- msg: "Email domain has TLS error",
55
+ logger.info(() => ({
56
+ msg: "Email domain apex has TLS error — observed, not treated as spam",
57
57
  domain: normalizedDomain
58
58
  }));
59
- return true;
60
59
  }
61
60
  if (dnsCheckResult.redirectResult.redirectUrl) {
62
61
  const redirectUrl = dnsCheckResult.redirectResult.redirectUrl;
package/dist/cjs/util.cjs CHANGED
@@ -136,9 +136,23 @@ const evaluateIpValidationRules = (comparison, rules, logger) => {
136
136
  message: `Country changed from ${ip1Country} to ${ip2Country}`
137
137
  });
138
138
  }
139
+ const ip1Provider = comparison.comparison.ip1Details?.provider;
140
+ const ip2Provider = comparison.comparison.ip2Details?.provider;
141
+ const ip1ConnectionType = comparison.comparison.ip1Details?.connectionType;
142
+ const ip2ConnectionType = comparison.comparison.ip2Details?.connectionType;
143
+ const sameTrustedProvider = !comparison.comparison.differentProviders && !!ip1Provider && ip1Provider !== "Unknown" && ip1CountryCode === ip2CountryCode && ip1ConnectionType !== "datacenter" && ip2ConnectionType !== "datacenter";
144
+ if (sameTrustedProvider) {
145
+ logger.info(() => ({
146
+ msg: "Skipping city and distance IP validation rules for same trusted provider",
147
+ data: {
148
+ provider: ip1Provider,
149
+ countryCode: ip1CountryCode
150
+ }
151
+ }));
152
+ }
139
153
  const ip1City = comparison.comparison.ip1Details?.city;
140
154
  const ip2City = comparison.comparison.ip2Details?.city;
141
- if (ip1City !== ip2City) {
155
+ if (!sameTrustedProvider && ip1City !== ip2City) {
142
156
  conditions.push({
143
157
  met: true,
144
158
  action: effectiveRules.actions.cityChangeAction,
@@ -146,8 +160,6 @@ const evaluateIpValidationRules = (comparison, rules, logger) => {
146
160
  });
147
161
  }
148
162
  if (comparison.comparison.differentProviders) {
149
- const ip1Provider = comparison.comparison.ip1Details?.provider;
150
- const ip2Provider = comparison.comparison.ip2Details?.provider;
151
163
  conditions.push({
152
164
  met: true,
153
165
  action: effectiveRules.actions.ispChangeAction,
@@ -155,7 +167,7 @@ const evaluateIpValidationRules = (comparison, rules, logger) => {
155
167
  });
156
168
  }
157
169
  const distanceKm = comparison.comparison.distanceKm;
158
- if (distanceKm !== void 0 && distanceKm > effectiveRules.distanceThresholdKm) {
170
+ if (!sameTrustedProvider && distanceKm !== void 0 && distanceKm > effectiveRules.distanceThresholdKm) {
159
171
  conditions.push({
160
172
  met: true,
161
173
  action: effectiveRules.actions.distanceExceedAction,
@@ -1 +1 @@
1
- {"version":3,"file":"checkSpamEmail.d.ts","sourceRoot":"","sources":["../../../src/tasks/spam/checkSpamEmail.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA0BjE,wBAAsB,cAAc,CACnC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,iBAAiB,EACrB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CA2JlB"}
1
+ {"version":3,"file":"checkSpamEmail.d.ts","sourceRoot":"","sources":["../../../src/tasks/spam/checkSpamEmail.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA0BjE,wBAAsB,cAAc,CACnC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,iBAAiB,EACrB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CA+JlB"}
@@ -50,11 +50,10 @@ async function checkSpamEmail(email, db, config, logger) {
50
50
  return false;
51
51
  }
52
52
  if (dnsCheckResult.redirectResult.tlsError) {
53
- logger.warn(() => ({
54
- msg: "Email domain has TLS error",
53
+ logger.info(() => ({
54
+ msg: "Email domain apex has TLS error — observed, not treated as spam",
55
55
  domain: normalizedDomain
56
56
  }));
57
- return true;
58
57
  }
59
58
  if (dnsCheckResult.redirectResult.redirectUrl) {
60
59
  const redirectUrl = dnsCheckResult.redirectResult.redirectUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"checkSpamEmail.js","sourceRoot":"","sources":["../../../src/tasks/spam/checkSpamEmail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkSpamEmail.js","sourceRoot":"","sources":["../../../src/tasks/spam/checkSpamEmail.ts"],"names":[],"mappings":"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"}
@@ -193,7 +193,7 @@ describe("checkSpamEmail", () => {
193
193
  }
194
194
  });
195
195
  describe("DNS checks", () => {
196
- it("should detect spam when domain has TLS error", async () => {
196
+ it("should NOT flag as spam when apex has TLS error but other DNS signals are clean", async () => {
197
197
  db.getSpamEmailDomain.mockResolvedValue(null);
198
198
  mockRunDnsChecks.mockResolvedValue({
199
199
  cnameResult: null,
@@ -201,7 +201,20 @@ describe("checkSpamEmail", () => {
201
201
  redirectResult: { tlsError: true },
202
202
  });
203
203
  const result = await checkSpamEmail("user@suspicious.com", db, config, logger);
204
+ expect(result).toBe(false);
205
+ });
206
+ it("should still catch spam via MX when apex has TLS error", async () => {
207
+ db.getSpamEmailDomain
208
+ .mockResolvedValueOnce(null)
209
+ .mockResolvedValueOnce({ domain: "spam-mx.com" });
210
+ mockRunDnsChecks.mockResolvedValue({
211
+ cnameResult: null,
212
+ mxRecordResult: [{ priority: 10, exchange: "mx.spam-mx.com." }],
213
+ redirectResult: { tlsError: true },
214
+ });
215
+ const result = await checkSpamEmail("user@suspicious.com", db, config, logger);
204
216
  expect(result).toBe(true);
217
+ expect(db.getSpamEmailDomain).toHaveBeenCalledWith("mx.spam-mx.com");
205
218
  });
206
219
  it("should check redirect domain when redirect is found", async () => {
207
220
  db.getSpamEmailDomain
@@ -1 +1 @@
1
- {"version":3,"file":"checkSpamEmail.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/spam/checkSpamEmail.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkSpamEmail.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/spam/checkSpamEmail.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAG1E,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,MAAM,YAAY,EAAkC,CAAC;IACpE,OAAO;QACN,GAAG,MAAM;QACT,gCAAgC,EAAE,EAAE,CAAC,EAAE,EAAE;QACzC,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE;KAC/B,CAAC;AACH,CAAC,CAAC,CAAC;AAGH,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;CACrB,CAAC,CAAC,CAAC;AAGJ,OAAO,EACN,sBAAsB,EACtB,gCAAgC,GAChC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC/B,IAAI,EAAqB,CAAC;IAC1B,IAAI,MAA2B,CAAC;IAChC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAE7D,MAAM,gBAAgB,GAAG,YAAwC,CAAC;IAClE,MAAM,kBAAkB,GAAG,gCAE1B,CAAC;IACF,MAAM,iBAAiB,GAAG,sBAAkD,CAAC;IAE7E,UAAU,CAAC,GAAG,EAAE;QAEf,EAAE,GAAG;YACJ,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;SACK,CAAC;QAGlC,MAAM,GAAG;YACR,KAAK,EAAE;gBACN,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,UAAU;aAClB;SACsB,CAAC;QAGzB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,EAAE,CAAC,aAAa,EAAE,CAAC;QAGnB,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,KAAa,EAAE,EAAE;YACtD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAC1B,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;YAC5C,CAAC;YACD,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QAC7C,CAAC,CAAC,CAAC;QAGH,kBAAkB,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAGtD,gBAAgB,CAAC,iBAAiB,CAAC;YAClC,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,EAAE;SAClB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC;YACrE,MAAM,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC;YACrE,MAAM,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,mBAAmB,EACnB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC;YACrE,MAAM,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,uBAAuB,EACvB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,qBAAqB,EACrB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,oBAAoB,EACpB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC;YACrE,MAAM,EAAE,eAAe;SACvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,oBAAoB,EACpB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAC3B,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC7C,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,KAAK,CACL,CAAC;QAEF,MAAM,cAAc,CAAC,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAI/E,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,uBAAuB,EACvB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,uBAAuB,EACvB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC;YACrE,MAAM,EAAE,UAAU;SAClB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,iBAAiB,GAAG;YACzB,cAAc;YACd,kBAAkB;YAClB,mBAAmB;YACnB,gBAAgB;SAChB,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC;gBACrE,MAAM;aACN,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC3D,EAAE,CAAC,aAAa,EAAE,CAAC;QACpB,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,sBAAsB,EACtB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAEhF,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC;YACrE,MAAM,EAAE,UAAU;SAClB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,mBAAmB,EACnB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,SAAS,GAAG;YACjB,cAAc;YACd,cAAc;YACd,cAAc;YACd,cAAc;SACd,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,aAAa,EAAE,CAAC;YAClB,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC;gBACrE,MAAM,EAAE,UAAU;aAClB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAK/F,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YACF,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAClC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,qBAAqB,EACrB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YAGtE,EAAE,CAAC,kBAA+C;iBACjD,qBAAqB,CAAC,IAAI,CAAC;iBAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAEnD,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;gBAC/D,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAClC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,qBAAqB,EACrB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,EAAE,CAAC,kBAA+C;iBACjD,qBAAqB,CAAC,IAAI,CAAC;iBAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAEzD,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE;aACnE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,EAAE,CAAC,kBAA+C;iBACjD,qBAAqB,CAAC,IAAI,CAAC;iBAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAEtD,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,CAAC,iBAAiB,CAAC;gBAChC,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,EAAE,CAAC,kBAA+C;iBACjD,qBAAqB,CAAC,IAAI,CAAC;iBAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAEpD,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAClE,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAChE,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,EAAE,CAAC,kBAA+C;iBACjD,qBAAqB,CAAC,IAAI,CAAC;iBAC3B,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAE9B,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACpE,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,EAAE,CAAC,kBAA+C;iBACjD,qBAAqB,CAAC,IAAI,CAAC;iBAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAEnD,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE;oBACf,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE;oBAC1C,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE;iBAC5C;gBACD,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YACF,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,EAAE,CAAC,kBAA+C;iBACjD,qBAAqB,CAAC,IAAI,CAAC;iBAC3B,qBAAqB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAErD,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACjE,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YAEF,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAChD,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,EAAE,CAAC,kBAA+C;iBACjD,qBAAqB,CAAC,IAAI,CAAC;iBAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAEzD,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,CAAC,iBAAiB,CAAC;gBAChC,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACjE,cAAc,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE;aAC5D,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,EAAE,CAAC,kBAA+C;iBACjD,qBAAqB,CAAC,IAAI,CAAC;iBAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAEtD,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,CAAC,iBAAiB,CAAC;gBAChC,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACjE,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE1B,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YAClD,iBAAiB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACjD,kBAAkB,CAAC,eAAe,CAAC;gBAClC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,qCAAqC;aAC7C,CAAC,CAAC;YACF,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAC/D,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAChD,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC/C,kBAAkB,CAAC,eAAe,CAAC;gBAClC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,mBAAmB;aAC3B,CAAC,CAAC;YACF,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE1E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YAC1D,iBAAiB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;YACrD,kBAAkB,CAAC,eAAe,CAAC;gBAClC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,wCAAwC;aAChD,CAAC,CAAC;YACF,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,sBAAsB,EACtB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YACnD,iBAAiB,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;YACvD,kBAAkB,CAAC,eAAe,CAAC;gBAClC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,kCAAkC;aAC1C,CAAC,CAAC;YACF,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,wBAAwB,EACxB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC7C,iBAAiB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACnD,kBAAkB,CAAC,eAAe,CAAC;gBAClC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,qBAAqB;aAC7B,CAAC,CAAC;YACF,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,oBAAoB,EACpB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACrE,iBAAiB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACjD,kBAAkB,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YACF,gBAAgB,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAC/D,MAAM,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC9D,iBAAiB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACnD,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CAAC;gBACrE,MAAM,EAAE,gBAAgB;aACxB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,qBAAqB,EACrB,EAAE,EACF,MAAM,EACN,MAAM,CACN,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE1B,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YAC1E,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAC9C,kBAAkB,CAAC,eAAe,CAAC;gBAClC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,wCAAwC;aAChD,CAAC,CAAC;YACF,EAAE,CAAC,kBAA+C,CAAC,iBAAiB,CACpE,IAAI,CACJ,CAAC;YAEF,MAAM,cAAc,CAAC,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -113,14 +113,14 @@ describe("evaluateIpValidationRules", () => {
113
113
  country: "A",
114
114
  countryCode: "A",
115
115
  provider: "X",
116
- connectionType: "residential",
116
+ connectionType: "datacenter",
117
117
  isVpnOrProxy: false,
118
118
  },
119
119
  ip2Details: {
120
120
  country: "A",
121
121
  countryCode: "A",
122
122
  provider: "X",
123
- connectionType: "residential",
123
+ connectionType: "datacenter",
124
124
  isVpnOrProxy: false,
125
125
  },
126
126
  distanceKm: 2000,
@@ -175,7 +175,7 @@ describe("evaluateIpValidationRules", () => {
175
175
  countryCode: "A",
176
176
  city: "CityA",
177
177
  provider: "X",
178
- connectionType: "residential",
178
+ connectionType: "datacenter",
179
179
  isVpnOrProxy: false,
180
180
  },
181
181
  ip2Details: {
@@ -183,7 +183,7 @@ describe("evaluateIpValidationRules", () => {
183
183
  countryCode: "A",
184
184
  city: "CityB",
185
185
  provider: "X",
186
- connectionType: "residential",
186
+ connectionType: "datacenter",
187
187
  isVpnOrProxy: false,
188
188
  },
189
189
  differentProviders: false,
@@ -213,7 +213,7 @@ describe("evaluateIpValidationRules", () => {
213
213
  countryCode: "A",
214
214
  city: "CityA",
215
215
  provider: "X",
216
- connectionType: "residential",
216
+ connectionType: "datacenter",
217
217
  isVpnOrProxy: false,
218
218
  },
219
219
  ip2Details: {
@@ -221,7 +221,7 @@ describe("evaluateIpValidationRules", () => {
221
221
  countryCode: "A",
222
222
  city: "CityB",
223
223
  provider: "X",
224
- connectionType: "residential",
224
+ connectionType: "datacenter",
225
225
  isVpnOrProxy: false,
226
226
  },
227
227
  differentProviders: false,
@@ -465,6 +465,177 @@ describe("evaluateIpValidationRules", () => {
465
465
  const result = evaluateIpValidationRules(comparison, rulesWithOverrides, mockLogger);
466
466
  expect(result.action).toBe(IPValidationAction.Flag);
467
467
  });
468
+ describe("same trusted provider skip", () => {
469
+ const sameProviderRules = {
470
+ ...baseRules,
471
+ actions: {
472
+ ...baseRules.actions,
473
+ cityChangeAction: IPValidationAction.Reject,
474
+ distanceExceedAction: IPValidationAction.Reject,
475
+ },
476
+ distanceThresholdKm: 500,
477
+ };
478
+ it("skips city and distance rules when both IPs share the same non-datacenter provider in the same country (eyematch shape)", () => {
479
+ const comparison = {
480
+ ipsMatch: false,
481
+ ip1: "68.153.66.63",
482
+ ip2: "2600:387:15:6437::7",
483
+ comparison: {
484
+ ip1Details: {
485
+ country: "United States",
486
+ countryCode: "US",
487
+ city: "Laredo",
488
+ provider: "AT&T Enterprises, LLC",
489
+ connectionType: "residential",
490
+ isVpnOrProxy: false,
491
+ },
492
+ ip2Details: {
493
+ country: "United States",
494
+ countryCode: "US",
495
+ city: "San Antonio",
496
+ provider: "AT&T Enterprises, LLC",
497
+ connectionType: "residential",
498
+ isVpnOrProxy: false,
499
+ },
500
+ distanceKm: 1930,
501
+ differentProviders: false,
502
+ differentConnectionTypes: false,
503
+ anyVpnOrProxy: false,
504
+ },
505
+ };
506
+ const result = evaluateIpValidationRules(comparison, sameProviderRules, mockLogger);
507
+ expect(result.action).toBe(IPValidationAction.Allow);
508
+ expect(result.errorMessage).toBeUndefined();
509
+ });
510
+ it("does not skip when either endpoint is a datacenter (guards AWS/Cloudflare same-company case)", () => {
511
+ const comparison = {
512
+ ipsMatch: false,
513
+ ip1: "ip1",
514
+ ip2: "ip2",
515
+ comparison: {
516
+ ip1Details: {
517
+ country: "United States",
518
+ countryCode: "US",
519
+ city: "Ashburn",
520
+ provider: "Amazon.com, Inc.",
521
+ connectionType: "datacenter",
522
+ isVpnOrProxy: false,
523
+ },
524
+ ip2Details: {
525
+ country: "United States",
526
+ countryCode: "US",
527
+ city: "Ashburn",
528
+ provider: "Amazon.com, Inc.",
529
+ connectionType: "datacenter",
530
+ isVpnOrProxy: false,
531
+ },
532
+ distanceKm: 3800,
533
+ differentProviders: false,
534
+ differentConnectionTypes: false,
535
+ anyVpnOrProxy: false,
536
+ },
537
+ };
538
+ const result = evaluateIpValidationRules(comparison, sameProviderRules, mockLogger);
539
+ expect(result.action).toBe(IPValidationAction.Reject);
540
+ expect(result.errorMessage).toMatch(/IP addresses are 3800\.00km apart/);
541
+ });
542
+ it("does not skip when provider is Unknown on both sides", () => {
543
+ const comparison = {
544
+ ipsMatch: false,
545
+ ip1: "ip1",
546
+ ip2: "ip2",
547
+ comparison: {
548
+ ip1Details: {
549
+ country: "United States",
550
+ countryCode: "US",
551
+ city: "A",
552
+ provider: "Unknown",
553
+ connectionType: "residential",
554
+ isVpnOrProxy: false,
555
+ },
556
+ ip2Details: {
557
+ country: "United States",
558
+ countryCode: "US",
559
+ city: "B",
560
+ provider: "Unknown",
561
+ connectionType: "residential",
562
+ isVpnOrProxy: false,
563
+ },
564
+ distanceKm: 2000,
565
+ differentProviders: false,
566
+ differentConnectionTypes: false,
567
+ anyVpnOrProxy: false,
568
+ },
569
+ };
570
+ const result = evaluateIpValidationRules(comparison, sameProviderRules, mockLogger);
571
+ expect(result.action).toBe(IPValidationAction.Reject);
572
+ });
573
+ it("does not skip when country codes differ", () => {
574
+ const comparison = {
575
+ ipsMatch: false,
576
+ ip1: "ip1",
577
+ ip2: "ip2",
578
+ comparison: {
579
+ ip1Details: {
580
+ country: "United States",
581
+ countryCode: "US",
582
+ city: "New York",
583
+ provider: "Vodafone Group",
584
+ connectionType: "residential",
585
+ isVpnOrProxy: false,
586
+ },
587
+ ip2Details: {
588
+ country: "United Kingdom",
589
+ countryCode: "GB",
590
+ city: "London",
591
+ provider: "Vodafone Group",
592
+ connectionType: "residential",
593
+ isVpnOrProxy: false,
594
+ },
595
+ distanceKm: 5500,
596
+ differentProviders: false,
597
+ differentConnectionTypes: false,
598
+ anyVpnOrProxy: false,
599
+ },
600
+ };
601
+ const result = evaluateIpValidationRules(comparison, sameProviderRules, mockLogger);
602
+ expect(result.action).toBe(IPValidationAction.Reject);
603
+ });
604
+ it("still applies abuse-score rule even when same-provider skip fires", () => {
605
+ const comparison = {
606
+ ipsMatch: false,
607
+ ip1: "ip1",
608
+ ip2: "ip2",
609
+ comparison: {
610
+ ip1Details: {
611
+ country: "United States",
612
+ countryCode: "US",
613
+ city: "Laredo",
614
+ provider: "AT&T Enterprises, LLC",
615
+ connectionType: "residential",
616
+ isVpnOrProxy: false,
617
+ abuserScore: 0.001,
618
+ },
619
+ ip2Details: {
620
+ country: "United States",
621
+ countryCode: "US",
622
+ city: "San Antonio",
623
+ provider: "AT&T Enterprises, LLC",
624
+ connectionType: "residential",
625
+ isVpnOrProxy: false,
626
+ abuserScore: 0.02,
627
+ },
628
+ distanceKm: 1930,
629
+ differentProviders: false,
630
+ differentConnectionTypes: false,
631
+ anyVpnOrProxy: false,
632
+ },
633
+ };
634
+ const result = evaluateIpValidationRules(comparison, sameProviderRules, mockLogger);
635
+ expect(result.action).toBe(IPValidationAction.Reject);
636
+ expect(result.errorMessage).toContain("Abuse score");
637
+ });
638
+ });
468
639
  it("returns Flag if abuse score triggers Flag action", () => {
469
640
  const comparison = {
470
641
  ipsMatch: false,
@@ -1 +1 @@
1
- {"version":3,"file":"util.evaluateIpValidationRules.unit.test.js","sourceRoot":"","sources":["../../../src/tests/unit/util.evaluateIpValidationRules.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.evaluateIpValidationRules.unit.test.js","sourceRoot":"","sources":["../../../src/tests/unit/util.evaluateIpValidationRules.unit.test.ts"],"names":[],"mappings":"AAeA,OAAO,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,UAAU,GAAG;IAClB,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;IACrB,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM;IACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM;IACtB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CACM,CAAC;AAEvB,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAC1C,MAAM,SAAS,GAAuB;QACrC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACR,mBAAmB,EAAE,kBAAkB,CAAC,IAAI;YAC5C,gBAAgB,EAAE,kBAAkB,CAAC,KAAK;YAC1C,oBAAoB,EAAE,kBAAkB,CAAC,IAAI;YAC7C,eAAe,EAAE,kBAAkB,CAAC,MAAM;YAC1C,sBAAsB,EAAE,kBAAkB,CAAC,MAAM;SACjD;QACD,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,KAAK;KACxB,CAAC;IAEF,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACnD,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,EAA6B;SACzC,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACvD,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,kBAAkB,EAAE,IAAI;gBACxB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACvD,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE,IAAI;gBAChB,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,KAAK,GAAG;YACb,GAAG,SAAS;YACZ,OAAO,EAAE;gBACR,GAAG,SAAS,CAAC,OAAO;gBACpB,mBAAmB,EAAE,kBAAkB,CAAC,IAAI;aAC5C;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACrD,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,YAAY;oBAC5B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,YAAY;oBAC5B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE,IAAI;gBAChB,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,YAAY;oBAC5B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,YAAY;oBAC5B,YAAY,EAAE,KAAK;iBACnB;gBACD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,KAAK,GAAG;YACb,GAAG,SAAS;YACZ,OAAO,EAAE;gBACR,GAAG,SAAS,CAAC,OAAO;gBACpB,gBAAgB,EAAE,kBAAkB,CAAC,IAAI;aACzC;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACxD,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,YAAY;oBAC5B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,YAAY;oBAC5B,YAAY,EAAE,KAAK;iBACnB;gBACD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,KAAK,GAAG;YACb,GAAG,SAAS;YACZ,OAAO,EAAE;gBACR,GAAG,SAAS,CAAC,OAAO;gBACpB,gBAAgB,EAAE,kBAAkB,CAAC,MAAM;aAC3C;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACpF,MAAM,eAAe,GAAuB;YAC3C,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACR,mBAAmB,EAAE,kBAAkB,CAAC,MAAM;gBAC9C,gBAAgB,EAAE,kBAAkB,CAAC,KAAK;gBAC1C,eAAe,EAAE,kBAAkB,CAAC,MAAM;gBAC1C,oBAAoB,EAAE,kBAAkB,CAAC,KAAK;gBAC9C,sBAAsB,EAAE,kBAAkB,CAAC,MAAM;aACjD;YACD,mBAAmB,EAAE,IAAI;YACzB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,IAAI;YAC1B,iBAAiB,EAAE,KAAK;SACxB,CAAC;QACF,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE,GAAG;gBACf,kBAAkB,EAAE,IAAI;gBACxB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CACvC,UAAU,EACV,eAAe,EACf,UAAU,CACV,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACvD,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,kBAAkB,GAAG;YAC1B,GAAG,SAAS;YACZ,gBAAgB,EAAE;gBACjB,CAAC,EAAE;oBACF,OAAO,EAAE;wBACR,mBAAmB,EAAE,kBAAkB,CAAC,MAAM;qBAC9C;iBACD;aACD;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CACvC,UAAU,EACV,kBAAkB,EAClB,UAAU,CACV,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC1D,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;iBACnB;gBACD,UAAU,EAAE,GAAG;gBACf,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,kBAAkB,GAAG;YAC1B,GAAG,SAAS;YACZ,gBAAgB,EAAE;gBACjB,CAAC,EAAE;oBACF,OAAO,EAAE,EAAE;oBACX,mBAAmB,EAAE,GAAG;oBACxB,mBAAmB,EAAE,IAAI;iBACzB;aACD;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CACvC,UAAU,EACV,kBAAkB,EAClB,UAAU,CACV,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CACpC,gDAAgD,CAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC1D,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;oBACnB,WAAW,EAAE,KAAK;iBAClB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;oBACnB,WAAW,EAAE,IAAI;iBACjB;gBACD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CACpC,4CAA4C,CAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QACjE,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;oBACnB,WAAW,EAAE,KAAK;iBAClB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;oBACnB,WAAW,EAAE,KAAK;iBAClB;gBACD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC7D,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;oBACnB,WAAW,EAAE,KAAK;iBAClB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;oBACnB,WAAW,EAAE,KAAK;iBAClB;gBACD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,kBAAkB,GAAG;YAC1B,GAAG,SAAS;YACZ,gBAAgB,EAAE;gBACjB,CAAC,EAAE;oBACF,OAAO,EAAE;wBACR,sBAAsB,EAAE,kBAAkB,CAAC,IAAI;qBAC/C;oBACD,mBAAmB,EAAE,GAAG;oBACxB,mBAAmB,EAAE,MAAM;iBAC3B;aACD;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CACvC,UAAU,EACV,kBAAkB,EAClB,UAAU,CACV,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC3C,MAAM,iBAAiB,GAAuB;YAC7C,GAAG,SAAS;YACZ,OAAO,EAAE;gBACR,GAAG,SAAS,CAAC,OAAO;gBACpB,gBAAgB,EAAE,kBAAkB,CAAC,MAAM;gBAC3C,oBAAoB,EAAE,kBAAkB,CAAC,MAAM;aAC/C;YACD,mBAAmB,EAAE,GAAG;SACxB,CAAC;QAEF,EAAE,CAAC,yHAAyH,EAAE,GAAG,EAAE;YAClI,MAAM,UAAU,GAAuB;gBACtC,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,cAAc;gBACnB,GAAG,EAAE,qBAAqB;gBAC1B,UAAU,EAAE;oBACX,UAAU,EAAE;wBACX,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,uBAAuB;wBACjC,cAAc,EAAE,aAAa;wBAC7B,YAAY,EAAE,KAAK;qBACnB;oBACD,UAAU,EAAE;wBACX,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,uBAAuB;wBACjC,cAAc,EAAE,aAAa;wBAC7B,YAAY,EAAE,KAAK;qBACnB;oBACD,UAAU,EAAE,IAAI;oBAChB,kBAAkB,EAAE,KAAK;oBACzB,wBAAwB,EAAE,KAAK;oBAC/B,aAAa,EAAE,KAAK;iBACpB;aACD,CAAC;YACF,MAAM,MAAM,GAAG,yBAAyB,CACvC,UAAU,EACV,iBAAiB,EACjB,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8FAA8F,EAAE,GAAG,EAAE;YACvG,MAAM,UAAU,GAAuB;gBACtC,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;gBACV,UAAU,EAAE;oBACX,UAAU,EAAE;wBACX,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,kBAAkB;wBAC5B,cAAc,EAAE,YAAY;wBAC5B,YAAY,EAAE,KAAK;qBACnB;oBACD,UAAU,EAAE;wBACX,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,kBAAkB;wBAC5B,cAAc,EAAE,YAAY;wBAC5B,YAAY,EAAE,KAAK;qBACnB;oBACD,UAAU,EAAE,IAAI;oBAChB,kBAAkB,EAAE,KAAK;oBACzB,wBAAwB,EAAE,KAAK;oBAC/B,aAAa,EAAE,KAAK;iBACpB;aACD,CAAC;YACF,MAAM,MAAM,GAAG,yBAAyB,CACvC,UAAU,EACV,iBAAiB,EACjB,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC/D,MAAM,UAAU,GAAuB;gBACtC,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;gBACV,UAAU,EAAE;oBACX,UAAU,EAAE;wBACX,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,GAAG;wBACT,QAAQ,EAAE,SAAS;wBACnB,cAAc,EAAE,aAAa;wBAC7B,YAAY,EAAE,KAAK;qBACnB;oBACD,UAAU,EAAE;wBACX,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,GAAG;wBACT,QAAQ,EAAE,SAAS;wBACnB,cAAc,EAAE,aAAa;wBAC7B,YAAY,EAAE,KAAK;qBACnB;oBACD,UAAU,EAAE,IAAI;oBAChB,kBAAkB,EAAE,KAAK;oBACzB,wBAAwB,EAAE,KAAK;oBAC/B,aAAa,EAAE,KAAK;iBACpB;aACD,CAAC;YACF,MAAM,MAAM,GAAG,yBAAyB,CACvC,UAAU,EACV,iBAAiB,EACjB,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAClD,MAAM,UAAU,GAAuB;gBACtC,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;gBACV,UAAU,EAAE;oBACX,UAAU,EAAE;wBACX,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,gBAAgB;wBAC1B,cAAc,EAAE,aAAa;wBAC7B,YAAY,EAAE,KAAK;qBACnB;oBACD,UAAU,EAAE;wBACX,OAAO,EAAE,gBAAgB;wBACzB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,gBAAgB;wBAC1B,cAAc,EAAE,aAAa;wBAC7B,YAAY,EAAE,KAAK;qBACnB;oBACD,UAAU,EAAE,IAAI;oBAChB,kBAAkB,EAAE,KAAK;oBACzB,wBAAwB,EAAE,KAAK;oBAC/B,aAAa,EAAE,KAAK;iBACpB;aACD,CAAC;YACF,MAAM,MAAM,GAAG,yBAAyB,CACvC,UAAU,EACV,iBAAiB,EACjB,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC5E,MAAM,UAAU,GAAuB;gBACtC,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;gBACV,UAAU,EAAE;oBACX,UAAU,EAAE;wBACX,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,uBAAuB;wBACjC,cAAc,EAAE,aAAa;wBAC7B,YAAY,EAAE,KAAK;wBACnB,WAAW,EAAE,KAAK;qBAClB;oBACD,UAAU,EAAE;wBACX,OAAO,EAAE,eAAe;wBACxB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,uBAAuB;wBACjC,cAAc,EAAE,aAAa;wBAC7B,YAAY,EAAE,KAAK;wBACnB,WAAW,EAAE,IAAI;qBACjB;oBACD,UAAU,EAAE,IAAI;oBAChB,kBAAkB,EAAE,KAAK;oBACzB,wBAAwB,EAAE,KAAK;oBAC/B,aAAa,EAAE,KAAK;iBACpB;aACD,CAAC;YACF,MAAM,MAAM,GAAG,yBAAyB,CACvC,UAAU,EACV,iBAAiB,EACjB,UAAU,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC3D,MAAM,UAAU,GAAuB;YACtC,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;oBACnB,WAAW,EAAE,KAAK;iBAClB;gBACD,UAAU,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,KAAK;oBACnB,WAAW,EAAE,IAAI;iBACjB;gBACD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,aAAa,EAAE,KAAK;aACpB;SACD,CAAC;QACF,MAAM,KAAK,GAAG;YACb,GAAG,SAAS;YACZ,OAAO,EAAE;gBACR,GAAG,SAAS,CAAC,OAAO;gBACpB,sBAAsB,EAAE,kBAAkB,CAAC,IAAI;aAC/C;SACD,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CACpC,4CAA4C,CAC5C,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAEN,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,kBAAkB,EAEvB,kBAAkB,EAClB,KAAK,kBAAkB,EAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOzD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,UAUlD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAQ/C;AAQD,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,EAAE,EAAE,iBAAiB,GACnB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,eAAO,MAAM,YAAY,oBAAqB,MAAM,KAAG,SAUtD,CAAC;AAEF,eAAO,MAAM,sBAAsB,oBAAqB,MAAM,KAAG,SAShE,CAAC;AASF,eAAO,MAAM,iBAAiB,OACzB,MAAM,GAAG,SAAS,sBACF,SAAS,UACrB,MAAM,KACZ;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CA4C3C,CAAC;AASF,eAAO,MAAM,yBAAyB,eACzB,kBAAkB,SACvB,kBAAkB,UACjB,MAAM,KACZ;IACF,MAAM,EAAE,kBAAkB,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CA8KrB,CAAC;AAUF,eAAO,MAAM,qBAAqB,OAC7B,MAAM,sBACU,SAAS,UACrB,MAAM,iBACC,cAAc,sBACT,kBAAkB,cAC1B,MAAM,KAChB,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CA4JA,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAEN,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,kBAAkB,EAEvB,kBAAkB,EAClB,KAAK,kBAAkB,EAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOzD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,UAUlD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAQ/C;AAQD,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,EAAE,EAAE,iBAAiB,GACnB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,eAAO,MAAM,YAAY,oBAAqB,MAAM,KAAG,SAUtD,CAAC;AAEF,eAAO,MAAM,sBAAsB,oBAAqB,MAAM,KAAG,SAShE,CAAC;AASF,eAAO,MAAM,iBAAiB,OACzB,MAAM,GAAG,SAAS,sBACF,SAAS,UACrB,MAAM,KACZ;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CA4C3C,CAAC;AASF,eAAO,MAAM,yBAAyB,eACzB,kBAAkB,SACvB,kBAAkB,UACjB,MAAM,KACZ;IACF,MAAM,EAAE,kBAAkB,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CA0MrB,CAAC;AAUF,eAAO,MAAM,qBAAqB,OAC7B,MAAM,sBACU,SAAS,UACrB,MAAM,iBACC,cAAc,sBACT,kBAAkB,cAC1B,MAAM,KAChB,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CA4JA,CAAC"}
package/dist/util.js CHANGED
@@ -134,9 +134,23 @@ const evaluateIpValidationRules = (comparison, rules, logger) => {
134
134
  message: `Country changed from ${ip1Country} to ${ip2Country}`
135
135
  });
136
136
  }
137
+ const ip1Provider = comparison.comparison.ip1Details?.provider;
138
+ const ip2Provider = comparison.comparison.ip2Details?.provider;
139
+ const ip1ConnectionType = comparison.comparison.ip1Details?.connectionType;
140
+ const ip2ConnectionType = comparison.comparison.ip2Details?.connectionType;
141
+ const sameTrustedProvider = !comparison.comparison.differentProviders && !!ip1Provider && ip1Provider !== "Unknown" && ip1CountryCode === ip2CountryCode && ip1ConnectionType !== "datacenter" && ip2ConnectionType !== "datacenter";
142
+ if (sameTrustedProvider) {
143
+ logger.info(() => ({
144
+ msg: "Skipping city and distance IP validation rules for same trusted provider",
145
+ data: {
146
+ provider: ip1Provider,
147
+ countryCode: ip1CountryCode
148
+ }
149
+ }));
150
+ }
137
151
  const ip1City = comparison.comparison.ip1Details?.city;
138
152
  const ip2City = comparison.comparison.ip2Details?.city;
139
- if (ip1City !== ip2City) {
153
+ if (!sameTrustedProvider && ip1City !== ip2City) {
140
154
  conditions.push({
141
155
  met: true,
142
156
  action: effectiveRules.actions.cityChangeAction,
@@ -144,8 +158,6 @@ const evaluateIpValidationRules = (comparison, rules, logger) => {
144
158
  });
145
159
  }
146
160
  if (comparison.comparison.differentProviders) {
147
- const ip1Provider = comparison.comparison.ip1Details?.provider;
148
- const ip2Provider = comparison.comparison.ip2Details?.provider;
149
161
  conditions.push({
150
162
  met: true,
151
163
  action: effectiveRules.actions.ispChangeAction,
@@ -153,7 +165,7 @@ const evaluateIpValidationRules = (comparison, rules, logger) => {
153
165
  });
154
166
  }
155
167
  const distanceKm = comparison.comparison.distanceKm;
156
- if (distanceKm !== void 0 && distanceKm > effectiveRules.distanceThresholdKm) {
168
+ if (!sameTrustedProvider && distanceKm !== void 0 && distanceKm > effectiveRules.distanceThresholdKm) {
157
169
  conditions.push({
158
170
  met: true,
159
171
  action: effectiveRules.actions.distanceExceedAction,
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/provider",
3
- "version": "4.15.6",
3
+ "version": "4.15.8",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -23,23 +23,23 @@
23
23
  "dependencies": {
24
24
  "@noble/hashes": "1.8.0",
25
25
  "@polkadot/util": "13.5.7",
26
- "@prosopo/api": "3.5.16",
27
- "@prosopo/api-express-router": "3.1.44",
26
+ "@prosopo/api": "3.5.17",
27
+ "@prosopo/api-express-router": "3.1.46",
28
28
  "@prosopo/api-route": "2.6.52",
29
29
  "@prosopo/common": "3.1.46",
30
30
  "@prosopo/logger": "2.0.3",
31
- "@prosopo/database": "3.15.13",
32
- "@prosopo/datasets": "3.1.51",
33
- "@prosopo/env": "3.6.13",
34
- "@prosopo/ipinfo": "0.2.37",
35
- "@prosopo/keyring": "2.9.57",
36
- "@prosopo/load-balancer": "2.10.11",
31
+ "@prosopo/database": "3.15.15",
32
+ "@prosopo/datasets": "3.1.52",
33
+ "@prosopo/env": "3.6.15",
34
+ "@prosopo/ipinfo": "0.2.38",
35
+ "@prosopo/keyring": "2.9.58",
36
+ "@prosopo/load-balancer": "2.10.12",
37
37
  "@prosopo/redis-client": "1.0.29",
38
38
  "@prosopo/locale": "3.2.7",
39
- "@prosopo/types": "4.9.9",
40
- "@prosopo/types-database": "4.11.12",
41
- "@prosopo/types-env": "2.10.12",
42
- "@prosopo/user-access-policy": "3.12.4",
39
+ "@prosopo/types": "4.9.10",
40
+ "@prosopo/types-database": "4.11.13",
41
+ "@prosopo/types-env": "2.10.13",
42
+ "@prosopo/user-access-policy": "3.12.5",
43
43
  "@prosopo/util": "3.3.4",
44
44
  "@prosopo/util-crypto": "13.5.30",
45
45
  "cron": "3.1.7",