Skip to content

Commit 84f71b8

Browse files
feat: Classify text captchas as token tasks and Binance as a provider
Stainless-Generated-From: 583b7c7b7f489c6ba20a300c9a1cacc6c60a2e4e
1 parent 30f88e1 commit 84f71b8

3 files changed

Lines changed: 18 additions & 6 deletions

File tree

‎src/kernel/types/browsers/browser_captcha_challenge_result_event.py‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,16 @@ class Data(BaseModel):
4343
"""
4444

4545
captcha_provider: Optional[
46-
Literal["hcaptcha", "recaptcha_v2", "recaptcha_v3", "turnstile", "geetest", "arkose", "human", "other"]
46+
Literal[
47+
"hcaptcha", "recaptcha_v2", "recaptcha_v3", "turnstile", "geetest", "arkose", "human", "binance", "other"
48+
]
4749
] = None
4850
"""Captcha product the challenge belongs to, not the service that solved it.
4951
5052
Enterprise reCAPTCHA variants are grouped into their version bucket
5153
(recaptcha_v2 or recaptcha_v3), FunCaptcha uses arkose, press-and-hold
5254
challenges served by HUMAN (formerly PerimeterX) use human, and unlisted
53-
products use other.
55+
products, including text captchas a site draws itself, use other.
5456
"""
5557

5658
challenge_id: Optional[str] = None

‎src/kernel/types/browsers/browser_captcha_solve_result_event.py‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,16 @@ class Data(BaseModel):
2929
"""
3030

3131
captcha_provider: Optional[
32-
Literal["hcaptcha", "recaptcha_v2", "recaptcha_v3", "turnstile", "geetest", "arkose", "human", "other"]
32+
Literal[
33+
"hcaptcha", "recaptcha_v2", "recaptcha_v3", "turnstile", "geetest", "arkose", "human", "binance", "other"
34+
]
3335
] = None
3436
"""Captcha product the challenge belongs to, not the service that solved it.
3537
3638
Enterprise reCAPTCHA variants are grouped into their version bucket
3739
(recaptcha_v2 or recaptcha_v3), FunCaptcha uses arkose, press-and-hold
3840
challenges served by HUMAN (formerly PerimeterX) use human, and unlisted
39-
products use other.
41+
products, including text captchas a site draws itself, use other.
4042
"""
4143

4244
challenge_id: Optional[str] = None
@@ -53,6 +55,9 @@ class Data(BaseModel):
5355
ERROR_CAPTCHA_UNSOLVABLE). Absent on success.
5456
"""
5557

58+
media: Optional[Literal["image", "video"]] = None
59+
"""Captured hCaptcha recognition media, when known."""
60+
5661
task_id: Optional[str] = None
5762
"""Opaque identifier shared with the matching captcha_solve_started."""
5863

‎src/kernel/types/browsers/browser_captcha_solve_started_event.py‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,16 @@ class Data(BaseModel):
1919
"""Deprecated: use captcha_provider and task_kind."""
2020

2121
captcha_provider: Optional[
22-
Literal["hcaptcha", "recaptcha_v2", "recaptcha_v3", "turnstile", "geetest", "arkose", "human", "other"]
22+
Literal[
23+
"hcaptcha", "recaptcha_v2", "recaptcha_v3", "turnstile", "geetest", "arkose", "human", "binance", "other"
24+
]
2325
] = None
2426
"""Captcha product the challenge belongs to, not the service that solved it.
2527
2628
Enterprise reCAPTCHA variants are grouped into their version bucket
2729
(recaptcha_v2 or recaptcha_v3), FunCaptcha uses arkose, press-and-hold
2830
challenges served by HUMAN (formerly PerimeterX) use human, and unlisted
29-
products use other.
31+
products, including text captchas a site draws itself, use other.
3032
"""
3133

3234
challenge_id: Optional[str] = None
@@ -37,6 +39,9 @@ class Data(BaseModel):
3739
continues. It does not indicate task ordering or challenge completion.
3840
"""
3941

42+
media: Optional[Literal["image", "video"]] = None
43+
"""Captured hCaptcha recognition media, when known."""
44+
4045
task_id: Optional[str] = None
4146
"""Opaque identifier shared with the matching captcha_solve_result."""
4247

0 commit comments

Comments
 (0)