diff --git a/fern/openapi/skyvern_openapi.json b/fern/openapi/skyvern_openapi.json index f880ae0e..ae12da95 100644 --- a/fern/openapi/skyvern_openapi.json +++ b/fern/openapi/skyvern_openapi.json @@ -85,7 +85,6 @@ } } }, - "x-fern-sdk-group-name": "agent", "x-fern-sdk-method-name": "run_task", "x-fern-examples": [ { @@ -204,7 +203,6 @@ } } }, - "x-fern-sdk-group-name": "workflows", "x-fern-sdk-method-name": "run_workflow", "x-fern-examples": [ { @@ -307,7 +305,6 @@ } } }, - "x-fern-sdk-group-name": "agent", "x-fern-sdk-method-name": "get_run", "x-fern-examples": [ { @@ -381,7 +378,6 @@ } } }, - "x-fern-sdk-group-name": "agent", "x-fern-sdk-method-name": "cancel_run", "x-fern-examples": [ { @@ -448,7 +444,6 @@ "description": "Invalid workflow definition" } }, - "x-fern-sdk-group-name": "workflows", "x-fern-sdk-method-name": "create_workflow", "x-fern-examples": [ { @@ -580,7 +575,6 @@ } } }, - "x-fern-sdk-group-name": "workflows", "x-fern-sdk-method-name": "get_workflows", "x-fern-examples": [ { @@ -661,7 +655,6 @@ "description": "Invalid workflow definition" } }, - "x-fern-sdk-group-name": "workflows", "x-fern-sdk-method-name": "update_workflow", "x-fern-examples": [ { @@ -741,7 +734,6 @@ } } }, - "x-fern-sdk-group-name": "workflows", "x-fern-sdk-method-name": "delete_workflow", "x-fern-examples": [ { @@ -817,7 +809,6 @@ } } }, - "x-fern-sdk-group-name": "artifacts", "x-fern-sdk-method-name": "get_artifact" } }, @@ -905,7 +896,6 @@ } } }, - "x-fern-sdk-group-name": "artifacts", "x-fern-sdk-method-name": "get_run_artifacts" } }, @@ -972,7 +962,6 @@ } } }, - "x-fern-sdk-group-name": "agent", "x-fern-sdk-method-name": "retry_run_webhook", "x-fern-examples": [ { @@ -1049,7 +1038,6 @@ } } }, - "x-fern-sdk-group-name": "browser_session", "x-fern-sdk-method-name": "create_browser_session", "x-fern-examples": [ { @@ -1118,7 +1106,6 @@ } } }, - "x-fern-sdk-group-name": "browser_session", "x-fern-sdk-method-name": "get_browser_sessions", "x-fern-examples": [ { @@ -1197,7 +1184,6 @@ } } }, - "x-fern-sdk-group-name": "browser_session", "x-fern-sdk-method-name": "close_browser_session", "x-fern-examples": [ { @@ -1281,7 +1267,6 @@ } } }, - "x-fern-sdk-group-name": "browser_session", "x-fern-sdk-method-name": "get_browser_session", "x-fern-examples": [ { @@ -1355,7 +1340,6 @@ } } }, - "x-fern-sdk-group-name": "credentials", "x-fern-sdk-method-name": "send_totp_code" } }, @@ -1432,7 +1416,6 @@ } } }, - "x-fern-sdk-group-name": "credentials", "x-fern-sdk-method-name": "create_credential", "x-fern-examples": [ { @@ -1540,7 +1523,6 @@ } } }, - "x-fern-sdk-group-name": "credentials", "x-fern-sdk-method-name": "get_credentials", "x-fern-examples": [ { @@ -1614,7 +1596,6 @@ } } }, - "x-fern-sdk-group-name": "credentials", "x-fern-sdk-method-name": "delete_credential", "x-fern-examples": [ { @@ -1695,7 +1676,6 @@ } } }, - "x-fern-sdk-group-name": "credentials", "x-fern-sdk-method-name": "get_credential", "x-fern-examples": [ { diff --git a/skyvern/client/__init__.py b/skyvern/client/__init__.py index 98c39b29..c2011c2e 100644 --- a/skyvern/client/__init__.py +++ b/skyvern/client/__init__.py @@ -10,6 +10,7 @@ from .types import ( ActionBlockParametersItem_BitwardenSensitiveInformation, ActionBlockParametersItem_Context, ActionBlockParametersItem_Credential, + ActionBlockParametersItem_Onepassword, ActionBlockParametersItem_Output, ActionBlockParametersItem_Workflow, ActionBlockYaml, @@ -32,6 +33,7 @@ from .types import ( CodeBlockParametersItem_BitwardenSensitiveInformation, CodeBlockParametersItem_Context, CodeBlockParametersItem_Credential, + CodeBlockParametersItem_Onepassword, CodeBlockParametersItem_Output, CodeBlockParametersItem_Workflow, CodeBlockYaml, @@ -43,6 +45,7 @@ from .types import ( ContextParameterSource_BitwardenSensitiveInformation, ContextParameterSource_Context, ContextParameterSource_Credential, + ContextParameterSource_Onepassword, ContextParameterSource_Output, ContextParameterSource_Workflow, ContextParameterValue, @@ -65,6 +68,7 @@ from .types import ( ExtractionBlockParametersItem_BitwardenSensitiveInformation, ExtractionBlockParametersItem_Context, ExtractionBlockParametersItem_Credential, + ExtractionBlockParametersItem_Onepassword, ExtractionBlockParametersItem_Output, ExtractionBlockParametersItem_Workflow, ExtractionBlockYaml, @@ -78,6 +82,7 @@ from .types import ( FileDownloadBlockParametersItem_BitwardenSensitiveInformation, FileDownloadBlockParametersItem_Context, FileDownloadBlockParametersItem_Credential, + FileDownloadBlockParametersItem_Onepassword, FileDownloadBlockParametersItem_Output, FileDownloadBlockParametersItem_Workflow, FileDownloadBlockYaml, @@ -99,6 +104,7 @@ from .types import ( ForLoopBlockLoopBlocksItem_FileUrlParser, ForLoopBlockLoopBlocksItem_ForLoop, ForLoopBlockLoopBlocksItem_GotoUrl, + ForLoopBlockLoopBlocksItem_HttpRequest, ForLoopBlockLoopBlocksItem_Login, ForLoopBlockLoopBlocksItem_Navigation, ForLoopBlockLoopBlocksItem_PdfParser, @@ -116,6 +122,7 @@ from .types import ( ForLoopBlockLoopOver_BitwardenSensitiveInformation, ForLoopBlockLoopOver_Context, ForLoopBlockLoopOver_Credential, + ForLoopBlockLoopOver_Onepassword, ForLoopBlockLoopOver_Output, ForLoopBlockLoopOver_Workflow, ForLoopBlockYaml, @@ -129,6 +136,7 @@ from .types import ( ForLoopBlockYamlLoopBlocksItem_FileUrlParser, ForLoopBlockYamlLoopBlocksItem_ForLoop, ForLoopBlockYamlLoopBlocksItem_GotoUrl, + ForLoopBlockYamlLoopBlocksItem_HttpRequest, ForLoopBlockYamlLoopBlocksItem_Login, ForLoopBlockYamlLoopBlocksItem_Navigation, ForLoopBlockYamlLoopBlocksItem_PdfParser, @@ -144,7 +152,20 @@ from .types import ( GetRunResponse_OpenaiCua, GetRunResponse_TaskV1, GetRunResponse_TaskV2, + GetRunResponse_UiTars, GetRunResponse_WorkflowRun, + HttpRequestBlock, + HttpRequestBlockParametersItem, + HttpRequestBlockParametersItem_AwsSecret, + HttpRequestBlockParametersItem_BitwardenCreditCardData, + HttpRequestBlockParametersItem_BitwardenLoginCredential, + HttpRequestBlockParametersItem_BitwardenSensitiveInformation, + HttpRequestBlockParametersItem_Context, + HttpRequestBlockParametersItem_Credential, + HttpRequestBlockParametersItem_Onepassword, + HttpRequestBlockParametersItem_Output, + HttpRequestBlockParametersItem_Workflow, + HttpRequestBlockYaml, HttpValidationError, LoginBlock, LoginBlockDataSchema, @@ -155,6 +176,7 @@ from .types import ( LoginBlockParametersItem_BitwardenSensitiveInformation, LoginBlockParametersItem_Context, LoginBlockParametersItem_Credential, + LoginBlockParametersItem_Onepassword, LoginBlockParametersItem_Output, LoginBlockParametersItem_Workflow, LoginBlockYaml, @@ -167,11 +189,14 @@ from .types import ( NavigationBlockParametersItem_BitwardenSensitiveInformation, NavigationBlockParametersItem_Context, NavigationBlockParametersItem_Credential, + NavigationBlockParametersItem_Onepassword, NavigationBlockParametersItem_Output, NavigationBlockParametersItem_Workflow, NavigationBlockYaml, NonEmptyCreditCardCredential, NonEmptyPasswordCredential, + OnePasswordCredentialParameter, + OnePasswordCredentialParameterYaml, OutputParameter, OutputParameterYaml, PasswordCredentialResponse, @@ -191,6 +216,7 @@ from .types import ( TaskBlockParametersItem_BitwardenSensitiveInformation, TaskBlockParametersItem_Context, TaskBlockParametersItem_Credential, + TaskBlockParametersItem_Onepassword, TaskBlockParametersItem_Output, TaskBlockParametersItem_Workflow, TaskBlockYaml, @@ -209,6 +235,7 @@ from .types import ( TextPromptBlockParametersItem_BitwardenSensitiveInformation, TextPromptBlockParametersItem_Context, TextPromptBlockParametersItem_Credential, + TextPromptBlockParametersItem_Onepassword, TextPromptBlockParametersItem_Output, TextPromptBlockParametersItem_Workflow, TextPromptBlockYaml, @@ -224,6 +251,7 @@ from .types import ( UrlBlockParametersItem_BitwardenSensitiveInformation, UrlBlockParametersItem_Context, UrlBlockParametersItem_Credential, + UrlBlockParametersItem_Onepassword, UrlBlockParametersItem_Output, UrlBlockParametersItem_Workflow, UrlBlockYaml, @@ -236,6 +264,7 @@ from .types import ( ValidationBlockParametersItem_BitwardenSensitiveInformation, ValidationBlockParametersItem_Context, ValidationBlockParametersItem_Credential, + ValidationBlockParametersItem_Onepassword, ValidationBlockParametersItem_Output, ValidationBlockParametersItem_Workflow, ValidationBlockYaml, @@ -249,6 +278,7 @@ from .types import ( WaitBlockParametersItem_BitwardenSensitiveInformation, WaitBlockParametersItem_Context, WaitBlockParametersItem_Credential, + WaitBlockParametersItem_Onepassword, WaitBlockParametersItem_Output, WaitBlockParametersItem_Workflow, WaitBlockYaml, @@ -265,6 +295,7 @@ from .types import ( WorkflowDefinitionBlocksItem_FileUrlParser, WorkflowDefinitionBlocksItem_ForLoop, WorkflowDefinitionBlocksItem_GotoUrl, + WorkflowDefinitionBlocksItem_HttpRequest, WorkflowDefinitionBlocksItem_Login, WorkflowDefinitionBlocksItem_Navigation, WorkflowDefinitionBlocksItem_PdfParser, @@ -282,6 +313,7 @@ from .types import ( WorkflowDefinitionParametersItem_BitwardenSensitiveInformation, WorkflowDefinitionParametersItem_Context, WorkflowDefinitionParametersItem_Credential, + WorkflowDefinitionParametersItem_Onepassword, WorkflowDefinitionParametersItem_Output, WorkflowDefinitionParametersItem_Workflow, WorkflowDefinitionYaml, @@ -295,6 +327,7 @@ from .types import ( WorkflowDefinitionYamlBlocksItem_FileUrlParser, WorkflowDefinitionYamlBlocksItem_ForLoop, WorkflowDefinitionYamlBlocksItem_GotoUrl, + WorkflowDefinitionYamlBlocksItem_HttpRequest, WorkflowDefinitionYamlBlocksItem_Login, WorkflowDefinitionYamlBlocksItem_Navigation, WorkflowDefinitionYamlBlocksItem_PdfParser, @@ -312,6 +345,7 @@ from .types import ( WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation, WorkflowDefinitionYamlParametersItem_Context, WorkflowDefinitionYamlParametersItem_Credential, + WorkflowDefinitionYamlParametersItem_Onepassword, WorkflowDefinitionYamlParametersItem_Output, WorkflowDefinitionYamlParametersItem_Workflow, WorkflowParameter, @@ -340,6 +374,7 @@ __all__ = [ "ActionBlockParametersItem_BitwardenSensitiveInformation", "ActionBlockParametersItem_Context", "ActionBlockParametersItem_Credential", + "ActionBlockParametersItem_Onepassword", "ActionBlockParametersItem_Output", "ActionBlockParametersItem_Workflow", "ActionBlockYaml", @@ -364,6 +399,7 @@ __all__ = [ "CodeBlockParametersItem_BitwardenSensitiveInformation", "CodeBlockParametersItem_Context", "CodeBlockParametersItem_Credential", + "CodeBlockParametersItem_Onepassword", "CodeBlockParametersItem_Output", "CodeBlockParametersItem_Workflow", "CodeBlockYaml", @@ -375,6 +411,7 @@ __all__ = [ "ContextParameterSource_BitwardenSensitiveInformation", "ContextParameterSource_Context", "ContextParameterSource_Credential", + "ContextParameterSource_Onepassword", "ContextParameterSource_Output", "ContextParameterSource_Workflow", "ContextParameterValue", @@ -397,6 +434,7 @@ __all__ = [ "ExtractionBlockParametersItem_BitwardenSensitiveInformation", "ExtractionBlockParametersItem_Context", "ExtractionBlockParametersItem_Credential", + "ExtractionBlockParametersItem_Onepassword", "ExtractionBlockParametersItem_Output", "ExtractionBlockParametersItem_Workflow", "ExtractionBlockYaml", @@ -410,6 +448,7 @@ __all__ = [ "FileDownloadBlockParametersItem_BitwardenSensitiveInformation", "FileDownloadBlockParametersItem_Context", "FileDownloadBlockParametersItem_Credential", + "FileDownloadBlockParametersItem_Onepassword", "FileDownloadBlockParametersItem_Output", "FileDownloadBlockParametersItem_Workflow", "FileDownloadBlockYaml", @@ -431,6 +470,7 @@ __all__ = [ "ForLoopBlockLoopBlocksItem_FileUrlParser", "ForLoopBlockLoopBlocksItem_ForLoop", "ForLoopBlockLoopBlocksItem_GotoUrl", + "ForLoopBlockLoopBlocksItem_HttpRequest", "ForLoopBlockLoopBlocksItem_Login", "ForLoopBlockLoopBlocksItem_Navigation", "ForLoopBlockLoopBlocksItem_PdfParser", @@ -448,6 +488,7 @@ __all__ = [ "ForLoopBlockLoopOver_BitwardenSensitiveInformation", "ForLoopBlockLoopOver_Context", "ForLoopBlockLoopOver_Credential", + "ForLoopBlockLoopOver_Onepassword", "ForLoopBlockLoopOver_Output", "ForLoopBlockLoopOver_Workflow", "ForLoopBlockYaml", @@ -461,6 +502,7 @@ __all__ = [ "ForLoopBlockYamlLoopBlocksItem_FileUrlParser", "ForLoopBlockYamlLoopBlocksItem_ForLoop", "ForLoopBlockYamlLoopBlocksItem_GotoUrl", + "ForLoopBlockYamlLoopBlocksItem_HttpRequest", "ForLoopBlockYamlLoopBlocksItem_Login", "ForLoopBlockYamlLoopBlocksItem_Navigation", "ForLoopBlockYamlLoopBlocksItem_PdfParser", @@ -477,7 +519,20 @@ __all__ = [ "GetRunResponse_OpenaiCua", "GetRunResponse_TaskV1", "GetRunResponse_TaskV2", + "GetRunResponse_UiTars", "GetRunResponse_WorkflowRun", + "HttpRequestBlock", + "HttpRequestBlockParametersItem", + "HttpRequestBlockParametersItem_AwsSecret", + "HttpRequestBlockParametersItem_BitwardenCreditCardData", + "HttpRequestBlockParametersItem_BitwardenLoginCredential", + "HttpRequestBlockParametersItem_BitwardenSensitiveInformation", + "HttpRequestBlockParametersItem_Context", + "HttpRequestBlockParametersItem_Credential", + "HttpRequestBlockParametersItem_Onepassword", + "HttpRequestBlockParametersItem_Output", + "HttpRequestBlockParametersItem_Workflow", + "HttpRequestBlockYaml", "HttpValidationError", "LoginBlock", "LoginBlockDataSchema", @@ -488,6 +543,7 @@ __all__ = [ "LoginBlockParametersItem_BitwardenSensitiveInformation", "LoginBlockParametersItem_Context", "LoginBlockParametersItem_Credential", + "LoginBlockParametersItem_Onepassword", "LoginBlockParametersItem_Output", "LoginBlockParametersItem_Workflow", "LoginBlockYaml", @@ -500,12 +556,15 @@ __all__ = [ "NavigationBlockParametersItem_BitwardenSensitiveInformation", "NavigationBlockParametersItem_Context", "NavigationBlockParametersItem_Credential", + "NavigationBlockParametersItem_Onepassword", "NavigationBlockParametersItem_Output", "NavigationBlockParametersItem_Workflow", "NavigationBlockYaml", "NonEmptyCreditCardCredential", "NonEmptyPasswordCredential", "NotFoundError", + "OnePasswordCredentialParameter", + "OnePasswordCredentialParameterYaml", "OutputParameter", "OutputParameterYaml", "PasswordCredentialResponse", @@ -527,6 +586,7 @@ __all__ = [ "TaskBlockParametersItem_BitwardenSensitiveInformation", "TaskBlockParametersItem_Context", "TaskBlockParametersItem_Credential", + "TaskBlockParametersItem_Onepassword", "TaskBlockParametersItem_Output", "TaskBlockParametersItem_Workflow", "TaskBlockYaml", @@ -545,6 +605,7 @@ __all__ = [ "TextPromptBlockParametersItem_BitwardenSensitiveInformation", "TextPromptBlockParametersItem_Context", "TextPromptBlockParametersItem_Credential", + "TextPromptBlockParametersItem_Onepassword", "TextPromptBlockParametersItem_Output", "TextPromptBlockParametersItem_Workflow", "TextPromptBlockYaml", @@ -561,6 +622,7 @@ __all__ = [ "UrlBlockParametersItem_BitwardenSensitiveInformation", "UrlBlockParametersItem_Context", "UrlBlockParametersItem_Credential", + "UrlBlockParametersItem_Onepassword", "UrlBlockParametersItem_Output", "UrlBlockParametersItem_Workflow", "UrlBlockYaml", @@ -573,6 +635,7 @@ __all__ = [ "ValidationBlockParametersItem_BitwardenSensitiveInformation", "ValidationBlockParametersItem_Context", "ValidationBlockParametersItem_Credential", + "ValidationBlockParametersItem_Onepassword", "ValidationBlockParametersItem_Output", "ValidationBlockParametersItem_Workflow", "ValidationBlockYaml", @@ -586,6 +649,7 @@ __all__ = [ "WaitBlockParametersItem_BitwardenSensitiveInformation", "WaitBlockParametersItem_Context", "WaitBlockParametersItem_Credential", + "WaitBlockParametersItem_Onepassword", "WaitBlockParametersItem_Output", "WaitBlockParametersItem_Workflow", "WaitBlockYaml", @@ -602,6 +666,7 @@ __all__ = [ "WorkflowDefinitionBlocksItem_FileUrlParser", "WorkflowDefinitionBlocksItem_ForLoop", "WorkflowDefinitionBlocksItem_GotoUrl", + "WorkflowDefinitionBlocksItem_HttpRequest", "WorkflowDefinitionBlocksItem_Login", "WorkflowDefinitionBlocksItem_Navigation", "WorkflowDefinitionBlocksItem_PdfParser", @@ -619,6 +684,7 @@ __all__ = [ "WorkflowDefinitionParametersItem_BitwardenSensitiveInformation", "WorkflowDefinitionParametersItem_Context", "WorkflowDefinitionParametersItem_Credential", + "WorkflowDefinitionParametersItem_Onepassword", "WorkflowDefinitionParametersItem_Output", "WorkflowDefinitionParametersItem_Workflow", "WorkflowDefinitionYaml", @@ -632,6 +698,7 @@ __all__ = [ "WorkflowDefinitionYamlBlocksItem_FileUrlParser", "WorkflowDefinitionYamlBlocksItem_ForLoop", "WorkflowDefinitionYamlBlocksItem_GotoUrl", + "WorkflowDefinitionYamlBlocksItem_HttpRequest", "WorkflowDefinitionYamlBlocksItem_Login", "WorkflowDefinitionYamlBlocksItem_Navigation", "WorkflowDefinitionYamlBlocksItem_PdfParser", @@ -649,6 +716,7 @@ __all__ = [ "WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation", "WorkflowDefinitionYamlParametersItem_Context", "WorkflowDefinitionYamlParametersItem_Credential", + "WorkflowDefinitionYamlParametersItem_Onepassword", "WorkflowDefinitionYamlParametersItem_Output", "WorkflowDefinitionYamlParametersItem_Workflow", "WorkflowParameter", diff --git a/skyvern/client/client.py b/skyvern/client/client.py index 1c08b30e..234a7487 100644 --- a/skyvern/client/client.py +++ b/skyvern/client/client.py @@ -22,6 +22,7 @@ from .errors.not_found_error import NotFoundError from .types.workflow import Workflow from .types.workflow_create_yaml_request import WorkflowCreateYamlRequest from .types.artifact import Artifact +from .types.artifact_type import ArtifactType from .types.browser_session_response import BrowserSessionResponse from .errors.forbidden_error import ForbiddenError import datetime as dt @@ -54,6 +55,7 @@ class Skyvern: api_key : typing.Optional[str] + x_api_key : str timeout : typing.Optional[float] The timeout to be used, in seconds, for requests. By default the timeout is 60 seconds, unless a custom httpx client is used, in which case this default is not enforced. @@ -69,6 +71,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) """ @@ -78,6 +81,7 @@ class Skyvern: base_url: typing.Optional[str] = None, environment: SkyvernEnvironment = SkyvernEnvironment.PRODUCTION, api_key: typing.Optional[str] = None, + x_api_key: str, timeout: typing.Optional[float] = None, follow_redirects: typing.Optional[bool] = True, httpx_client: typing.Optional[httpx.Client] = None, @@ -86,6 +90,7 @@ class Skyvern: self._client_wrapper = SyncClientWrapper( base_url=_get_base_url(base_url=base_url, environment=environment), api_key=api_key, + x_api_key=x_api_key, httpx_client=httpx_client if httpx_client is not None else httpx.Client(timeout=_defaulted_timeout, follow_redirects=follow_redirects) @@ -110,8 +115,11 @@ class Skyvern: totp_identifier: typing.Optional[str] = OMIT, totp_url: typing.Optional[str] = OMIT, browser_session_id: typing.Optional[str] = OMIT, + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT, + extra_http_headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT, publish_workflow: typing.Optional[bool] = OMIT, include_action_history_in_verification: typing.Optional[bool] = OMIT, + max_screenshot_scrolls: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> TaskRunResponse: """ @@ -152,6 +160,7 @@ class Skyvern: - RESIDENTIAL_NZ: New Zealand - RESIDENTIAL_ZA: South Africa - RESIDENTIAL_AR: Argentina + - RESIDENTIAL_AU: Australia - RESIDENTIAL_ISP: ISP proxy - US-CA: California - US-NY: New York @@ -174,7 +183,7 @@ class Skyvern: webhook_url : typing.Optional[str] - URL to send task status updates to after a run is finished. Refer to https://docs.skyvern.com/running-tasks/webhooks-faq for more details. + After a run is finished, send an update to this URL. Refer to https://docs.skyvern.com/running-tasks/webhooks-faq for more details. totp_identifier : typing.Optional[str] @@ -188,12 +197,22 @@ class Skyvern: Run the task or workflow in the specific Skyvern browser session. Having a browser session can persist the real-time state of the browser, so that the next run can continue from where the previous run left off. + model : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] + + Optional model configuration. + + extra_http_headers : typing.Optional[typing.Dict[str, typing.Optional[str]]] + The extra HTTP headers for the requests in browser. + publish_workflow : typing.Optional[bool] Whether to publish this task as a reusable workflow. Only available for skyvern-2.0. include_action_history_in_verification : typing.Optional[bool] Whether to include action history when verifying that the task is complete + max_screenshot_scrolls : typing.Optional[int] + The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -208,6 +227,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.run_task( prompt="Find the top 3 posts on Hacker News.", @@ -231,8 +251,11 @@ class Skyvern: "totp_identifier": totp_identifier, "totp_url": totp_url, "browser_session_id": browser_session_id, + "model": model, + "extra_http_headers": extra_http_headers, "publish_workflow": publish_workflow, "include_action_history_in_verification": include_action_history_in_verification, + "max_screenshot_scrolls": max_screenshot_scrolls, }, headers={ "x-user-agent": str(user_agent) if user_agent is not None else None, @@ -288,6 +311,8 @@ class Skyvern: totp_url: typing.Optional[str] = OMIT, totp_identifier: typing.Optional[str] = OMIT, browser_session_id: typing.Optional[str] = OMIT, + max_screenshot_scrolls: typing.Optional[int] = OMIT, + extra_http_headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> WorkflowRunResponse: """ @@ -326,6 +351,7 @@ class Skyvern: - RESIDENTIAL_NZ: New Zealand - RESIDENTIAL_ZA: South Africa - RESIDENTIAL_AR: Argentina + - RESIDENTIAL_AU: Australia - RESIDENTIAL_ISP: ISP proxy - US-CA: California - US-NY: New York @@ -348,6 +374,12 @@ class Skyvern: browser_session_id : typing.Optional[str] ID of a Skyvern browser session to reuse, having it continue from the current screen state + max_screenshot_scrolls : typing.Optional[int] + The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot. + + extra_http_headers : typing.Optional[typing.Dict[str, typing.Optional[str]]] + The extra HTTP headers for the requests in browser. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -362,6 +394,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.run_workflow( workflow_id="wpid_123", @@ -382,6 +415,8 @@ class Skyvern: "totp_url": totp_url, "totp_identifier": totp_identifier, "browser_session_id": browser_session_id, + "max_screenshot_scrolls": max_screenshot_scrolls, + "extra_http_headers": extra_http_headers, }, headers={ "x-max-steps-override": str(max_steps_override) if max_steps_override is not None else None, @@ -447,6 +482,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.get_run( run_id="tsk_123", @@ -516,6 +552,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.cancel_run( run_id="run_id", @@ -592,6 +629,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.get_workflows() """ @@ -664,6 +702,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.create_workflow() """ @@ -739,6 +778,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.update_workflow( workflow_id="wpid_123", @@ -805,6 +845,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.delete_workflow( workflow_id="wpid_123", @@ -861,6 +902,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.get_artifact( artifact_id="artifact_id", @@ -905,6 +947,75 @@ class Skyvern: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + def get_run_artifacts( + self, + run_id: str, + *, + artifact_type: typing.Optional[typing.Union[ArtifactType, typing.Sequence[ArtifactType]]] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> typing.List[Artifact]: + """ + Get artifacts for a run + + Parameters + ---------- + run_id : str + The id of the task run or the workflow run. + + artifact_type : typing.Optional[typing.Union[ArtifactType, typing.Sequence[ArtifactType]]] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + typing.List[Artifact] + Successful Response + + Examples + -------- + from skyvern import Skyvern + + client = Skyvern( + api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", + ) + client.get_run_artifacts( + run_id="run_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + f"v1/runs/{jsonable_encoder(run_id)}/artifacts", + method="GET", + params={ + "artifact_type": artifact_type, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return typing.cast( + typing.List[Artifact], + parse_obj_as( + type_=typing.List[Artifact], # type: ignore + object_=_response.json(), + ), + ) + if _response.status_code == 422: + raise UnprocessableEntityError( + typing.cast( + typing.Optional[typing.Any], + parse_obj_as( + type_=typing.Optional[typing.Any], # type: ignore + object_=_response.json(), + ), + ) + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + def retry_run_webhook( self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> typing.Optional[typing.Any]: @@ -930,6 +1041,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.retry_run_webhook( run_id="tsk_123", @@ -986,6 +1098,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.get_browser_sessions() """ @@ -1037,7 +1150,7 @@ class Skyvern: Parameters ---------- timeout : typing.Optional[int] - Timeout in minutes for the session. Timeout is applied after the session is started. Must be between 5 and 10080. Defaults to 60. + Timeout in minutes for the session. Timeout is applied after the session is started. Must be between 5 and 120. Defaults to 60. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1053,6 +1166,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.create_browser_session() """ @@ -1127,6 +1241,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.close_browser_session( browser_session_id="pbs_123456", @@ -1196,6 +1311,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.get_browser_session( browser_session_id="pbs_123456", @@ -1302,6 +1418,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.send_totp_code( totp_identifier="john.doe@example.com", @@ -1382,8 +1499,12 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", + ) + client.get_credentials( + page=1, + page_size=10, ) - client.get_credentials() """ _response = self._client_wrapper.httpx_client.request( "v1/credentials", @@ -1454,6 +1575,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.create_credential( name="My Credential", @@ -1527,6 +1649,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.delete_credential( credential_id="cred_1234567890", @@ -1580,6 +1703,7 @@ class Skyvern: client = Skyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) client.get_credential( credential_id="cred_1234567890", @@ -1634,6 +1758,7 @@ class AsyncSkyvern: api_key : typing.Optional[str] + x_api_key : str timeout : typing.Optional[float] The timeout to be used, in seconds, for requests. By default the timeout is 60 seconds, unless a custom httpx client is used, in which case this default is not enforced. @@ -1649,6 +1774,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) """ @@ -1658,6 +1784,7 @@ class AsyncSkyvern: base_url: typing.Optional[str] = None, environment: SkyvernEnvironment = SkyvernEnvironment.PRODUCTION, api_key: typing.Optional[str] = None, + x_api_key: str, timeout: typing.Optional[float] = None, follow_redirects: typing.Optional[bool] = True, httpx_client: typing.Optional[httpx.AsyncClient] = None, @@ -1666,6 +1793,7 @@ class AsyncSkyvern: self._client_wrapper = AsyncClientWrapper( base_url=_get_base_url(base_url=base_url, environment=environment), api_key=api_key, + x_api_key=x_api_key, httpx_client=httpx_client if httpx_client is not None else httpx.AsyncClient(timeout=_defaulted_timeout, follow_redirects=follow_redirects) @@ -1690,8 +1818,11 @@ class AsyncSkyvern: totp_identifier: typing.Optional[str] = OMIT, totp_url: typing.Optional[str] = OMIT, browser_session_id: typing.Optional[str] = OMIT, + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT, + extra_http_headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT, publish_workflow: typing.Optional[bool] = OMIT, include_action_history_in_verification: typing.Optional[bool] = OMIT, + max_screenshot_scrolls: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> TaskRunResponse: """ @@ -1732,6 +1863,7 @@ class AsyncSkyvern: - RESIDENTIAL_NZ: New Zealand - RESIDENTIAL_ZA: South Africa - RESIDENTIAL_AR: Argentina + - RESIDENTIAL_AU: Australia - RESIDENTIAL_ISP: ISP proxy - US-CA: California - US-NY: New York @@ -1754,7 +1886,7 @@ class AsyncSkyvern: webhook_url : typing.Optional[str] - URL to send task status updates to after a run is finished. Refer to https://docs.skyvern.com/running-tasks/webhooks-faq for more details. + After a run is finished, send an update to this URL. Refer to https://docs.skyvern.com/running-tasks/webhooks-faq for more details. totp_identifier : typing.Optional[str] @@ -1768,12 +1900,22 @@ class AsyncSkyvern: Run the task or workflow in the specific Skyvern browser session. Having a browser session can persist the real-time state of the browser, so that the next run can continue from where the previous run left off. + model : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] + + Optional model configuration. + + extra_http_headers : typing.Optional[typing.Dict[str, typing.Optional[str]]] + The extra HTTP headers for the requests in browser. + publish_workflow : typing.Optional[bool] Whether to publish this task as a reusable workflow. Only available for skyvern-2.0. include_action_history_in_verification : typing.Optional[bool] Whether to include action history when verifying that the task is complete + max_screenshot_scrolls : typing.Optional[int] + The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1790,6 +1932,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -1819,8 +1962,11 @@ class AsyncSkyvern: "totp_identifier": totp_identifier, "totp_url": totp_url, "browser_session_id": browser_session_id, + "model": model, + "extra_http_headers": extra_http_headers, "publish_workflow": publish_workflow, "include_action_history_in_verification": include_action_history_in_verification, + "max_screenshot_scrolls": max_screenshot_scrolls, }, headers={ "x-user-agent": str(user_agent) if user_agent is not None else None, @@ -1876,6 +2022,8 @@ class AsyncSkyvern: totp_url: typing.Optional[str] = OMIT, totp_identifier: typing.Optional[str] = OMIT, browser_session_id: typing.Optional[str] = OMIT, + max_screenshot_scrolls: typing.Optional[int] = OMIT, + extra_http_headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> WorkflowRunResponse: """ @@ -1914,6 +2062,7 @@ class AsyncSkyvern: - RESIDENTIAL_NZ: New Zealand - RESIDENTIAL_ZA: South Africa - RESIDENTIAL_AR: Argentina + - RESIDENTIAL_AU: Australia - RESIDENTIAL_ISP: ISP proxy - US-CA: California - US-NY: New York @@ -1936,6 +2085,12 @@ class AsyncSkyvern: browser_session_id : typing.Optional[str] ID of a Skyvern browser session to reuse, having it continue from the current screen state + max_screenshot_scrolls : typing.Optional[int] + The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot. + + extra_http_headers : typing.Optional[typing.Dict[str, typing.Optional[str]]] + The extra HTTP headers for the requests in browser. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1952,6 +2107,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -1978,6 +2134,8 @@ class AsyncSkyvern: "totp_url": totp_url, "totp_identifier": totp_identifier, "browser_session_id": browser_session_id, + "max_screenshot_scrolls": max_screenshot_scrolls, + "extra_http_headers": extra_http_headers, }, headers={ "x-max-steps-override": str(max_steps_override) if max_steps_override is not None else None, @@ -2045,6 +2203,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2122,6 +2281,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2206,6 +2366,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2286,6 +2447,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2369,6 +2531,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2443,6 +2606,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2509,6 +2673,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2559,6 +2724,83 @@ class AsyncSkyvern: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + async def get_run_artifacts( + self, + run_id: str, + *, + artifact_type: typing.Optional[typing.Union[ArtifactType, typing.Sequence[ArtifactType]]] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> typing.List[Artifact]: + """ + Get artifacts for a run + + Parameters + ---------- + run_id : str + The id of the task run or the workflow run. + + artifact_type : typing.Optional[typing.Union[ArtifactType, typing.Sequence[ArtifactType]]] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + typing.List[Artifact] + Successful Response + + Examples + -------- + import asyncio + + from skyvern import AsyncSkyvern + + client = AsyncSkyvern( + api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", + ) + + + async def main() -> None: + await client.get_run_artifacts( + run_id="run_id", + ) + + + asyncio.run(main()) + """ + _response = await self._client_wrapper.httpx_client.request( + f"v1/runs/{jsonable_encoder(run_id)}/artifacts", + method="GET", + params={ + "artifact_type": artifact_type, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return typing.cast( + typing.List[Artifact], + parse_obj_as( + type_=typing.List[Artifact], # type: ignore + object_=_response.json(), + ), + ) + if _response.status_code == 422: + raise UnprocessableEntityError( + typing.cast( + typing.Optional[typing.Any], + parse_obj_as( + type_=typing.Optional[typing.Any], # type: ignore + object_=_response.json(), + ), + ) + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + async def retry_run_webhook( self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> typing.Optional[typing.Any]: @@ -2586,6 +2828,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2650,6 +2893,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2707,7 +2951,7 @@ class AsyncSkyvern: Parameters ---------- timeout : typing.Optional[int] - Timeout in minutes for the session. Timeout is applied after the session is started. Must be between 5 and 10080. Defaults to 60. + Timeout in minutes for the session. Timeout is applied after the session is started. Must be between 5 and 120. Defaults to 60. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -2725,6 +2969,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2807,6 +3052,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2884,6 +3130,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -2998,6 +3245,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -3086,11 +3334,15 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) async def main() -> None: - await client.get_credentials() + await client.get_credentials( + page=1, + page_size=10, + ) asyncio.run(main()) @@ -3166,6 +3418,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -3249,6 +3502,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) @@ -3310,6 +3564,7 @@ class AsyncSkyvern: client = AsyncSkyvern( api_key="YOUR_API_KEY", + x_api_key="YOUR_X_API_KEY", ) diff --git a/skyvern/client/core/client_wrapper.py b/skyvern/client/core/client_wrapper.py index b26c6416..8428e93e 100644 --- a/skyvern/client/core/client_wrapper.py +++ b/skyvern/client/core/client_wrapper.py @@ -7,8 +7,16 @@ from .http_client import AsyncHttpClient class BaseClientWrapper: - def __init__(self, *, api_key: typing.Optional[str] = None, base_url: str, timeout: typing.Optional[float] = None): + def __init__( + self, + *, + api_key: typing.Optional[str] = None, + x_api_key: str, + base_url: str, + timeout: typing.Optional[float] = None, + ): self._api_key = api_key + self.x_api_key = x_api_key self._base_url = base_url self._timeout = timeout @@ -16,10 +24,11 @@ class BaseClientWrapper: headers: typing.Dict[str, str] = { "X-Fern-Language": "Python", "X-Fern-SDK-Name": "skyvern", - "X-Fern-SDK-Version": "0.1.86", + "X-Fern-SDK-Version": "0.2.2", } if self._api_key is not None: headers["x-api-key"] = self._api_key + headers["x-api-key"] = self.x_api_key return headers def get_base_url(self) -> str: @@ -34,11 +43,12 @@ class SyncClientWrapper(BaseClientWrapper): self, *, api_key: typing.Optional[str] = None, + x_api_key: str, base_url: str, timeout: typing.Optional[float] = None, httpx_client: httpx.Client, ): - super().__init__(api_key=api_key, base_url=base_url, timeout=timeout) + super().__init__(api_key=api_key, x_api_key=x_api_key, base_url=base_url, timeout=timeout) self.httpx_client = HttpClient( httpx_client=httpx_client, base_headers=self.get_headers, @@ -52,11 +62,12 @@ class AsyncClientWrapper(BaseClientWrapper): self, *, api_key: typing.Optional[str] = None, + x_api_key: str, base_url: str, timeout: typing.Optional[float] = None, httpx_client: httpx.AsyncClient, ): - super().__init__(api_key=api_key, base_url=base_url, timeout=timeout) + super().__init__(api_key=api_key, x_api_key=x_api_key, base_url=base_url, timeout=timeout) self.httpx_client = AsyncHttpClient( httpx_client=httpx_client, base_headers=self.get_headers, diff --git a/skyvern/client/types/__init__.py b/skyvern/client/types/__init__.py index fc63440f..fced5d2f 100644 --- a/skyvern/client/types/__init__.py +++ b/skyvern/client/types/__init__.py @@ -10,6 +10,7 @@ from .action_block_parameters_item import ( ActionBlockParametersItem_BitwardenSensitiveInformation, ActionBlockParametersItem_Context, ActionBlockParametersItem_Credential, + ActionBlockParametersItem_Onepassword, ActionBlockParametersItem_Output, ActionBlockParametersItem_Workflow, ) @@ -34,6 +35,7 @@ from .code_block_parameters_item import ( CodeBlockParametersItem_BitwardenSensitiveInformation, CodeBlockParametersItem_Context, CodeBlockParametersItem_Credential, + CodeBlockParametersItem_Onepassword, CodeBlockParametersItem_Output, CodeBlockParametersItem_Workflow, ) @@ -47,6 +49,7 @@ from .context_parameter_source import ( ContextParameterSource_BitwardenSensitiveInformation, ContextParameterSource_Context, ContextParameterSource_Credential, + ContextParameterSource_Onepassword, ContextParameterSource_Output, ContextParameterSource_Workflow, ) @@ -71,6 +74,7 @@ from .extraction_block_parameters_item import ( ExtractionBlockParametersItem_BitwardenSensitiveInformation, ExtractionBlockParametersItem_Context, ExtractionBlockParametersItem_Credential, + ExtractionBlockParametersItem_Onepassword, ExtractionBlockParametersItem_Output, ExtractionBlockParametersItem_Workflow, ) @@ -86,6 +90,7 @@ from .file_download_block_parameters_item import ( FileDownloadBlockParametersItem_BitwardenSensitiveInformation, FileDownloadBlockParametersItem_Context, FileDownloadBlockParametersItem_Credential, + FileDownloadBlockParametersItem_Onepassword, FileDownloadBlockParametersItem_Output, FileDownloadBlockParametersItem_Workflow, ) @@ -109,6 +114,7 @@ from .for_loop_block_loop_blocks_item import ( ForLoopBlockLoopBlocksItem_FileUrlParser, ForLoopBlockLoopBlocksItem_ForLoop, ForLoopBlockLoopBlocksItem_GotoUrl, + ForLoopBlockLoopBlocksItem_HttpRequest, ForLoopBlockLoopBlocksItem_Login, ForLoopBlockLoopBlocksItem_Navigation, ForLoopBlockLoopBlocksItem_PdfParser, @@ -128,6 +134,7 @@ from .for_loop_block_loop_over import ( ForLoopBlockLoopOver_BitwardenSensitiveInformation, ForLoopBlockLoopOver_Context, ForLoopBlockLoopOver_Credential, + ForLoopBlockLoopOver_Onepassword, ForLoopBlockLoopOver_Output, ForLoopBlockLoopOver_Workflow, ) @@ -143,6 +150,7 @@ from .for_loop_block_yaml_loop_blocks_item import ( ForLoopBlockYamlLoopBlocksItem_FileUrlParser, ForLoopBlockYamlLoopBlocksItem_ForLoop, ForLoopBlockYamlLoopBlocksItem_GotoUrl, + ForLoopBlockYamlLoopBlocksItem_HttpRequest, ForLoopBlockYamlLoopBlocksItem_Login, ForLoopBlockYamlLoopBlocksItem_Navigation, ForLoopBlockYamlLoopBlocksItem_PdfParser, @@ -160,8 +168,23 @@ from .get_run_response import ( GetRunResponse_OpenaiCua, GetRunResponse_TaskV1, GetRunResponse_TaskV2, + GetRunResponse_UiTars, GetRunResponse_WorkflowRun, ) +from .http_request_block import HttpRequestBlock +from .http_request_block_parameters_item import ( + HttpRequestBlockParametersItem, + HttpRequestBlockParametersItem_AwsSecret, + HttpRequestBlockParametersItem_BitwardenCreditCardData, + HttpRequestBlockParametersItem_BitwardenLoginCredential, + HttpRequestBlockParametersItem_BitwardenSensitiveInformation, + HttpRequestBlockParametersItem_Context, + HttpRequestBlockParametersItem_Credential, + HttpRequestBlockParametersItem_Onepassword, + HttpRequestBlockParametersItem_Output, + HttpRequestBlockParametersItem_Workflow, +) +from .http_request_block_yaml import HttpRequestBlockYaml from .http_validation_error import HttpValidationError from .login_block import LoginBlock from .login_block_data_schema import LoginBlockDataSchema @@ -173,6 +196,7 @@ from .login_block_parameters_item import ( LoginBlockParametersItem_BitwardenSensitiveInformation, LoginBlockParametersItem_Context, LoginBlockParametersItem_Credential, + LoginBlockParametersItem_Onepassword, LoginBlockParametersItem_Output, LoginBlockParametersItem_Workflow, ) @@ -187,12 +211,15 @@ from .navigation_block_parameters_item import ( NavigationBlockParametersItem_BitwardenSensitiveInformation, NavigationBlockParametersItem_Context, NavigationBlockParametersItem_Credential, + NavigationBlockParametersItem_Onepassword, NavigationBlockParametersItem_Output, NavigationBlockParametersItem_Workflow, ) from .navigation_block_yaml import NavigationBlockYaml from .non_empty_credit_card_credential import NonEmptyCreditCardCredential from .non_empty_password_credential import NonEmptyPasswordCredential +from .one_password_credential_parameter import OnePasswordCredentialParameter +from .one_password_credential_parameter_yaml import OnePasswordCredentialParameterYaml from .output_parameter import OutputParameter from .output_parameter_yaml import OutputParameterYaml from .password_credential_response import PasswordCredentialResponse @@ -213,6 +240,7 @@ from .task_block_parameters_item import ( TaskBlockParametersItem_BitwardenSensitiveInformation, TaskBlockParametersItem_Context, TaskBlockParametersItem_Credential, + TaskBlockParametersItem_Onepassword, TaskBlockParametersItem_Output, TaskBlockParametersItem_Workflow, ) @@ -233,6 +261,7 @@ from .text_prompt_block_parameters_item import ( TextPromptBlockParametersItem_BitwardenSensitiveInformation, TextPromptBlockParametersItem_Context, TextPromptBlockParametersItem_Credential, + TextPromptBlockParametersItem_Onepassword, TextPromptBlockParametersItem_Output, TextPromptBlockParametersItem_Workflow, ) @@ -250,6 +279,7 @@ from .url_block_parameters_item import ( UrlBlockParametersItem_BitwardenSensitiveInformation, UrlBlockParametersItem_Context, UrlBlockParametersItem_Credential, + UrlBlockParametersItem_Onepassword, UrlBlockParametersItem_Output, UrlBlockParametersItem_Workflow, ) @@ -264,6 +294,7 @@ from .validation_block_parameters_item import ( ValidationBlockParametersItem_BitwardenSensitiveInformation, ValidationBlockParametersItem_Context, ValidationBlockParametersItem_Credential, + ValidationBlockParametersItem_Onepassword, ValidationBlockParametersItem_Output, ValidationBlockParametersItem_Workflow, ) @@ -279,6 +310,7 @@ from .wait_block_parameters_item import ( WaitBlockParametersItem_BitwardenSensitiveInformation, WaitBlockParametersItem_Context, WaitBlockParametersItem_Credential, + WaitBlockParametersItem_Onepassword, WaitBlockParametersItem_Output, WaitBlockParametersItem_Workflow, ) @@ -297,6 +329,7 @@ from .workflow_definition_blocks_item import ( WorkflowDefinitionBlocksItem_FileUrlParser, WorkflowDefinitionBlocksItem_ForLoop, WorkflowDefinitionBlocksItem_GotoUrl, + WorkflowDefinitionBlocksItem_HttpRequest, WorkflowDefinitionBlocksItem_Login, WorkflowDefinitionBlocksItem_Navigation, WorkflowDefinitionBlocksItem_PdfParser, @@ -316,6 +349,7 @@ from .workflow_definition_parameters_item import ( WorkflowDefinitionParametersItem_BitwardenSensitiveInformation, WorkflowDefinitionParametersItem_Context, WorkflowDefinitionParametersItem_Credential, + WorkflowDefinitionParametersItem_Onepassword, WorkflowDefinitionParametersItem_Output, WorkflowDefinitionParametersItem_Workflow, ) @@ -331,6 +365,7 @@ from .workflow_definition_yaml_blocks_item import ( WorkflowDefinitionYamlBlocksItem_FileUrlParser, WorkflowDefinitionYamlBlocksItem_ForLoop, WorkflowDefinitionYamlBlocksItem_GotoUrl, + WorkflowDefinitionYamlBlocksItem_HttpRequest, WorkflowDefinitionYamlBlocksItem_Login, WorkflowDefinitionYamlBlocksItem_Navigation, WorkflowDefinitionYamlBlocksItem_PdfParser, @@ -350,6 +385,7 @@ from .workflow_definition_yaml_parameters_item import ( WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation, WorkflowDefinitionYamlParametersItem_Context, WorkflowDefinitionYamlParametersItem_Credential, + WorkflowDefinitionYamlParametersItem_Onepassword, WorkflowDefinitionYamlParametersItem_Output, WorkflowDefinitionYamlParametersItem_Workflow, ) @@ -374,6 +410,7 @@ __all__ = [ "ActionBlockParametersItem_BitwardenSensitiveInformation", "ActionBlockParametersItem_Context", "ActionBlockParametersItem_Credential", + "ActionBlockParametersItem_Onepassword", "ActionBlockParametersItem_Output", "ActionBlockParametersItem_Workflow", "ActionBlockYaml", @@ -396,6 +433,7 @@ __all__ = [ "CodeBlockParametersItem_BitwardenSensitiveInformation", "CodeBlockParametersItem_Context", "CodeBlockParametersItem_Credential", + "CodeBlockParametersItem_Onepassword", "CodeBlockParametersItem_Output", "CodeBlockParametersItem_Workflow", "CodeBlockYaml", @@ -407,6 +445,7 @@ __all__ = [ "ContextParameterSource_BitwardenSensitiveInformation", "ContextParameterSource_Context", "ContextParameterSource_Credential", + "ContextParameterSource_Onepassword", "ContextParameterSource_Output", "ContextParameterSource_Workflow", "ContextParameterValue", @@ -429,6 +468,7 @@ __all__ = [ "ExtractionBlockParametersItem_BitwardenSensitiveInformation", "ExtractionBlockParametersItem_Context", "ExtractionBlockParametersItem_Credential", + "ExtractionBlockParametersItem_Onepassword", "ExtractionBlockParametersItem_Output", "ExtractionBlockParametersItem_Workflow", "ExtractionBlockYaml", @@ -442,6 +482,7 @@ __all__ = [ "FileDownloadBlockParametersItem_BitwardenSensitiveInformation", "FileDownloadBlockParametersItem_Context", "FileDownloadBlockParametersItem_Credential", + "FileDownloadBlockParametersItem_Onepassword", "FileDownloadBlockParametersItem_Output", "FileDownloadBlockParametersItem_Workflow", "FileDownloadBlockYaml", @@ -463,6 +504,7 @@ __all__ = [ "ForLoopBlockLoopBlocksItem_FileUrlParser", "ForLoopBlockLoopBlocksItem_ForLoop", "ForLoopBlockLoopBlocksItem_GotoUrl", + "ForLoopBlockLoopBlocksItem_HttpRequest", "ForLoopBlockLoopBlocksItem_Login", "ForLoopBlockLoopBlocksItem_Navigation", "ForLoopBlockLoopBlocksItem_PdfParser", @@ -480,6 +522,7 @@ __all__ = [ "ForLoopBlockLoopOver_BitwardenSensitiveInformation", "ForLoopBlockLoopOver_Context", "ForLoopBlockLoopOver_Credential", + "ForLoopBlockLoopOver_Onepassword", "ForLoopBlockLoopOver_Output", "ForLoopBlockLoopOver_Workflow", "ForLoopBlockYaml", @@ -493,6 +536,7 @@ __all__ = [ "ForLoopBlockYamlLoopBlocksItem_FileUrlParser", "ForLoopBlockYamlLoopBlocksItem_ForLoop", "ForLoopBlockYamlLoopBlocksItem_GotoUrl", + "ForLoopBlockYamlLoopBlocksItem_HttpRequest", "ForLoopBlockYamlLoopBlocksItem_Login", "ForLoopBlockYamlLoopBlocksItem_Navigation", "ForLoopBlockYamlLoopBlocksItem_PdfParser", @@ -508,7 +552,20 @@ __all__ = [ "GetRunResponse_OpenaiCua", "GetRunResponse_TaskV1", "GetRunResponse_TaskV2", + "GetRunResponse_UiTars", "GetRunResponse_WorkflowRun", + "HttpRequestBlock", + "HttpRequestBlockParametersItem", + "HttpRequestBlockParametersItem_AwsSecret", + "HttpRequestBlockParametersItem_BitwardenCreditCardData", + "HttpRequestBlockParametersItem_BitwardenLoginCredential", + "HttpRequestBlockParametersItem_BitwardenSensitiveInformation", + "HttpRequestBlockParametersItem_Context", + "HttpRequestBlockParametersItem_Credential", + "HttpRequestBlockParametersItem_Onepassword", + "HttpRequestBlockParametersItem_Output", + "HttpRequestBlockParametersItem_Workflow", + "HttpRequestBlockYaml", "HttpValidationError", "LoginBlock", "LoginBlockDataSchema", @@ -519,6 +576,7 @@ __all__ = [ "LoginBlockParametersItem_BitwardenSensitiveInformation", "LoginBlockParametersItem_Context", "LoginBlockParametersItem_Credential", + "LoginBlockParametersItem_Onepassword", "LoginBlockParametersItem_Output", "LoginBlockParametersItem_Workflow", "LoginBlockYaml", @@ -531,11 +589,14 @@ __all__ = [ "NavigationBlockParametersItem_BitwardenSensitiveInformation", "NavigationBlockParametersItem_Context", "NavigationBlockParametersItem_Credential", + "NavigationBlockParametersItem_Onepassword", "NavigationBlockParametersItem_Output", "NavigationBlockParametersItem_Workflow", "NavigationBlockYaml", "NonEmptyCreditCardCredential", "NonEmptyPasswordCredential", + "OnePasswordCredentialParameter", + "OnePasswordCredentialParameterYaml", "OutputParameter", "OutputParameterYaml", "PasswordCredentialResponse", @@ -555,6 +616,7 @@ __all__ = [ "TaskBlockParametersItem_BitwardenSensitiveInformation", "TaskBlockParametersItem_Context", "TaskBlockParametersItem_Credential", + "TaskBlockParametersItem_Onepassword", "TaskBlockParametersItem_Output", "TaskBlockParametersItem_Workflow", "TaskBlockYaml", @@ -573,6 +635,7 @@ __all__ = [ "TextPromptBlockParametersItem_BitwardenSensitiveInformation", "TextPromptBlockParametersItem_Context", "TextPromptBlockParametersItem_Credential", + "TextPromptBlockParametersItem_Onepassword", "TextPromptBlockParametersItem_Output", "TextPromptBlockParametersItem_Workflow", "TextPromptBlockYaml", @@ -588,6 +651,7 @@ __all__ = [ "UrlBlockParametersItem_BitwardenSensitiveInformation", "UrlBlockParametersItem_Context", "UrlBlockParametersItem_Credential", + "UrlBlockParametersItem_Onepassword", "UrlBlockParametersItem_Output", "UrlBlockParametersItem_Workflow", "UrlBlockYaml", @@ -600,6 +664,7 @@ __all__ = [ "ValidationBlockParametersItem_BitwardenSensitiveInformation", "ValidationBlockParametersItem_Context", "ValidationBlockParametersItem_Credential", + "ValidationBlockParametersItem_Onepassword", "ValidationBlockParametersItem_Output", "ValidationBlockParametersItem_Workflow", "ValidationBlockYaml", @@ -613,6 +678,7 @@ __all__ = [ "WaitBlockParametersItem_BitwardenSensitiveInformation", "WaitBlockParametersItem_Context", "WaitBlockParametersItem_Credential", + "WaitBlockParametersItem_Onepassword", "WaitBlockParametersItem_Output", "WaitBlockParametersItem_Workflow", "WaitBlockYaml", @@ -629,6 +695,7 @@ __all__ = [ "WorkflowDefinitionBlocksItem_FileUrlParser", "WorkflowDefinitionBlocksItem_ForLoop", "WorkflowDefinitionBlocksItem_GotoUrl", + "WorkflowDefinitionBlocksItem_HttpRequest", "WorkflowDefinitionBlocksItem_Login", "WorkflowDefinitionBlocksItem_Navigation", "WorkflowDefinitionBlocksItem_PdfParser", @@ -646,6 +713,7 @@ __all__ = [ "WorkflowDefinitionParametersItem_BitwardenSensitiveInformation", "WorkflowDefinitionParametersItem_Context", "WorkflowDefinitionParametersItem_Credential", + "WorkflowDefinitionParametersItem_Onepassword", "WorkflowDefinitionParametersItem_Output", "WorkflowDefinitionParametersItem_Workflow", "WorkflowDefinitionYaml", @@ -659,6 +727,7 @@ __all__ = [ "WorkflowDefinitionYamlBlocksItem_FileUrlParser", "WorkflowDefinitionYamlBlocksItem_ForLoop", "WorkflowDefinitionYamlBlocksItem_GotoUrl", + "WorkflowDefinitionYamlBlocksItem_HttpRequest", "WorkflowDefinitionYamlBlocksItem_Login", "WorkflowDefinitionYamlBlocksItem_Navigation", "WorkflowDefinitionYamlBlocksItem_PdfParser", @@ -676,6 +745,7 @@ __all__ = [ "WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation", "WorkflowDefinitionYamlParametersItem_Context", "WorkflowDefinitionYamlParametersItem_Credential", + "WorkflowDefinitionYamlParametersItem_Onepassword", "WorkflowDefinitionYamlParametersItem_Output", "WorkflowDefinitionYamlParametersItem_Workflow", "WorkflowParameter", diff --git a/skyvern/client/types/action_block.py b/skyvern/client/types/action_block.py index 9eff2723..ec9342b5 100644 --- a/skyvern/client/types/action_block.py +++ b/skyvern/client/types/action_block.py @@ -15,6 +15,7 @@ class ActionBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/action_block_data_schema.py b/skyvern/client/types/action_block_data_schema.py index 7436fc08..4b439de0 100644 --- a/skyvern/client/types/action_block_data_schema.py +++ b/skyvern/client/types/action_block_data_schema.py @@ -3,5 +3,5 @@ import typing ActionBlockDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/action_block_parameters_item.py b/skyvern/client/types/action_block_parameters_item.py index e79ac6f4..4ad27408 100644 --- a/skyvern/client/types/action_block_parameters_item.py +++ b/skyvern/client/types/action_block_parameters_item.py @@ -152,6 +152,28 @@ class ActionBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class ActionBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class ActionBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ ActionBlockParametersItem = typing.Union[ ActionBlockParametersItem_BitwardenSensitiveInformation, ActionBlockParametersItem_Context, ActionBlockParametersItem_Credential, + ActionBlockParametersItem_Onepassword, ActionBlockParametersItem_Output, ActionBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/action_block_yaml.py b/skyvern/client/types/action_block_yaml.py index d80ca6db..47b012c4 100644 --- a/skyvern/client/types/action_block_yaml.py +++ b/skyvern/client/types/action_block_yaml.py @@ -10,6 +10,7 @@ import pydantic class ActionBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: typing.Optional[str] = None title: typing.Optional[str] = None engine: typing.Optional[RunEngine] = None diff --git a/skyvern/client/types/artifact.py b/skyvern/client/types/artifact.py index 1821664a..93880889 100644 --- a/skyvern/client/types/artifact.py +++ b/skyvern/client/types/artifact.py @@ -29,7 +29,7 @@ class Artifact(UniversalBaseModel): observer_thought_id: typing.Optional[str] = None ai_suggestion_id: typing.Optional[str] = None signed_url: typing.Optional[str] = None - organization_id: typing.Optional[str] = None + organization_id: str if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/skyvern/client/types/browser_session_response.py b/skyvern/client/types/browser_session_response.py index 5fab3b5d..02f4eda6 100644 --- a/skyvern/client/types/browser_session_response.py +++ b/skyvern/client/types/browser_session_response.py @@ -37,6 +37,16 @@ class BrowserSessionResponse(UniversalBaseModel): Timeout in minutes for the session. Timeout is applied after the session is started. Defaults to 60 minutes. """ + browser_address: typing.Optional[str] = pydantic.Field(default=None) + """ + Url for connecting to the browser + """ + + app_url: typing.Optional[str] = pydantic.Field(default=None) + """ + Url for the browser session page + """ + started_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) """ Timestamp when the session was started diff --git a/skyvern/client/types/code_block.py b/skyvern/client/types/code_block.py index acf0ae03..dc3a98a6 100644 --- a/skyvern/client/types/code_block.py +++ b/skyvern/client/types/code_block.py @@ -13,6 +13,7 @@ class CodeBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None code: str parameters: typing.Optional[typing.List[CodeBlockParametersItem]] = None diff --git a/skyvern/client/types/code_block_parameters_item.py b/skyvern/client/types/code_block_parameters_item.py index 26ef5973..4c88f0c9 100644 --- a/skyvern/client/types/code_block_parameters_item.py +++ b/skyvern/client/types/code_block_parameters_item.py @@ -152,6 +152,28 @@ class CodeBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class CodeBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class CodeBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ CodeBlockParametersItem = typing.Union[ CodeBlockParametersItem_BitwardenSensitiveInformation, CodeBlockParametersItem_Context, CodeBlockParametersItem_Credential, + CodeBlockParametersItem_Onepassword, CodeBlockParametersItem_Output, CodeBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/code_block_yaml.py b/skyvern/client/types/code_block_yaml.py index a75ca06d..c5a8184e 100644 --- a/skyvern/client/types/code_block_yaml.py +++ b/skyvern/client/types/code_block_yaml.py @@ -9,6 +9,7 @@ import pydantic class CodeBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None code: str parameter_keys: typing.Optional[typing.List[str]] = None diff --git a/skyvern/client/types/context_parameter_source.py b/skyvern/client/types/context_parameter_source.py index fcf0dae1..86f24bd3 100644 --- a/skyvern/client/types/context_parameter_source.py +++ b/skyvern/client/types/context_parameter_source.py @@ -152,6 +152,28 @@ class ContextParameterSource_BitwardenCreditCardData(UniversalBaseModel): extra = pydantic.Extra.allow +class ContextParameterSource_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class ContextParameterSource_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -200,6 +222,7 @@ ContextParameterSource = typing.Union[ ContextParameterSource_BitwardenLoginCredential, ContextParameterSource_BitwardenSensitiveInformation, ContextParameterSource_BitwardenCreditCardData, + ContextParameterSource_Onepassword, ContextParameterSource_Output, ContextParameterSource_Credential, ] diff --git a/skyvern/client/types/download_to_s3block.py b/skyvern/client/types/download_to_s3block.py index b68cb0d1..f6a92672 100644 --- a/skyvern/client/types/download_to_s3block.py +++ b/skyvern/client/types/download_to_s3block.py @@ -11,6 +11,7 @@ class DownloadToS3Block(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: str if IS_PYDANTIC_V2: diff --git a/skyvern/client/types/download_to_s3block_yaml.py b/skyvern/client/types/download_to_s3block_yaml.py index c9010dae..de9109ad 100644 --- a/skyvern/client/types/download_to_s3block_yaml.py +++ b/skyvern/client/types/download_to_s3block_yaml.py @@ -9,6 +9,7 @@ import pydantic class DownloadToS3BlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: str if IS_PYDANTIC_V2: diff --git a/skyvern/client/types/extraction_block.py b/skyvern/client/types/extraction_block.py index 2de9d8bb..ee571b94 100644 --- a/skyvern/client/types/extraction_block.py +++ b/skyvern/client/types/extraction_block.py @@ -15,6 +15,7 @@ class ExtractionBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/extraction_block_data_schema.py b/skyvern/client/types/extraction_block_data_schema.py index 6ec1bb8e..40e433a1 100644 --- a/skyvern/client/types/extraction_block_data_schema.py +++ b/skyvern/client/types/extraction_block_data_schema.py @@ -3,5 +3,5 @@ import typing ExtractionBlockDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/extraction_block_parameters_item.py b/skyvern/client/types/extraction_block_parameters_item.py index fa767c3f..587d79c1 100644 --- a/skyvern/client/types/extraction_block_parameters_item.py +++ b/skyvern/client/types/extraction_block_parameters_item.py @@ -152,6 +152,28 @@ class ExtractionBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class ExtractionBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class ExtractionBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ ExtractionBlockParametersItem = typing.Union[ ExtractionBlockParametersItem_BitwardenSensitiveInformation, ExtractionBlockParametersItem_Context, ExtractionBlockParametersItem_Credential, + ExtractionBlockParametersItem_Onepassword, ExtractionBlockParametersItem_Output, ExtractionBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/extraction_block_yaml.py b/skyvern/client/types/extraction_block_yaml.py index ef4fbbb0..1a4babea 100644 --- a/skyvern/client/types/extraction_block_yaml.py +++ b/skyvern/client/types/extraction_block_yaml.py @@ -11,6 +11,7 @@ import pydantic class ExtractionBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None data_extraction_goal: str url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/extraction_block_yaml_data_schema.py b/skyvern/client/types/extraction_block_yaml_data_schema.py index 0b6373c0..7c4d3a8b 100644 --- a/skyvern/client/types/extraction_block_yaml_data_schema.py +++ b/skyvern/client/types/extraction_block_yaml_data_schema.py @@ -3,5 +3,5 @@ import typing ExtractionBlockYamlDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/file_download_block.py b/skyvern/client/types/file_download_block.py index d67fece6..bb2f903d 100644 --- a/skyvern/client/types/file_download_block.py +++ b/skyvern/client/types/file_download_block.py @@ -15,6 +15,7 @@ class FileDownloadBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/file_download_block_data_schema.py b/skyvern/client/types/file_download_block_data_schema.py index 589b7bee..6607cdd2 100644 --- a/skyvern/client/types/file_download_block_data_schema.py +++ b/skyvern/client/types/file_download_block_data_schema.py @@ -3,5 +3,5 @@ import typing FileDownloadBlockDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/file_download_block_parameters_item.py b/skyvern/client/types/file_download_block_parameters_item.py index f4f29244..d7d3fe69 100644 --- a/skyvern/client/types/file_download_block_parameters_item.py +++ b/skyvern/client/types/file_download_block_parameters_item.py @@ -152,6 +152,28 @@ class FileDownloadBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class FileDownloadBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class FileDownloadBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ FileDownloadBlockParametersItem = typing.Union[ FileDownloadBlockParametersItem_BitwardenSensitiveInformation, FileDownloadBlockParametersItem_Context, FileDownloadBlockParametersItem_Credential, + FileDownloadBlockParametersItem_Onepassword, FileDownloadBlockParametersItem_Output, FileDownloadBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/file_download_block_yaml.py b/skyvern/client/types/file_download_block_yaml.py index 7e78163f..4bbc69a9 100644 --- a/skyvern/client/types/file_download_block_yaml.py +++ b/skyvern/client/types/file_download_block_yaml.py @@ -10,6 +10,7 @@ import pydantic class FileDownloadBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None navigation_goal: str url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/file_parser_block.py b/skyvern/client/types/file_parser_block.py index 26ac34fe..e6f50360 100644 --- a/skyvern/client/types/file_parser_block.py +++ b/skyvern/client/types/file_parser_block.py @@ -12,6 +12,7 @@ class FileParserBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str file_type: FileType = "csv" diff --git a/skyvern/client/types/file_parser_block_yaml.py b/skyvern/client/types/file_parser_block_yaml.py index d08c09bf..e5e05c17 100644 --- a/skyvern/client/types/file_parser_block_yaml.py +++ b/skyvern/client/types/file_parser_block_yaml.py @@ -10,6 +10,7 @@ import pydantic class FileParserBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str file_type: FileType = "csv" diff --git a/skyvern/client/types/file_upload_block.py b/skyvern/client/types/file_upload_block.py index 75954aa6..5ea3617f 100644 --- a/skyvern/client/types/file_upload_block.py +++ b/skyvern/client/types/file_upload_block.py @@ -14,6 +14,7 @@ class FileUploadBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None storage_type: typing.Optional[FileStorageType] = None s3bucket: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_bucket")] = None aws_access_key_id: typing.Optional[str] = None diff --git a/skyvern/client/types/file_upload_block_yaml.py b/skyvern/client/types/file_upload_block_yaml.py index 16b3f50c..1f192c4e 100644 --- a/skyvern/client/types/file_upload_block_yaml.py +++ b/skyvern/client/types/file_upload_block_yaml.py @@ -12,6 +12,7 @@ import pydantic class FileUploadBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None storage_type: typing.Optional[FileStorageType] = None s3bucket: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_bucket")] = None aws_access_key_id: typing.Optional[str] = None diff --git a/skyvern/client/types/for_loop_block.py b/skyvern/client/types/for_loop_block.py index 8b666de7..2e02f540 100644 --- a/skyvern/client/types/for_loop_block.py +++ b/skyvern/client/types/for_loop_block.py @@ -15,6 +15,7 @@ class ForLoopBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None loop_blocks: typing.List["ForLoopBlockLoopBlocksItem"] loop_over: typing.Optional[ForLoopBlockLoopOver] = None loop_variable_reference: typing.Optional[str] = None diff --git a/skyvern/client/types/for_loop_block_loop_blocks_item.py b/skyvern/client/types/for_loop_block_loop_blocks_item.py index b4599a81..3d127870 100644 --- a/skyvern/client/types/for_loop_block_loop_blocks_item.py +++ b/skyvern/client/types/for_loop_block_loop_blocks_item.py @@ -22,6 +22,7 @@ from .file_type import FileType from .for_loop_block_loop_over import ForLoopBlockLoopOver from .url_block_data_schema import UrlBlockDataSchema from .url_block_parameters_item import UrlBlockParametersItem +from .http_request_block_parameters_item import HttpRequestBlockParametersItem from .login_block_data_schema import LoginBlockDataSchema from .login_block_parameters_item import LoginBlockParametersItem from .navigation_block_data_schema import NavigationBlockDataSchema @@ -41,6 +42,7 @@ class ForLoopBlockLoopBlocksItem_Action(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -77,6 +79,7 @@ class ForLoopBlockLoopBlocksItem_Code(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None code: str parameters: typing.Optional[typing.List[CodeBlockParametersItem]] = None @@ -95,6 +98,7 @@ class ForLoopBlockLoopBlocksItem_DownloadToS3(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: str if IS_PYDANTIC_V2: @@ -112,6 +116,7 @@ class ForLoopBlockLoopBlocksItem_Extraction(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -148,6 +153,7 @@ class ForLoopBlockLoopBlocksItem_FileDownload(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -184,6 +190,7 @@ class ForLoopBlockLoopBlocksItem_FileUpload(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None storage_type: typing.Optional[FileStorageType] = None s3bucket: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_bucket")] = None aws_access_key_id: typing.Optional[str] = None @@ -206,6 +213,7 @@ class ForLoopBlockLoopBlocksItem_FileUrlParser(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str file_type: FileType = "csv" @@ -224,6 +232,7 @@ class ForLoopBlockLoopBlocksItem_ForLoop(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None loop_blocks: typing.List["ForLoopBlockLoopBlocksItem"] loop_over: typing.Optional[ForLoopBlockLoopOver] = None loop_variable_reference: typing.Optional[str] = None @@ -247,6 +256,7 @@ class ForLoopBlockLoopBlocksItem_GotoUrl(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: str title: typing.Optional[str] = None @@ -278,11 +288,36 @@ class ForLoopBlockLoopBlocksItem_GotoUrl(UniversalBaseModel): extra = pydantic.Extra.allow +class ForLoopBlockLoopBlocksItem_HttpRequest(UniversalBaseModel): + block_type: typing.Literal["http_request"] = "http_request" + label: str + output_parameter: OutputParameter + continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + method: typing.Optional[str] = None + url: typing.Optional[str] = None + headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None + body: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + timeout: typing.Optional[int] = None + follow_redirects: typing.Optional[bool] = None + parameters: typing.Optional[typing.List[HttpRequestBlockParametersItem]] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class ForLoopBlockLoopBlocksItem_Login(UniversalBaseModel): block_type: typing.Literal["login"] = "login" label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -319,6 +354,7 @@ class ForLoopBlockLoopBlocksItem_Navigation(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -355,6 +391,7 @@ class ForLoopBlockLoopBlocksItem_PdfParser(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None @@ -373,6 +410,7 @@ class ForLoopBlockLoopBlocksItem_SendEmail(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None smtp_host: AwsSecretParameter smtp_port: AwsSecretParameter smtp_username: AwsSecretParameter @@ -398,6 +436,7 @@ class ForLoopBlockLoopBlocksItem_Task(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -434,6 +473,7 @@ class ForLoopBlockLoopBlocksItem_TaskV2(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None prompt: str url: typing.Optional[str] = None totp_verification_url: typing.Optional[str] = None @@ -456,6 +496,7 @@ class ForLoopBlockLoopBlocksItem_TextPrompt(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None llm_key: typing.Optional[str] = None prompt: str parameters: typing.Optional[typing.List[TextPromptBlockParametersItem]] = None @@ -476,6 +517,7 @@ class ForLoopBlockLoopBlocksItem_UploadToS3(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None path: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -493,6 +535,7 @@ class ForLoopBlockLoopBlocksItem_Validation(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -529,6 +572,7 @@ class ForLoopBlockLoopBlocksItem_Wait(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None wait_sec: int parameters: typing.Optional[typing.List[WaitBlockParametersItem]] = None @@ -552,6 +596,7 @@ ForLoopBlockLoopBlocksItem = typing.Union[ ForLoopBlockLoopBlocksItem_FileUrlParser, ForLoopBlockLoopBlocksItem_ForLoop, ForLoopBlockLoopBlocksItem_GotoUrl, + ForLoopBlockLoopBlocksItem_HttpRequest, ForLoopBlockLoopBlocksItem_Login, ForLoopBlockLoopBlocksItem_Navigation, ForLoopBlockLoopBlocksItem_PdfParser, diff --git a/skyvern/client/types/for_loop_block_loop_over.py b/skyvern/client/types/for_loop_block_loop_over.py index 316e3e29..2b5e8f44 100644 --- a/skyvern/client/types/for_loop_block_loop_over.py +++ b/skyvern/client/types/for_loop_block_loop_over.py @@ -152,6 +152,28 @@ class ForLoopBlockLoopOver_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class ForLoopBlockLoopOver_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class ForLoopBlockLoopOver_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ ForLoopBlockLoopOver = typing.Union[ ForLoopBlockLoopOver_BitwardenSensitiveInformation, ForLoopBlockLoopOver_Context, ForLoopBlockLoopOver_Credential, + ForLoopBlockLoopOver_Onepassword, ForLoopBlockLoopOver_Output, ForLoopBlockLoopOver_Workflow, ] diff --git a/skyvern/client/types/for_loop_block_yaml.py b/skyvern/client/types/for_loop_block_yaml.py index 2beecd3a..3296d550 100644 --- a/skyvern/client/types/for_loop_block_yaml.py +++ b/skyvern/client/types/for_loop_block_yaml.py @@ -11,6 +11,7 @@ from ..core.pydantic_utilities import update_forward_refs class ForLoopBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None loop_blocks: typing.List["ForLoopBlockYamlLoopBlocksItem"] loop_over_parameter_key: typing.Optional[str] = None loop_variable_reference: typing.Optional[str] = None diff --git a/skyvern/client/types/for_loop_block_yaml_loop_blocks_item.py b/skyvern/client/types/for_loop_block_yaml_loop_blocks_item.py index 59002818..69b21187 100644 --- a/skyvern/client/types/for_loop_block_yaml_loop_blocks_item.py +++ b/skyvern/client/types/for_loop_block_yaml_loop_blocks_item.py @@ -19,6 +19,7 @@ class ForLoopBlockYamlLoopBlocksItem_Task(UniversalBaseModel): block_type: typing.Literal["task"] = "task" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: typing.Optional[str] = None title: typing.Optional[str] = None engine: typing.Optional[RunEngine] = None @@ -53,6 +54,7 @@ class ForLoopBlockYamlLoopBlocksItem_ForLoop(UniversalBaseModel): block_type: typing.Literal["for_loop"] = "for_loop" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None loop_blocks: typing.List["ForLoopBlockYamlLoopBlocksItem"] loop_over_parameter_key: typing.Optional[str] = None loop_variable_reference: typing.Optional[str] = None @@ -75,6 +77,7 @@ class ForLoopBlockYamlLoopBlocksItem_Code(UniversalBaseModel): block_type: typing.Literal["code"] = "code" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None code: str parameter_keys: typing.Optional[typing.List[str]] = None @@ -92,6 +95,7 @@ class ForLoopBlockYamlLoopBlocksItem_TextPrompt(UniversalBaseModel): block_type: typing.Literal["text_prompt"] = "text_prompt" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None llm_key: typing.Optional[str] = None prompt: str parameter_keys: typing.Optional[typing.List[str]] = None @@ -111,6 +115,7 @@ class ForLoopBlockYamlLoopBlocksItem_DownloadToS3(UniversalBaseModel): block_type: typing.Literal["download_to_s3"] = "download_to_s3" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: str if IS_PYDANTIC_V2: @@ -127,6 +132,7 @@ class ForLoopBlockYamlLoopBlocksItem_UploadToS3(UniversalBaseModel): block_type: typing.Literal["upload_to_s3"] = "upload_to_s3" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None path: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -143,6 +149,7 @@ class ForLoopBlockYamlLoopBlocksItem_FileUpload(UniversalBaseModel): block_type: typing.Literal["file_upload"] = "file_upload" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None storage_type: typing.Optional[FileStorageType] = None s3bucket: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_bucket")] = None aws_access_key_id: typing.Optional[str] = None @@ -164,6 +171,7 @@ class ForLoopBlockYamlLoopBlocksItem_SendEmail(UniversalBaseModel): block_type: typing.Literal["send_email"] = "send_email" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None smtp_host_secret_parameter_key: str smtp_port_secret_parameter_key: str smtp_username_secret_parameter_key: str @@ -188,6 +196,7 @@ class ForLoopBlockYamlLoopBlocksItem_FileUrlParser(UniversalBaseModel): block_type: typing.Literal["file_url_parser"] = "file_url_parser" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str file_type: FileType = "csv" @@ -205,6 +214,7 @@ class ForLoopBlockYamlLoopBlocksItem_Validation(UniversalBaseModel): block_type: typing.Literal["validation"] = "validation" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None complete_criterion: typing.Optional[str] = None terminate_criterion: typing.Optional[str] = None error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None @@ -224,6 +234,7 @@ class ForLoopBlockYamlLoopBlocksItem_Action(UniversalBaseModel): block_type: typing.Literal["action"] = "action" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: typing.Optional[str] = None title: typing.Optional[str] = None engine: typing.Optional[RunEngine] = None @@ -251,6 +262,7 @@ class ForLoopBlockYamlLoopBlocksItem_Navigation(UniversalBaseModel): block_type: typing.Literal["navigation"] = "navigation" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None navigation_goal: str url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -283,6 +295,7 @@ class ForLoopBlockYamlLoopBlocksItem_Extraction(UniversalBaseModel): block_type: typing.Literal["extraction"] = "extraction" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None data_extraction_goal: str url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -307,6 +320,7 @@ class ForLoopBlockYamlLoopBlocksItem_Login(UniversalBaseModel): block_type: typing.Literal["login"] = "login" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: typing.Optional[str] = None title: typing.Optional[str] = None engine: typing.Optional[RunEngine] = None @@ -336,6 +350,7 @@ class ForLoopBlockYamlLoopBlocksItem_Wait(UniversalBaseModel): block_type: typing.Literal["wait"] = "wait" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None wait_sec: typing.Optional[int] = None if IS_PYDANTIC_V2: @@ -352,6 +367,7 @@ class ForLoopBlockYamlLoopBlocksItem_FileDownload(UniversalBaseModel): block_type: typing.Literal["file_download"] = "file_download" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None navigation_goal: str url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -379,6 +395,7 @@ class ForLoopBlockYamlLoopBlocksItem_GotoUrl(UniversalBaseModel): block_type: typing.Literal["goto_url"] = "goto_url" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: str if IS_PYDANTIC_V2: @@ -395,6 +412,7 @@ class ForLoopBlockYamlLoopBlocksItem_PdfParser(UniversalBaseModel): block_type: typing.Literal["pdf_parser"] = "pdf_parser" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None @@ -412,6 +430,7 @@ class ForLoopBlockYamlLoopBlocksItem_TaskV2(UniversalBaseModel): block_type: typing.Literal["task_v2"] = "task_v2" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None prompt: str url: typing.Optional[str] = None totp_verification_url: typing.Optional[str] = None @@ -429,6 +448,29 @@ class ForLoopBlockYamlLoopBlocksItem_TaskV2(UniversalBaseModel): extra = pydantic.Extra.allow +class ForLoopBlockYamlLoopBlocksItem_HttpRequest(UniversalBaseModel): + block_type: typing.Literal["http_request"] = "http_request" + label: str + continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + method: typing.Optional[str] = None + url: typing.Optional[str] = None + headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None + body: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + timeout: typing.Optional[int] = None + follow_redirects: typing.Optional[bool] = None + parameter_keys: typing.Optional[typing.List[str]] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + ForLoopBlockYamlLoopBlocksItem = typing.Union[ ForLoopBlockYamlLoopBlocksItem_Task, ForLoopBlockYamlLoopBlocksItem_ForLoop, @@ -449,5 +491,6 @@ ForLoopBlockYamlLoopBlocksItem = typing.Union[ ForLoopBlockYamlLoopBlocksItem_GotoUrl, ForLoopBlockYamlLoopBlocksItem_PdfParser, ForLoopBlockYamlLoopBlocksItem_TaskV2, + ForLoopBlockYamlLoopBlocksItem_HttpRequest, ] update_forward_refs(ForLoopBlockYamlLoopBlocksItem_ForLoop) diff --git a/skyvern/client/types/get_run_response.py b/skyvern/client/types/get_run_response.py index 1339c2e0..5c2afce4 100644 --- a/skyvern/client/types/get_run_response.py +++ b/skyvern/client/types/get_run_response.py @@ -25,7 +25,12 @@ class GetRunResponse_TaskV1(UniversalBaseModel): failure_reason: typing.Optional[str] = None created_at: dt.datetime modified_at: dt.datetime + queued_at: typing.Optional[dt.datetime] = None + started_at: typing.Optional[dt.datetime] = None + finished_at: typing.Optional[dt.datetime] = None app_url: typing.Optional[str] = None + browser_session_id: typing.Optional[str] = None + max_screenshot_scrolls: typing.Optional[int] = None run_request: typing.Optional[TaskRunRequest] = None if IS_PYDANTIC_V2: @@ -49,7 +54,12 @@ class GetRunResponse_TaskV2(UniversalBaseModel): failure_reason: typing.Optional[str] = None created_at: dt.datetime modified_at: dt.datetime + queued_at: typing.Optional[dt.datetime] = None + started_at: typing.Optional[dt.datetime] = None + finished_at: typing.Optional[dt.datetime] = None app_url: typing.Optional[str] = None + browser_session_id: typing.Optional[str] = None + max_screenshot_scrolls: typing.Optional[int] = None run_request: typing.Optional[TaskRunRequest] = None if IS_PYDANTIC_V2: @@ -73,7 +83,12 @@ class GetRunResponse_OpenaiCua(UniversalBaseModel): failure_reason: typing.Optional[str] = None created_at: dt.datetime modified_at: dt.datetime + queued_at: typing.Optional[dt.datetime] = None + started_at: typing.Optional[dt.datetime] = None + finished_at: typing.Optional[dt.datetime] = None app_url: typing.Optional[str] = None + browser_session_id: typing.Optional[str] = None + max_screenshot_scrolls: typing.Optional[int] = None run_request: typing.Optional[TaskRunRequest] = None if IS_PYDANTIC_V2: @@ -97,7 +112,41 @@ class GetRunResponse_AnthropicCua(UniversalBaseModel): failure_reason: typing.Optional[str] = None created_at: dt.datetime modified_at: dt.datetime + queued_at: typing.Optional[dt.datetime] = None + started_at: typing.Optional[dt.datetime] = None + finished_at: typing.Optional[dt.datetime] = None app_url: typing.Optional[str] = None + browser_session_id: typing.Optional[str] = None + max_screenshot_scrolls: typing.Optional[int] = None + run_request: typing.Optional[TaskRunRequest] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +class GetRunResponse_UiTars(UniversalBaseModel): + run_type: typing.Literal["ui_tars"] = "ui_tars" + run_id: str + status: RunStatus + output: typing.Optional[TaskRunResponseOutput] = None + downloaded_files: typing.Optional[typing.List[FileInfo]] = None + recording_url: typing.Optional[str] = None + screenshot_urls: typing.Optional[typing.List[str]] = None + failure_reason: typing.Optional[str] = None + created_at: dt.datetime + modified_at: dt.datetime + queued_at: typing.Optional[dt.datetime] = None + started_at: typing.Optional[dt.datetime] = None + finished_at: typing.Optional[dt.datetime] = None + app_url: typing.Optional[str] = None + browser_session_id: typing.Optional[str] = None + max_screenshot_scrolls: typing.Optional[int] = None run_request: typing.Optional[TaskRunRequest] = None if IS_PYDANTIC_V2: @@ -121,7 +170,12 @@ class GetRunResponse_WorkflowRun(UniversalBaseModel): failure_reason: typing.Optional[str] = None created_at: dt.datetime modified_at: dt.datetime + queued_at: typing.Optional[dt.datetime] = None + started_at: typing.Optional[dt.datetime] = None + finished_at: typing.Optional[dt.datetime] = None app_url: typing.Optional[str] = None + browser_session_id: typing.Optional[str] = None + max_screenshot_scrolls: typing.Optional[int] = None run_request: typing.Optional[WorkflowRunRequest] = None if IS_PYDANTIC_V2: @@ -139,5 +193,6 @@ GetRunResponse = typing.Union[ GetRunResponse_TaskV2, GetRunResponse_OpenaiCua, GetRunResponse_AnthropicCua, + GetRunResponse_UiTars, GetRunResponse_WorkflowRun, ] diff --git a/skyvern/client/types/http_request_block.py b/skyvern/client/types/http_request_block.py new file mode 100644 index 00000000..653625b0 --- /dev/null +++ b/skyvern/client/types/http_request_block.py @@ -0,0 +1,32 @@ +# This file was auto-generated by Fern from our API Definition. + +from ..core.pydantic_utilities import UniversalBaseModel +from .context_parameter import ContextParameter +from .output_parameter import OutputParameter +import typing +from .http_request_block_parameters_item import HttpRequestBlockParametersItem +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +import pydantic + + +class HttpRequestBlock(UniversalBaseModel): + label: str + output_parameter: OutputParameter + continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + method: typing.Optional[str] = None + url: typing.Optional[str] = None + headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None + body: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + timeout: typing.Optional[int] = None + follow_redirects: typing.Optional[bool] = None + parameters: typing.Optional[typing.List[HttpRequestBlockParametersItem]] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/skyvern/client/types/http_request_block_parameters_item.py b/skyvern/client/types/http_request_block_parameters_item.py new file mode 100644 index 00000000..c911ab00 --- /dev/null +++ b/skyvern/client/types/http_request_block_parameters_item.py @@ -0,0 +1,230 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations +from ..core.pydantic_utilities import UniversalBaseModel +import typing +import datetime as dt +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +import pydantic +from .context_parameter_value import ContextParameterValue +from .workflow_parameter_type import WorkflowParameterType +from .workflow_parameter_default_value import WorkflowParameterDefaultValue +from ..core.pydantic_utilities import update_forward_refs + + +class HttpRequestBlockParametersItem_AwsSecret(UniversalBaseModel): + parameter_type: typing.Literal["aws_secret"] = "aws_secret" + key: str + description: typing.Optional[str] = None + aws_secret_parameter_id: str + workflow_id: str + aws_key: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +class HttpRequestBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel): + parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data" + key: str + description: typing.Optional[str] = None + bitwarden_credit_card_data_parameter_id: str + workflow_id: str + bitwarden_client_id_aws_secret_key: str + bitwarden_client_secret_aws_secret_key: str + bitwarden_master_password_aws_secret_key: str + bitwarden_collection_id: str + bitwarden_item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +class HttpRequestBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel): + parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential" + key: str + description: typing.Optional[str] = None + bitwarden_login_credential_parameter_id: str + workflow_id: str + bitwarden_client_id_aws_secret_key: str + bitwarden_client_secret_aws_secret_key: str + bitwarden_master_password_aws_secret_key: str + url_parameter_key: typing.Optional[str] = None + bitwarden_collection_id: typing.Optional[str] = None + bitwarden_item_id: typing.Optional[str] = None + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +class HttpRequestBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel): + parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information" + key: str + description: typing.Optional[str] = None + bitwarden_sensitive_information_parameter_id: str + workflow_id: str + bitwarden_client_id_aws_secret_key: str + bitwarden_client_secret_aws_secret_key: str + bitwarden_master_password_aws_secret_key: str + bitwarden_collection_id: str + bitwarden_identity_key: str + bitwarden_identity_fields: typing.List[str] + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +class HttpRequestBlockParametersItem_Context(UniversalBaseModel): + parameter_type: typing.Literal["context"] = "context" + key: str + description: typing.Optional[str] = None + source: "ContextParameterSource" + value: typing.Optional[ContextParameterValue] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +from .context_parameter import ContextParameter # noqa: E402 +from .context_parameter_source import ContextParameterSource # noqa: E402 + + +class HttpRequestBlockParametersItem_Credential(UniversalBaseModel): + parameter_type: typing.Literal["credential"] = "credential" + key: str + description: typing.Optional[str] = None + credential_parameter_id: str + workflow_id: str + credential_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +class HttpRequestBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +class HttpRequestBlockParametersItem_Output(UniversalBaseModel): + parameter_type: typing.Literal["output"] = "output" + key: str + description: typing.Optional[str] = None + output_parameter_id: str + workflow_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +class HttpRequestBlockParametersItem_Workflow(UniversalBaseModel): + parameter_type: typing.Literal["workflow"] = "workflow" + key: str + description: typing.Optional[str] = None + workflow_parameter_id: str + workflow_parameter_type: WorkflowParameterType + workflow_id: str + default_value: typing.Optional[WorkflowParameterDefaultValue] = None + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +HttpRequestBlockParametersItem = typing.Union[ + HttpRequestBlockParametersItem_AwsSecret, + HttpRequestBlockParametersItem_BitwardenCreditCardData, + HttpRequestBlockParametersItem_BitwardenLoginCredential, + HttpRequestBlockParametersItem_BitwardenSensitiveInformation, + HttpRequestBlockParametersItem_Context, + HttpRequestBlockParametersItem_Credential, + HttpRequestBlockParametersItem_Onepassword, + HttpRequestBlockParametersItem_Output, + HttpRequestBlockParametersItem_Workflow, +] +update_forward_refs(HttpRequestBlockParametersItem_Context) diff --git a/skyvern/client/types/http_request_block_yaml.py b/skyvern/client/types/http_request_block_yaml.py new file mode 100644 index 00000000..7e878e9b --- /dev/null +++ b/skyvern/client/types/http_request_block_yaml.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +from ..core.pydantic_utilities import UniversalBaseModel +import typing +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +import pydantic + + +class HttpRequestBlockYaml(UniversalBaseModel): + label: str + continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + method: typing.Optional[str] = None + url: typing.Optional[str] = None + headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None + body: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + timeout: typing.Optional[int] = None + follow_redirects: typing.Optional[bool] = None + parameter_keys: typing.Optional[typing.List[str]] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/skyvern/client/types/login_block.py b/skyvern/client/types/login_block.py index 0c043e2a..69e2841c 100644 --- a/skyvern/client/types/login_block.py +++ b/skyvern/client/types/login_block.py @@ -15,6 +15,7 @@ class LoginBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/login_block_data_schema.py b/skyvern/client/types/login_block_data_schema.py index c8c9b523..719e7540 100644 --- a/skyvern/client/types/login_block_data_schema.py +++ b/skyvern/client/types/login_block_data_schema.py @@ -3,5 +3,5 @@ import typing LoginBlockDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/login_block_parameters_item.py b/skyvern/client/types/login_block_parameters_item.py index 8d1aacb9..c1cca623 100644 --- a/skyvern/client/types/login_block_parameters_item.py +++ b/skyvern/client/types/login_block_parameters_item.py @@ -152,6 +152,28 @@ class LoginBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class LoginBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class LoginBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ LoginBlockParametersItem = typing.Union[ LoginBlockParametersItem_BitwardenSensitiveInformation, LoginBlockParametersItem_Context, LoginBlockParametersItem_Credential, + LoginBlockParametersItem_Onepassword, LoginBlockParametersItem_Output, LoginBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/login_block_yaml.py b/skyvern/client/types/login_block_yaml.py index a897e093..34d4e320 100644 --- a/skyvern/client/types/login_block_yaml.py +++ b/skyvern/client/types/login_block_yaml.py @@ -10,6 +10,7 @@ import pydantic class LoginBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: typing.Optional[str] = None title: typing.Optional[str] = None engine: typing.Optional[RunEngine] = None diff --git a/skyvern/client/types/navigation_block.py b/skyvern/client/types/navigation_block.py index 0bcc96a3..e9dc08c8 100644 --- a/skyvern/client/types/navigation_block.py +++ b/skyvern/client/types/navigation_block.py @@ -15,6 +15,7 @@ class NavigationBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/navigation_block_data_schema.py b/skyvern/client/types/navigation_block_data_schema.py index 685f5eea..61dbb7e4 100644 --- a/skyvern/client/types/navigation_block_data_schema.py +++ b/skyvern/client/types/navigation_block_data_schema.py @@ -3,5 +3,5 @@ import typing NavigationBlockDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/navigation_block_parameters_item.py b/skyvern/client/types/navigation_block_parameters_item.py index 231cce06..40e66006 100644 --- a/skyvern/client/types/navigation_block_parameters_item.py +++ b/skyvern/client/types/navigation_block_parameters_item.py @@ -152,6 +152,28 @@ class NavigationBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class NavigationBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class NavigationBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ NavigationBlockParametersItem = typing.Union[ NavigationBlockParametersItem_BitwardenSensitiveInformation, NavigationBlockParametersItem_Context, NavigationBlockParametersItem_Credential, + NavigationBlockParametersItem_Onepassword, NavigationBlockParametersItem_Output, NavigationBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/navigation_block_yaml.py b/skyvern/client/types/navigation_block_yaml.py index 05215f43..f3b0f211 100644 --- a/skyvern/client/types/navigation_block_yaml.py +++ b/skyvern/client/types/navigation_block_yaml.py @@ -10,6 +10,7 @@ import pydantic class NavigationBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None navigation_goal: str url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/one_password_credential_parameter.py b/skyvern/client/types/one_password_credential_parameter.py new file mode 100644 index 00000000..bae88255 --- /dev/null +++ b/skyvern/client/types/one_password_credential_parameter.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +from ..core.pydantic_utilities import UniversalBaseModel +import typing +import datetime as dt +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +import pydantic + + +class OnePasswordCredentialParameter(UniversalBaseModel): + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/skyvern/client/types/one_password_credential_parameter_yaml.py b/skyvern/client/types/one_password_credential_parameter_yaml.py new file mode 100644 index 00000000..dc82845d --- /dev/null +++ b/skyvern/client/types/one_password_credential_parameter_yaml.py @@ -0,0 +1,22 @@ +# This file was auto-generated by Fern from our API Definition. + +from ..core.pydantic_utilities import UniversalBaseModel +import typing +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +import pydantic + + +class OnePasswordCredentialParameterYaml(UniversalBaseModel): + key: str + description: typing.Optional[str] = None + vault_id: str + item_id: str + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/skyvern/client/types/pdf_parser_block.py b/skyvern/client/types/pdf_parser_block.py index 3d1a5ce1..e5b1e1e8 100644 --- a/skyvern/client/types/pdf_parser_block.py +++ b/skyvern/client/types/pdf_parser_block.py @@ -11,6 +11,7 @@ class PdfParserBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None diff --git a/skyvern/client/types/pdf_parser_block_yaml.py b/skyvern/client/types/pdf_parser_block_yaml.py index 9b44bb5c..f4fb46ae 100644 --- a/skyvern/client/types/pdf_parser_block_yaml.py +++ b/skyvern/client/types/pdf_parser_block_yaml.py @@ -9,6 +9,7 @@ import pydantic class PdfParserBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None diff --git a/skyvern/client/types/send_email_block.py b/skyvern/client/types/send_email_block.py index d22bd6f4..9b370620 100644 --- a/skyvern/client/types/send_email_block.py +++ b/skyvern/client/types/send_email_block.py @@ -12,6 +12,7 @@ class SendEmailBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None smtp_host: AwsSecretParameter smtp_port: AwsSecretParameter smtp_username: AwsSecretParameter diff --git a/skyvern/client/types/send_email_block_yaml.py b/skyvern/client/types/send_email_block_yaml.py index 48c30354..0ced188f 100644 --- a/skyvern/client/types/send_email_block_yaml.py +++ b/skyvern/client/types/send_email_block_yaml.py @@ -9,6 +9,7 @@ import pydantic class SendEmailBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None smtp_host_secret_parameter_key: str smtp_port_secret_parameter_key: str smtp_username_secret_parameter_key: str diff --git a/skyvern/client/types/task_block.py b/skyvern/client/types/task_block.py index c914e2ce..5a09f143 100644 --- a/skyvern/client/types/task_block.py +++ b/skyvern/client/types/task_block.py @@ -15,6 +15,7 @@ class TaskBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/task_block_data_schema.py b/skyvern/client/types/task_block_data_schema.py index 1724bc03..011a0b8e 100644 --- a/skyvern/client/types/task_block_data_schema.py +++ b/skyvern/client/types/task_block_data_schema.py @@ -3,5 +3,5 @@ import typing TaskBlockDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/task_block_parameters_item.py b/skyvern/client/types/task_block_parameters_item.py index 1d8c02dc..c9f5b034 100644 --- a/skyvern/client/types/task_block_parameters_item.py +++ b/skyvern/client/types/task_block_parameters_item.py @@ -152,6 +152,28 @@ class TaskBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class TaskBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class TaskBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ TaskBlockParametersItem = typing.Union[ TaskBlockParametersItem_BitwardenSensitiveInformation, TaskBlockParametersItem_Context, TaskBlockParametersItem_Credential, + TaskBlockParametersItem_Onepassword, TaskBlockParametersItem_Output, TaskBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/task_block_yaml.py b/skyvern/client/types/task_block_yaml.py index 9458348b..12ce1d47 100644 --- a/skyvern/client/types/task_block_yaml.py +++ b/skyvern/client/types/task_block_yaml.py @@ -11,6 +11,7 @@ import pydantic class TaskBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: typing.Optional[str] = None title: typing.Optional[str] = None engine: typing.Optional[RunEngine] = None diff --git a/skyvern/client/types/task_block_yaml_data_schema.py b/skyvern/client/types/task_block_yaml_data_schema.py index 4a4720f4..86b18126 100644 --- a/skyvern/client/types/task_block_yaml_data_schema.py +++ b/skyvern/client/types/task_block_yaml_data_schema.py @@ -3,5 +3,5 @@ import typing TaskBlockYamlDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/task_run_request.py b/skyvern/client/types/task_run_request.py index d0c97878..dc4f6c2e 100644 --- a/skyvern/client/types/task_run_request.py +++ b/skyvern/client/types/task_run_request.py @@ -50,6 +50,7 @@ class TaskRunRequest(UniversalBaseModel): - RESIDENTIAL_NZ: New Zealand - RESIDENTIAL_ZA: South Africa - RESIDENTIAL_AR: Argentina + - RESIDENTIAL_AU: Australia - RESIDENTIAL_ISP: ISP proxy - US-CA: California - US-NY: New York @@ -101,6 +102,17 @@ class TaskRunRequest(UniversalBaseModel): Run the task or workflow in the specific Skyvern browser session. Having a browser session can persist the real-time state of the browser, so that the next run can continue from where the previous run left off. """ + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None) + """ + + Optional model configuration. + """ + + extra_http_headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = pydantic.Field(default=None) + """ + The extra HTTP headers for the requests in browser. + """ + publish_workflow: typing.Optional[bool] = pydantic.Field(default=None) """ Whether to publish this task as a reusable workflow. Only available for skyvern-2.0. @@ -111,6 +123,11 @@ class TaskRunRequest(UniversalBaseModel): Whether to include action history when verifying that the task is complete """ + max_screenshot_scrolls: typing.Optional[int] = pydantic.Field(default=None) + """ + The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/skyvern/client/types/task_run_response.py b/skyvern/client/types/task_run_response.py index d8ed2140..d53902e1 100644 --- a/skyvern/client/types/task_run_response.py +++ b/skyvern/client/types/task_run_response.py @@ -57,11 +57,36 @@ class TaskRunResponse(UniversalBaseModel): Timestamp when this run was last modified """ + queued_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + Timestamp when this run was queued + """ + + started_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + Timestamp when this run started execution + """ + + finished_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + Timestamp when this run finished + """ + app_url: typing.Optional[str] = pydantic.Field(default=None) """ URL to the application UI where the run can be viewed """ + browser_session_id: typing.Optional[str] = pydantic.Field(default=None) + """ + ID of the Skyvern persistent browser session used for this run + """ + + max_screenshot_scrolls: typing.Optional[int] = pydantic.Field(default=None) + """ + The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot + """ + run_request: typing.Optional[TaskRunRequest] = pydantic.Field(default=None) """ The original request parameters used to start this task run diff --git a/skyvern/client/types/task_v2block.py b/skyvern/client/types/task_v2block.py index 4ac7484a..bba98592 100644 --- a/skyvern/client/types/task_v2block.py +++ b/skyvern/client/types/task_v2block.py @@ -11,6 +11,7 @@ class TaskV2Block(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None prompt: str url: typing.Optional[str] = None totp_verification_url: typing.Optional[str] = None diff --git a/skyvern/client/types/task_v2block_yaml.py b/skyvern/client/types/task_v2block_yaml.py index 251d500a..47b038f8 100644 --- a/skyvern/client/types/task_v2block_yaml.py +++ b/skyvern/client/types/task_v2block_yaml.py @@ -9,6 +9,7 @@ import pydantic class TaskV2BlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None prompt: str url: typing.Optional[str] = None totp_verification_url: typing.Optional[str] = None diff --git a/skyvern/client/types/text_prompt_block.py b/skyvern/client/types/text_prompt_block.py index 8295a83a..061d1da9 100644 --- a/skyvern/client/types/text_prompt_block.py +++ b/skyvern/client/types/text_prompt_block.py @@ -13,6 +13,7 @@ class TextPromptBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None llm_key: typing.Optional[str] = None prompt: str parameters: typing.Optional[typing.List[TextPromptBlockParametersItem]] = None diff --git a/skyvern/client/types/text_prompt_block_parameters_item.py b/skyvern/client/types/text_prompt_block_parameters_item.py index 0a471a9f..c0fa963e 100644 --- a/skyvern/client/types/text_prompt_block_parameters_item.py +++ b/skyvern/client/types/text_prompt_block_parameters_item.py @@ -152,6 +152,28 @@ class TextPromptBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class TextPromptBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class TextPromptBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ TextPromptBlockParametersItem = typing.Union[ TextPromptBlockParametersItem_BitwardenSensitiveInformation, TextPromptBlockParametersItem_Context, TextPromptBlockParametersItem_Credential, + TextPromptBlockParametersItem_Onepassword, TextPromptBlockParametersItem_Output, TextPromptBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/text_prompt_block_yaml.py b/skyvern/client/types/text_prompt_block_yaml.py index 2b56fbb9..07018a6a 100644 --- a/skyvern/client/types/text_prompt_block_yaml.py +++ b/skyvern/client/types/text_prompt_block_yaml.py @@ -9,6 +9,7 @@ import pydantic class TextPromptBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None llm_key: typing.Optional[str] = None prompt: str parameter_keys: typing.Optional[typing.List[str]] = None diff --git a/skyvern/client/types/upload_to_s3block.py b/skyvern/client/types/upload_to_s3block.py index ba7c0d6a..af9fe918 100644 --- a/skyvern/client/types/upload_to_s3block.py +++ b/skyvern/client/types/upload_to_s3block.py @@ -11,6 +11,7 @@ class UploadToS3Block(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None path: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/skyvern/client/types/upload_to_s3block_yaml.py b/skyvern/client/types/upload_to_s3block_yaml.py index 5c139d33..5cf34f61 100644 --- a/skyvern/client/types/upload_to_s3block_yaml.py +++ b/skyvern/client/types/upload_to_s3block_yaml.py @@ -9,6 +9,7 @@ import pydantic class UploadToS3BlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None path: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/skyvern/client/types/url_block.py b/skyvern/client/types/url_block.py index e13f8bae..99a82ba2 100644 --- a/skyvern/client/types/url_block.py +++ b/skyvern/client/types/url_block.py @@ -15,6 +15,7 @@ class UrlBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: str title: typing.Optional[str] = None diff --git a/skyvern/client/types/url_block_data_schema.py b/skyvern/client/types/url_block_data_schema.py index d9b9e2ee..3b38c725 100644 --- a/skyvern/client/types/url_block_data_schema.py +++ b/skyvern/client/types/url_block_data_schema.py @@ -3,5 +3,5 @@ import typing UrlBlockDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/url_block_parameters_item.py b/skyvern/client/types/url_block_parameters_item.py index 629d07fa..0ce80a1e 100644 --- a/skyvern/client/types/url_block_parameters_item.py +++ b/skyvern/client/types/url_block_parameters_item.py @@ -152,6 +152,28 @@ class UrlBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class UrlBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class UrlBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ UrlBlockParametersItem = typing.Union[ UrlBlockParametersItem_BitwardenSensitiveInformation, UrlBlockParametersItem_Context, UrlBlockParametersItem_Credential, + UrlBlockParametersItem_Onepassword, UrlBlockParametersItem_Output, UrlBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/url_block_yaml.py b/skyvern/client/types/url_block_yaml.py index 63630e76..61361b82 100644 --- a/skyvern/client/types/url_block_yaml.py +++ b/skyvern/client/types/url_block_yaml.py @@ -9,6 +9,7 @@ import pydantic class UrlBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: str if IS_PYDANTIC_V2: diff --git a/skyvern/client/types/validation_block.py b/skyvern/client/types/validation_block.py index 4b53e379..183252b6 100644 --- a/skyvern/client/types/validation_block.py +++ b/skyvern/client/types/validation_block.py @@ -15,6 +15,7 @@ class ValidationBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None diff --git a/skyvern/client/types/validation_block_data_schema.py b/skyvern/client/types/validation_block_data_schema.py index 11b8975c..3f5f6434 100644 --- a/skyvern/client/types/validation_block_data_schema.py +++ b/skyvern/client/types/validation_block_data_schema.py @@ -3,5 +3,5 @@ import typing ValidationBlockDataSchema = typing.Union[ - typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]] + typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]], str ] diff --git a/skyvern/client/types/validation_block_parameters_item.py b/skyvern/client/types/validation_block_parameters_item.py index 058ba843..00130248 100644 --- a/skyvern/client/types/validation_block_parameters_item.py +++ b/skyvern/client/types/validation_block_parameters_item.py @@ -152,6 +152,28 @@ class ValidationBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class ValidationBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class ValidationBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ ValidationBlockParametersItem = typing.Union[ ValidationBlockParametersItem_BitwardenSensitiveInformation, ValidationBlockParametersItem_Context, ValidationBlockParametersItem_Credential, + ValidationBlockParametersItem_Onepassword, ValidationBlockParametersItem_Output, ValidationBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/validation_block_yaml.py b/skyvern/client/types/validation_block_yaml.py index fe7a71f2..134409c2 100644 --- a/skyvern/client/types/validation_block_yaml.py +++ b/skyvern/client/types/validation_block_yaml.py @@ -9,6 +9,7 @@ import pydantic class ValidationBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None complete_criterion: typing.Optional[str] = None terminate_criterion: typing.Optional[str] = None error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None diff --git a/skyvern/client/types/wait_block.py b/skyvern/client/types/wait_block.py index 3bd642bd..e5cca803 100644 --- a/skyvern/client/types/wait_block.py +++ b/skyvern/client/types/wait_block.py @@ -13,6 +13,7 @@ class WaitBlock(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None wait_sec: int parameters: typing.Optional[typing.List[WaitBlockParametersItem]] = None diff --git a/skyvern/client/types/wait_block_parameters_item.py b/skyvern/client/types/wait_block_parameters_item.py index ccfd3c93..7b03f7ce 100644 --- a/skyvern/client/types/wait_block_parameters_item.py +++ b/skyvern/client/types/wait_block_parameters_item.py @@ -152,6 +152,28 @@ class WaitBlockParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class WaitBlockParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class WaitBlockParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ WaitBlockParametersItem = typing.Union[ WaitBlockParametersItem_BitwardenSensitiveInformation, WaitBlockParametersItem_Context, WaitBlockParametersItem_Credential, + WaitBlockParametersItem_Onepassword, WaitBlockParametersItem_Output, WaitBlockParametersItem_Workflow, ] diff --git a/skyvern/client/types/wait_block_yaml.py b/skyvern/client/types/wait_block_yaml.py index 91c20285..6739ace4 100644 --- a/skyvern/client/types/wait_block_yaml.py +++ b/skyvern/client/types/wait_block_yaml.py @@ -9,6 +9,7 @@ import pydantic class WaitBlockYaml(UniversalBaseModel): label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None wait_sec: typing.Optional[int] = None if IS_PYDANTIC_V2: diff --git a/skyvern/client/types/workflow.py b/skyvern/client/types/workflow.py index 2632be63..d1f33f26 100644 --- a/skyvern/client/types/workflow.py +++ b/skyvern/client/types/workflow.py @@ -26,7 +26,10 @@ class Workflow(UniversalBaseModel): totp_verification_url: typing.Optional[str] = None totp_identifier: typing.Optional[str] = None persist_browser_session: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None status: typing.Optional[WorkflowStatus] = None + max_screenshot_scrolls: typing.Optional[int] = None + extra_http_headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None created_at: dt.datetime modified_at: dt.datetime deleted_at: typing.Optional[dt.datetime] = None diff --git a/skyvern/client/types/workflow_create_yaml_request.py b/skyvern/client/types/workflow_create_yaml_request.py index 306bc4c5..46ccba0f 100644 --- a/skyvern/client/types/workflow_create_yaml_request.py +++ b/skyvern/client/types/workflow_create_yaml_request.py @@ -18,8 +18,11 @@ class WorkflowCreateYamlRequest(UniversalBaseModel): totp_verification_url: typing.Optional[str] = None totp_identifier: typing.Optional[str] = None persist_browser_session: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None workflow_definition: WorkflowDefinitionYaml is_saved_task: typing.Optional[bool] = None + max_screenshot_scrolls: typing.Optional[int] = None + extra_http_headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None status: typing.Optional[WorkflowStatus] = None if IS_PYDANTIC_V2: diff --git a/skyvern/client/types/workflow_definition_blocks_item.py b/skyvern/client/types/workflow_definition_blocks_item.py index 6ee19e0a..e1e62893 100644 --- a/skyvern/client/types/workflow_definition_blocks_item.py +++ b/skyvern/client/types/workflow_definition_blocks_item.py @@ -22,6 +22,7 @@ from .file_type import FileType from .for_loop_block_loop_over import ForLoopBlockLoopOver from .url_block_data_schema import UrlBlockDataSchema from .url_block_parameters_item import UrlBlockParametersItem +from .http_request_block_parameters_item import HttpRequestBlockParametersItem from .login_block_data_schema import LoginBlockDataSchema from .login_block_parameters_item import LoginBlockParametersItem from .navigation_block_data_schema import NavigationBlockDataSchema @@ -41,6 +42,7 @@ class WorkflowDefinitionBlocksItem_Action(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -77,6 +79,7 @@ class WorkflowDefinitionBlocksItem_Code(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None code: str parameters: typing.Optional[typing.List[CodeBlockParametersItem]] = None @@ -95,6 +98,7 @@ class WorkflowDefinitionBlocksItem_DownloadToS3(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: str if IS_PYDANTIC_V2: @@ -112,6 +116,7 @@ class WorkflowDefinitionBlocksItem_Extraction(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -148,6 +153,7 @@ class WorkflowDefinitionBlocksItem_FileDownload(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -184,6 +190,7 @@ class WorkflowDefinitionBlocksItem_FileUpload(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None storage_type: typing.Optional[FileStorageType] = None s3bucket: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_bucket")] = None aws_access_key_id: typing.Optional[str] = None @@ -206,6 +213,7 @@ class WorkflowDefinitionBlocksItem_FileUrlParser(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str file_type: FileType = "csv" @@ -224,6 +232,7 @@ class WorkflowDefinitionBlocksItem_ForLoop(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None loop_blocks: typing.List["ForLoopBlockLoopBlocksItem"] loop_over: typing.Optional[ForLoopBlockLoopOver] = None loop_variable_reference: typing.Optional[str] = None @@ -248,6 +257,7 @@ class WorkflowDefinitionBlocksItem_GotoUrl(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: str title: typing.Optional[str] = None @@ -279,11 +289,36 @@ class WorkflowDefinitionBlocksItem_GotoUrl(UniversalBaseModel): extra = pydantic.Extra.allow +class WorkflowDefinitionBlocksItem_HttpRequest(UniversalBaseModel): + block_type: typing.Literal["http_request"] = "http_request" + label: str + output_parameter: OutputParameter + continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + method: typing.Optional[str] = None + url: typing.Optional[str] = None + headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None + body: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + timeout: typing.Optional[int] = None + follow_redirects: typing.Optional[bool] = None + parameters: typing.Optional[typing.List[HttpRequestBlockParametersItem]] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class WorkflowDefinitionBlocksItem_Login(UniversalBaseModel): block_type: typing.Literal["login"] = "login" label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -320,6 +355,7 @@ class WorkflowDefinitionBlocksItem_Navigation(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -356,6 +392,7 @@ class WorkflowDefinitionBlocksItem_PdfParser(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None @@ -374,6 +411,7 @@ class WorkflowDefinitionBlocksItem_SendEmail(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None smtp_host: AwsSecretParameter smtp_port: AwsSecretParameter smtp_username: AwsSecretParameter @@ -399,6 +437,7 @@ class WorkflowDefinitionBlocksItem_Task(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -435,6 +474,7 @@ class WorkflowDefinitionBlocksItem_TaskV2(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None prompt: str url: typing.Optional[str] = None totp_verification_url: typing.Optional[str] = None @@ -457,6 +497,7 @@ class WorkflowDefinitionBlocksItem_TextPrompt(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None llm_key: typing.Optional[str] = None prompt: str parameters: typing.Optional[typing.List[TextPromptBlockParametersItem]] = None @@ -477,6 +518,7 @@ class WorkflowDefinitionBlocksItem_UploadToS3(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None path: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -494,6 +536,7 @@ class WorkflowDefinitionBlocksItem_Validation(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None task_type: typing.Optional[str] = None url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -530,6 +573,7 @@ class WorkflowDefinitionBlocksItem_Wait(UniversalBaseModel): label: str output_parameter: OutputParameter continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None wait_sec: int parameters: typing.Optional[typing.List[WaitBlockParametersItem]] = None @@ -553,6 +597,7 @@ WorkflowDefinitionBlocksItem = typing.Union[ WorkflowDefinitionBlocksItem_FileUrlParser, WorkflowDefinitionBlocksItem_ForLoop, WorkflowDefinitionBlocksItem_GotoUrl, + WorkflowDefinitionBlocksItem_HttpRequest, WorkflowDefinitionBlocksItem_Login, WorkflowDefinitionBlocksItem_Navigation, WorkflowDefinitionBlocksItem_PdfParser, diff --git a/skyvern/client/types/workflow_definition_parameters_item.py b/skyvern/client/types/workflow_definition_parameters_item.py index 4fa2b886..c6d51585 100644 --- a/skyvern/client/types/workflow_definition_parameters_item.py +++ b/skyvern/client/types/workflow_definition_parameters_item.py @@ -152,6 +152,28 @@ class WorkflowDefinitionParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class WorkflowDefinitionParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + onepassword_credential_parameter_id: str + workflow_id: str + vault_id: str + item_id: str + created_at: dt.datetime + modified_at: dt.datetime + deleted_at: typing.Optional[dt.datetime] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class WorkflowDefinitionParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -201,6 +223,7 @@ WorkflowDefinitionParametersItem = typing.Union[ WorkflowDefinitionParametersItem_BitwardenSensitiveInformation, WorkflowDefinitionParametersItem_Context, WorkflowDefinitionParametersItem_Credential, + WorkflowDefinitionParametersItem_Onepassword, WorkflowDefinitionParametersItem_Output, WorkflowDefinitionParametersItem_Workflow, ] diff --git a/skyvern/client/types/workflow_definition_yaml_blocks_item.py b/skyvern/client/types/workflow_definition_yaml_blocks_item.py index 91e0dc47..16fb43ef 100644 --- a/skyvern/client/types/workflow_definition_yaml_blocks_item.py +++ b/skyvern/client/types/workflow_definition_yaml_blocks_item.py @@ -19,6 +19,7 @@ class WorkflowDefinitionYamlBlocksItem_Action(UniversalBaseModel): block_type: typing.Literal["action"] = "action" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: typing.Optional[str] = None title: typing.Optional[str] = None engine: typing.Optional[RunEngine] = None @@ -46,6 +47,7 @@ class WorkflowDefinitionYamlBlocksItem_Code(UniversalBaseModel): block_type: typing.Literal["code"] = "code" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None code: str parameter_keys: typing.Optional[typing.List[str]] = None @@ -63,6 +65,7 @@ class WorkflowDefinitionYamlBlocksItem_DownloadToS3(UniversalBaseModel): block_type: typing.Literal["download_to_s3"] = "download_to_s3" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: str if IS_PYDANTIC_V2: @@ -79,6 +82,7 @@ class WorkflowDefinitionYamlBlocksItem_Extraction(UniversalBaseModel): block_type: typing.Literal["extraction"] = "extraction" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None data_extraction_goal: str url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -103,6 +107,7 @@ class WorkflowDefinitionYamlBlocksItem_FileDownload(UniversalBaseModel): block_type: typing.Literal["file_download"] = "file_download" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None navigation_goal: str url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -130,6 +135,7 @@ class WorkflowDefinitionYamlBlocksItem_FileUpload(UniversalBaseModel): block_type: typing.Literal["file_upload"] = "file_upload" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None storage_type: typing.Optional[FileStorageType] = None s3bucket: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_bucket")] = None aws_access_key_id: typing.Optional[str] = None @@ -151,6 +157,7 @@ class WorkflowDefinitionYamlBlocksItem_FileUrlParser(UniversalBaseModel): block_type: typing.Literal["file_url_parser"] = "file_url_parser" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str file_type: FileType = "csv" @@ -168,6 +175,7 @@ class WorkflowDefinitionYamlBlocksItem_ForLoop(UniversalBaseModel): block_type: typing.Literal["for_loop"] = "for_loop" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None loop_blocks: typing.List["ForLoopBlockYamlLoopBlocksItem"] loop_over_parameter_key: typing.Optional[str] = None loop_variable_reference: typing.Optional[str] = None @@ -191,6 +199,7 @@ class WorkflowDefinitionYamlBlocksItem_GotoUrl(UniversalBaseModel): block_type: typing.Literal["goto_url"] = "goto_url" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: str if IS_PYDANTIC_V2: @@ -203,10 +212,34 @@ class WorkflowDefinitionYamlBlocksItem_GotoUrl(UniversalBaseModel): extra = pydantic.Extra.allow +class WorkflowDefinitionYamlBlocksItem_HttpRequest(UniversalBaseModel): + block_type: typing.Literal["http_request"] = "http_request" + label: str + continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + method: typing.Optional[str] = None + url: typing.Optional[str] = None + headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None + body: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None + timeout: typing.Optional[int] = None + follow_redirects: typing.Optional[bool] = None + parameter_keys: typing.Optional[typing.List[str]] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class WorkflowDefinitionYamlBlocksItem_Login(UniversalBaseModel): block_type: typing.Literal["login"] = "login" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: typing.Optional[str] = None title: typing.Optional[str] = None engine: typing.Optional[RunEngine] = None @@ -236,6 +269,7 @@ class WorkflowDefinitionYamlBlocksItem_Navigation(UniversalBaseModel): block_type: typing.Literal["navigation"] = "navigation" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None navigation_goal: str url: typing.Optional[str] = None title: typing.Optional[str] = None @@ -268,6 +302,7 @@ class WorkflowDefinitionYamlBlocksItem_PdfParser(UniversalBaseModel): block_type: typing.Literal["pdf_parser"] = "pdf_parser" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None file_url: str json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None @@ -285,6 +320,7 @@ class WorkflowDefinitionYamlBlocksItem_SendEmail(UniversalBaseModel): block_type: typing.Literal["send_email"] = "send_email" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None smtp_host_secret_parameter_key: str smtp_port_secret_parameter_key: str smtp_username_secret_parameter_key: str @@ -309,6 +345,7 @@ class WorkflowDefinitionYamlBlocksItem_Task(UniversalBaseModel): block_type: typing.Literal["task"] = "task" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None url: typing.Optional[str] = None title: typing.Optional[str] = None engine: typing.Optional[RunEngine] = None @@ -343,6 +380,7 @@ class WorkflowDefinitionYamlBlocksItem_TaskV2(UniversalBaseModel): block_type: typing.Literal["task_v2"] = "task_v2" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None prompt: str url: typing.Optional[str] = None totp_verification_url: typing.Optional[str] = None @@ -364,6 +402,7 @@ class WorkflowDefinitionYamlBlocksItem_TextPrompt(UniversalBaseModel): block_type: typing.Literal["text_prompt"] = "text_prompt" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None llm_key: typing.Optional[str] = None prompt: str parameter_keys: typing.Optional[typing.List[str]] = None @@ -383,6 +422,7 @@ class WorkflowDefinitionYamlBlocksItem_UploadToS3(UniversalBaseModel): block_type: typing.Literal["upload_to_s3"] = "upload_to_s3" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None path: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -399,6 +439,7 @@ class WorkflowDefinitionYamlBlocksItem_Validation(UniversalBaseModel): block_type: typing.Literal["validation"] = "validation" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None complete_criterion: typing.Optional[str] = None terminate_criterion: typing.Optional[str] = None error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None @@ -418,6 +459,7 @@ class WorkflowDefinitionYamlBlocksItem_Wait(UniversalBaseModel): block_type: typing.Literal["wait"] = "wait" label: str continue_on_failure: typing.Optional[bool] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None wait_sec: typing.Optional[int] = None if IS_PYDANTIC_V2: @@ -440,6 +482,7 @@ WorkflowDefinitionYamlBlocksItem = typing.Union[ WorkflowDefinitionYamlBlocksItem_FileUrlParser, WorkflowDefinitionYamlBlocksItem_ForLoop, WorkflowDefinitionYamlBlocksItem_GotoUrl, + WorkflowDefinitionYamlBlocksItem_HttpRequest, WorkflowDefinitionYamlBlocksItem_Login, WorkflowDefinitionYamlBlocksItem_Navigation, WorkflowDefinitionYamlBlocksItem_PdfParser, diff --git a/skyvern/client/types/workflow_definition_yaml_parameters_item.py b/skyvern/client/types/workflow_definition_yaml_parameters_item.py index 33bd969f..d827fcda 100644 --- a/skyvern/client/types/workflow_definition_yaml_parameters_item.py +++ b/skyvern/client/types/workflow_definition_yaml_parameters_item.py @@ -119,6 +119,23 @@ class WorkflowDefinitionYamlParametersItem_Credential(UniversalBaseModel): extra = pydantic.Extra.allow +class WorkflowDefinitionYamlParametersItem_Onepassword(UniversalBaseModel): + parameter_type: typing.Literal["onepassword"] = "onepassword" + key: str + description: typing.Optional[str] = None + vault_id: str + item_id: str + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + class WorkflowDefinitionYamlParametersItem_Output(UniversalBaseModel): parameter_type: typing.Literal["output"] = "output" key: str @@ -158,6 +175,7 @@ WorkflowDefinitionYamlParametersItem = typing.Union[ WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation, WorkflowDefinitionYamlParametersItem_Context, WorkflowDefinitionYamlParametersItem_Credential, + WorkflowDefinitionYamlParametersItem_Onepassword, WorkflowDefinitionYamlParametersItem_Output, WorkflowDefinitionYamlParametersItem_Workflow, ] diff --git a/skyvern/client/types/workflow_run_request.py b/skyvern/client/types/workflow_run_request.py index b5b9f0cd..8f36e72a 100644 --- a/skyvern/client/types/workflow_run_request.py +++ b/skyvern/client/types/workflow_run_request.py @@ -72,6 +72,16 @@ class WorkflowRunRequest(UniversalBaseModel): ID of a Skyvern browser session to reuse, having it continue from the current screen state """ + max_screenshot_scrolls: typing.Optional[int] = pydantic.Field(default=None) + """ + The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot. + """ + + extra_http_headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = pydantic.Field(default=None) + """ + The extra HTTP headers for the requests in browser. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/skyvern/client/types/workflow_run_response.py b/skyvern/client/types/workflow_run_response.py index 98c0407f..d31b86ba 100644 --- a/skyvern/client/types/workflow_run_response.py +++ b/skyvern/client/types/workflow_run_response.py @@ -57,21 +57,41 @@ class WorkflowRunResponse(UniversalBaseModel): Timestamp when this run was last modified """ + queued_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + Timestamp when this run was queued + """ + + started_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + Timestamp when this run started execution + """ + + finished_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + Timestamp when this run finished + """ + app_url: typing.Optional[str] = pydantic.Field(default=None) """ URL to the application UI where the run can be viewed """ - run_request: typing.Optional[WorkflowRunRequest] = pydantic.Field(default=None) - """ - The original request parameters used to start this workflow run - """ - browser_session_id: typing.Optional[str] = pydantic.Field(default=None) """ ID of the Skyvern persistent browser session used for this run """ + max_screenshot_scrolls: typing.Optional[int] = pydantic.Field(default=None) + """ + The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot + """ + + run_request: typing.Optional[WorkflowRunRequest] = pydantic.Field(default=None) + """ + The original request parameters used to start this workflow run + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/skyvern/forge/sdk/routes/credentials.py b/skyvern/forge/sdk/routes/credentials.py index dc04b99b..4f759489 100644 --- a/skyvern/forge/sdk/routes/credentials.py +++ b/skyvern/forge/sdk/routes/credentials.py @@ -34,14 +34,7 @@ async def parse_totp_code(content: str) -> str | None: return code_resp.get("code", None) -@legacy_base_router.post( - "/totp", - tags=["agent"], - openapi_extra={ - "x-fern-sdk-method-name": "send_totp_code", - "x-fern-examples": [{"code-samples": [{"sdk": "python", "code": SEND_TOTP_CODE_CODE_SAMPLE}]}], - }, -) +@legacy_base_router.post("/totp") @legacy_base_router.post("/totp/", include_in_schema=False) @base_router.post( "/credentials/totp", @@ -51,6 +44,7 @@ async def parse_totp_code(content: str) -> str | None: tags=["Credentials"], openapi_extra={ "x-fern-sdk-method-name": "send_totp_code", + "x-fern-examples": [{"code-samples": [{"sdk": "python", "code": SEND_TOTP_CODE_CODE_SAMPLE}]}], }, ) @base_router.post( diff --git a/skyvern/library/skyvern.py b/skyvern/library/skyvern.py index 2b95b35a..d530f696 100644 --- a/skyvern/library/skyvern.py +++ b/skyvern/library/skyvern.py @@ -46,6 +46,7 @@ class Skyvern(AsyncSkyvern): super().__init__( base_url=base_url, api_key=api_key, + x_api_key=api_key, environment=environment, timeout=timeout, follow_redirects=follow_redirects,