@prosopo/procaptcha-frictionless 2.3.2 → 2.4.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.
@@ -1,3 +1,3 @@
1
1
  import { type ProcaptchaFrictionlessProps } from "@prosopo/types";
2
- export declare const ProcaptchaFrictionless: ({ config, callbacks, detectBot, }: ProcaptchaFrictionlessProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const ProcaptchaFrictionless: ({ config, callbacks, restart, detectBot, }: ProcaptchaFrictionlessProps) => import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=ProcaptchaFrictionless.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProcaptchaFrictionless.d.ts","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAKN,KAAK,2BAA2B,EAChC,MAAM,gBAAgB,CAAC;AA4CxB,eAAO,MAAM,sBAAsB,sCAIhC,2BAA2B,4CA+C7B,CAAC"}
1
+ {"version":3,"file":"ProcaptchaFrictionless.d.ts","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAGN,KAAK,2BAA2B,EAEhC,MAAM,gBAAgB,CAAC;AA8BxB,eAAO,MAAM,sBAAsB,+CAKhC,2BAA2B,4CA2G7B,CAAC"}
@@ -1,58 +1,82 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ProviderApi } from "@prosopo/api";
3
- import { ProsopoEnvError } from "@prosopo/common";
4
- import { getRandomActiveProvider } from "@prosopo/procaptcha-common";
2
+ import { getDefaultEvents, providerRetry } from "@prosopo/procaptcha-common";
5
3
  import { ProcaptchaPow } from "@prosopo/procaptcha-pow";
6
4
  import { Procaptcha } from "@prosopo/procaptcha-react";
7
5
  import { ProcaptchaConfigSchema, } from "@prosopo/types";
8
6
  import { ProcaptchaPlaceholder } from "@prosopo/web-components";
9
- import { useEffect, useState } from "react";
10
- const DetectorLoader = async () => (await import("@prosopo/detector")).default;
11
- const ExtensionLoader = async (web2) => web2
12
- ? (await import("@prosopo/account")).ExtensionWeb2
13
- : (await import("@prosopo/account")).ExtensionWeb3;
14
- const customDetectBot = async (config) => {
15
- const detect = await DetectorLoader();
16
- const botScore = await detect();
17
- const ext = new (await ExtensionLoader(config.web2))();
18
- const userAccount = await ext.getAccount(config);
19
- if (!config.account.address) {
20
- throw new ProsopoEnvError("GENERAL.SITE_KEY_MISSING");
21
- }
22
- const provider = await getRandomActiveProvider(config);
23
- const providerApi = new ProviderApi(provider.provider.url, config.account.address);
24
- const captcha = await providerApi.getFrictionlessCaptcha(botScore.token, config.account.address, userAccount.account.address);
25
- return {
26
- captchaType: captcha.captchaType,
27
- sessionId: captcha.sessionId,
28
- provider: provider,
29
- status: captcha.status,
30
- userAccount: userAccount,
7
+ import { useEffect, useRef, useState } from "react";
8
+ import customDetectBot from "./customDetectBot.js";
9
+ const renderPlaceholder = ({ config, callbacks, errorMessage, }) => (_jsx(ProcaptchaPlaceholder, { config: config, callbacks: callbacks, errorMessage: errorMessage }));
10
+ const defaultLoadingState = (attemptCount) => ({
11
+ loading: false,
12
+ attemptCount: attemptCount || 0,
13
+ });
14
+ export const ProcaptchaFrictionless = ({ config, callbacks, restart, detectBot = customDetectBot, }) => {
15
+ const stateRef = useRef(defaultLoadingState(0));
16
+ const events = getDefaultEvents(callbacks);
17
+ const [componentToRender, setComponentToRender] = useState(renderPlaceholder({
18
+ config,
19
+ callbacks,
20
+ errorMessage: stateRef.current.errorMessage,
21
+ }));
22
+ const resetState = (attemptCount) => {
23
+ stateRef.current = defaultLoadingState(attemptCount || stateRef.current.attemptCount);
31
24
  };
32
- };
33
- export const ProcaptchaFrictionless = ({ config, callbacks, detectBot = customDetectBot, }) => {
34
- const [componentToRender, setComponentToRender] = useState(_jsx(ProcaptchaPlaceholder, { config: config, callbacks: callbacks }));
35
- useEffect(() => {
36
- const configOutput = ProcaptchaConfigSchema.parse(config);
37
- const detectAndSetComponent = async () => {
38
- try {
39
- const result = await detectBot(configOutput);
40
- const frictionlessState = {
41
- provider: result.provider,
42
- sessionId: result.sessionId,
43
- userAccount: result.userAccount,
25
+ const fallOverWithStyle = (errorMessage) => {
26
+ setComponentToRender(renderPlaceholder({
27
+ config,
28
+ callbacks,
29
+ errorMessage: errorMessage || "Cannot load CAPTCHA",
30
+ }));
31
+ };
32
+ const restartComponentTimeout = () => {
33
+ setTimeout(() => {
34
+ resetState(0);
35
+ events.onReset();
36
+ restart();
37
+ }, 10000);
38
+ };
39
+ const start = async () => {
40
+ await providerRetry(async () => {
41
+ stateRef.current.attemptCount += 1;
42
+ const configOutput = ProcaptchaConfigSchema.parse(config);
43
+ const result = await detectBot(configOutput);
44
+ if (result.error?.message) {
45
+ stateRef.current = {
46
+ ...stateRef.current,
47
+ loading: false,
48
+ errorMessage: result.error?.message,
44
49
  };
45
- if (result.captchaType === "image") {
46
- setComponentToRender(_jsx(Procaptcha, { config: config, callbacks: callbacks, frictionlessState: frictionlessState }));
47
- }
48
- else {
49
- setComponentToRender(_jsx(ProcaptchaPow, { config: config, callbacks: callbacks, frictionlessState: frictionlessState }));
50
- }
50
+ events.onError(new Error(result.error?.message));
51
+ fallOverWithStyle(result.error?.message);
52
+ return;
51
53
  }
52
- catch (error) {
53
- console.error(error);
54
- setComponentToRender(_jsx(Procaptcha, { config: config, callbacks: callbacks }));
54
+ const frictionlessState = {
55
+ provider: result.provider,
56
+ sessionId: result.sessionId,
57
+ userAccount: result.userAccount,
58
+ restart,
59
+ };
60
+ if (result.captchaType === "image") {
61
+ setComponentToRender(_jsx(Procaptcha, { config: config, callbacks: callbacks, frictionlessState: frictionlessState }));
55
62
  }
63
+ else {
64
+ setComponentToRender(_jsx(ProcaptchaPow, { config: config, callbacks: callbacks, frictionlessState: frictionlessState }));
65
+ stateRef.current = {
66
+ ...stateRef.current,
67
+ loading: false,
68
+ };
69
+ }
70
+ }, start, resetState, stateRef.current.attemptCount, 5).finally(() => {
71
+ if (stateRef.current.attemptCount >= 5) {
72
+ fallOverWithStyle();
73
+ restartComponentTimeout();
74
+ }
75
+ });
76
+ };
77
+ useEffect(() => {
78
+ const detectAndSetComponent = async () => {
79
+ await start();
56
80
  };
57
81
  detectAndSetComponent();
58
82
  }, [config, callbacks, detectBot, config.language]);
@@ -1 +1 @@
1
- {"version":3,"file":"ProcaptchaFrictionless.js","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProcaptchaFrictionless.js","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { BotDetectionFunction } from "@prosopo/types";
2
+ declare const customDetectBot: BotDetectionFunction;
3
+ export default customDetectBot;
4
+ //# sourceMappingURL=customDetectBot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customDetectBot.d.ts","sourceRoot":"","sources":["../src/customDetectBot.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACX,oBAAoB,EAEpB,MAAM,gBAAgB,CAAC;AAIxB,QAAA,MAAM,eAAe,EAAE,oBAiCtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { ProviderApi } from "@prosopo/api";
2
+ import { ProsopoEnvError } from "@prosopo/common";
3
+ import { getRandomActiveProvider } from "@prosopo/procaptcha-common";
4
+ import { ExtensionLoader } from "@prosopo/procaptcha-common";
5
+ import { DetectorLoader } from "./detectorLoader.js";
6
+ const customDetectBot = async (config) => {
7
+ const detect = await DetectorLoader();
8
+ const botScore = await detect();
9
+ const ext = new (await ExtensionLoader(config.web2))();
10
+ const userAccount = await ext.getAccount(config);
11
+ if (!config.account.address) {
12
+ throw new ProsopoEnvError("GENERAL.SITE_KEY_MISSING");
13
+ }
14
+ const provider = await getRandomActiveProvider(config);
15
+ const providerApi = new ProviderApi(provider.provider.url, config.account.address);
16
+ const captcha = await providerApi.getFrictionlessCaptcha(botScore.token, config.account.address, userAccount.account.address);
17
+ return {
18
+ captchaType: captcha.captchaType,
19
+ sessionId: captcha.sessionId,
20
+ provider: provider,
21
+ status: captcha.status,
22
+ userAccount: userAccount,
23
+ error: captcha.error,
24
+ };
25
+ };
26
+ export default customDetectBot;
27
+ //# sourceMappingURL=customDetectBot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customDetectBot.js","sourceRoot":"","sources":["../src/customDetectBot.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,eAAe,GAAyB,KAAK,EAClD,MAAoC,EACE,EAAE;IACxC,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAsB,MAAM,MAAM,EAAE,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEjD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAAC;IACvD,CAAC;IAGD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,WAAW,CAClC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EACrB,MAAM,CAAC,OAAO,CAAC,OAAO,CACtB,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,sBAAsB,CACvD,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,OAAO,CAAC,OAAO,EACtB,WAAW,CAAC,OAAO,CAAC,OAAO,CAC3B,CAAC;IAEF,OAAO;QACN,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,WAAW;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;KACpB,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ type DetectorType = typeof import("@prosopo/detector").default;
2
+ export declare const DetectorLoader: () => Promise<DetectorType>;
3
+ export {};
4
+ //# sourceMappingURL=detectorLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectorLoader.d.ts","sourceRoot":"","sources":["../src/detectorLoader.ts"],"names":[],"mappings":"AAcA,KAAK,YAAY,GAAG,cAAc,mBAAmB,EAAE,OAAO,CAAC;AAE/D,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,YAAY,CAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const DetectorLoader = async () => (await import("@prosopo/detector")).default;
2
+ //# sourceMappingURL=detectorLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectorLoader.js","sourceRoot":"","sources":["../src/detectorLoader.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAA2B,EAAE,CAC/D,CAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/procaptcha-frictionless",
3
- "version": "2.3.2",
3
+ "version": "2.4.2",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -26,17 +26,17 @@
26
26
  },
27
27
  "browserslist": ["> 0.5%, last 2 versions, not dead"],
28
28
  "dependencies": {
29
- "@prosopo/detector": "2.3.2",
30
- "@prosopo/locale-browser": "2.3.2",
31
- "@prosopo/procaptcha-pow": "2.3.2",
32
- "@prosopo/procaptcha-react": "2.3.2",
33
- "@prosopo/types": "2.3.2",
34
- "@prosopo/web-components": "2.3.2",
35
- "express": "4.21.1",
29
+ "@prosopo/detector": "2.4.2",
30
+ "@prosopo/locale": "2.4.2",
31
+ "@prosopo/procaptcha-pow": "2.4.2",
32
+ "@prosopo/procaptcha-react": "2.4.2",
33
+ "@prosopo/types": "2.4.2",
34
+ "@prosopo/web-components": "2.4.2",
35
+ "express": "4.21.2",
36
36
  "react": "18.3.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@prosopo/config": "2.3.2",
39
+ "@prosopo/config": "2.4.2",
40
40
  "@vitest/coverage-v8": "2.1.1",
41
41
  "concurrently": "9.0.1",
42
42
  "del-cli": "6.0.0",
@@ -1,5 +1,5 @@
1
1
  import path from "node:path";
2
- // Copyright 2021-2024 Prosopo (UK) Ltd.
2
+ // Copyright 2021-2025 Prosopo (UK) Ltd.
3
3
  //
4
4
  // Licensed under the Apache License, Version 2.0 (the "License");
5
5
  // you may not use this file except in compliance with the License.