update login code examples (#3015)
This commit is contained in:
@@ -13,36 +13,58 @@ class CredentialType(StrEnum):
|
||||
|
||||
|
||||
class LoginRequestBase(BaseModel):
|
||||
url: str | None = None
|
||||
prompt: str | None = None
|
||||
webhook_url: str | None = None
|
||||
proxy_location: ProxyLocation | None = None
|
||||
totp_identifier: str | None = None
|
||||
totp_url: str | None = None
|
||||
browser_session_id: str | None = None
|
||||
extra_http_headers: dict[str, str] | None = None
|
||||
max_screenshot_scrolling_times: int | None = None
|
||||
url: str | None = Field(default=None, description="Website url")
|
||||
prompt: str | None = Field(
|
||||
default=None,
|
||||
description="Login instructions. Skyvern has default prompt/instruction for login if this field is not provided.",
|
||||
)
|
||||
webhook_url: str | None = Field(default=None, description="Webhook URL to send login status updates")
|
||||
proxy_location: ProxyLocation | None = Field(default=None, description="Proxy location to use")
|
||||
totp_identifier: str | None = Field(
|
||||
default=None, description="Identifier for TOTP (Time-based One-Time Password) if required"
|
||||
)
|
||||
totp_url: str | None = Field(default=None, description="TOTP URL to fetch one-time passwords")
|
||||
browser_session_id: str | None = Field(
|
||||
default=None, description="ID of the browser session to use, which is prefixed by `pbs_` e.g. `pbs_123456`"
|
||||
)
|
||||
extra_http_headers: dict[str, str] | None = Field(
|
||||
default=None, description="Additional HTTP headers to include in requests"
|
||||
)
|
||||
max_screenshot_scrolling_times: int | None = Field(
|
||||
default=None, description="Maximum number of times to scroll for screenshots"
|
||||
)
|
||||
|
||||
|
||||
class SkyvernCredentialLoginRequest(LoginRequestBase):
|
||||
class SkyvernLoginRequest(LoginRequestBase):
|
||||
"""
|
||||
Login with password saved in Skyvern
|
||||
"""
|
||||
|
||||
credential_type: Literal[CredentialType.skyvern] = CredentialType.skyvern
|
||||
credential_id: str
|
||||
credential_id: str = Field(..., description="ID of the Skyvern credential to use for login.")
|
||||
|
||||
|
||||
class BitwardenLoginRequest(LoginRequestBase):
|
||||
"""
|
||||
Login with password saved in Bitwarden
|
||||
"""
|
||||
|
||||
credential_type: Literal[CredentialType.bitwarden] = CredentialType.bitwarden
|
||||
collection_id: str | None = None
|
||||
item_id: str | None = None
|
||||
url: str | None = None
|
||||
bitwarden_collection_id: str | None = Field(default=None, description="Bitwarden collection ID")
|
||||
bitwarden_item_id: str | None = Field(default=None, description="Bitwarden item ID")
|
||||
|
||||
|
||||
class OnePasswordLoginRequest(LoginRequestBase):
|
||||
"""
|
||||
Login with password saved in 1Password
|
||||
"""
|
||||
|
||||
credential_type: Literal[CredentialType.onepassword] = CredentialType.onepassword
|
||||
vault_id: str
|
||||
item_id: str
|
||||
onepassword_vault_id: str = Field(..., description="1Password vault ID.")
|
||||
onepassword_item_id: str = Field(..., description="1Password item ID.")
|
||||
|
||||
|
||||
LoginRequest = Annotated[
|
||||
Union[SkyvernCredentialLoginRequest, BitwardenLoginRequest, OnePasswordLoginRequest],
|
||||
Union[SkyvernLoginRequest, BitwardenLoginRequest, OnePasswordLoginRequest],
|
||||
Field(discriminator="credential_type"),
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user