@prosopo/procaptcha-audio 0.2.9 → 0.2.11

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 (124) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +2 -2
  2. package/.turbo/{turbo-build.log → turbo-build$colon$esm.log} +8 -9
  3. package/.turbo/turbo-build$colon$tsc.log +17 -17
  4. package/.turbo/turbo-build$colon$types.log +1 -0
  5. package/CHANGELOG.md +46 -0
  6. package/dist/cjs/services/Manager.cjs +1 -2
  7. package/dist/{services → esm/services}/Manager.js +2 -3
  8. package/dist/tsc/components/audioPlayer.d.ts.map +1 -0
  9. package/dist/tsc/components/audioPlayer.js +285 -0
  10. package/dist/tsc/components/audioPlayer.js.map +1 -0
  11. package/dist/tsc/components/procaptchaAudio.d.ts.map +1 -0
  12. package/dist/tsc/components/procaptchaAudio.js +4 -0
  13. package/dist/tsc/components/procaptchaAudio.js.map +1 -0
  14. package/dist/tsc/components/procaptchaWidget.d.ts.map +1 -0
  15. package/dist/tsc/components/procaptchaWidget.js +243 -0
  16. package/dist/tsc/components/procaptchaWidget.js.map +1 -0
  17. package/dist/tsc/errorSites.d.ts.map +1 -0
  18. package/dist/{errorSites.js.map → tsc/errorSites.js.map} +1 -1
  19. package/dist/tsc/index.d.ts.map +1 -0
  20. package/dist/tsc/index.js +4 -0
  21. package/dist/tsc/index.js.map +1 -0
  22. package/dist/tsc/services/Manager.d.ts.map +1 -0
  23. package/dist/tsc/services/Manager.js +270 -0
  24. package/dist/tsc/services/Manager.js.map +1 -0
  25. package/dist/tsc/tests/audioPlayer.unit.test.d.ts.map +1 -0
  26. package/dist/tsc/tests/audioPlayer.unit.test.js.map +1 -0
  27. package/dist/tsc/tests/domHarness.d.ts.map +1 -0
  28. package/dist/tsc/tests/domHarness.js.map +1 -0
  29. package/dist/tsc/tests/manager.unit.test.d.ts.map +1 -0
  30. package/dist/{tests → tsc/tests}/manager.unit.test.js +10 -3
  31. package/dist/tsc/tests/manager.unit.test.js.map +1 -0
  32. package/dist/tsc/tests/managerHarness.d.ts.map +1 -0
  33. package/dist/tsc/tests/managerHarness.js.map +1 -0
  34. package/dist/tsc/tests/procaptchaAudio.test-d.d.ts.map +1 -0
  35. package/dist/tsc/tests/procaptchaAudio.test-d.js.map +1 -0
  36. package/dist/tsc/tests/procaptchaAudio.unit.test.d.ts.map +1 -0
  37. package/dist/tsc/tests/procaptchaAudio.unit.test.js.map +1 -0
  38. package/dist/tsc/tests/procaptchaWidget.unit.test.d.ts.map +1 -0
  39. package/dist/tsc/tests/procaptchaWidget.unit.test.js.map +1 -0
  40. package/dist/tsc/tests/setup.d.ts.map +1 -0
  41. package/dist/tsc/tests/setup.js.map +1 -0
  42. package/dist/types/components/audioPlayer.d.ts +18 -0
  43. package/dist/types/components/audioPlayer.d.ts.map +1 -0
  44. package/dist/types/components/procaptchaAudio.d.ts +7 -0
  45. package/dist/types/components/procaptchaAudio.d.ts.map +1 -0
  46. package/dist/types/components/procaptchaWidget.d.ts +7 -0
  47. package/dist/types/components/procaptchaWidget.d.ts.map +1 -0
  48. package/dist/types/errorSites.d.ts +12 -0
  49. package/dist/types/errorSites.d.ts.map +1 -0
  50. package/dist/types/index.d.ts +4 -0
  51. package/dist/types/index.d.ts.map +1 -0
  52. package/dist/types/services/Manager.d.ts +10 -0
  53. package/dist/types/services/Manager.d.ts.map +1 -0
  54. package/dist/types/tests/audioPlayer.unit.test.d.ts +2 -0
  55. package/dist/types/tests/audioPlayer.unit.test.d.ts.map +1 -0
  56. package/dist/types/tests/domHarness.d.ts +20 -0
  57. package/dist/types/tests/domHarness.d.ts.map +1 -0
  58. package/dist/types/tests/manager.unit.test.d.ts +2 -0
  59. package/dist/types/tests/manager.unit.test.d.ts.map +1 -0
  60. package/dist/types/tests/managerHarness.d.ts +21 -0
  61. package/dist/types/tests/managerHarness.d.ts.map +1 -0
  62. package/dist/types/tests/procaptchaAudio.test-d.d.ts +2 -0
  63. package/dist/types/tests/procaptchaAudio.test-d.d.ts.map +1 -0
  64. package/dist/types/tests/procaptchaAudio.unit.test.d.ts +2 -0
  65. package/dist/types/tests/procaptchaAudio.unit.test.d.ts.map +1 -0
  66. package/dist/types/tests/procaptchaWidget.unit.test.d.ts +2 -0
  67. package/dist/types/tests/procaptchaWidget.unit.test.d.ts.map +1 -0
  68. package/dist/types/tests/setup.d.ts +2 -0
  69. package/dist/types/tests/setup.d.ts.map +1 -0
  70. package/package.json +17 -18
  71. package/dist/components/audioPlayer.d.ts.map +0 -1
  72. package/dist/components/audioPlayer.js.map +0 -1
  73. package/dist/components/procaptchaAudio.d.ts.map +0 -1
  74. package/dist/components/procaptchaAudio.js.map +0 -1
  75. package/dist/components/procaptchaWidget.d.ts.map +0 -1
  76. package/dist/components/procaptchaWidget.js.map +0 -1
  77. package/dist/errorSites.d.ts.map +0 -1
  78. package/dist/index.d.ts.map +0 -1
  79. package/dist/index.js.map +0 -1
  80. package/dist/services/Manager.d.ts.map +0 -1
  81. package/dist/services/Manager.js.map +0 -1
  82. package/dist/tests/audioPlayer.unit.test.d.ts.map +0 -1
  83. package/dist/tests/audioPlayer.unit.test.js.map +0 -1
  84. package/dist/tests/domHarness.d.ts.map +0 -1
  85. package/dist/tests/domHarness.js.map +0 -1
  86. package/dist/tests/manager.unit.test.d.ts.map +0 -1
  87. package/dist/tests/manager.unit.test.js.map +0 -1
  88. package/dist/tests/managerHarness.d.ts.map +0 -1
  89. package/dist/tests/managerHarness.js.map +0 -1
  90. package/dist/tests/procaptchaAudio.test-d.d.ts.map +0 -1
  91. package/dist/tests/procaptchaAudio.test-d.js.map +0 -1
  92. package/dist/tests/procaptchaAudio.unit.test.d.ts.map +0 -1
  93. package/dist/tests/procaptchaAudio.unit.test.js.map +0 -1
  94. package/dist/tests/procaptchaWidget.unit.test.d.ts.map +0 -1
  95. package/dist/tests/procaptchaWidget.unit.test.js.map +0 -1
  96. package/dist/tests/setup.d.ts.map +0 -1
  97. package/dist/tests/setup.js.map +0 -1
  98. /package/dist/{_virtual → esm/_virtual}/_rolldown/runtime.js +0 -0
  99. /package/dist/{components → esm/components}/audioPlayer.js +0 -0
  100. /package/dist/{components → esm/components}/procaptchaAudio.js +0 -0
  101. /package/dist/{components → esm/components}/procaptchaWidget.js +0 -0
  102. /package/dist/{index.js → esm/index.js} +0 -0
  103. /package/dist/{components → tsc/components}/audioPlayer.d.ts +0 -0
  104. /package/dist/{components → tsc/components}/procaptchaAudio.d.ts +0 -0
  105. /package/dist/{components → tsc/components}/procaptchaWidget.d.ts +0 -0
  106. /package/dist/{errorSites.d.ts → tsc/errorSites.d.ts} +0 -0
  107. /package/dist/{errorSites.js → tsc/errorSites.js} +0 -0
  108. /package/dist/{index.d.ts → tsc/index.d.ts} +0 -0
  109. /package/dist/{services → tsc/services}/Manager.d.ts +0 -0
  110. /package/dist/{tests → tsc/tests}/audioPlayer.unit.test.d.ts +0 -0
  111. /package/dist/{tests → tsc/tests}/audioPlayer.unit.test.js +0 -0
  112. /package/dist/{tests → tsc/tests}/domHarness.d.ts +0 -0
  113. /package/dist/{tests → tsc/tests}/domHarness.js +0 -0
  114. /package/dist/{tests → tsc/tests}/manager.unit.test.d.ts +0 -0
  115. /package/dist/{tests → tsc/tests}/managerHarness.d.ts +0 -0
  116. /package/dist/{tests → tsc/tests}/managerHarness.js +0 -0
  117. /package/dist/{tests → tsc/tests}/procaptchaAudio.test-d.d.ts +0 -0
  118. /package/dist/{tests → tsc/tests}/procaptchaAudio.test-d.js +0 -0
  119. /package/dist/{tests → tsc/tests}/procaptchaAudio.unit.test.d.ts +0 -0
  120. /package/dist/{tests → tsc/tests}/procaptchaAudio.unit.test.js +0 -0
  121. /package/dist/{tests → tsc/tests}/procaptchaWidget.unit.test.d.ts +0 -0
  122. /package/dist/{tests → tsc/tests}/procaptchaWidget.unit.test.js +0 -0
  123. /package/dist/{tests → tsc/tests}/setup.d.ts +0 -0
  124. /package/dist/{tests → tsc/tests}/setup.js +0 -0
@@ -0,0 +1,243 @@
1
+ import { createTranslator, loadI18next, localiseError } from "@prosopo/locale";
2
+ import { PROCAPTCHA_EXECUTE_EVENT, Teardown, buildUpdateState, createElement, createProcaptchaState, createRenderScheduler, mountCheckbox, mountHoneypot, trustedClickCoords, } from "@prosopo/procaptcha-common";
3
+ import { ModeEnum, } from "@prosopo/types";
4
+ import { darkTheme, lightTheme } from "@prosopo/widget-skeleton";
5
+ import { Manager } from "../services/Manager.js";
6
+ import { mountAudioPlayer } from "./audioPlayer.js";
7
+ export const mountProcaptchaAudioWidget = (container, props) => {
8
+ const teardown = new Teardown();
9
+ const config = props.config;
10
+ const i18n = props.i18n;
11
+ const frictionlessState = props.frictionlessState;
12
+ const callbacks = props.callbacks || {};
13
+ const translator = createTranslator(i18n);
14
+ const isInvisible = ModeEnum.invisible === config.mode;
15
+ const theme = "light" === config.theme ? lightTheme : darkTheme;
16
+ const store = createProcaptchaState();
17
+ let loading = false;
18
+ let audioPhase = "checkbox";
19
+ let challengeData = null;
20
+ let showRetry = true === props.startShowRetry;
21
+ let lastError = store.state.error;
22
+ let lastCoords = null;
23
+ let sessionInvalidatedFired = false;
24
+ let honeypot;
25
+ let checkbox;
26
+ let player;
27
+ const onReload = props.onReload;
28
+ const updateState = buildUpdateState(store.state, store.update);
29
+ const manager = Manager(config, store.state, updateState, callbacks, frictionlessState, () => honeypot?.getValue(), onReload
30
+ ? (x, y) => onReload(x, y, { showRetry: true })
31
+ : undefined);
32
+ const root = createElement("div");
33
+ container.appendChild(root);
34
+ if (frictionlessState?.hp) {
35
+ honeypot = mountHoneypot(root, { encodedQuestion: frictionlessState.hp });
36
+ }
37
+ const reportError = (error) => {
38
+ callbacks.onError?.(error instanceof Error ? error : new Error(String(error)));
39
+ };
40
+ const returnToCheckbox = () => {
41
+ audioPhase = "checkbox";
42
+ challengeData = null;
43
+ showRetry = false;
44
+ };
45
+ const showChallenge = (challenge) => {
46
+ if (challenge) {
47
+ challengeData = challenge;
48
+ audioPhase = "answering";
49
+ }
50
+ };
51
+ const handleAudioComplete = async (answer, replays, audioEvents) => {
52
+ audioPhase = "submitting";
53
+ scheduler.schedule();
54
+ let verified = false;
55
+ try {
56
+ verified = await manager.submitSolution(answer, replays, audioEvents);
57
+ }
58
+ catch (error) {
59
+ reportError(error);
60
+ }
61
+ if (verified) {
62
+ returnToCheckbox();
63
+ loading = false;
64
+ scheduler.schedule();
65
+ return;
66
+ }
67
+ showRetry = true;
68
+ if (onReload) {
69
+ scheduler.schedule();
70
+ return;
71
+ }
72
+ audioPhase = "answering";
73
+ scheduler.schedule();
74
+ try {
75
+ const newChallenge = await manager.start();
76
+ if (newChallenge) {
77
+ challengeData = newChallenge;
78
+ }
79
+ else {
80
+ returnToCheckbox();
81
+ }
82
+ }
83
+ catch {
84
+ returnToCheckbox();
85
+ }
86
+ loading = false;
87
+ scheduler.schedule();
88
+ };
89
+ const handleDismiss = () => {
90
+ returnToCheckbox();
91
+ loading = false;
92
+ scheduler.schedule();
93
+ };
94
+ const playerProps = (challenge) => ({
95
+ clip: challenge.clip,
96
+ characterCount: challenge.characterCount,
97
+ onComplete: (answer, replays, events) => {
98
+ void handleAudioComplete(answer, replays, events);
99
+ },
100
+ showRetry,
101
+ submitting: "submitting" === audioPhase,
102
+ theme,
103
+ translator,
104
+ placement: config.placement,
105
+ anchor: props.container,
106
+ onDismiss: handleDismiss,
107
+ });
108
+ const runErrorEffect = () => {
109
+ if (store.state.error === lastError) {
110
+ return;
111
+ }
112
+ lastError = store.state.error;
113
+ if (!store.state.error) {
114
+ return;
115
+ }
116
+ loading = false;
117
+ returnToCheckbox();
118
+ if (store.state.error.code !== "NO_SESSION_FOUND") {
119
+ return;
120
+ }
121
+ const willRecover = (props.onSessionInvalidated && !sessionInvalidatedFired) ||
122
+ undefined !== frictionlessState;
123
+ if (willRecover) {
124
+ loading = true;
125
+ store.update({ error: undefined });
126
+ }
127
+ if (props.onSessionInvalidated && !sessionInvalidatedFired) {
128
+ sessionInvalidatedFired = true;
129
+ props.onSessionInvalidated(lastCoords?.x, lastCoords?.y);
130
+ return;
131
+ }
132
+ if (frictionlessState) {
133
+ const timer = setTimeout(() => {
134
+ frictionlessState.restart();
135
+ }, 100);
136
+ teardown.add(() => clearTimeout(timer));
137
+ }
138
+ };
139
+ const render = () => {
140
+ runErrorEffect();
141
+ const showPlayer = "answering" === audioPhase || "submitting" === audioPhase;
142
+ if (showPlayer && null !== challengeData) {
143
+ if (undefined === player) {
144
+ player = mountAudioPlayer(playerProps(challengeData));
145
+ }
146
+ else {
147
+ player.update(playerProps(challengeData));
148
+ }
149
+ }
150
+ else {
151
+ player?.destroy();
152
+ player = undefined;
153
+ }
154
+ checkbox?.update(checkboxProps());
155
+ };
156
+ const scheduler = createRenderScheduler(render);
157
+ const beginChallenge = async (coords) => {
158
+ if (loading) {
159
+ return;
160
+ }
161
+ loading = true;
162
+ showRetry = false;
163
+ scheduler.schedule();
164
+ if (coords) {
165
+ lastCoords = coords;
166
+ }
167
+ try {
168
+ showChallenge(await manager.start(coords?.x, coords?.y));
169
+ }
170
+ catch (error) {
171
+ reportError(error);
172
+ }
173
+ finally {
174
+ loading = false;
175
+ scheduler.schedule();
176
+ }
177
+ };
178
+ const checkboxProps = () => ({
179
+ checked: store.state.isHuman,
180
+ theme,
181
+ labelText: translator.isReady() ? translator.t("WIDGET.I_AM_HUMAN") : "",
182
+ error: store.state.error
183
+ ? localiseError(translator.i18n, store.state.error)
184
+ : undefined,
185
+ loadingText: translator.t("WIDGET.CHECKING", {
186
+ defaultValue: "Checking that you are human",
187
+ }),
188
+ loading: loading || "submitting" === audioPhase,
189
+ onChange: (event) => beginChallenge(trustedClickCoords(event)),
190
+ });
191
+ if (!isInvisible) {
192
+ checkbox = mountCheckbox(root, checkboxProps());
193
+ }
194
+ teardown.add(scheduler.cancel);
195
+ teardown.add(store.subscribe(scheduler.schedule));
196
+ teardown.add(translator.subscribe(scheduler.schedule));
197
+ const handleExecute = () => {
198
+ void beginChallenge();
199
+ };
200
+ if (props.container) {
201
+ teardown.addEventListener(props.container, PROCAPTCHA_EXECUTE_EVENT, handleExecute);
202
+ }
203
+ if (isInvisible) {
204
+ teardown.addEventListener(document, PROCAPTCHA_EXECUTE_EVENT, handleExecute);
205
+ }
206
+ if (config.language) {
207
+ if (i18n) {
208
+ if (i18n.language !== config.language) {
209
+ void i18n.changeLanguage(config.language);
210
+ }
211
+ }
212
+ else {
213
+ void loadI18next(false, config.language);
214
+ }
215
+ }
216
+ if (props.autoStart) {
217
+ loading = true;
218
+ const coords = props.startCoords;
219
+ lastCoords = coords ?? null;
220
+ scheduler.schedule();
221
+ manager.start(coords?.x ?? 0, coords?.y ?? 0).then((challenge) => {
222
+ showChallenge(challenge);
223
+ loading = false;
224
+ scheduler.schedule();
225
+ }, () => {
226
+ loading = false;
227
+ scheduler.schedule();
228
+ });
229
+ }
230
+ render();
231
+ return {
232
+ destroy: () => {
233
+ manager.dispose();
234
+ teardown.run();
235
+ player?.destroy();
236
+ checkbox?.destroy();
237
+ honeypot?.destroy();
238
+ root.parentNode?.removeChild(root);
239
+ },
240
+ };
241
+ };
242
+ export default mountProcaptchaAudioWidget;
243
+ //# sourceMappingURL=procaptchaWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procaptchaWidget.js","sourceRoot":"","sources":["../../../src/components/procaptchaWidget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorSites.d.ts","sourceRoot":"","sources":["../../src/errorSites.ts"],"names":[],"mappings":"AAcA,OAAO,QAAQ,iBAAiB,CAAC;IAChC,UAAU,UAAU;QACnB,QAAQ,EAAE,IAAI,CAAC;QACf,QAAQ,EAAE,IAAI,CAAC;QACf,QAAQ,EAAE,IAAI,CAAC;QACf,QAAQ,EAAE,IAAI,CAAC;QACf,QAAQ,EAAE,IAAI,CAAC;QACf,QAAQ,EAAE,IAAI,CAAC;KACf;CACD;AAED,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorSites.js","sourceRoot":"","sources":["../src/errorSites.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"errorSites.js","sourceRoot":"","sources":["../../src/errorSites.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./components/procaptchaWidget.js";
2
+ export * from "./components/procaptchaAudio.js";
3
+ export * from "./components/audioPlayer.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Manager.d.ts","sourceRoot":"","sources":["../../../src/services/Manager.ts"],"names":[],"mappings":"AA+BA,OAAO,EAGN,KAAK,UAAU,EAEf,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAEhC,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAE5B,MAAM,gBAAgB,CAAC;AAIxB,UAAU,kBAAkB;IAC3B,KAAK,EAAE,CACN,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM,KACN,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAClD,cAAc,EAAE,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,UAAU,EAAE,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,UAAU,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACvD,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,gBACN,2BAA2B,SACjC,eAAe,iBACP,uBAAuB,aAC3B,mBAAmB,sBACV,iBAAiB,qBAClB,MAAM,MAAM,GAAG,SAAS,oBAEzB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,KAChD,kBA0XF,CAAC"}
@@ -0,0 +1,270 @@
1
+ import { stringToHex } from "@polkadot/util/string";
2
+ import { ProviderApi } from "@prosopo/api";
3
+ import { ProsopoError, toPublicError } from "@prosopo/common";
4
+ import { ExtensionLoader, buildClientMetaData, buildUpdateState, createManagerLifecycle, createSpentSessionGuard, encryptBehavioralDataForSubmit, getDefaultEvents, getProcaptchaRandomActiveProvider, getSimdReadingsForSubmit, pickIpMode, providerRetry, widgetRequestHeaders, } from "@prosopo/procaptcha-common";
5
+ import { ApiParams, CaptchaType, ProcaptchaConfigSchema, encodeProcaptchaOutput, } from "@prosopo/types";
6
+ import { embedData, sleep } from "@prosopo/util";
7
+ import { randomAsHex } from "@prosopo/util-crypto";
8
+ export const Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState, getHoneypotValue, onReloadRequest) => {
9
+ const events = getDefaultEvents(callbacks);
10
+ let storedChallengeResponse;
11
+ let storedProviderApi;
12
+ let storedProviderUrl;
13
+ let storedUser;
14
+ let storedClickX;
15
+ let storedClickY;
16
+ let previousProviderUrl;
17
+ const spentSession = createSpentSessionGuard();
18
+ const defaultState = () => {
19
+ return {
20
+ showModal: false,
21
+ loading: false,
22
+ index: 0,
23
+ challenge: undefined,
24
+ solutions: undefined,
25
+ isHuman: false,
26
+ captchaApi: undefined,
27
+ account: undefined,
28
+ };
29
+ };
30
+ const onFailed = () => {
31
+ updateState({
32
+ isHuman: false,
33
+ loading: false,
34
+ });
35
+ events.onFailed();
36
+ resetState(frictionlessState?.restart);
37
+ };
38
+ const getConfig = () => {
39
+ const config = {
40
+ userAccountAddress: configInput.userAccountAddress || "",
41
+ ...configInput,
42
+ };
43
+ if (state.account) {
44
+ config.userAccountAddress = state.account.account.address;
45
+ }
46
+ return ProcaptchaConfigSchema.parse(config);
47
+ };
48
+ const getAccount = () => {
49
+ if (!state.account) {
50
+ throw new ProsopoError({
51
+ code: "ACCOUNT_NOT_FOUND",
52
+ errorSite: "AUDI-1",
53
+ context: { error: "Account not loaded" },
54
+ });
55
+ }
56
+ const account = state.account;
57
+ return { account };
58
+ };
59
+ const getDappAccount = () => {
60
+ if (!state.dappAccount) {
61
+ throw new ProsopoError({ code: "SITE_KEY_MISSING", errorSite: "AUDI-2" });
62
+ }
63
+ const dappAccount = state.dappAccount;
64
+ return dappAccount;
65
+ };
66
+ const updateState = buildUpdateState(state, onStateUpdate);
67
+ const lifecycle = createManagerLifecycle(state, updateState);
68
+ const resetState = (frictionlessRestart) => {
69
+ lifecycle.clearTimers();
70
+ updateState(defaultState());
71
+ events.onReset();
72
+ if (frictionlessRestart) {
73
+ frictionlessRestart();
74
+ }
75
+ storedChallengeResponse = undefined;
76
+ storedProviderApi = undefined;
77
+ storedProviderUrl = undefined;
78
+ storedUser = undefined;
79
+ storedClickX = undefined;
80
+ storedClickY = undefined;
81
+ };
82
+ const setValidChallengeTimeout = () => {
83
+ lifecycle.expireSolutionAfter(getConfig().captchas.audio.solutionTimeout, () => {
84
+ updateState({ isHuman: false });
85
+ events.onExpired();
86
+ resetState(frictionlessState?.restart);
87
+ });
88
+ };
89
+ const start = async (x = 0, y = 0) => {
90
+ await providerRetry(async () => {
91
+ if (state.loading) {
92
+ return;
93
+ }
94
+ if (state.isHuman) {
95
+ return;
96
+ }
97
+ resetState();
98
+ storedClickX = x;
99
+ storedClickY = y;
100
+ updateState({
101
+ loading: true,
102
+ });
103
+ updateState({ attemptCount: state.attemptCount + 1 });
104
+ const config = getConfig();
105
+ const selectAccount = async () => {
106
+ if (frictionlessState) {
107
+ return frictionlessState.userAccount;
108
+ }
109
+ const ext = new (await ExtensionLoader(config.web2))();
110
+ return ext.getAccount(config);
111
+ };
112
+ const user = await selectAccount();
113
+ const userAccount = user.account.address;
114
+ updateState({
115
+ account: { account: { address: userAccount } },
116
+ });
117
+ updateState({ dappAccount: config.account.address });
118
+ await sleep(100);
119
+ if (!config.web2 && !config.userAccountAddress) {
120
+ throw new ProsopoError({
121
+ code: "ACCOUNT_NOT_FOUND",
122
+ errorSite: "AUDI-3",
123
+ context: {
124
+ error: "Account address has not been set for web3 mode",
125
+ },
126
+ });
127
+ }
128
+ let getRandomProviderResponse = undefined;
129
+ if (frictionlessState?.provider) {
130
+ getRandomProviderResponse = frictionlessState.provider;
131
+ }
132
+ else {
133
+ const currentConfig = getConfig();
134
+ getRandomProviderResponse = await getProcaptchaRandomActiveProvider(currentConfig.defaultEnvironment, pickIpMode(currentConfig), { attempt: state.attemptCount, excludeUrl: previousProviderUrl });
135
+ }
136
+ const providerUrl = getRandomProviderResponse.provider.url;
137
+ previousProviderUrl = providerUrl;
138
+ const providerApi = new ProviderApi(providerUrl, getDappAccount(), undefined, widgetRequestHeaders(getConfig().language));
139
+ const challengeSessionId = frictionlessState?.sessionId;
140
+ if (spentSession.isSpent(challengeSessionId)) {
141
+ updateState({
142
+ loading: false,
143
+ error: toPublicError(new ProsopoError({
144
+ code: "NO_SESSION_FOUND",
145
+ errorSite: "AUDI-6",
146
+ }), "FRONTEND_ERROR"),
147
+ });
148
+ events.onError(new Error("No session found"));
149
+ return;
150
+ }
151
+ const simdReadingsOnChallenge = frictionlessState?.getSimdReadings
152
+ ? await frictionlessState.getSimdReadings(0)
153
+ : undefined;
154
+ const challenge = await providerApi.getAudioCaptchaChallenge(userAccount, getDappAccount(), challengeSessionId, simdReadingsOnChallenge);
155
+ spentSession.markSpent(challengeSessionId);
156
+ if (challenge.error) {
157
+ updateState({
158
+ loading: false,
159
+ error: challenge.error,
160
+ });
161
+ return;
162
+ }
163
+ storedChallengeResponse = challenge;
164
+ storedProviderApi = providerApi;
165
+ storedProviderUrl = providerUrl;
166
+ storedUser = user;
167
+ updateState({
168
+ loading: false,
169
+ });
170
+ }, async () => {
171
+ await start(x, y);
172
+ }, () => {
173
+ resetState();
174
+ }, state.attemptCount, 3);
175
+ return storedChallengeResponse;
176
+ };
177
+ const submitSolution = async (answer, replays, audioEvents) => {
178
+ if (!storedChallengeResponse ||
179
+ !storedProviderApi ||
180
+ !storedProviderUrl ||
181
+ !storedUser) {
182
+ throw new ProsopoError({
183
+ code: "ACCOUNT_NOT_FOUND",
184
+ errorSite: "AUDI-4",
185
+ context: { error: "No challenge data available. Call start() first." },
186
+ });
187
+ }
188
+ updateState({ loading: true });
189
+ try {
190
+ const challenge = storedChallengeResponse;
191
+ const providerApi = storedProviderApi;
192
+ const providerUrl = storedProviderUrl;
193
+ const user = storedUser;
194
+ const signer = user.extension?.signer;
195
+ if (!signer || !signer.signRaw) {
196
+ throw new ProsopoError({
197
+ code: "CONFIG_INVALID",
198
+ errorSite: "AUDI-5",
199
+ message: "Can't find the keyringpair for {{address}}",
200
+ context: {
201
+ error: "Signer is not defined, cannot sign message to prove account ownership",
202
+ },
203
+ });
204
+ }
205
+ const userTimestampSignature = await signer.signRaw({
206
+ address: user.account.address,
207
+ data: stringToHex(challenge[ApiParams.timestamp].toString()),
208
+ type: "bytes",
209
+ });
210
+ const encryptedBehavioralData = await encryptBehavioralDataForSubmit(frictionlessState);
211
+ let salt;
212
+ if (storedClickX !== undefined && storedClickY !== undefined) {
213
+ const coords = [storedClickX, storedClickY];
214
+ const randomSalt = randomAsHex(coords
215
+ .map((coord) => coord.toString(16).length + 4)
216
+ .reduce((acc, curr) => acc + curr, 0));
217
+ salt = embedData(randomSalt, coords);
218
+ }
219
+ const simdReadings = await getSimdReadingsForSubmit(frictionlessState);
220
+ const clientMetaData = buildClientMetaData(getHoneypotValue?.(), getConfig().clientSessionId);
221
+ const verifiedSolution = await providerApi.submitAudioCaptchaSolution(challenge, getAccount().account.account.address, getDappAccount(), answer, replays, audioEvents, userTimestampSignature.signature.toString(), encryptedBehavioralData, salt, simdReadings, clientMetaData);
222
+ if (lifecycle.isDisposed())
223
+ return false;
224
+ if (verifiedSolution[ApiParams.verified]) {
225
+ updateState({
226
+ isHuman: true,
227
+ loading: false,
228
+ });
229
+ events.onHuman(encodeProcaptchaOutput({
230
+ [ApiParams.providerUrl]: providerUrl,
231
+ [ApiParams.user]: getAccount().account.account.address,
232
+ [ApiParams.dapp]: getDappAccount(),
233
+ [ApiParams.challenge]: challenge.challenge,
234
+ [ApiParams.timestamp]: challenge.timestamp,
235
+ [ApiParams.signature]: {
236
+ [ApiParams.provider]: challenge.signature.provider,
237
+ [ApiParams.user]: {
238
+ [ApiParams.timestamp]: userTimestampSignature.signature.toString(),
239
+ },
240
+ },
241
+ [ApiParams.captchaType]: CaptchaType.audio,
242
+ }));
243
+ setValidChallengeTimeout();
244
+ return true;
245
+ }
246
+ if (onReloadRequest) {
247
+ updateState({ isHuman: false, loading: false });
248
+ events.onFailed();
249
+ const retryX = storedClickX;
250
+ const retryY = storedClickY;
251
+ resetState();
252
+ onReloadRequest(retryX, retryY);
253
+ return false;
254
+ }
255
+ onFailed();
256
+ return false;
257
+ }
258
+ catch (error) {
259
+ updateState({ loading: false });
260
+ throw error;
261
+ }
262
+ };
263
+ return {
264
+ start,
265
+ submitSolution,
266
+ resetState,
267
+ dispose: lifecycle.dispose,
268
+ };
269
+ };
270
+ //# sourceMappingURL=Manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../../src/services/Manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioPlayer.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/audioPlayer.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioPlayer.unit.test.js","sourceRoot":"","sources":["../../../src/tests/audioPlayer.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domHarness.d.ts","sourceRoot":"","sources":["../../../src/tests/domHarness.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,OAAO;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,KAAK,QAAO,OASxB,CAAC;AAEF,UAAU,WAAW;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AA0CD,eAAO,MAAM,IAAI,YACP,OAAO,QACV,MAAM,YACH,WAAW,KAClB,IAEF,CAAC;AAGF,eAAO,MAAM,aAAa,YAChB,OAAO,QACV,MAAM,YACH,WAAW,KAClB,KAQF,CAAC;AAGF,eAAO,MAAM,MAAM,QAAa,OAAO,CAAC,IAAI,CAG3C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domHarness.js","sourceRoot":"","sources":["../../../src/tests/domHarness.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,KAAK,GAAG,GAAY,EAAE;IAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO;QACN,SAAS;QACT,OAAO,EAAE,GAAG,EAAE;YACb,SAAS,CAAC,MAAM,EAAE,CAAC;QACpB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAcF,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,OAAgB,EAAQ,EAAE;IAC3D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAY,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YAE7D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;gBACxC,YAAY,EAAE,IAAI;gBAClB,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO;gBAClB,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;aACpB,CAAC,CAAC;YACH,OAAO;QACR,CAAC;IACF,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,OAAoB,EAAS,EAAE;IAC3D,IAAI,SAAS,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE;YAC9B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;SAChB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE;QAC3B,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC;KAC7B,CAAC,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,IAAI,GAAG,CACnB,OAAgB,EAChB,IAAY,EACZ,UAAuB,EAAE,EAClB,EAAE;IACT,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC5B,OAAgB,EAChB,IAAY,EACZ,UAAuB,EAAE,EACjB,EAAE;IACV,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;IAC/C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAmB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;AACzB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/manager.unit.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { ApiParams, CaptchaType, decodeProcaptchaOutput, } from "@prosopo/types";
1
+ import { ApiParams, BUNDLE_VERSION_HEADER, CaptchaType, decodeProcaptchaOutput, } from "@prosopo/types";
2
2
  import { extractData } from "@prosopo/util";
3
3
  import { afterEach, beforeEach, describe, expect, test, vi, } from "vitest";
4
4
  import { Manager } from "../services/Manager.js";
@@ -164,14 +164,21 @@ describe("start: getting to a challenge", () => {
164
164
  const harness = build({ configInput: config({ language: "tr" }) });
165
165
  await harness.manager.start();
166
166
  vi.unstubAllGlobals();
167
- expect(mocks.providerApiHeaders).toEqual([{ "Prosopo-Lang": "tr" }]);
167
+ expect(mocks.providerApiHeaders).toEqual([
168
+ { "Prosopo-Lang": "tr", [BUNDLE_VERSION_HEADER]: expect.any(String) },
169
+ ]);
168
170
  });
169
171
  test("sends the browser's languages when the site set none", async () => {
170
172
  vi.stubGlobal("navigator", { languages: ["tr-TR", "en"] });
171
173
  const harness = build();
172
174
  await harness.manager.start();
173
175
  vi.unstubAllGlobals();
174
- expect(mocks.providerApiHeaders).toEqual([{ "Prosopo-Lang": "tr-TR,en" }]);
176
+ expect(mocks.providerApiHeaders).toEqual([
177
+ {
178
+ "Prosopo-Lang": "tr-TR,en",
179
+ [BUNDLE_VERSION_HEADER]: expect.any(String),
180
+ },
181
+ ]);
175
182
  });
176
183
  test("asks the provider named by the frictionless state, when there is one", async () => {
177
184
  const harness = build();