Update API specifications with fern api update (#2951)

Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
Shuchang Zheng
2025-07-15 02:01:23 -07:00
committed by GitHub
parent 3f21221b02
commit 01710a4c52
88 changed files with 1470 additions and 54 deletions

View File

@@ -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",

View File

@@ -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",
)

View File

@@ -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,

View File

@@ -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",

View File

@@ -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

View File

@@ -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
]

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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,
]

View File

@@ -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:

View File

@@ -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:

View File

@@ -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

View File

@@ -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
]

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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
]

View File

@@ -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

View File

@@ -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
]

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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"

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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,

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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)

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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
]

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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

View File

@@ -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
]

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
]

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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
]

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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:

View File

@@ -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:

View File

@@ -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

View File

@@ -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
]

View File

@@ -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,
]

View File

@@ -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:

View File

@@ -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

View File

@@ -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
]

View File

@@ -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,
]

View File

@@ -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

View File

@@ -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

View File

@@ -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,
]

View File

@@ -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:

View File

@@ -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

View File

@@ -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:

View File

@@ -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,

View File

@@ -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,
]

View File

@@ -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,

View File

@@ -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,
]

View File

@@ -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:

View File

@@ -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:

View File

@@ -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(

View File

@@ -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,