@prosopo/provider 5.10.0 → 5.10.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 (85) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +14 -13
  2. package/.turbo/turbo-build$colon$tsc.log +27 -27
  3. package/.turbo/turbo-build.log +15 -14
  4. package/CHANGELOG.md +126 -0
  5. package/dist/api/captcha/assignDetectorBundle.d.ts.map +1 -1
  6. package/dist/api/captcha/assignDetectorBundle.js +27 -9
  7. package/dist/api/captcha/assignDetectorBundle.js.map +1 -1
  8. package/dist/api/captcha/assignDetectorBundle.unit.test.d.ts +2 -0
  9. package/dist/api/captcha/assignDetectorBundle.unit.test.d.ts.map +1 -0
  10. package/dist/api/captcha/assignDetectorBundle.unit.test.js +153 -0
  11. package/dist/api/captcha/assignDetectorBundle.unit.test.js.map +1 -0
  12. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  13. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +6 -2
  14. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  15. package/dist/api/captcha/submitPoWCaptchaSolution.js +51 -11
  16. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  17. package/dist/cjs/api/captcha/assignDetectorBundle.cjs +26 -8
  18. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +6 -2
  19. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +51 -11
  20. package/dist/cjs/services/ipComparison.cjs +4 -2
  21. package/dist/cjs/tasks/captchaManager.cjs +34 -3
  22. package/dist/cjs/tasks/detection/assignSecret.cjs +45 -0
  23. package/dist/cjs/tasks/detection/bundlePool.cjs +11 -7
  24. package/dist/cjs/tasks/detection/decodePayload.cjs +1147 -988
  25. package/dist/cjs/tasks/detection/decodePayload.js +1 -2
  26. package/dist/cjs/tasks/detection/getBotScore.cjs +30 -1
  27. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +95 -82
  28. package/dist/cjs/util.cjs +4 -9
  29. package/dist/services/ipComparison.d.ts.map +1 -1
  30. package/dist/services/ipComparison.js +4 -2
  31. package/dist/services/ipComparison.js.map +1 -1
  32. package/dist/tasks/captchaManager.d.ts +1 -0
  33. package/dist/tasks/captchaManager.d.ts.map +1 -1
  34. package/dist/tasks/captchaManager.js +34 -3
  35. package/dist/tasks/captchaManager.js.map +1 -1
  36. package/dist/tasks/detection/assignSecret.d.ts +8 -0
  37. package/dist/tasks/detection/assignSecret.d.ts.map +1 -0
  38. package/dist/tasks/detection/assignSecret.js +45 -0
  39. package/dist/tasks/detection/assignSecret.js.map +1 -0
  40. package/dist/tasks/detection/bundlePool.d.ts +2 -1
  41. package/dist/tasks/detection/bundlePool.d.ts.map +1 -1
  42. package/dist/tasks/detection/bundlePool.js +11 -8
  43. package/dist/tasks/detection/bundlePool.js.map +1 -1
  44. package/dist/tasks/detection/bundlePool.test.js +4 -3
  45. package/dist/tasks/detection/bundlePool.test.js.map +1 -1
  46. package/dist/tasks/detection/decodePayload.d.ts +2 -2
  47. package/dist/tasks/detection/decodePayload.d.ts.map +1 -1
  48. package/dist/tasks/detection/decodePayload.js +1 -2
  49. package/dist/tasks/detection/decodePayload.js.map +1 -1
  50. package/dist/tasks/detection/getBotScore.d.ts +11 -0
  51. package/dist/tasks/detection/getBotScore.d.ts.map +1 -1
  52. package/dist/tasks/detection/getBotScore.js +32 -4
  53. package/dist/tasks/detection/getBotScore.js.map +1 -1
  54. package/dist/tasks/frictionless/frictionlessTasks.d.ts +7 -3
  55. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  56. package/dist/tasks/frictionless/frictionlessTasks.js +95 -82
  57. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  58. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js +26 -2
  59. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js.map +1 -1
  60. package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +49 -38
  61. package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
  62. package/dist/tests/unit/services/ipComparison.unit.test.js +27 -0
  63. package/dist/tests/unit/services/ipComparison.unit.test.js.map +1 -1
  64. package/dist/tests/unit/tasks/captchaManager.unit.test.js +46 -0
  65. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  66. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +44 -1
  67. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -1
  68. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +4 -0
  69. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +1 -1
  70. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +78 -2
  71. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
  72. package/dist/tests/unit/util.deepValidateIpAddress.rules.unit.test.d.ts +2 -0
  73. package/dist/tests/unit/util.deepValidateIpAddress.rules.unit.test.d.ts.map +1 -0
  74. package/dist/tests/unit/util.deepValidateIpAddress.rules.unit.test.js +115 -0
  75. package/dist/tests/unit/util.deepValidateIpAddress.rules.unit.test.js.map +1 -0
  76. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js +70 -0
  77. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js.map +1 -1
  78. package/dist/util.d.ts.map +1 -1
  79. package/dist/util.js +4 -9
  80. package/dist/util.js.map +1 -1
  81. package/package.json +16 -16
  82. package/dist/api/captcha/assignDetectorBundle.test.d.ts +0 -2
  83. package/dist/api/captcha/assignDetectorBundle.test.d.ts.map +0 -1
  84. package/dist/api/captcha/assignDetectorBundle.test.js +0 -71
  85. package/dist/api/captcha/assignDetectorBundle.test.js.map +0 -1
@@ -1,71 +0,0 @@
1
- import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
2
- import { tmpdir } from "node:os";
3
- import { join } from "node:path";
4
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
5
- import { initDetectorBundlePool } from "../../tasks/detection/bundlePool.js";
6
- import assignDetectorBundle from "./assignDetectorBundle.js";
7
- const cacheDetectorBundle = vi.fn(async (_detectorSessionId, _bundleId) => true);
8
- vi.mock("../../tasks/index.js", () => ({
9
- Tasks: vi.fn().mockImplementation(() => ({
10
- frictionlessManager: { writeQueue: { cacheDetectorBundle } },
11
- })),
12
- }));
13
- const makeReq = () => ({
14
- body: { dapp: "site-key" },
15
- logger: { warn: vi.fn(), info: vi.fn() },
16
- });
17
- const makeRes = () => {
18
- const json = vi.fn((body) => body);
19
- return { res: { json }, json };
20
- };
21
- const env = {};
22
- const next = vi.fn();
23
- describe("assignDetectorBundle", () => {
24
- let dir;
25
- beforeEach(() => {
26
- dir = mkdtempSync(join(tmpdir(), "assign-"));
27
- cacheDetectorBundle.mockClear();
28
- });
29
- afterEach(() => {
30
- rmSync(dir, { recursive: true, force: true });
31
- vi.clearAllMocks();
32
- });
33
- it("returns useProviderBundle:false when the pool is empty", async () => {
34
- initDetectorBundlePool(dir);
35
- const { res, json } = makeRes();
36
- await assignDetectorBundle(env)(makeReq(), res, next);
37
- expect(json).toHaveBeenCalledWith({
38
- useProviderBundle: false,
39
- status: "ok",
40
- });
41
- expect(cacheDetectorBundle).not.toHaveBeenCalled();
42
- });
43
- it("assigns a bundle, stores the binding, and returns the script", async () => {
44
- writeFileSync(join(dir, "bundle-0.js"), "export default 1;");
45
- writeFileSync(join(dir, "bundle-0.json"), JSON.stringify({ privateKey: "PK", innerConfig: "C" }));
46
- initDetectorBundlePool(dir);
47
- const { res, json } = makeRes();
48
- await assignDetectorBundle(env)(makeReq(), res, next);
49
- expect(cacheDetectorBundle).toHaveBeenCalledTimes(1);
50
- const [detSessionId, bundleId] = cacheDetectorBundle.mock.calls[0];
51
- expect(bundleId).toBe("bundle-0");
52
- expect(detSessionId).toMatch(/^det-/);
53
- const body = json.mock.calls[0]?.[0];
54
- expect(body.useProviderBundle).toBe(true);
55
- expect(body.detectorScript).toBe("export default 1;");
56
- expect(body.detectorSessionId).toBe(detSessionId);
57
- });
58
- it("falls back to bundled when the Redis binding cannot be stored", async () => {
59
- writeFileSync(join(dir, "bundle-0.js"), "JS");
60
- writeFileSync(join(dir, "bundle-0.json"), JSON.stringify({ privateKey: "PK", innerConfig: "C" }));
61
- initDetectorBundlePool(dir);
62
- cacheDetectorBundle.mockResolvedValueOnce(false);
63
- const { res, json } = makeRes();
64
- await assignDetectorBundle(env)(makeReq(), res, next);
65
- expect(json).toHaveBeenCalledWith({
66
- useProviderBundle: false,
67
- status: "ok",
68
- });
69
- });
70
- });
71
- //# sourceMappingURL=assignDetectorBundle.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assignDetectorBundle.test.js","sourceRoot":"","sources":["../../../src/api/captcha/assignDetectorBundle.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAE7D,MAAM,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAChC,KAAK,EAAE,kBAA0B,EAAE,SAAiB,EAAE,EAAE,CAAC,IAAI,CAC7D,CAAC;AAEF,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,mBAAmB,EAAE,EAAE,UAAU,EAAE,EAAE,mBAAmB,EAAE,EAAE;KAC5D,CAAC,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,MAAM,OAAO,GAAG,GAA+B,EAAE,CAChD,CAAC;IACA,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;IAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;CACxC,CAA0C,CAAC;AAE7C,MAAM,OAAO,GAAG,GAAsD,EAAE;IACvE,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAyB,EAAE,IAAI,EAAE,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,EAAoC,CAAC;AACjD,MAAM,IAAI,GAAiB,EAAE,CAAC,EAAE,EAAE,CAAC;AAEnC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACrC,IAAI,GAAW,CAAC;IAEhB,UAAU,CAAC,GAAG,EAAE;QACf,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7C,mBAAmB,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,EAAE,CAAC,aAAa,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACvE,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QAEhC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAEtD,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC;YACjC,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC7E,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC7D,aAAa,CACZ,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAC1B,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CACtD,CAAC;QACF,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QAEhC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAEtD,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAGhE,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAIlC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC9E,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9C,aAAa,CACZ,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAC1B,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CACtD,CAAC;QACF,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC5B,mBAAmB,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QAEhC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAEtD,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC;YACjC,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,IAAI;SACZ,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}