@prosopo/provider 5.6.0 → 5.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +16 -16
  2. package/.turbo/turbo-build$colon$tsc.log +25 -25
  3. package/.turbo/turbo-build.log +17 -17
  4. package/CHANGELOG.md +54 -0
  5. package/dist/api/blacklistRequestInspector.d.ts +1 -0
  6. package/dist/api/blacklistRequestInspector.d.ts.map +1 -1
  7. package/dist/api/blacklistRequestInspector.js +4 -2
  8. package/dist/api/blacklistRequestInspector.js.map +1 -1
  9. package/dist/api/block.d.ts.map +1 -1
  10. package/dist/api/block.js +6 -0
  11. package/dist/api/block.js.map +1 -1
  12. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  13. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +9 -5
  14. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  15. package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
  16. package/dist/api/captcha/getImageCaptchaChallenge.js +17 -3
  17. package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
  18. package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -1
  19. package/dist/api/captcha/getPoWCaptchaChallenge.js +16 -2
  20. package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -1
  21. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
  22. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +16 -4
  23. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
  24. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
  25. package/dist/api/captcha/submitPoWCaptchaSolution.js +5 -3
  26. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  27. package/dist/api/hardBlockVerdictCache.d.ts +1 -1
  28. package/dist/api/hardBlockVerdictCache.d.ts.map +1 -1
  29. package/dist/api/hardBlockVerdictCache.js +2 -2
  30. package/dist/api/hardBlockVerdictCache.js.map +1 -1
  31. package/dist/cjs/api/blacklistRequestInspector.cjs +4 -2
  32. package/dist/cjs/api/block.cjs +6 -0
  33. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +9 -5
  34. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +17 -3
  35. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +16 -2
  36. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +16 -4
  37. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +5 -3
  38. package/dist/cjs/api/hardBlockVerdictCache.cjs +2 -2
  39. package/dist/cjs/tasks/captchaManager.cjs +4 -1
  40. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +10 -3
  41. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +3 -1
  42. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +3 -1
  43. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +3 -1
  44. package/dist/cjs/utils/devicePlatform.cjs +34 -0
  45. package/dist/tasks/captchaManager.d.ts +3 -2
  46. package/dist/tasks/captchaManager.d.ts.map +1 -1
  47. package/dist/tasks/captchaManager.js +4 -1
  48. package/dist/tasks/captchaManager.js.map +1 -1
  49. package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -1
  50. package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -1
  51. package/dist/tasks/frictionless/frictionlessTasks.d.ts +1 -1
  52. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  53. package/dist/tasks/frictionless/frictionlessTasks.js +10 -3
  54. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  55. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  56. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +3 -1
  57. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  58. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  59. package/dist/tasks/powCaptcha/powTasks.js +3 -1
  60. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  61. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
  62. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +3 -1
  63. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
  64. package/dist/tests/integration/routingDecisionMachines.integration.test.js +280 -3
  65. package/dist/tests/integration/routingDecisionMachines.integration.test.js.map +1 -1
  66. package/dist/tests/unit/api/block.unit.test.js +37 -0
  67. package/dist/tests/unit/api/block.unit.test.js.map +1 -1
  68. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.js +29 -0
  69. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.js.map +1 -1
  70. package/dist/tests/unit/api/hardBlockVerdictCache.unit.test.js +8 -0
  71. package/dist/tests/unit/api/hardBlockVerdictCache.unit.test.js.map +1 -1
  72. package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.d.ts +2 -0
  73. package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.d.ts.map +1 -0
  74. package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js +119 -0
  75. package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js.map +1 -0
  76. package/dist/tests/unit/utils/devicePlatform.unit.test.js +61 -1
  77. package/dist/tests/unit/utils/devicePlatform.unit.test.js.map +1 -1
  78. package/dist/utils/devicePlatform.d.ts +2 -1
  79. package/dist/utils/devicePlatform.d.ts.map +1 -1
  80. package/dist/utils/devicePlatform.js +34 -1
  81. package/dist/utils/devicePlatform.js.map +1 -1
  82. package/package.json +13 -13
@@ -0,0 +1,119 @@
1
+ import { CaptchaType, FrictionlessPenalties, } from "@prosopo/types";
2
+ import { beforeEach, describe, expect, it, vi } from "vitest";
3
+ const { applyRouterMock } = vi.hoisted(() => ({
4
+ applyRouterMock: vi.fn(),
5
+ }));
6
+ vi.mock("../../../../tasks/frictionless/routingMachine.js", () => ({
7
+ applyRouter: applyRouterMock,
8
+ }));
9
+ import { getCompositeIpAddress } from "../../../../compositeIpAddress.js";
10
+ import { FrictionlessManager } from "../../../../tasks/frictionless/frictionlessTasks.js";
11
+ const SITE_KEY = "5EjTA28bKSbFPPyMbUjNtArxyqjwq38r1BapVmLZShaqEedV";
12
+ describe("router-supplied puzzle overrides reach the session record", () => {
13
+ let db;
14
+ let storeSessionRecord;
15
+ let manager;
16
+ const context = {
17
+ dappAccount: SITE_KEY,
18
+ userAccount: "user",
19
+ ip: "1.2.3.4",
20
+ score: 0.9,
21
+ platform: { isMobile: false, isApple: true, isWebView: false },
22
+ raw: { headers: {}, userAgent: "ua" },
23
+ imageMaxRounds: 8,
24
+ };
25
+ const storedSession = () => {
26
+ const call = storeSessionRecord.mock.calls[0];
27
+ if (!call)
28
+ throw new Error("no session was stored");
29
+ return call[0];
30
+ };
31
+ const routerReturns = (output) => {
32
+ applyRouterMock.mockResolvedValue(output);
33
+ };
34
+ beforeEach(() => {
35
+ vi.clearAllMocks();
36
+ storeSessionRecord = vi.fn();
37
+ db = { storeSessionRecord };
38
+ const pair = {
39
+ sign: vi.fn(),
40
+ address: "testAddress",
41
+ };
42
+ const config = {
43
+ penalties: FrictionlessPenalties.parse({}),
44
+ captchas: { solved: { count: 2 }, unsolved: { count: 0 } },
45
+ lRules: { en: 1 },
46
+ };
47
+ manager = new FrictionlessManager(db, pair, config);
48
+ manager.setSessionParams({
49
+ token: "tok",
50
+ score: 0.9,
51
+ threshold: 0.5,
52
+ scoreComponents: { baseScore: 0.9 },
53
+ ipAddress: getCompositeIpAddress("1.2.3.4"),
54
+ siteKey: SITE_KEY,
55
+ webView: false,
56
+ iFrame: false,
57
+ decryptedHeadHash: "",
58
+ });
59
+ manager.setRoutingContext(context);
60
+ });
61
+ it("persists puzzleTolerance and puzzle settings on a puzzle session", async () => {
62
+ routerReturns({
63
+ captchaType: CaptchaType.puzzle,
64
+ puzzleTolerance: 5,
65
+ puzzle: { decoyCount: 12, pieceScale: { min: 0.2, max: 0.4 } },
66
+ });
67
+ await manager.sendPuzzleCaptcha();
68
+ expect(storedSession().puzzleTolerance).toBe(5);
69
+ expect(storedSession().puzzle).toEqual({
70
+ decoyCount: 12,
71
+ pieceScale: { min: 0.2, max: 0.4 },
72
+ });
73
+ });
74
+ it("persists a partial override without inventing the other fields", async () => {
75
+ routerReturns({
76
+ captchaType: CaptchaType.puzzle,
77
+ puzzle: { decoyCount: 30 },
78
+ });
79
+ await manager.sendPuzzleCaptcha();
80
+ expect(storedSession().puzzle).toEqual({ decoyCount: 30 });
81
+ expect(storedSession().puzzleTolerance).toBeUndefined();
82
+ });
83
+ it("persists tolerance alone when no render settings were named", async () => {
84
+ routerReturns({ captchaType: CaptchaType.puzzle, puzzleTolerance: 8 });
85
+ await manager.sendPuzzleCaptcha();
86
+ expect(storedSession().puzzleTolerance).toBe(8);
87
+ expect(storedSession().puzzle).toBeUndefined();
88
+ });
89
+ it("leaves both undefined when the router named neither", async () => {
90
+ routerReturns({ captchaType: CaptchaType.puzzle });
91
+ await manager.sendPuzzleCaptcha();
92
+ expect(storedSession().puzzleTolerance).toBeUndefined();
93
+ expect(storedSession().puzzle).toBeUndefined();
94
+ });
95
+ it("drops the overrides when the router chose an image", async () => {
96
+ routerReturns({
97
+ captchaType: CaptchaType.image,
98
+ solvedImagesCount: 2,
99
+ puzzleTolerance: 5,
100
+ puzzle: { decoyCount: 12 },
101
+ });
102
+ await manager.sendPuzzleCaptcha();
103
+ expect(storedSession().captchaType).toBe(CaptchaType.image);
104
+ expect(storedSession().puzzleTolerance).toBeUndefined();
105
+ expect(storedSession().puzzle).toBeUndefined();
106
+ });
107
+ it("drops the overrides when the router chose pow", async () => {
108
+ routerReturns({
109
+ captchaType: CaptchaType.pow,
110
+ puzzleTolerance: 5,
111
+ puzzle: { decoyCount: 12 },
112
+ });
113
+ await manager.sendPuzzleCaptcha();
114
+ expect(storedSession().captchaType).toBe(CaptchaType.pow);
115
+ expect(storedSession().puzzleTolerance).toBeUndefined();
116
+ expect(storedSession().puzzle).toBeUndefined();
117
+ });
118
+ });
119
+ //# sourceMappingURL=routerPuzzleOverrides.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerPuzzleOverrides.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { CaptchaType, TrafficFilterAction, } from "@prosopo/types";
1
2
  import { describe, expect, it } from "vitest";
2
- import { derivePlatform } from "../../../utils/devicePlatform.js";
3
+ import { derivePlatform, deriveTrafficPolicies, } from "../../../utils/devicePlatform.js";
3
4
  const IPHONE_UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
4
5
  const IPAD_UA = "Mozilla/5.0 (iPad; CPU OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
5
6
  const MAC_UA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15";
@@ -55,4 +56,63 @@ describe("derivePlatform", () => {
55
56
  });
56
57
  });
57
58
  });
59
+ describe("deriveTrafficPolicies", () => {
60
+ const block = { action: TrafficFilterAction.Block };
61
+ const challenge = { action: TrafficFilterAction.Challenge };
62
+ it("returns undefined when there is no trafficFilter", () => {
63
+ expect(deriveTrafficPolicies(undefined)).toBeUndefined();
64
+ });
65
+ it("returns undefined when no category is configured", () => {
66
+ const tf = {
67
+ abuserScoreThreshold: 0.9,
68
+ skipExtrasOnValidDnsPath: true,
69
+ datacenterNameAllowlist: ["Cloudflare"],
70
+ };
71
+ expect(deriveTrafficPolicies(tf)).toBeUndefined();
72
+ });
73
+ it("carries challenge policies through, not just blocks", () => {
74
+ const tf = { vpn: challenge, datacenter: block };
75
+ expect(deriveTrafficPolicies(tf)).toEqual({
76
+ vpn: challenge,
77
+ datacenter: block,
78
+ });
79
+ });
80
+ it("preserves the challenge policy's captcha overrides", () => {
81
+ const vpn = {
82
+ action: TrafficFilterAction.Challenge,
83
+ captchaType: CaptchaType.image,
84
+ solvedImagesCount: 4,
85
+ };
86
+ const tf = { vpn };
87
+ expect(deriveTrafficPolicies(tf)?.vpn).toEqual(vpn);
88
+ });
89
+ it("omits a category that is absent from the filter", () => {
90
+ const tf = { datacenter: block };
91
+ const policies = deriveTrafficPolicies(tf);
92
+ expect(policies).toEqual({ datacenter: block });
93
+ expect(policies?.vpn).toBeUndefined();
94
+ });
95
+ it("covers every policy-carrying category", () => {
96
+ const tf = {
97
+ vpn: block,
98
+ proxy: block,
99
+ tor: block,
100
+ datacenter: block,
101
+ abuser: block,
102
+ mobile: block,
103
+ satellite: block,
104
+ crawler: block,
105
+ };
106
+ expect(Object.keys(deriveTrafficPolicies(tf) ?? {}).sort()).toEqual([
107
+ "abuser",
108
+ "crawler",
109
+ "datacenter",
110
+ "mobile",
111
+ "proxy",
112
+ "satellite",
113
+ "tor",
114
+ "vpn",
115
+ ]);
116
+ });
117
+ });
58
118
  //# sourceMappingURL=devicePlatform.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devicePlatform.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/utils/devicePlatform.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devicePlatform.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/utils/devicePlatform.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { RoutingMachinePlatform } from "@prosopo/types";
1
+ import type { ITrafficFilter, RoutingMachinePlatform, TrafficCategoryPolicies } from "@prosopo/types";
2
2
  export declare const derivePlatform: (userAgent: string, webView: boolean, ipInfo?: {
3
3
  isMobile?: boolean;
4
4
  }) => RoutingMachinePlatform;
5
+ export declare const deriveTrafficPolicies: (trafficFilter: Partial<ITrafficFilter> | undefined) => TrafficCategoryPolicies | undefined;
5
6
  //# sourceMappingURL=devicePlatform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"devicePlatform.d.ts","sourceRoot":"","sources":["../../src/utils/devicePlatform.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAW7D,eAAO,MAAM,cAAc,cACf,MAAM,WACR,OAAO,WACP;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,KAC7B,sBAOD,CAAC"}
1
+ {"version":3,"file":"devicePlatform.d.ts","sourceRoot":"","sources":["../../src/utils/devicePlatform.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,gBAAgB,CAAC;AAcxB,eAAO,MAAM,cAAc,cACf,MAAM,WACR,OAAO,WACP;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,KAC7B,sBAOD,CAAC;AA0BH,eAAO,MAAM,qBAAqB,kBAClB,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,KAChD,uBAAuB,GAAG,SAY5B,CAAC"}
@@ -12,5 +12,38 @@ var derivePlatform = (userAgent, webView, ipInfo) => ({
12
12
  isWebView: webView,
13
13
  isMobile: typeof ipInfo?.isMobile === "boolean" ? ipInfo.isMobile : MOBILE_UA_REGEX.test(userAgent)
14
14
  });
15
+ var TRAFFIC_FILTER_CATEGORIES = [
16
+ "vpn",
17
+ "proxy",
18
+ "tor",
19
+ "datacenter",
20
+ "abuser",
21
+ "mobile",
22
+ "satellite",
23
+ "crawler"
24
+ ];
25
+ /**
26
+ * Project a site's `trafficFilter` down to just its per-category policies, for
27
+ * consumption by routing / decision machines. Machines use these both to tell
28
+ * whether the operator rejects an egress class at all, and to inherit the
29
+ * operator's configured action when they classify one themselves — see
30
+ * `TrafficCategoryPolicies`.
31
+ *
32
+ * Returns `undefined` when no category is configured, so the field can be
33
+ * omitted from the machine input entirely.
34
+ */
35
+ var deriveTrafficPolicies = (trafficFilter) => {
36
+ if (!trafficFilter) return void 0;
37
+ const policies = {};
38
+ let any = false;
39
+ for (const category of TRAFFIC_FILTER_CATEGORIES) {
40
+ const policy = trafficFilter[category];
41
+ if (policy) {
42
+ policies[category] = policy;
43
+ any = true;
44
+ }
45
+ }
46
+ return any ? policies : void 0;
47
+ };
15
48
  //#endregion
16
- export { derivePlatform };
49
+ export { derivePlatform, deriveTrafficPolicies };
@@ -1 +1 @@
1
- {"version":3,"file":"devicePlatform.js","sourceRoot":"","sources":["../../src/utils/devicePlatform.ts"],"names":[],"mappings":"AAgBA,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAC9D,MAAM,eAAe,GAAG,sDAAsD,CAAC;AAQ/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,SAAiB,EACjB,OAAgB,EAChB,MAA+B,EACN,EAAE,CAAC,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;IACvC,SAAS,EAAE,OAAO;IAClB,QAAQ,EACP,OAAO,MAAM,EAAE,QAAQ,KAAK,SAAS;QACpC,CAAC,CAAC,MAAM,CAAC,QAAQ;QACjB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;CACnC,CAAC,CAAC"}
1
+ {"version":3,"file":"devicePlatform.js","sourceRoot":"","sources":["../../src/utils/devicePlatform.ts"],"names":[],"mappings":"AAuBA,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAC9D,MAAM,eAAe,GAAG,sDAAsD,CAAC;AAQ/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,SAAiB,EACjB,OAAgB,EAChB,MAA+B,EACN,EAAE,CAAC,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;IACvC,SAAS,EAAE,OAAO;IAClB,QAAQ,EACP,OAAO,MAAM,EAAE,QAAQ,KAAK,SAAS;QACpC,CAAC,CAAC,MAAM,CAAC,QAAQ;QACjB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;CACnC,CAAC,CAAC;AAKH,MAAM,yBAAyB,GAAG;IACjC,KAAK;IACL,OAAO;IACP,KAAK;IACL,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;CACqD,CAAC;AAYhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,aAAkD,EACZ,EAAE;IACxC,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,MAAM,QAAQ,IAAI,yBAAyB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;YAC5B,GAAG,GAAG,IAAI,CAAC;QACZ,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/provider",
3
- "version": "5.6.0",
3
+ "version": "5.6.2",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -23,26 +23,26 @@
23
23
  "dependencies": {
24
24
  "@noble/hashes": "1.8.0",
25
25
  "@polkadot/util": "13.5.7",
26
- "@prosopo/api": "4.1.1",
27
- "@prosopo/api-express-router": "3.1.76",
26
+ "@prosopo/api": "4.1.2",
27
+ "@prosopo/api-express-router": "3.1.78",
28
28
  "@prosopo/api-route": "2.6.56",
29
29
  "@prosopo/common": "3.1.52",
30
- "@prosopo/database": "4.0.22",
31
- "@prosopo/datasets": "3.1.73",
32
- "@prosopo/env": "3.6.45",
33
- "@prosopo/ipinfo": "0.3.18",
34
- "@prosopo/keyring": "2.9.80",
35
- "@prosopo/load-balancer": "2.10.34",
30
+ "@prosopo/database": "4.0.24",
31
+ "@prosopo/datasets": "3.1.74",
32
+ "@prosopo/env": "3.6.47",
33
+ "@prosopo/ipinfo": "0.3.19",
34
+ "@prosopo/keyring": "2.9.81",
35
+ "@prosopo/load-balancer": "2.10.36",
36
36
  "@prosopo/locale": "3.4.0",
37
37
  "@prosopo/logger": "2.0.7",
38
38
  "@prosopo/native-ja4": "0.0.3",
39
39
  "@prosopo/native-merkle": "0.0.3",
40
40
  "@prosopo/puzzle-assets": "0.1.3",
41
41
  "@prosopo/redis-client": "1.0.33",
42
- "@prosopo/types": "5.5.0",
43
- "@prosopo/types-database": "5.3.0",
44
- "@prosopo/types-env": "2.10.39",
45
- "@prosopo/user-access-policy": "3.12.28",
42
+ "@prosopo/types": "5.5.1",
43
+ "@prosopo/types-database": "5.3.2",
44
+ "@prosopo/types-env": "2.10.41",
45
+ "@prosopo/user-access-policy": "3.12.30",
46
46
  "@prosopo/util": "3.3.7",
47
47
  "@prosopo/util-crypto": "13.5.30",
48
48
  "cron": "3.1.7",