@prosopo/procaptcha-frictionless 2.8.31 → 2.11.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,707 @@
1
1
  # @prosopo/procaptcha-frictionless
2
2
 
3
+ ## 2.11.1
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [b03dad1]
7
+ - @prosopo/types@4.3.1
8
+ - @prosopo/api@3.4.9
9
+ - @prosopo/detector@3.4.37
10
+ - @prosopo/load-balancer@2.9.11
11
+ - @prosopo/procaptcha-common@2.10.18
12
+ - @prosopo/procaptcha-pow@2.9.5
13
+ - @prosopo/procaptcha-puzzle@2.10.9
14
+ - @prosopo/procaptcha-react@2.9.67
15
+
16
+ ## 2.11.0
17
+ ### Minor Changes
18
+
19
+ - 2392aaf: Integrate the prosopo/dns sidecar against the procaptcha provider.
20
+
21
+ - New admin endpoint `POST /v1/prosopo/provider/admin/dns/event` ingests batched DNS observation events from the sidecar (auth: admin sr25519 JWT) and merges resolver / peer IPs onto the matching Session record under a new `Session.dnsEvent` field.
22
+ - Frictionless response carries a per-session `dns_url` when the pronode has `DNS_EVENT_SUBZONE` + `DNS_EVENT_HMAC_SECRET` set. The HMAC path mirrors the sidecar's Rust implementation so both sides agree without shared per-request state.
23
+ - The frictionless bundle fires one no-cors GET to `dns_url` on detection completion (fire-and-forget; failures never affect the captcha flow).
24
+ - `dns_url` is included on the `reuse_session` short-circuit path too, not only the new-session path — otherwise repeat visits from the same user/IP/sitekey combination silently dropped the observation hop.
25
+ - Deploy compose entry for the sidecar plus a Caddy `layer4` SNI-passthrough block so the sidecar terminates TLS itself (no Cloudflare token needed). Caddy image must be rebuilt with the `caddy-l4` plugin.
26
+
27
+ ### Patch Changes
28
+
29
+ - Updated dependencies [a1d60db]
30
+ - Updated dependencies [2392aaf]
31
+ - @prosopo/types@4.3.0
32
+ - @prosopo/api@3.4.8
33
+ - @prosopo/common@3.1.38
34
+ - @prosopo/detector@3.4.36
35
+ - @prosopo/load-balancer@2.9.10
36
+ - @prosopo/procaptcha-common@2.10.17
37
+ - @prosopo/procaptcha-pow@2.9.4
38
+ - @prosopo/procaptcha-puzzle@2.10.8
39
+ - @prosopo/procaptcha-react@2.9.66
40
+
41
+ ## 2.10.3
42
+ ### Patch Changes
43
+
44
+ - Updated dependencies [d3db08d]
45
+ - @prosopo/procaptcha-common@2.10.16
46
+ - @prosopo/procaptcha-react@2.9.65
47
+ - @prosopo/procaptcha-pow@2.9.3
48
+ - @prosopo/procaptcha-puzzle@2.10.7
49
+
50
+ ## 2.10.2
51
+ ### Patch Changes
52
+
53
+ - 6c26669: Add per-site honeypot trap. When enabled, the provider attaches an encoded question (morse or semaphore, base64-wrapped) in the `x-prosopo-meta` response header on frictionless responses. The widget renders the value into an off-screen hidden input with `name="email_confirm"`; bots that auto-fill text inputs populate it and the value rides back on the solution submit as `clientMetaData.hp`, which is persisted on the `StoredCaptcha` record. Falls back to a random phrase from `PROSOPO_HONEYPOT_PHRASE_BANK_PATH` when no custom question is configured.
54
+ - f7f9ec5: feat(provider,widget): reserved always-pass / always-fail test site keys
55
+
56
+ Add two fixed, well-known reserved site keys (`ALWAYS_PASS_SITE_KEY` /
57
+ `ALWAYS_FAIL_SITE_KEY`) that force a deterministic captcha verdict for CI/CD and
58
+ integration testing, constant across production, staging and development.
59
+
60
+ - `@prosopo/types`: shared constants + `getTestSiteKeyMode`, imported by both the
61
+ provider and the widget.
62
+ - `@prosopo/provider`: short-circuits the `submit*` and `verify` endpoints (verify
63
+ runs before the signature check, so no dapp secret is needed), serves an
64
+ invisible PoW session from the frictionless handler, and bypasses domain
65
+ middleware. Works in every environment with no DB record.
66
+ - `@prosopo/procaptcha-common` / `-react` / `-frictionless`: render a prominent
67
+ `TestModeBanner` warning (always pass/fail) plus a console warning so a test key
68
+ can never ship to production unnoticed.
69
+
70
+ always-pass verifies at both the submit and verify layers; always-fail fails at
71
+ both. Safe in production by design: the override only weakens protection for a
72
+ dapp that deliberately opts in, mirroring reCAPTCHA's public test keys.
73
+ - Updated dependencies [6c26669]
74
+ - Updated dependencies [f7f9ec5]
75
+ - @prosopo/types@4.2.1
76
+ - @prosopo/api@3.4.7
77
+ - @prosopo/procaptcha-react@2.9.64
78
+ - @prosopo/procaptcha-pow@2.9.2
79
+ - @prosopo/procaptcha-puzzle@2.10.6
80
+ - @prosopo/procaptcha-common@2.10.15
81
+ - @prosopo/detector@3.4.35
82
+ - @prosopo/load-balancer@2.9.9
83
+
84
+ ## 2.10.1
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies [0fd81af]
88
+ - @prosopo/common@3.1.37
89
+ - @prosopo/load-balancer@2.9.8
90
+ - @prosopo/procaptcha-pow@2.9.1
91
+ - @prosopo/procaptcha-puzzle@2.10.5
92
+ - @prosopo/procaptcha-react@2.9.63
93
+ - @prosopo/procaptcha-common@2.10.14
94
+
95
+ ## 2.10.0
96
+ ### Minor Changes
97
+
98
+ - 20cae63: feat(provider): re-route after PoW using decrypted behavioural data
99
+
100
+ PoW solutions are now re-evaluated by the routing machine after submission.
101
+ Previously the routing decision was made up-front on a thin set of signals;
102
+ behavioural data only becomes available (decrypted server-side) once the
103
+ user submits their PoW solution, so a user with weak behavioural signals
104
+ could still earn a token by solving PoW alone.
105
+
106
+ The submit endpoint now runs the routing machine a second time in a new
107
+ `postPow` phase, feeding in the decrypted behavioural data, the originating
108
+ session's score, request headers, JA4, and IP info. If the router escalates,
109
+ the provider mints a fresh session (carrying the original session's risk
110
+ profile) and returns `escalation: { captchaType, sessionId }` on the
111
+ `PowCaptchaSolutionResponse`. The `verified` flag is forced to `false` on
112
+ escalation — the user isn't done until they clear the follow-up.
113
+
114
+ On the client, `ProcaptchaFrictionless` accepts the escalation via a new
115
+ internal `onEscalate` prop on the PoW widget and mounts the chosen image
116
+ or puzzle widget in place, splicing the new sessionId into the
117
+ `FrictionlessState`. The handoff is internal to the frictionless → pow
118
+ flow — dapps integrating Procaptcha see no API change.
119
+
120
+ `RoutingMachineInputBase.phase` widens from `"route"` to
121
+ `"route" | "postPow"` so decision-machine configs can distinguish the two
122
+ passes.
123
+
124
+ ### Patch Changes
125
+
126
+ - Updated dependencies [20cae63]
127
+ - Updated dependencies [4d9923e]
128
+ - @prosopo/types@4.2.0
129
+ - @prosopo/procaptcha-pow@2.9.0
130
+ - @prosopo/api@3.4.6
131
+ - @prosopo/detector@3.4.34
132
+ - @prosopo/load-balancer@2.9.7
133
+ - @prosopo/procaptcha-common@2.10.13
134
+ - @prosopo/procaptcha-puzzle@2.10.4
135
+ - @prosopo/procaptcha-react@2.9.62
136
+
137
+ ## 2.9.6
138
+ ### Patch Changes
139
+
140
+ - Updated dependencies [d351362]
141
+ - @prosopo/types@4.1.4
142
+ - @prosopo/api@3.4.5
143
+ - @prosopo/detector@3.4.33
144
+ - @prosopo/load-balancer@2.9.6
145
+ - @prosopo/procaptcha-common@2.10.12
146
+ - @prosopo/procaptcha-pow@2.8.62
147
+ - @prosopo/procaptcha-puzzle@2.10.3
148
+ - @prosopo/procaptcha-react@2.9.61
149
+
150
+ ## 2.9.5
151
+ ### Patch Changes
152
+
153
+ - Updated dependencies [e2711ae]
154
+ - Updated dependencies [5786629]
155
+ - @prosopo/types@4.1.3
156
+ - @prosopo/locale@3.2.4
157
+ - @prosopo/procaptcha-pow@2.8.61
158
+ - @prosopo/procaptcha-puzzle@2.10.2
159
+ - @prosopo/procaptcha-react@2.9.60
160
+ - @prosopo/api@3.4.4
161
+ - @prosopo/common@3.1.36
162
+ - @prosopo/detector@3.4.32
163
+ - @prosopo/load-balancer@2.9.5
164
+ - @prosopo/procaptcha-common@2.10.11
165
+
166
+ ## 2.9.4
167
+ ### Patch Changes
168
+
169
+ - Updated dependencies [566c1f6]
170
+ - @prosopo/widget-skeleton@2.8.3
171
+ - @prosopo/procaptcha-pow@2.8.60
172
+ - @prosopo/procaptcha-puzzle@2.10.1
173
+ - @prosopo/procaptcha-react@2.9.59
174
+ - @prosopo/types@4.1.2
175
+ - @prosopo/procaptcha-common@2.10.10
176
+ - @prosopo/api@3.4.3
177
+ - @prosopo/detector@3.4.31
178
+ - @prosopo/load-balancer@2.9.4
179
+
180
+ ## 2.9.3
181
+ ### Patch Changes
182
+
183
+ - 53bfd45: Detect when the widget is served over plain HTTP (an insecure browser context)
184
+ and show a clear "Procaptcha requires a secure (HTTPS) connection" message
185
+ instead of failing later with a cryptic `Provider Selection Failed` error.
186
+ Procaptcha depends on secure-context-only browser APIs (e.g. SubtleCrypto), so
187
+ the frictionless widget now short-circuits before the provider-selection retry
188
+ loop when `window.isSecureContext` is false. Adds the `WIDGET.INSECURE_CONTEXT`
189
+ translation key across all locales and an `isSecureBrowserContext` helper.
190
+ - Updated dependencies [53bfd45]
191
+ - Updated dependencies [91958da]
192
+ - @prosopo/procaptcha-common@2.10.9
193
+ - @prosopo/locale@3.2.3
194
+ - @prosopo/procaptcha-puzzle@2.10.0
195
+ - @prosopo/api@3.4.2
196
+ - @prosopo/types@4.1.1
197
+ - @prosopo/procaptcha-pow@2.8.59
198
+ - @prosopo/procaptcha-react@2.9.58
199
+ - @prosopo/common@3.1.35
200
+ - @prosopo/detector@3.4.30
201
+ - @prosopo/load-balancer@2.9.3
202
+
203
+ ## 2.9.2
204
+ ### Patch Changes
205
+
206
+ - Updated dependencies [6a741ce]
207
+ - @prosopo/types@4.1.0
208
+ - @prosopo/api@3.4.1
209
+ - @prosopo/detector@3.4.29
210
+ - @prosopo/load-balancer@2.9.2
211
+ - @prosopo/procaptcha-common@2.10.8
212
+ - @prosopo/procaptcha-pow@2.8.58
213
+ - @prosopo/procaptcha-puzzle@2.9.2
214
+ - @prosopo/procaptcha-react@2.9.57
215
+
216
+ ## 2.9.1
217
+ ### Patch Changes
218
+
219
+ - cc13a45: Defer the SIMD benchmark trigger to after the frictionless POST is in
220
+ flight, and stop attaching SIMD readings to the frictionless request
221
+ body. The previous `await detectionResult.getSimdReadings(0)` still
222
+ waited a microtask cycle and the full RSA-OAEP + AES-GCM encryption
223
+ (10–30ms) even when `timeoutMs` was `0`, and the benchmark itself —
224
+ a CPU-bound WASM loop — was running concurrently with the BotScore
225
+ worker, contending for cores on small VMs. Stretches like 344ms →
226
+ 1167ms on staging were attributable to the contention.
227
+
228
+ The first-hop-wins semantics on the provider mean we just lose the
229
+ frictionless-hop attach, not the signal — readings still attach on the
230
+ captcha challenge GET and on solution submit.
231
+ - @prosopo/procaptcha-common@2.10.7
232
+ - @prosopo/procaptcha-pow@2.8.57
233
+ - @prosopo/procaptcha-puzzle@2.9.1
234
+ - @prosopo/procaptcha-react@2.9.56
235
+
236
+ ## 2.9.0
237
+ ### Minor Changes
238
+
239
+ - d865319: Add puzzle captcha (drag-to-target challenge) as a new captcha type:
240
+ provider endpoints, manager + widget package, types, demo pages, and
241
+ a `puzzleTolerance` site setting.
242
+
243
+ ### Patch Changes
244
+
245
+ - 4aae4e6: Pull the frictionless POST critical path down by ~340ms on the test
246
+ hardware via four focused changes:
247
+
248
+ - **Inline Signer.** `@polkadot/extension-base/page/Signer` is now a
249
+ static import in `ExtensionWeb2`. It's 0.5KB on disk but its dynamic
250
+ import was costing ~190ms of network round-trip; inlining removes
251
+ one separate chunk fetch + parse from the critical path.
252
+
253
+ - **Pre-warm the CryptoWorker.** `CryptoWorkerManager` gains a public
254
+ `prewarm()` that actually spawns the Worker and lets its script
255
+ parse during chunk-load time. Previously the call at module load
256
+ only instantiated the manager class; the worker itself spun up
257
+ lazily on the first `runTask`, putting the ~500ms worker module-eval
258
+ inside the first `createAccount()` call. Now it overlaps with chunk
259
+ loading and is hot by the time it's needed.
260
+
261
+ - **Prefetch providers at module load with an env-keyed cache.**
262
+ `prefetchProviders` and `getRandomActiveProvider` share an in-flight
263
+ `Promise<HardcodedProvider[]>` keyed by environment, so a module-load
264
+ prefetch and the later `customDetectBot` Promise.all reuse the same
265
+ network call. `procaptcha-frictionless` triggers the prefetch from
266
+ module-import time using `PROSOPO_DEFAULT_ENVIRONMENT` (browser-safe
267
+ `typeof process` guard + `EnvironmentTypesSchema.safeParse`), so the
268
+ HTTP fetch overlaps with chunk download instead of running as part
269
+ of the detection Promise.all.
270
+
271
+ - **Lazy-load the three captcha solvers.** `ProcaptchaFrictionless`
272
+ no longer statically imports `Procaptcha`, `ProcaptchaPuzzle`, and
273
+ `ProcaptchaPow`; each is `await import(...)` at the point the
274
+ frictionless response picks a type. Two of the three wrappers used
275
+ to be dead weight in the initial bundle; now only the chosen solver
276
+ is downloaded, after the frictionless POST has fired. Pulls ~64KB
277
+ of solver UI (chosen wrapper + Emotion dev runtime + builder + lazy
278
+ shim) out of the initial captchaRenderer chunk.
279
+
280
+ Combined with the earlier worker-related changes, the frictionless POST
281
+ on the puzzle-implicit test page is now ~1290ms vs ~1630ms before this
282
+ batch, and ~6500ms in the original baseline. The remaining floor is
283
+ dominated by the BotScoreWorker's obfuscated bundle parse + run.
284
+ - 4aae4e6: Plumb the WASM SIMD CPU fingerprint readings (collected by the catcher
285
+ client per https://blog.azerpas.com/writing/wasm-simd-fingerprinting/)
286
+ through the captcha flow and onto the linked `Session` record.
287
+ Collection-only — no scoring or classification yet.
288
+
289
+ The readings are sent at the earliest moment they're available so the
290
+ signal lands on the session as soon as possible:
291
+
292
+ 1. **Captcha-challenge GET** (PoW / Puzzle / Image) — the procaptcha
293
+ Manager calls `frictionlessState.getSimdReadings(0)` (non-blocking
294
+ cache check) and attaches it to the challenge-request body. The
295
+ provider handler decodes and patches the linked session via
296
+ `updateSessionRecord`.
297
+ 2. **Solution submission** (PoW / Puzzle / Image) — same non-blocking
298
+ check on the submit body. Acts as a backup if the benchmark wasn't
299
+ ready in time for the challenge GET.
300
+
301
+ Frictionless init itself stays SIMD-free (benchmark is too slow to gate
302
+ the first hop).
303
+
304
+ Surface area:
305
+
306
+ - `SimdReadings` discriminated union + `SimdOpReadingRecord` /
307
+ `SimdOpCategory` in `@prosopo/types`, plus `simdReadingsCodec` shared
308
+ encode/decode helpers so the browser SDK and the provider use the same
309
+ pipe-safe wire format.
310
+ - Optional `simdReadings: string()` on `CaptchaRequestBody`,
311
+ `GetPowCaptchaChallengeRequestBody`, `GetPuzzleCaptchaChallengeRequestBody`,
312
+ `CaptchaSolutionBody`, `SubmitPowCaptchaSolutionBody`, and
313
+ `SubmitPuzzleCaptchaSolutionBody`.
314
+ - `FrictionlessState.getSimdReadings` + `BotDetectionFunctionResult.getSimdReadings`
315
+ so the catcher's prefetched benchmark is consumed at the request sites.
316
+ - `ProcaptchaApiInterface.{getCaptchaChallenge, submitCaptchaSolution}` and
317
+ the `ProviderApi.{getCaptchaChallenge, getPowCaptchaChallenge, getPuzzleCaptchaChallenge,
318
+ submitCaptchaSolution, submitPowCaptchaSolution, submitPuzzleCaptchaSolution}`
319
+ client methods accept the field.
320
+ - Provider challenge + solution handlers decode via `decodeSimdReadings`
321
+ and `updateSessionRecord` (Mongoose `Mixed`, Zod discriminated-union
322
+ validation at the edge). The challenge-GET patch is fire-and-forget.
323
+
324
+ Backward-compatible: older catcher clients omit the field at every layer;
325
+ the session record omits it in turn.
326
+ - Updated dependencies [3c0be68]
327
+ - Updated dependencies [f9ea09d]
328
+ - Updated dependencies [4aae4e6]
329
+ - Updated dependencies [4aae4e6]
330
+ - Updated dependencies [d865319]
331
+ - Updated dependencies [273926d]
332
+ - Updated dependencies [753304b]
333
+ - Updated dependencies [8bb7286]
334
+ - Updated dependencies [f9ea09d]
335
+ - Updated dependencies [4aae4e6]
336
+ - Updated dependencies [4993813]
337
+ - Updated dependencies [5f1ae53]
338
+ - @prosopo/types@4.0.0
339
+ - @prosopo/api@3.4.0
340
+ - @prosopo/load-balancer@2.9.1
341
+ - @prosopo/locale@3.2.2
342
+ - @prosopo/procaptcha-puzzle@2.9.0
343
+ - @prosopo/procaptcha-pow@2.8.56
344
+ - @prosopo/common@3.1.34
345
+ - @prosopo/widget-skeleton@2.8.2
346
+ - @prosopo/detector@3.4.28
347
+ - @prosopo/procaptcha-common@2.10.6
348
+ - @prosopo/procaptcha-react@2.9.55
349
+
350
+ ## 2.8.62
351
+ ### Patch Changes
352
+
353
+ - 819ed95: Adding invisible mode to session data
354
+ - Updated dependencies [819ed95]
355
+ - Updated dependencies [33a6c57]
356
+ - @prosopo/types@3.16.1
357
+ - @prosopo/api@3.3.2
358
+ - @prosopo/load-balancer@2.9.0
359
+ - @prosopo/detector@3.4.27
360
+ - @prosopo/procaptcha-common@2.10.5
361
+ - @prosopo/procaptcha-pow@2.8.55
362
+ - @prosopo/procaptcha-react@2.9.54
363
+
364
+ ## 2.8.61
365
+ ### Patch Changes
366
+
367
+ - Updated dependencies [f6a4402]
368
+ - Updated dependencies [99dfb44]
369
+ - @prosopo/types@3.16.0
370
+ - @prosopo/api@3.3.1
371
+ - @prosopo/detector@3.4.26
372
+ - @prosopo/load-balancer@2.8.40
373
+ - @prosopo/procaptcha-common@2.10.4
374
+ - @prosopo/procaptcha-pow@2.8.54
375
+ - @prosopo/procaptcha-react@2.9.53
376
+
377
+ ## 2.8.60
378
+ ### Patch Changes
379
+
380
+ - Updated dependencies [3e54c0a]
381
+ - @prosopo/types@3.15.0
382
+ - @prosopo/api@3.3.0
383
+ - @prosopo/detector@3.4.25
384
+ - @prosopo/load-balancer@2.8.39
385
+ - @prosopo/procaptcha-common@2.10.3
386
+ - @prosopo/procaptcha-pow@2.8.53
387
+ - @prosopo/procaptcha-react@2.9.52
388
+
389
+ ## 2.8.59
390
+ ### Patch Changes
391
+
392
+ - Updated dependencies [946a8ba]
393
+ - Updated dependencies [5614814]
394
+ - Updated dependencies [b94890c]
395
+ - @prosopo/types@3.14.1
396
+ - @prosopo/locale@3.2.1
397
+ - @prosopo/api@3.2.11
398
+ - @prosopo/common@3.1.33
399
+ - @prosopo/detector@3.4.24
400
+ - @prosopo/load-balancer@2.8.38
401
+ - @prosopo/procaptcha-common@2.10.2
402
+ - @prosopo/procaptcha-pow@2.8.52
403
+ - @prosopo/procaptcha-react@2.9.51
404
+
405
+ ## 2.8.58
406
+ ### Patch Changes
407
+
408
+ - Updated dependencies [06970d2]
409
+ - Updated dependencies [fc514dd]
410
+ - Updated dependencies [7be39c4]
411
+ - Updated dependencies [42650db]
412
+ - Updated dependencies [dd3e06e]
413
+ - @prosopo/procaptcha-common@2.10.1
414
+ - @prosopo/widget-skeleton@2.8.1
415
+ - @prosopo/locale@3.2.0
416
+ - @prosopo/types@3.14.0
417
+ - @prosopo/api@3.2.10
418
+ - @prosopo/procaptcha-pow@2.8.51
419
+ - @prosopo/procaptcha-react@2.9.50
420
+ - @prosopo/common@3.1.32
421
+ - @prosopo/detector@3.4.23
422
+ - @prosopo/load-balancer@2.8.37
423
+
424
+ ## 2.8.57
425
+ ### Patch Changes
426
+
427
+ - Updated dependencies [73df23c]
428
+ - Updated dependencies [8139819]
429
+ - Updated dependencies [4a9c518]
430
+ - @prosopo/procaptcha-common@2.10.0
431
+ - @prosopo/widget-skeleton@2.8.0
432
+ - @prosopo/common@3.1.31
433
+ - @prosopo/procaptcha-pow@2.8.50
434
+ - @prosopo/procaptcha-react@2.9.49
435
+ - @prosopo/load-balancer@2.8.36
436
+
437
+ ## 2.8.56
438
+ ### Patch Changes
439
+
440
+ - @prosopo/procaptcha-pow@2.8.49
441
+ - @prosopo/procaptcha-react@2.9.48
442
+ - @prosopo/types@3.13.3
443
+ - @prosopo/procaptcha-common@2.9.41
444
+ - @prosopo/api@3.2.9
445
+ - @prosopo/detector@3.4.22
446
+ - @prosopo/load-balancer@2.8.35
447
+
448
+ ## 2.8.55
449
+ ### Patch Changes
450
+
451
+ - @prosopo/procaptcha-pow@2.8.48
452
+ - @prosopo/procaptcha-react@2.9.47
453
+ - @prosopo/types@3.13.2
454
+ - @prosopo/procaptcha-common@2.9.40
455
+ - @prosopo/api@3.2.8
456
+ - @prosopo/detector@3.4.21
457
+ - @prosopo/load-balancer@2.8.34
458
+
459
+ ## 2.8.54
460
+ ### Patch Changes
461
+
462
+ - Updated dependencies [20192d2]
463
+ - @prosopo/widget-skeleton@2.7.14
464
+ - @prosopo/procaptcha-pow@2.8.47
465
+ - @prosopo/procaptcha-react@2.9.46
466
+ - @prosopo/types@3.13.1
467
+ - @prosopo/procaptcha-common@2.9.39
468
+ - @prosopo/api@3.2.7
469
+ - @prosopo/detector@3.4.20
470
+ - @prosopo/load-balancer@2.8.33
471
+
472
+ ## 2.8.53
473
+ ### Patch Changes
474
+
475
+ - Updated dependencies [e6d9553]
476
+ - @prosopo/types@3.13.0
477
+ - @prosopo/procaptcha-pow@2.8.46
478
+ - @prosopo/procaptcha-react@2.9.45
479
+ - @prosopo/api@3.2.6
480
+ - @prosopo/detector@3.4.19
481
+ - @prosopo/load-balancer@2.8.32
482
+ - @prosopo/procaptcha-common@2.9.38
483
+
484
+ ## 2.8.52
485
+ ### Patch Changes
486
+
487
+ - 730c61e: Speed up captcha
488
+ - Updated dependencies [730c61e]
489
+ - Updated dependencies [d5082a9]
490
+ - Updated dependencies [e1ea65f]
491
+ - Updated dependencies [c316257]
492
+ - @prosopo/load-balancer@2.8.31
493
+ - @prosopo/detector@3.4.18
494
+ - @prosopo/types@3.12.3
495
+ - @prosopo/procaptcha-common@2.9.37
496
+ - @prosopo/api@3.2.5
497
+ - @prosopo/procaptcha-pow@2.8.45
498
+ - @prosopo/procaptcha-react@2.9.44
499
+
500
+ ## 2.8.51
501
+ ### Patch Changes
502
+
503
+ - Updated dependencies [dbcd098]
504
+ - Updated dependencies [adb89a6]
505
+ - @prosopo/detector@3.4.17
506
+ - @prosopo/locale@3.1.29
507
+ - @prosopo/types@3.12.2
508
+ - @prosopo/api@3.2.4
509
+ - @prosopo/common@3.1.30
510
+ - @prosopo/procaptcha-pow@2.8.44
511
+ - @prosopo/procaptcha-react@2.9.43
512
+ - @prosopo/load-balancer@2.8.30
513
+ - @prosopo/procaptcha-common@2.9.36
514
+
515
+ ## 2.8.50
516
+ ### Patch Changes
517
+
518
+ - Updated dependencies [f5c8725]
519
+ - @prosopo/detector@3.4.16
520
+
521
+ ## 2.8.49
522
+ ### Patch Changes
523
+
524
+ - Updated dependencies [c5ee492]
525
+ - Updated dependencies [a90eb54]
526
+ - @prosopo/common@3.1.29
527
+ - @prosopo/types@3.12.1
528
+ - @prosopo/load-balancer@2.8.29
529
+ - @prosopo/procaptcha-pow@2.8.43
530
+ - @prosopo/procaptcha-react@2.9.42
531
+ - @prosopo/api@3.2.3
532
+ - @prosopo/detector@3.4.15
533
+ - @prosopo/procaptcha-common@2.9.35
534
+
535
+ ## 2.8.48
536
+ ### Patch Changes
537
+
538
+ - Updated dependencies [759d4e6]
539
+ - Updated dependencies [676c5f2]
540
+ - Updated dependencies [feaca02]
541
+ - @prosopo/detector@3.4.14
542
+ - @prosopo/load-balancer@2.8.28
543
+ - @prosopo/types@3.12.0
544
+ - @prosopo/procaptcha-common@2.9.34
545
+ - @prosopo/api@3.2.2
546
+ - @prosopo/procaptcha-pow@2.8.42
547
+ - @prosopo/procaptcha-react@2.9.41
548
+
549
+ ## 2.8.47
550
+ ### Patch Changes
551
+
552
+ - Updated dependencies [8148587]
553
+ - @prosopo/detector@3.4.13
554
+ - @prosopo/types@3.11.1
555
+ - @prosopo/api@3.2.1
556
+ - @prosopo/load-balancer@2.8.27
557
+ - @prosopo/procaptcha-common@2.9.33
558
+ - @prosopo/procaptcha-pow@2.8.41
559
+ - @prosopo/procaptcha-react@2.9.40
560
+
561
+ ## 2.8.46
562
+ ### Patch Changes
563
+
564
+ - Updated dependencies [5444635]
565
+ - @prosopo/detector@3.4.12
566
+
567
+ ## 2.8.45
568
+ ### Patch Changes
569
+
570
+ - Updated dependencies [7f6ffc5]
571
+ - @prosopo/types@3.11.0
572
+ - @prosopo/api@3.2.0
573
+ - @prosopo/procaptcha-react@2.9.39
574
+ - @prosopo/detector@3.4.11
575
+ - @prosopo/load-balancer@2.8.26
576
+ - @prosopo/procaptcha-common@2.9.32
577
+ - @prosopo/procaptcha-pow@2.8.40
578
+
579
+ ## 2.8.44
580
+ ### Patch Changes
581
+
582
+ - Updated dependencies [bca43e5]
583
+ - @prosopo/detector@3.4.10
584
+
585
+ ## 2.8.43
586
+ ### Patch Changes
587
+
588
+ - Updated dependencies [ce4f831]
589
+ - Updated dependencies [93fa086]
590
+ - Updated dependencies [4de47f5]
591
+ - @prosopo/detector@3.4.9
592
+ - @prosopo/types@3.10.2
593
+ - @prosopo/api@3.1.49
594
+ - @prosopo/load-balancer@2.8.25
595
+ - @prosopo/procaptcha-common@2.9.31
596
+ - @prosopo/procaptcha-pow@2.8.39
597
+ - @prosopo/procaptcha-react@2.9.38
598
+
599
+ ## 2.8.42
600
+ ### Patch Changes
601
+
602
+ - Updated dependencies [cde7550]
603
+ - @prosopo/types@3.10.1
604
+ - @prosopo/api@3.1.48
605
+ - @prosopo/detector@3.4.8
606
+ - @prosopo/load-balancer@2.8.24
607
+ - @prosopo/procaptcha-common@2.9.30
608
+ - @prosopo/procaptcha-pow@2.8.38
609
+ - @prosopo/procaptcha-react@2.9.37
610
+
611
+ ## 2.8.41
612
+ ### Patch Changes
613
+
614
+ - Updated dependencies [ad6d622]
615
+ - @prosopo/types@3.10.0
616
+ - @prosopo/api@3.1.47
617
+ - @prosopo/detector@3.4.7
618
+ - @prosopo/load-balancer@2.8.23
619
+ - @prosopo/procaptcha-common@2.9.29
620
+ - @prosopo/procaptcha-pow@2.8.37
621
+ - @prosopo/procaptcha-react@2.9.36
622
+
623
+ ## 2.8.40
624
+ ### Patch Changes
625
+
626
+ - Updated dependencies [ff58a70]
627
+ - Updated dependencies [592adf1]
628
+ - @prosopo/types@3.9.0
629
+ - @prosopo/procaptcha-react@2.9.35
630
+ - @prosopo/procaptcha-pow@2.8.36
631
+ - @prosopo/api@3.1.46
632
+ - @prosopo/detector@3.4.6
633
+ - @prosopo/load-balancer@2.8.22
634
+ - @prosopo/procaptcha-common@2.9.28
635
+
636
+ ## 2.8.39
637
+ ### Patch Changes
638
+
639
+ - @prosopo/procaptcha-react@2.9.34
640
+
641
+ ## 2.8.38
642
+ ### Patch Changes
643
+
644
+ - Updated dependencies [d2431cd]
645
+ - @prosopo/types@3.8.4
646
+ - @prosopo/api@3.1.45
647
+ - @prosopo/detector@3.4.5
648
+ - @prosopo/load-balancer@2.8.21
649
+ - @prosopo/procaptcha-common@2.9.27
650
+ - @prosopo/procaptcha-pow@2.8.35
651
+ - @prosopo/procaptcha-react@2.9.33
652
+
653
+ ## 2.8.37
654
+ ### Patch Changes
655
+
656
+ - @prosopo/procaptcha-react@2.9.32
657
+
658
+ ## 2.8.36
659
+ ### Patch Changes
660
+
661
+ - Updated dependencies [bd6995b]
662
+ - @prosopo/detector@3.4.4
663
+ - @prosopo/types@3.8.3
664
+ - @prosopo/api@3.1.44
665
+ - @prosopo/load-balancer@2.8.20
666
+ - @prosopo/procaptcha-common@2.9.26
667
+ - @prosopo/procaptcha-pow@2.8.34
668
+ - @prosopo/procaptcha-react@2.9.31
669
+
670
+ ## 2.8.35
671
+ ### Patch Changes
672
+
673
+ - Updated dependencies [9633e58]
674
+ - @prosopo/types@3.8.2
675
+ - @prosopo/api@3.1.43
676
+ - @prosopo/detector@3.4.3
677
+ - @prosopo/load-balancer@2.8.19
678
+ - @prosopo/procaptcha-common@2.9.25
679
+ - @prosopo/procaptcha-pow@2.8.33
680
+ - @prosopo/procaptcha-react@2.9.30
681
+
682
+ ## 2.8.34
683
+ ### Patch Changes
684
+
685
+ - Updated dependencies [f52a5c1]
686
+ - @prosopo/types@3.8.1
687
+ - @prosopo/api@3.1.42
688
+ - @prosopo/detector@3.4.2
689
+ - @prosopo/load-balancer@2.8.18
690
+ - @prosopo/procaptcha-common@2.9.24
691
+ - @prosopo/procaptcha-pow@2.8.32
692
+ - @prosopo/procaptcha-react@2.9.29
693
+
694
+ ## 2.8.33
695
+ ### Patch Changes
696
+
697
+ - @prosopo/procaptcha-react@2.9.28
698
+
699
+ ## 2.8.32
700
+ ### Patch Changes
701
+
702
+ - Updated dependencies [15254a3]
703
+ - @prosopo/detector@3.4.1
704
+
3
705
  ## 2.8.31
4
706
  ### Patch Changes
5
707
 
@@ -1,3 +1,3 @@
1
1
  import { type ProcaptchaFrictionlessProps } from "@prosopo/types";
2
- export declare const ProcaptchaFrictionless: ({ config, callbacks, restart, i18n, detectBot, container, }: ProcaptchaFrictionlessProps) => import("react/jsx-runtime").JSX.Element | null;
2
+ export declare const ProcaptchaFrictionless: ({ config, callbacks, restart, i18n, detectBot, container, }: ProcaptchaFrictionlessProps) => import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=ProcaptchaFrictionless.d.ts.map