new sdk v0.1.85 (#2421)

This commit is contained in:
Shuchang Zheng
2025-05-21 21:31:10 -07:00
committed by GitHub
parent 0b21f1accb
commit 83f8dca159
49 changed files with 2510 additions and 463 deletions

View File

@@ -28,8 +28,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
"description": "API key for authentication"
}, },
{ {
"name": "x-user-agent", "name": "x-user-agent",
@@ -46,22 +48,6 @@
], ],
"title": "X-User-Agent" "title": "X-User-Agent"
} }
},
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"requestBody": { "requestBody": {
@@ -145,8 +131,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
"description": "API key for authentication"
}, },
{ {
"name": "x-max-steps-override", "name": "x-max-steps-override",
@@ -179,22 +167,6 @@
], ],
"title": "X-User-Agent" "title": "X-User-Agent"
} }
},
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"requestBody": { "requestBody": {
@@ -284,24 +256,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"responses": { "responses": {
@@ -394,24 +352,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"responses": { "responses": {
@@ -472,24 +416,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"requestBody": { "requestBody": {
@@ -571,24 +501,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"requestBody": { "requestBody": {
@@ -670,24 +586,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"responses": { "responses": {
@@ -748,24 +650,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"requestBody": { "requestBody": {
@@ -837,24 +725,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"responses": { "responses": {
@@ -936,24 +810,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"responses": { "responses": {
@@ -1031,24 +891,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"responses": { "responses": {
@@ -1099,7 +945,7 @@
"Credentials" "Credentials"
], ],
"summary": "Send TOTP (2FA, MFA) code to Skyvern", "summary": "Send TOTP (2FA, MFA) code to Skyvern",
"description": "Forward a TOTP (2FA, MFA) email or sms message containing the code to Skyvern", "description": "Forward a TOTP (2FA, MFA) email or sms message containing the code to Skyvern. This endpoint stores the code in database so that Skyvern can use it while running tasks/workflows.",
"operationId": "send_totp_code_v1_credentials_totp_post", "operationId": "send_totp_code_v1_credentials_totp_post",
"parameters": [ "parameters": [
{ {
@@ -1115,24 +961,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"requestBody": { "requestBody": {
@@ -1193,24 +1025,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"requestBody": { "requestBody": {
@@ -1265,11 +1083,11 @@
"code-samples": [ "code-samples": [
{ {
"sdk": "python", "sdk": "python",
"code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"your_api_key\")\nawait skyvern.credentials.create_credential(\n name=\"Amazon Login\",\n credential_type=\"password\",\n credential={\"username\": \"user@example.com\", \"password\": \"myamazonpassword\"},\n)\n" "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"your_api_key\")\nawait skyvern.credentials.create_credential(\n name=\"My Credential\",\n credential_type=\"password\",\n credential={\"username\": \"username\", \"password\": \"password\"},\n)\n"
}, },
{ {
"sdk": "python", "sdk": "python",
"code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"your_api_key\")\nawait skyvern.credentials.create_credential(\n name=\"Amazon Login\",\n credential_type=\"credit_card\",\n credential={\n \"card_number\": \"4242424242424242\",\n \"card_cvv\": \"424\",\n \"card_exp_month\": \"12\",\n \"card_exp_year\": \"2028\",\n \"card_brand\": \"visa\",\n \"card_holder_name\": \"John Doe\",\n },\n)\n" "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"your_api_key\")\nawait skyvern.credentials.create_credential(\n name=\"My Credit Card\",\n credential_type=\"credit_card\",\n credential={\n \"card_number\": \"4242424242424242\",\n \"card_cvv\": \"424\",\n \"card_exp_month\": \"12\",\n \"card_exp_year\": \"2028\",\n \"card_brand\": \"visa\",\n \"card_holder_name\": \"John Doe\",\n },\n)\n"
} }
] ]
} }
@@ -1330,24 +1148,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"responses": { "responses": {
@@ -1427,24 +1231,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"responses": { "responses": {
@@ -1513,24 +1303,10 @@
"type": "null" "type": "null"
} }
], ],
"description": "API key for authentication",
"title": "X-Api-Key" "title": "X-Api-Key"
} },
}, "description": "API key for authentication"
{
"name": "authorization",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
} }
], ],
"responses": { "responses": {
@@ -6774,6 +6550,21 @@
"title": "Recording Url", "title": "Recording Url",
"description": "URL to the recording of the run" "description": "URL to the recording of the run"
}, },
"screenshot_urls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Screenshot Urls",
"description": "List of last n screenshot URLs in reverse chronological order - the first one the list is the latest screenshot."
},
"failure_reason": { "failure_reason": {
"anyOf": [ "anyOf": [
{ {
@@ -8836,6 +8627,21 @@
"title": "Recording Url", "title": "Recording Url",
"description": "URL to the recording of the run" "description": "URL to the recording of the run"
}, },
"screenshot_urls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Screenshot Urls",
"description": "List of last n screenshot URLs in reverse chronological order - the first one the list is the latest screenshot."
},
"failure_reason": { "failure_reason": {
"anyOf": [ "anyOf": [
{ {

View File

@@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "skyvern" name = "skyvern"
version = "0.1.84" version = "0.1.85"
description = "" description = ""
authors = ["Skyvern AI <info@skyvern.com>"] authors = ["Skyvern AI <info@skyvern.com>"]
readme = "README.md" readme = "README.md"

View File

@@ -12,10 +12,15 @@ from .types import (
ActionBlockParametersItem_Credential, ActionBlockParametersItem_Credential,
ActionBlockParametersItem_Output, ActionBlockParametersItem_Output,
ActionBlockParametersItem_Workflow, ActionBlockParametersItem_Workflow,
ActionBlockYaml,
AwsSecretParameter, AwsSecretParameter,
AwsSecretParameterYaml,
BitwardenCreditCardDataParameter, BitwardenCreditCardDataParameter,
BitwardenCreditCardDataParameterYaml,
BitwardenLoginCredentialParameter, BitwardenLoginCredentialParameter,
BitwardenLoginCredentialParameterYaml,
BitwardenSensitiveInformationParameter, BitwardenSensitiveInformationParameter,
BitwardenSensitiveInformationParameterYaml,
BrowserSessionResponse, BrowserSessionResponse,
CodeBlock, CodeBlock,
CodeBlockParametersItem, CodeBlockParametersItem,
@@ -27,6 +32,7 @@ from .types import (
CodeBlockParametersItem_Credential, CodeBlockParametersItem_Credential,
CodeBlockParametersItem_Output, CodeBlockParametersItem_Output,
CodeBlockParametersItem_Workflow, CodeBlockParametersItem_Workflow,
CodeBlockYaml,
ContextParameter, ContextParameter,
ContextParameterSource, ContextParameterSource,
ContextParameterSource_AwsSecret, ContextParameterSource_AwsSecret,
@@ -38,12 +44,15 @@ from .types import (
ContextParameterSource_Output, ContextParameterSource_Output,
ContextParameterSource_Workflow, ContextParameterSource_Workflow,
ContextParameterValue, ContextParameterValue,
ContextParameterYaml,
CredentialParameter, CredentialParameter,
CredentialParameterYaml,
CredentialResponse, CredentialResponse,
CredentialResponseCredential, CredentialResponseCredential,
CredentialType, CredentialType,
CreditCardCredentialResponse, CreditCardCredentialResponse,
DownloadToS3Block, DownloadToS3Block,
DownloadToS3BlockYaml,
ExtractionBlock, ExtractionBlock,
ExtractionBlockDataSchema, ExtractionBlockDataSchema,
ExtractionBlockParametersItem, ExtractionBlockParametersItem,
@@ -55,6 +64,8 @@ from .types import (
ExtractionBlockParametersItem_Credential, ExtractionBlockParametersItem_Credential,
ExtractionBlockParametersItem_Output, ExtractionBlockParametersItem_Output,
ExtractionBlockParametersItem_Workflow, ExtractionBlockParametersItem_Workflow,
ExtractionBlockYaml,
ExtractionBlockYamlDataSchema,
FileDownloadBlock, FileDownloadBlock,
FileDownloadBlockDataSchema, FileDownloadBlockDataSchema,
FileDownloadBlockParametersItem, FileDownloadBlockParametersItem,
@@ -66,11 +77,14 @@ from .types import (
FileDownloadBlockParametersItem_Credential, FileDownloadBlockParametersItem_Credential,
FileDownloadBlockParametersItem_Output, FileDownloadBlockParametersItem_Output,
FileDownloadBlockParametersItem_Workflow, FileDownloadBlockParametersItem_Workflow,
FileDownloadBlockYaml,
FileInfo, FileInfo,
FileParserBlock, FileParserBlock,
FileParserBlockYaml,
FileStorageType, FileStorageType,
FileType, FileType,
FileUploadBlock, FileUploadBlock,
FileUploadBlockYaml,
ForLoopBlock, ForLoopBlock,
ForLoopBlockLoopBlocksItem, ForLoopBlockLoopBlocksItem,
ForLoopBlockLoopBlocksItem_Action, ForLoopBlockLoopBlocksItem_Action,
@@ -101,6 +115,27 @@ from .types import (
ForLoopBlockLoopOver_Credential, ForLoopBlockLoopOver_Credential,
ForLoopBlockLoopOver_Output, ForLoopBlockLoopOver_Output,
ForLoopBlockLoopOver_Workflow, ForLoopBlockLoopOver_Workflow,
ForLoopBlockYaml,
ForLoopBlockYamlLoopBlocksItem,
ForLoopBlockYamlLoopBlocksItem_Action,
ForLoopBlockYamlLoopBlocksItem_Code,
ForLoopBlockYamlLoopBlocksItem_DownloadToS3,
ForLoopBlockYamlLoopBlocksItem_Extraction,
ForLoopBlockYamlLoopBlocksItem_FileDownload,
ForLoopBlockYamlLoopBlocksItem_FileUpload,
ForLoopBlockYamlLoopBlocksItem_FileUrlParser,
ForLoopBlockYamlLoopBlocksItem_ForLoop,
ForLoopBlockYamlLoopBlocksItem_GotoUrl,
ForLoopBlockYamlLoopBlocksItem_Login,
ForLoopBlockYamlLoopBlocksItem_Navigation,
ForLoopBlockYamlLoopBlocksItem_PdfParser,
ForLoopBlockYamlLoopBlocksItem_SendEmail,
ForLoopBlockYamlLoopBlocksItem_Task,
ForLoopBlockYamlLoopBlocksItem_TaskV2,
ForLoopBlockYamlLoopBlocksItem_TextPrompt,
ForLoopBlockYamlLoopBlocksItem_UploadToS3,
ForLoopBlockYamlLoopBlocksItem_Validation,
ForLoopBlockYamlLoopBlocksItem_Wait,
HttpValidationError, HttpValidationError,
LoginBlock, LoginBlock,
LoginBlockDataSchema, LoginBlockDataSchema,
@@ -113,6 +148,7 @@ from .types import (
LoginBlockParametersItem_Credential, LoginBlockParametersItem_Credential,
LoginBlockParametersItem_Output, LoginBlockParametersItem_Output,
LoginBlockParametersItem_Workflow, LoginBlockParametersItem_Workflow,
LoginBlockYaml,
NavigationBlock, NavigationBlock,
NavigationBlockDataSchema, NavigationBlockDataSchema,
NavigationBlockParametersItem, NavigationBlockParametersItem,
@@ -124,15 +160,19 @@ from .types import (
NavigationBlockParametersItem_Credential, NavigationBlockParametersItem_Credential,
NavigationBlockParametersItem_Output, NavigationBlockParametersItem_Output,
NavigationBlockParametersItem_Workflow, NavigationBlockParametersItem_Workflow,
NavigationBlockYaml,
NonEmptyCreditCardCredential, NonEmptyCreditCardCredential,
NonEmptyPasswordCredential, NonEmptyPasswordCredential,
OutputParameter, OutputParameter,
OutputParameterYaml,
PasswordCredentialResponse, PasswordCredentialResponse,
PdfParserBlock, PdfParserBlock,
PdfParserBlockYaml,
ProxyLocation, ProxyLocation,
RunEngine, RunEngine,
RunStatus, RunStatus,
SendEmailBlock, SendEmailBlock,
SendEmailBlockYaml,
TaskBlock, TaskBlock,
TaskBlockDataSchema, TaskBlockDataSchema,
TaskBlockParametersItem, TaskBlockParametersItem,
@@ -144,11 +184,14 @@ from .types import (
TaskBlockParametersItem_Credential, TaskBlockParametersItem_Credential,
TaskBlockParametersItem_Output, TaskBlockParametersItem_Output,
TaskBlockParametersItem_Workflow, TaskBlockParametersItem_Workflow,
TaskBlockYaml,
TaskBlockYamlDataSchema,
TaskRunRequest, TaskRunRequest,
TaskRunRequestDataExtractionSchema, TaskRunRequestDataExtractionSchema,
TaskRunResponse, TaskRunResponse,
TaskRunResponseOutput, TaskRunResponseOutput,
TaskV2Block, TaskV2Block,
TaskV2BlockYaml,
TextPromptBlock, TextPromptBlock,
TextPromptBlockParametersItem, TextPromptBlockParametersItem,
TextPromptBlockParametersItem_AwsSecret, TextPromptBlockParametersItem_AwsSecret,
@@ -159,8 +202,10 @@ from .types import (
TextPromptBlockParametersItem_Credential, TextPromptBlockParametersItem_Credential,
TextPromptBlockParametersItem_Output, TextPromptBlockParametersItem_Output,
TextPromptBlockParametersItem_Workflow, TextPromptBlockParametersItem_Workflow,
TextPromptBlockYaml,
TotpCode, TotpCode,
UploadToS3Block, UploadToS3Block,
UploadToS3BlockYaml,
UrlBlock, UrlBlock,
UrlBlockDataSchema, UrlBlockDataSchema,
UrlBlockParametersItem, UrlBlockParametersItem,
@@ -172,6 +217,7 @@ from .types import (
UrlBlockParametersItem_Credential, UrlBlockParametersItem_Credential,
UrlBlockParametersItem_Output, UrlBlockParametersItem_Output,
UrlBlockParametersItem_Workflow, UrlBlockParametersItem_Workflow,
UrlBlockYaml,
ValidationBlock, ValidationBlock,
ValidationBlockDataSchema, ValidationBlockDataSchema,
ValidationBlockParametersItem, ValidationBlockParametersItem,
@@ -183,6 +229,7 @@ from .types import (
ValidationBlockParametersItem_Credential, ValidationBlockParametersItem_Credential,
ValidationBlockParametersItem_Output, ValidationBlockParametersItem_Output,
ValidationBlockParametersItem_Workflow, ValidationBlockParametersItem_Workflow,
ValidationBlockYaml,
ValidationError, ValidationError,
ValidationErrorLocItem, ValidationErrorLocItem,
WaitBlock, WaitBlock,
@@ -195,7 +242,9 @@ from .types import (
WaitBlockParametersItem_Credential, WaitBlockParametersItem_Credential,
WaitBlockParametersItem_Output, WaitBlockParametersItem_Output,
WaitBlockParametersItem_Workflow, WaitBlockParametersItem_Workflow,
WaitBlockYaml,
Workflow, Workflow,
WorkflowCreateYamlRequest,
WorkflowDefinition, WorkflowDefinition,
WorkflowDefinitionBlocksItem, WorkflowDefinitionBlocksItem,
WorkflowDefinitionBlocksItem_Action, WorkflowDefinitionBlocksItem_Action,
@@ -226,9 +275,42 @@ from .types import (
WorkflowDefinitionParametersItem_Credential, WorkflowDefinitionParametersItem_Credential,
WorkflowDefinitionParametersItem_Output, WorkflowDefinitionParametersItem_Output,
WorkflowDefinitionParametersItem_Workflow, WorkflowDefinitionParametersItem_Workflow,
WorkflowDefinitionYaml,
WorkflowDefinitionYamlBlocksItem,
WorkflowDefinitionYamlBlocksItem_Action,
WorkflowDefinitionYamlBlocksItem_Code,
WorkflowDefinitionYamlBlocksItem_DownloadToS3,
WorkflowDefinitionYamlBlocksItem_Extraction,
WorkflowDefinitionYamlBlocksItem_FileDownload,
WorkflowDefinitionYamlBlocksItem_FileUpload,
WorkflowDefinitionYamlBlocksItem_FileUrlParser,
WorkflowDefinitionYamlBlocksItem_ForLoop,
WorkflowDefinitionYamlBlocksItem_GotoUrl,
WorkflowDefinitionYamlBlocksItem_Login,
WorkflowDefinitionYamlBlocksItem_Navigation,
WorkflowDefinitionYamlBlocksItem_PdfParser,
WorkflowDefinitionYamlBlocksItem_SendEmail,
WorkflowDefinitionYamlBlocksItem_Task,
WorkflowDefinitionYamlBlocksItem_TaskV2,
WorkflowDefinitionYamlBlocksItem_TextPrompt,
WorkflowDefinitionYamlBlocksItem_UploadToS3,
WorkflowDefinitionYamlBlocksItem_Validation,
WorkflowDefinitionYamlBlocksItem_Wait,
WorkflowDefinitionYamlParametersItem,
WorkflowDefinitionYamlParametersItem_AwsSecret,
WorkflowDefinitionYamlParametersItem_BitwardenCreditCardData,
WorkflowDefinitionYamlParametersItem_BitwardenLoginCredential,
WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation,
WorkflowDefinitionYamlParametersItem_Context,
WorkflowDefinitionYamlParametersItem_Credential,
WorkflowDefinitionYamlParametersItem_Output,
WorkflowDefinitionYamlParametersItem_Workflow,
WorkflowParameter, WorkflowParameter,
WorkflowParameterDefaultValue, WorkflowParameterDefaultValue,
WorkflowParameterType, WorkflowParameterType,
WorkflowParameterYaml,
WorkflowParameterYamlDefaultValue,
WorkflowRequest,
WorkflowRunRequest, WorkflowRunRequest,
WorkflowRunResponse, WorkflowRunResponse,
WorkflowRunResponseOutput, WorkflowRunResponseOutput,
@@ -261,6 +343,7 @@ __all__ = [
"ActionBlockParametersItem_Credential", "ActionBlockParametersItem_Credential",
"ActionBlockParametersItem_Output", "ActionBlockParametersItem_Output",
"ActionBlockParametersItem_Workflow", "ActionBlockParametersItem_Workflow",
"ActionBlockYaml",
"AgentGetRunResponse", "AgentGetRunResponse",
"AgentGetRunResponse_AnthropicCua", "AgentGetRunResponse_AnthropicCua",
"AgentGetRunResponse_OpenaiCua", "AgentGetRunResponse_OpenaiCua",
@@ -269,10 +352,14 @@ __all__ = [
"AgentGetRunResponse_WorkflowRun", "AgentGetRunResponse_WorkflowRun",
"AsyncSkyvern", "AsyncSkyvern",
"AwsSecretParameter", "AwsSecretParameter",
"AwsSecretParameterYaml",
"BadRequestError", "BadRequestError",
"BitwardenCreditCardDataParameter", "BitwardenCreditCardDataParameter",
"BitwardenCreditCardDataParameterYaml",
"BitwardenLoginCredentialParameter", "BitwardenLoginCredentialParameter",
"BitwardenLoginCredentialParameterYaml",
"BitwardenSensitiveInformationParameter", "BitwardenSensitiveInformationParameter",
"BitwardenSensitiveInformationParameterYaml",
"BrowserSessionResponse", "BrowserSessionResponse",
"CodeBlock", "CodeBlock",
"CodeBlockParametersItem", "CodeBlockParametersItem",
@@ -284,6 +371,7 @@ __all__ = [
"CodeBlockParametersItem_Credential", "CodeBlockParametersItem_Credential",
"CodeBlockParametersItem_Output", "CodeBlockParametersItem_Output",
"CodeBlockParametersItem_Workflow", "CodeBlockParametersItem_Workflow",
"CodeBlockYaml",
"ContextParameter", "ContextParameter",
"ContextParameterSource", "ContextParameterSource",
"ContextParameterSource_AwsSecret", "ContextParameterSource_AwsSecret",
@@ -295,13 +383,16 @@ __all__ = [
"ContextParameterSource_Output", "ContextParameterSource_Output",
"ContextParameterSource_Workflow", "ContextParameterSource_Workflow",
"ContextParameterValue", "ContextParameterValue",
"ContextParameterYaml",
"CreateCredentialRequestCredential", "CreateCredentialRequestCredential",
"CredentialParameter", "CredentialParameter",
"CredentialParameterYaml",
"CredentialResponse", "CredentialResponse",
"CredentialResponseCredential", "CredentialResponseCredential",
"CredentialType", "CredentialType",
"CreditCardCredentialResponse", "CreditCardCredentialResponse",
"DownloadToS3Block", "DownloadToS3Block",
"DownloadToS3BlockYaml",
"ExtractionBlock", "ExtractionBlock",
"ExtractionBlockDataSchema", "ExtractionBlockDataSchema",
"ExtractionBlockParametersItem", "ExtractionBlockParametersItem",
@@ -313,6 +404,8 @@ __all__ = [
"ExtractionBlockParametersItem_Credential", "ExtractionBlockParametersItem_Credential",
"ExtractionBlockParametersItem_Output", "ExtractionBlockParametersItem_Output",
"ExtractionBlockParametersItem_Workflow", "ExtractionBlockParametersItem_Workflow",
"ExtractionBlockYaml",
"ExtractionBlockYamlDataSchema",
"FileDownloadBlock", "FileDownloadBlock",
"FileDownloadBlockDataSchema", "FileDownloadBlockDataSchema",
"FileDownloadBlockParametersItem", "FileDownloadBlockParametersItem",
@@ -324,11 +417,14 @@ __all__ = [
"FileDownloadBlockParametersItem_Credential", "FileDownloadBlockParametersItem_Credential",
"FileDownloadBlockParametersItem_Output", "FileDownloadBlockParametersItem_Output",
"FileDownloadBlockParametersItem_Workflow", "FileDownloadBlockParametersItem_Workflow",
"FileDownloadBlockYaml",
"FileInfo", "FileInfo",
"FileParserBlock", "FileParserBlock",
"FileParserBlockYaml",
"FileStorageType", "FileStorageType",
"FileType", "FileType",
"FileUploadBlock", "FileUploadBlock",
"FileUploadBlockYaml",
"ForLoopBlock", "ForLoopBlock",
"ForLoopBlockLoopBlocksItem", "ForLoopBlockLoopBlocksItem",
"ForLoopBlockLoopBlocksItem_Action", "ForLoopBlockLoopBlocksItem_Action",
@@ -359,6 +455,27 @@ __all__ = [
"ForLoopBlockLoopOver_Credential", "ForLoopBlockLoopOver_Credential",
"ForLoopBlockLoopOver_Output", "ForLoopBlockLoopOver_Output",
"ForLoopBlockLoopOver_Workflow", "ForLoopBlockLoopOver_Workflow",
"ForLoopBlockYaml",
"ForLoopBlockYamlLoopBlocksItem",
"ForLoopBlockYamlLoopBlocksItem_Action",
"ForLoopBlockYamlLoopBlocksItem_Code",
"ForLoopBlockYamlLoopBlocksItem_DownloadToS3",
"ForLoopBlockYamlLoopBlocksItem_Extraction",
"ForLoopBlockYamlLoopBlocksItem_FileDownload",
"ForLoopBlockYamlLoopBlocksItem_FileUpload",
"ForLoopBlockYamlLoopBlocksItem_FileUrlParser",
"ForLoopBlockYamlLoopBlocksItem_ForLoop",
"ForLoopBlockYamlLoopBlocksItem_GotoUrl",
"ForLoopBlockYamlLoopBlocksItem_Login",
"ForLoopBlockYamlLoopBlocksItem_Navigation",
"ForLoopBlockYamlLoopBlocksItem_PdfParser",
"ForLoopBlockYamlLoopBlocksItem_SendEmail",
"ForLoopBlockYamlLoopBlocksItem_Task",
"ForLoopBlockYamlLoopBlocksItem_TaskV2",
"ForLoopBlockYamlLoopBlocksItem_TextPrompt",
"ForLoopBlockYamlLoopBlocksItem_UploadToS3",
"ForLoopBlockYamlLoopBlocksItem_Validation",
"ForLoopBlockYamlLoopBlocksItem_Wait",
"ForbiddenError", "ForbiddenError",
"HttpValidationError", "HttpValidationError",
"LoginBlock", "LoginBlock",
@@ -372,6 +489,7 @@ __all__ = [
"LoginBlockParametersItem_Credential", "LoginBlockParametersItem_Credential",
"LoginBlockParametersItem_Output", "LoginBlockParametersItem_Output",
"LoginBlockParametersItem_Workflow", "LoginBlockParametersItem_Workflow",
"LoginBlockYaml",
"NavigationBlock", "NavigationBlock",
"NavigationBlockDataSchema", "NavigationBlockDataSchema",
"NavigationBlockParametersItem", "NavigationBlockParametersItem",
@@ -383,16 +501,20 @@ __all__ = [
"NavigationBlockParametersItem_Credential", "NavigationBlockParametersItem_Credential",
"NavigationBlockParametersItem_Output", "NavigationBlockParametersItem_Output",
"NavigationBlockParametersItem_Workflow", "NavigationBlockParametersItem_Workflow",
"NavigationBlockYaml",
"NonEmptyCreditCardCredential", "NonEmptyCreditCardCredential",
"NonEmptyPasswordCredential", "NonEmptyPasswordCredential",
"NotFoundError", "NotFoundError",
"OutputParameter", "OutputParameter",
"OutputParameterYaml",
"PasswordCredentialResponse", "PasswordCredentialResponse",
"PdfParserBlock", "PdfParserBlock",
"PdfParserBlockYaml",
"ProxyLocation", "ProxyLocation",
"RunEngine", "RunEngine",
"RunStatus", "RunStatus",
"SendEmailBlock", "SendEmailBlock",
"SendEmailBlockYaml",
"Skyvern", "Skyvern",
"SkyvernEnvironment", "SkyvernEnvironment",
"TaskBlock", "TaskBlock",
@@ -406,11 +528,14 @@ __all__ = [
"TaskBlockParametersItem_Credential", "TaskBlockParametersItem_Credential",
"TaskBlockParametersItem_Output", "TaskBlockParametersItem_Output",
"TaskBlockParametersItem_Workflow", "TaskBlockParametersItem_Workflow",
"TaskBlockYaml",
"TaskBlockYamlDataSchema",
"TaskRunRequest", "TaskRunRequest",
"TaskRunRequestDataExtractionSchema", "TaskRunRequestDataExtractionSchema",
"TaskRunResponse", "TaskRunResponse",
"TaskRunResponseOutput", "TaskRunResponseOutput",
"TaskV2Block", "TaskV2Block",
"TaskV2BlockYaml",
"TextPromptBlock", "TextPromptBlock",
"TextPromptBlockParametersItem", "TextPromptBlockParametersItem",
"TextPromptBlockParametersItem_AwsSecret", "TextPromptBlockParametersItem_AwsSecret",
@@ -421,9 +546,11 @@ __all__ = [
"TextPromptBlockParametersItem_Credential", "TextPromptBlockParametersItem_Credential",
"TextPromptBlockParametersItem_Output", "TextPromptBlockParametersItem_Output",
"TextPromptBlockParametersItem_Workflow", "TextPromptBlockParametersItem_Workflow",
"TextPromptBlockYaml",
"TotpCode", "TotpCode",
"UnprocessableEntityError", "UnprocessableEntityError",
"UploadToS3Block", "UploadToS3Block",
"UploadToS3BlockYaml",
"UrlBlock", "UrlBlock",
"UrlBlockDataSchema", "UrlBlockDataSchema",
"UrlBlockParametersItem", "UrlBlockParametersItem",
@@ -435,6 +562,7 @@ __all__ = [
"UrlBlockParametersItem_Credential", "UrlBlockParametersItem_Credential",
"UrlBlockParametersItem_Output", "UrlBlockParametersItem_Output",
"UrlBlockParametersItem_Workflow", "UrlBlockParametersItem_Workflow",
"UrlBlockYaml",
"ValidationBlock", "ValidationBlock",
"ValidationBlockDataSchema", "ValidationBlockDataSchema",
"ValidationBlockParametersItem", "ValidationBlockParametersItem",
@@ -446,6 +574,7 @@ __all__ = [
"ValidationBlockParametersItem_Credential", "ValidationBlockParametersItem_Credential",
"ValidationBlockParametersItem_Output", "ValidationBlockParametersItem_Output",
"ValidationBlockParametersItem_Workflow", "ValidationBlockParametersItem_Workflow",
"ValidationBlockYaml",
"ValidationError", "ValidationError",
"ValidationErrorLocItem", "ValidationErrorLocItem",
"WaitBlock", "WaitBlock",
@@ -458,7 +587,9 @@ __all__ = [
"WaitBlockParametersItem_Credential", "WaitBlockParametersItem_Credential",
"WaitBlockParametersItem_Output", "WaitBlockParametersItem_Output",
"WaitBlockParametersItem_Workflow", "WaitBlockParametersItem_Workflow",
"WaitBlockYaml",
"Workflow", "Workflow",
"WorkflowCreateYamlRequest",
"WorkflowDefinition", "WorkflowDefinition",
"WorkflowDefinitionBlocksItem", "WorkflowDefinitionBlocksItem",
"WorkflowDefinitionBlocksItem_Action", "WorkflowDefinitionBlocksItem_Action",
@@ -489,9 +620,42 @@ __all__ = [
"WorkflowDefinitionParametersItem_Credential", "WorkflowDefinitionParametersItem_Credential",
"WorkflowDefinitionParametersItem_Output", "WorkflowDefinitionParametersItem_Output",
"WorkflowDefinitionParametersItem_Workflow", "WorkflowDefinitionParametersItem_Workflow",
"WorkflowDefinitionYaml",
"WorkflowDefinitionYamlBlocksItem",
"WorkflowDefinitionYamlBlocksItem_Action",
"WorkflowDefinitionYamlBlocksItem_Code",
"WorkflowDefinitionYamlBlocksItem_DownloadToS3",
"WorkflowDefinitionYamlBlocksItem_Extraction",
"WorkflowDefinitionYamlBlocksItem_FileDownload",
"WorkflowDefinitionYamlBlocksItem_FileUpload",
"WorkflowDefinitionYamlBlocksItem_FileUrlParser",
"WorkflowDefinitionYamlBlocksItem_ForLoop",
"WorkflowDefinitionYamlBlocksItem_GotoUrl",
"WorkflowDefinitionYamlBlocksItem_Login",
"WorkflowDefinitionYamlBlocksItem_Navigation",
"WorkflowDefinitionYamlBlocksItem_PdfParser",
"WorkflowDefinitionYamlBlocksItem_SendEmail",
"WorkflowDefinitionYamlBlocksItem_Task",
"WorkflowDefinitionYamlBlocksItem_TaskV2",
"WorkflowDefinitionYamlBlocksItem_TextPrompt",
"WorkflowDefinitionYamlBlocksItem_UploadToS3",
"WorkflowDefinitionYamlBlocksItem_Validation",
"WorkflowDefinitionYamlBlocksItem_Wait",
"WorkflowDefinitionYamlParametersItem",
"WorkflowDefinitionYamlParametersItem_AwsSecret",
"WorkflowDefinitionYamlParametersItem_BitwardenCreditCardData",
"WorkflowDefinitionYamlParametersItem_BitwardenLoginCredential",
"WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation",
"WorkflowDefinitionYamlParametersItem_Context",
"WorkflowDefinitionYamlParametersItem_Credential",
"WorkflowDefinitionYamlParametersItem_Output",
"WorkflowDefinitionYamlParametersItem_Workflow",
"WorkflowParameter", "WorkflowParameter",
"WorkflowParameterDefaultValue", "WorkflowParameterDefaultValue",
"WorkflowParameterType", "WorkflowParameterType",
"WorkflowParameterYaml",
"WorkflowParameterYamlDefaultValue",
"WorkflowRequest",
"WorkflowRunRequest", "WorkflowRunRequest",
"WorkflowRunResponse", "WorkflowRunResponse",
"WorkflowRunResponseOutput", "WorkflowRunResponseOutput",

View File

@@ -17,7 +17,6 @@ from ..types.workflow_run_response import WorkflowRunResponse
from .types.agent_get_run_response import AgentGetRunResponse from .types.agent_get_run_response import AgentGetRunResponse
from ..core.jsonable_encoder import jsonable_encoder from ..core.jsonable_encoder import jsonable_encoder
from ..errors.not_found_error import NotFoundError from ..errors.not_found_error import NotFoundError
from ..types.workflow import Workflow
from ..core.client_wrapper import AsyncClientWrapper from ..core.client_wrapper import AsyncClientWrapper
# this is used as the default value for optional parameters # this is used as the default value for optional parameters
@@ -111,7 +110,6 @@ class AgentClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.agent.run_task( client.agent.run_task(
prompt="prompt", prompt="prompt",
@@ -243,7 +241,6 @@ class AgentClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.agent.run_workflow( client.agent.run_workflow(
workflow_id="wpid_123", workflow_id="wpid_123",
@@ -329,7 +326,6 @@ class AgentClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.agent.get_run( client.agent.get_run(
run_id="tsk_123", run_id="tsk_123",
@@ -399,7 +395,6 @@ class AgentClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.agent.cancel_run( client.agent.cancel_run(
run_id="run_id", run_id="run_id",
@@ -434,64 +429,6 @@ class AgentClient:
raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json) raise ApiError(status_code=_response.status_code, body=_response_json)
def update_workflow(self, workflow_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Workflow:
"""
Update a workflow definition
Parameters
----------
workflow_id : str
The ID of the workflow to update. Workflow ID starts with `wpid_`.
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
Workflow
Successfully updated workflow
Examples
--------
from skyvern import Skyvern
client = Skyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
client.agent.update_workflow(
workflow_id="wpid_123",
)
"""
_response = self._client_wrapper.httpx_client.request(
f"v1/workflows/{jsonable_encoder(workflow_id)}",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
Workflow,
parse_obj_as(
type_=Workflow, # 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)
class AsyncAgentClient: class AsyncAgentClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper): def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -582,7 +519,6 @@ class AsyncAgentClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -722,7 +658,6 @@ class AsyncAgentClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -818,7 +753,6 @@ class AsyncAgentClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -896,7 +830,6 @@ class AsyncAgentClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -936,71 +869,3 @@ class AsyncAgentClient:
except JSONDecodeError: except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json) raise ApiError(status_code=_response.status_code, body=_response_json)
async def update_workflow(
self, workflow_id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> Workflow:
"""
Update a workflow definition
Parameters
----------
workflow_id : str
The ID of the workflow to update. Workflow ID starts with `wpid_`.
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
Workflow
Successfully updated workflow
Examples
--------
import asyncio
from skyvern import AsyncSkyvern
client = AsyncSkyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
async def main() -> None:
await client.agent.update_workflow(
workflow_id="wpid_123",
)
asyncio.run(main())
"""
_response = await self._client_wrapper.httpx_client.request(
f"v1/workflows/{jsonable_encoder(workflow_id)}",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
Workflow,
parse_obj_as(
type_=Workflow, # 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)

View File

@@ -21,6 +21,7 @@ class AgentGetRunResponse_TaskV1(UniversalBaseModel):
output: typing.Optional[TaskRunResponseOutput] = None output: typing.Optional[TaskRunResponseOutput] = None
downloaded_files: typing.Optional[typing.List[FileInfo]] = None downloaded_files: typing.Optional[typing.List[FileInfo]] = None
recording_url: typing.Optional[str] = None recording_url: typing.Optional[str] = None
screenshot_urls: typing.Optional[typing.List[str]] = None
failure_reason: typing.Optional[str] = None failure_reason: typing.Optional[str] = None
created_at: dt.datetime created_at: dt.datetime
modified_at: dt.datetime modified_at: dt.datetime
@@ -44,6 +45,7 @@ class AgentGetRunResponse_TaskV2(UniversalBaseModel):
output: typing.Optional[TaskRunResponseOutput] = None output: typing.Optional[TaskRunResponseOutput] = None
downloaded_files: typing.Optional[typing.List[FileInfo]] = None downloaded_files: typing.Optional[typing.List[FileInfo]] = None
recording_url: typing.Optional[str] = None recording_url: typing.Optional[str] = None
screenshot_urls: typing.Optional[typing.List[str]] = None
failure_reason: typing.Optional[str] = None failure_reason: typing.Optional[str] = None
created_at: dt.datetime created_at: dt.datetime
modified_at: dt.datetime modified_at: dt.datetime
@@ -67,6 +69,7 @@ class AgentGetRunResponse_OpenaiCua(UniversalBaseModel):
output: typing.Optional[TaskRunResponseOutput] = None output: typing.Optional[TaskRunResponseOutput] = None
downloaded_files: typing.Optional[typing.List[FileInfo]] = None downloaded_files: typing.Optional[typing.List[FileInfo]] = None
recording_url: typing.Optional[str] = None recording_url: typing.Optional[str] = None
screenshot_urls: typing.Optional[typing.List[str]] = None
failure_reason: typing.Optional[str] = None failure_reason: typing.Optional[str] = None
created_at: dt.datetime created_at: dt.datetime
modified_at: dt.datetime modified_at: dt.datetime
@@ -90,6 +93,7 @@ class AgentGetRunResponse_AnthropicCua(UniversalBaseModel):
output: typing.Optional[TaskRunResponseOutput] = None output: typing.Optional[TaskRunResponseOutput] = None
downloaded_files: typing.Optional[typing.List[FileInfo]] = None downloaded_files: typing.Optional[typing.List[FileInfo]] = None
recording_url: typing.Optional[str] = None recording_url: typing.Optional[str] = None
screenshot_urls: typing.Optional[typing.List[str]] = None
failure_reason: typing.Optional[str] = None failure_reason: typing.Optional[str] = None
created_at: dt.datetime created_at: dt.datetime
modified_at: dt.datetime modified_at: dt.datetime
@@ -113,6 +117,7 @@ class AgentGetRunResponse_WorkflowRun(UniversalBaseModel):
output: typing.Optional[WorkflowRunResponseOutput] = None output: typing.Optional[WorkflowRunResponseOutput] = None
downloaded_files: typing.Optional[typing.List[FileInfo]] = None downloaded_files: typing.Optional[typing.List[FileInfo]] = None
recording_url: typing.Optional[str] = None recording_url: typing.Optional[str] = None
screenshot_urls: typing.Optional[typing.List[str]] = None
failure_reason: typing.Optional[str] = None failure_reason: typing.Optional[str] = None
created_at: dt.datetime created_at: dt.datetime
modified_at: dt.datetime modified_at: dt.datetime

View File

@@ -43,7 +43,6 @@ class BrowserSessionClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.browser_session.get_browser_sessions() client.browser_session.get_browser_sessions()
""" """
@@ -111,7 +110,6 @@ class BrowserSessionClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.browser_session.create_browser_session() client.browser_session.create_browser_session()
""" """
@@ -186,7 +184,6 @@ class BrowserSessionClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.browser_session.close_browser_session( client.browser_session.close_browser_session(
browser_session_id="pbs_123456", browser_session_id="pbs_123456",
@@ -256,7 +253,6 @@ class BrowserSessionClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.browser_session.get_browser_session( client.browser_session.get_browser_session(
browser_session_id="pbs_123456", browser_session_id="pbs_123456",
@@ -340,7 +336,6 @@ class AsyncBrowserSessionClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -416,7 +411,6 @@ class AsyncBrowserSessionClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -499,7 +493,6 @@ class AsyncBrowserSessionClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -577,7 +570,6 @@ class AsyncBrowserSessionClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )

View File

@@ -34,7 +34,6 @@ class Skyvern:
api_key : typing.Optional[str] api_key : typing.Optional[str]
authorization : typing.Optional[str]
timeout : typing.Optional[float] 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. 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.
@@ -50,7 +49,6 @@ class Skyvern:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
""" """
@@ -60,7 +58,6 @@ class Skyvern:
base_url: typing.Optional[str] = None, base_url: typing.Optional[str] = None,
environment: SkyvernEnvironment = SkyvernEnvironment.PRODUCTION, environment: SkyvernEnvironment = SkyvernEnvironment.PRODUCTION,
api_key: typing.Optional[str] = None, api_key: typing.Optional[str] = None,
authorization: typing.Optional[str] = None,
timeout: typing.Optional[float] = None, timeout: typing.Optional[float] = None,
follow_redirects: typing.Optional[bool] = True, follow_redirects: typing.Optional[bool] = True,
httpx_client: typing.Optional[httpx.Client] = None, httpx_client: typing.Optional[httpx.Client] = None,
@@ -69,7 +66,6 @@ class Skyvern:
self._client_wrapper = SyncClientWrapper( self._client_wrapper = SyncClientWrapper(
base_url=_get_base_url(base_url=base_url, environment=environment), base_url=_get_base_url(base_url=base_url, environment=environment),
api_key=api_key, api_key=api_key,
authorization=authorization,
httpx_client=httpx_client httpx_client=httpx_client
if httpx_client is not None if httpx_client is not None
else httpx.Client(timeout=_defaulted_timeout, follow_redirects=follow_redirects) else httpx.Client(timeout=_defaulted_timeout, follow_redirects=follow_redirects)
@@ -102,7 +98,6 @@ class AsyncSkyvern:
api_key : typing.Optional[str] api_key : typing.Optional[str]
authorization : typing.Optional[str]
timeout : typing.Optional[float] 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. 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.
@@ -118,7 +113,6 @@ class AsyncSkyvern:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
""" """
@@ -128,7 +122,6 @@ class AsyncSkyvern:
base_url: typing.Optional[str] = None, base_url: typing.Optional[str] = None,
environment: SkyvernEnvironment = SkyvernEnvironment.PRODUCTION, environment: SkyvernEnvironment = SkyvernEnvironment.PRODUCTION,
api_key: typing.Optional[str] = None, api_key: typing.Optional[str] = None,
authorization: typing.Optional[str] = None,
timeout: typing.Optional[float] = None, timeout: typing.Optional[float] = None,
follow_redirects: typing.Optional[bool] = True, follow_redirects: typing.Optional[bool] = True,
httpx_client: typing.Optional[httpx.AsyncClient] = None, httpx_client: typing.Optional[httpx.AsyncClient] = None,
@@ -137,7 +130,6 @@ class AsyncSkyvern:
self._client_wrapper = AsyncClientWrapper( self._client_wrapper = AsyncClientWrapper(
base_url=_get_base_url(base_url=base_url, environment=environment), base_url=_get_base_url(base_url=base_url, environment=environment),
api_key=api_key, api_key=api_key,
authorization=authorization,
httpx_client=httpx_client httpx_client=httpx_client
if httpx_client is not None if httpx_client is not None
else httpx.AsyncClient(timeout=_defaulted_timeout, follow_redirects=follow_redirects) else httpx.AsyncClient(timeout=_defaulted_timeout, follow_redirects=follow_redirects)

View File

@@ -7,16 +7,8 @@ from .http_client import AsyncHttpClient
class BaseClientWrapper: class BaseClientWrapper:
def __init__( def __init__(self, *, api_key: typing.Optional[str] = None, base_url: str, timeout: typing.Optional[float] = None):
self,
*,
api_key: typing.Optional[str] = None,
authorization: typing.Optional[str] = None,
base_url: str,
timeout: typing.Optional[float] = None,
):
self._api_key = api_key self._api_key = api_key
self._authorization = authorization
self._base_url = base_url self._base_url = base_url
self._timeout = timeout self._timeout = timeout
@@ -28,8 +20,6 @@ class BaseClientWrapper:
} }
if self._api_key is not None: if self._api_key is not None:
headers["x-api-key"] = self._api_key headers["x-api-key"] = self._api_key
if self._authorization is not None:
headers["authorization"] = self._authorization
return headers return headers
def get_base_url(self) -> str: def get_base_url(self) -> str:
@@ -44,12 +34,11 @@ class SyncClientWrapper(BaseClientWrapper):
self, self,
*, *,
api_key: typing.Optional[str] = None, api_key: typing.Optional[str] = None,
authorization: typing.Optional[str] = None,
base_url: str, base_url: str,
timeout: typing.Optional[float] = None, timeout: typing.Optional[float] = None,
httpx_client: httpx.Client, httpx_client: httpx.Client,
): ):
super().__init__(api_key=api_key, authorization=authorization, base_url=base_url, timeout=timeout) super().__init__(api_key=api_key, base_url=base_url, timeout=timeout)
self.httpx_client = HttpClient( self.httpx_client = HttpClient(
httpx_client=httpx_client, httpx_client=httpx_client,
base_headers=self.get_headers, base_headers=self.get_headers,
@@ -63,12 +52,11 @@ class AsyncClientWrapper(BaseClientWrapper):
self, self,
*, *,
api_key: typing.Optional[str] = None, api_key: typing.Optional[str] = None,
authorization: typing.Optional[str] = None,
base_url: str, base_url: str,
timeout: typing.Optional[float] = None, timeout: typing.Optional[float] = None,
httpx_client: httpx.AsyncClient, httpx_client: httpx.AsyncClient,
): ):
super().__init__(api_key=api_key, authorization=authorization, base_url=base_url, timeout=timeout) super().__init__(api_key=api_key, base_url=base_url, timeout=timeout)
self.httpx_client = AsyncHttpClient( self.httpx_client = AsyncHttpClient(
httpx_client=httpx_client, httpx_client=httpx_client,
base_headers=self.get_headers, base_headers=self.get_headers,

View File

@@ -37,7 +37,7 @@ class CredentialsClient:
request_options: typing.Optional[RequestOptions] = None, request_options: typing.Optional[RequestOptions] = None,
) -> TotpCode: ) -> TotpCode:
""" """
Forward a TOTP (2FA, MFA) email or sms message containing the code to Skyvern Forward a TOTP (2FA, MFA) email or sms message containing the code to Skyvern. This endpoint stores the code in database so that Skyvern can use it while running tasks/workflows.
Parameters Parameters
---------- ----------
@@ -76,7 +76,6 @@ class CredentialsClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.credentials.send_totp_code( client.credentials.send_totp_code(
totp_identifier="john.doe@example.com", totp_identifier="john.doe@example.com",
@@ -157,7 +156,6 @@ class CredentialsClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.credentials.get_credentials() client.credentials.get_credentials()
""" """
@@ -230,7 +228,6 @@ class CredentialsClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.credentials.create_credential( client.credentials.create_credential(
name="My Credential", name="My Credential",
@@ -304,7 +301,6 @@ class CredentialsClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.credentials.delete_credential( client.credentials.delete_credential(
credential_id="cred_1234567890", credential_id="cred_1234567890",
@@ -358,7 +354,6 @@ class CredentialsClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.credentials.get_credential( client.credentials.get_credential(
credential_id="cred_1234567890", credential_id="cred_1234567890",
@@ -411,7 +406,7 @@ class AsyncCredentialsClient:
request_options: typing.Optional[RequestOptions] = None, request_options: typing.Optional[RequestOptions] = None,
) -> TotpCode: ) -> TotpCode:
""" """
Forward a TOTP (2FA, MFA) email or sms message containing the code to Skyvern Forward a TOTP (2FA, MFA) email or sms message containing the code to Skyvern. This endpoint stores the code in database so that Skyvern can use it while running tasks/workflows.
Parameters Parameters
---------- ----------
@@ -452,7 +447,6 @@ class AsyncCredentialsClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -541,7 +535,6 @@ class AsyncCredentialsClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -622,7 +615,6 @@ class AsyncCredentialsClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -706,7 +698,6 @@ class AsyncCredentialsClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -768,7 +759,6 @@ class AsyncCredentialsClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )

View File

@@ -13,10 +13,15 @@ from .action_block_parameters_item import (
ActionBlockParametersItem_Output, ActionBlockParametersItem_Output,
ActionBlockParametersItem_Workflow, ActionBlockParametersItem_Workflow,
) )
from .action_block_yaml import ActionBlockYaml
from .aws_secret_parameter import AwsSecretParameter from .aws_secret_parameter import AwsSecretParameter
from .aws_secret_parameter_yaml import AwsSecretParameterYaml
from .bitwarden_credit_card_data_parameter import BitwardenCreditCardDataParameter from .bitwarden_credit_card_data_parameter import BitwardenCreditCardDataParameter
from .bitwarden_credit_card_data_parameter_yaml import BitwardenCreditCardDataParameterYaml
from .bitwarden_login_credential_parameter import BitwardenLoginCredentialParameter from .bitwarden_login_credential_parameter import BitwardenLoginCredentialParameter
from .bitwarden_login_credential_parameter_yaml import BitwardenLoginCredentialParameterYaml
from .bitwarden_sensitive_information_parameter import BitwardenSensitiveInformationParameter from .bitwarden_sensitive_information_parameter import BitwardenSensitiveInformationParameter
from .bitwarden_sensitive_information_parameter_yaml import BitwardenSensitiveInformationParameterYaml
from .browser_session_response import BrowserSessionResponse from .browser_session_response import BrowserSessionResponse
from .code_block import CodeBlock from .code_block import CodeBlock
from .code_block_parameters_item import ( from .code_block_parameters_item import (
@@ -30,6 +35,7 @@ from .code_block_parameters_item import (
CodeBlockParametersItem_Output, CodeBlockParametersItem_Output,
CodeBlockParametersItem_Workflow, CodeBlockParametersItem_Workflow,
) )
from .code_block_yaml import CodeBlockYaml
from .context_parameter import ContextParameter from .context_parameter import ContextParameter
from .context_parameter_source import ( from .context_parameter_source import (
ContextParameterSource, ContextParameterSource,
@@ -43,12 +49,15 @@ from .context_parameter_source import (
ContextParameterSource_Workflow, ContextParameterSource_Workflow,
) )
from .context_parameter_value import ContextParameterValue from .context_parameter_value import ContextParameterValue
from .context_parameter_yaml import ContextParameterYaml
from .credential_parameter import CredentialParameter from .credential_parameter import CredentialParameter
from .credential_parameter_yaml import CredentialParameterYaml
from .credential_response import CredentialResponse from .credential_response import CredentialResponse
from .credential_response_credential import CredentialResponseCredential from .credential_response_credential import CredentialResponseCredential
from .credential_type import CredentialType from .credential_type import CredentialType
from .credit_card_credential_response import CreditCardCredentialResponse from .credit_card_credential_response import CreditCardCredentialResponse
from .download_to_s3block import DownloadToS3Block from .download_to_s3block import DownloadToS3Block
from .download_to_s3block_yaml import DownloadToS3BlockYaml
from .extraction_block import ExtractionBlock from .extraction_block import ExtractionBlock
from .extraction_block_data_schema import ExtractionBlockDataSchema from .extraction_block_data_schema import ExtractionBlockDataSchema
from .extraction_block_parameters_item import ( from .extraction_block_parameters_item import (
@@ -62,6 +71,8 @@ from .extraction_block_parameters_item import (
ExtractionBlockParametersItem_Output, ExtractionBlockParametersItem_Output,
ExtractionBlockParametersItem_Workflow, ExtractionBlockParametersItem_Workflow,
) )
from .extraction_block_yaml import ExtractionBlockYaml
from .extraction_block_yaml_data_schema import ExtractionBlockYamlDataSchema
from .file_download_block import FileDownloadBlock from .file_download_block import FileDownloadBlock
from .file_download_block_data_schema import FileDownloadBlockDataSchema from .file_download_block_data_schema import FileDownloadBlockDataSchema
from .file_download_block_parameters_item import ( from .file_download_block_parameters_item import (
@@ -75,11 +86,14 @@ from .file_download_block_parameters_item import (
FileDownloadBlockParametersItem_Output, FileDownloadBlockParametersItem_Output,
FileDownloadBlockParametersItem_Workflow, FileDownloadBlockParametersItem_Workflow,
) )
from .file_download_block_yaml import FileDownloadBlockYaml
from .file_info import FileInfo from .file_info import FileInfo
from .file_parser_block import FileParserBlock from .file_parser_block import FileParserBlock
from .file_parser_block_yaml import FileParserBlockYaml
from .file_storage_type import FileStorageType from .file_storage_type import FileStorageType
from .file_type import FileType from .file_type import FileType
from .file_upload_block import FileUploadBlock from .file_upload_block import FileUploadBlock
from .file_upload_block_yaml import FileUploadBlockYaml
from .for_loop_block import ForLoopBlock from .for_loop_block import ForLoopBlock
from .for_loop_block_loop_blocks_item import ( from .for_loop_block_loop_blocks_item import (
ForLoopBlockLoopBlocksItem, ForLoopBlockLoopBlocksItem,
@@ -114,6 +128,29 @@ from .for_loop_block_loop_over import (
ForLoopBlockLoopOver_Output, ForLoopBlockLoopOver_Output,
ForLoopBlockLoopOver_Workflow, ForLoopBlockLoopOver_Workflow,
) )
from .for_loop_block_yaml import ForLoopBlockYaml
from .for_loop_block_yaml_loop_blocks_item import (
ForLoopBlockYamlLoopBlocksItem,
ForLoopBlockYamlLoopBlocksItem_Action,
ForLoopBlockYamlLoopBlocksItem_Code,
ForLoopBlockYamlLoopBlocksItem_DownloadToS3,
ForLoopBlockYamlLoopBlocksItem_Extraction,
ForLoopBlockYamlLoopBlocksItem_FileDownload,
ForLoopBlockYamlLoopBlocksItem_FileUpload,
ForLoopBlockYamlLoopBlocksItem_FileUrlParser,
ForLoopBlockYamlLoopBlocksItem_ForLoop,
ForLoopBlockYamlLoopBlocksItem_GotoUrl,
ForLoopBlockYamlLoopBlocksItem_Login,
ForLoopBlockYamlLoopBlocksItem_Navigation,
ForLoopBlockYamlLoopBlocksItem_PdfParser,
ForLoopBlockYamlLoopBlocksItem_SendEmail,
ForLoopBlockYamlLoopBlocksItem_Task,
ForLoopBlockYamlLoopBlocksItem_TaskV2,
ForLoopBlockYamlLoopBlocksItem_TextPrompt,
ForLoopBlockYamlLoopBlocksItem_UploadToS3,
ForLoopBlockYamlLoopBlocksItem_Validation,
ForLoopBlockYamlLoopBlocksItem_Wait,
)
from .http_validation_error import HttpValidationError from .http_validation_error import HttpValidationError
from .login_block import LoginBlock from .login_block import LoginBlock
from .login_block_data_schema import LoginBlockDataSchema from .login_block_data_schema import LoginBlockDataSchema
@@ -128,6 +165,7 @@ from .login_block_parameters_item import (
LoginBlockParametersItem_Output, LoginBlockParametersItem_Output,
LoginBlockParametersItem_Workflow, LoginBlockParametersItem_Workflow,
) )
from .login_block_yaml import LoginBlockYaml
from .navigation_block import NavigationBlock from .navigation_block import NavigationBlock
from .navigation_block_data_schema import NavigationBlockDataSchema from .navigation_block_data_schema import NavigationBlockDataSchema
from .navigation_block_parameters_item import ( from .navigation_block_parameters_item import (
@@ -141,15 +179,19 @@ from .navigation_block_parameters_item import (
NavigationBlockParametersItem_Output, NavigationBlockParametersItem_Output,
NavigationBlockParametersItem_Workflow, NavigationBlockParametersItem_Workflow,
) )
from .navigation_block_yaml import NavigationBlockYaml
from .non_empty_credit_card_credential import NonEmptyCreditCardCredential from .non_empty_credit_card_credential import NonEmptyCreditCardCredential
from .non_empty_password_credential import NonEmptyPasswordCredential from .non_empty_password_credential import NonEmptyPasswordCredential
from .output_parameter import OutputParameter from .output_parameter import OutputParameter
from .output_parameter_yaml import OutputParameterYaml
from .password_credential_response import PasswordCredentialResponse from .password_credential_response import PasswordCredentialResponse
from .pdf_parser_block import PdfParserBlock from .pdf_parser_block import PdfParserBlock
from .pdf_parser_block_yaml import PdfParserBlockYaml
from .proxy_location import ProxyLocation from .proxy_location import ProxyLocation
from .run_engine import RunEngine from .run_engine import RunEngine
from .run_status import RunStatus from .run_status import RunStatus
from .send_email_block import SendEmailBlock from .send_email_block import SendEmailBlock
from .send_email_block_yaml import SendEmailBlockYaml
from .task_block import TaskBlock from .task_block import TaskBlock
from .task_block_data_schema import TaskBlockDataSchema from .task_block_data_schema import TaskBlockDataSchema
from .task_block_parameters_item import ( from .task_block_parameters_item import (
@@ -163,11 +205,14 @@ from .task_block_parameters_item import (
TaskBlockParametersItem_Output, TaskBlockParametersItem_Output,
TaskBlockParametersItem_Workflow, TaskBlockParametersItem_Workflow,
) )
from .task_block_yaml import TaskBlockYaml
from .task_block_yaml_data_schema import TaskBlockYamlDataSchema
from .task_run_request import TaskRunRequest from .task_run_request import TaskRunRequest
from .task_run_request_data_extraction_schema import TaskRunRequestDataExtractionSchema from .task_run_request_data_extraction_schema import TaskRunRequestDataExtractionSchema
from .task_run_response import TaskRunResponse from .task_run_response import TaskRunResponse
from .task_run_response_output import TaskRunResponseOutput from .task_run_response_output import TaskRunResponseOutput
from .task_v2block import TaskV2Block from .task_v2block import TaskV2Block
from .task_v2block_yaml import TaskV2BlockYaml
from .text_prompt_block import TextPromptBlock from .text_prompt_block import TextPromptBlock
from .text_prompt_block_parameters_item import ( from .text_prompt_block_parameters_item import (
TextPromptBlockParametersItem, TextPromptBlockParametersItem,
@@ -180,8 +225,10 @@ from .text_prompt_block_parameters_item import (
TextPromptBlockParametersItem_Output, TextPromptBlockParametersItem_Output,
TextPromptBlockParametersItem_Workflow, TextPromptBlockParametersItem_Workflow,
) )
from .text_prompt_block_yaml import TextPromptBlockYaml
from .totp_code import TotpCode from .totp_code import TotpCode
from .upload_to_s3block import UploadToS3Block from .upload_to_s3block import UploadToS3Block
from .upload_to_s3block_yaml import UploadToS3BlockYaml
from .url_block import UrlBlock from .url_block import UrlBlock
from .url_block_data_schema import UrlBlockDataSchema from .url_block_data_schema import UrlBlockDataSchema
from .url_block_parameters_item import ( from .url_block_parameters_item import (
@@ -195,6 +242,7 @@ from .url_block_parameters_item import (
UrlBlockParametersItem_Output, UrlBlockParametersItem_Output,
UrlBlockParametersItem_Workflow, UrlBlockParametersItem_Workflow,
) )
from .url_block_yaml import UrlBlockYaml
from .validation_block import ValidationBlock from .validation_block import ValidationBlock
from .validation_block_data_schema import ValidationBlockDataSchema from .validation_block_data_schema import ValidationBlockDataSchema
from .validation_block_parameters_item import ( from .validation_block_parameters_item import (
@@ -208,6 +256,7 @@ from .validation_block_parameters_item import (
ValidationBlockParametersItem_Output, ValidationBlockParametersItem_Output,
ValidationBlockParametersItem_Workflow, ValidationBlockParametersItem_Workflow,
) )
from .validation_block_yaml import ValidationBlockYaml
from .validation_error import ValidationError from .validation_error import ValidationError
from .validation_error_loc_item import ValidationErrorLocItem from .validation_error_loc_item import ValidationErrorLocItem
from .wait_block import WaitBlock from .wait_block import WaitBlock
@@ -222,7 +271,9 @@ from .wait_block_parameters_item import (
WaitBlockParametersItem_Output, WaitBlockParametersItem_Output,
WaitBlockParametersItem_Workflow, WaitBlockParametersItem_Workflow,
) )
from .wait_block_yaml import WaitBlockYaml
from .workflow import Workflow from .workflow import Workflow
from .workflow_create_yaml_request import WorkflowCreateYamlRequest
from .workflow_definition import WorkflowDefinition from .workflow_definition import WorkflowDefinition
from .workflow_definition_blocks_item import ( from .workflow_definition_blocks_item import (
WorkflowDefinitionBlocksItem, WorkflowDefinitionBlocksItem,
@@ -257,9 +308,46 @@ from .workflow_definition_parameters_item import (
WorkflowDefinitionParametersItem_Output, WorkflowDefinitionParametersItem_Output,
WorkflowDefinitionParametersItem_Workflow, WorkflowDefinitionParametersItem_Workflow,
) )
from .workflow_definition_yaml import WorkflowDefinitionYaml
from .workflow_definition_yaml_blocks_item import (
WorkflowDefinitionYamlBlocksItem,
WorkflowDefinitionYamlBlocksItem_Action,
WorkflowDefinitionYamlBlocksItem_Code,
WorkflowDefinitionYamlBlocksItem_DownloadToS3,
WorkflowDefinitionYamlBlocksItem_Extraction,
WorkflowDefinitionYamlBlocksItem_FileDownload,
WorkflowDefinitionYamlBlocksItem_FileUpload,
WorkflowDefinitionYamlBlocksItem_FileUrlParser,
WorkflowDefinitionYamlBlocksItem_ForLoop,
WorkflowDefinitionYamlBlocksItem_GotoUrl,
WorkflowDefinitionYamlBlocksItem_Login,
WorkflowDefinitionYamlBlocksItem_Navigation,
WorkflowDefinitionYamlBlocksItem_PdfParser,
WorkflowDefinitionYamlBlocksItem_SendEmail,
WorkflowDefinitionYamlBlocksItem_Task,
WorkflowDefinitionYamlBlocksItem_TaskV2,
WorkflowDefinitionYamlBlocksItem_TextPrompt,
WorkflowDefinitionYamlBlocksItem_UploadToS3,
WorkflowDefinitionYamlBlocksItem_Validation,
WorkflowDefinitionYamlBlocksItem_Wait,
)
from .workflow_definition_yaml_parameters_item import (
WorkflowDefinitionYamlParametersItem,
WorkflowDefinitionYamlParametersItem_AwsSecret,
WorkflowDefinitionYamlParametersItem_BitwardenCreditCardData,
WorkflowDefinitionYamlParametersItem_BitwardenLoginCredential,
WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation,
WorkflowDefinitionYamlParametersItem_Context,
WorkflowDefinitionYamlParametersItem_Credential,
WorkflowDefinitionYamlParametersItem_Output,
WorkflowDefinitionYamlParametersItem_Workflow,
)
from .workflow_parameter import WorkflowParameter from .workflow_parameter import WorkflowParameter
from .workflow_parameter_default_value import WorkflowParameterDefaultValue from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from .workflow_parameter_type import WorkflowParameterType from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_yaml import WorkflowParameterYaml
from .workflow_parameter_yaml_default_value import WorkflowParameterYamlDefaultValue
from .workflow_request import WorkflowRequest
from .workflow_run_request import WorkflowRunRequest from .workflow_run_request import WorkflowRunRequest
from .workflow_run_response import WorkflowRunResponse from .workflow_run_response import WorkflowRunResponse
from .workflow_run_response_output import WorkflowRunResponseOutput from .workflow_run_response_output import WorkflowRunResponseOutput
@@ -277,10 +365,15 @@ __all__ = [
"ActionBlockParametersItem_Credential", "ActionBlockParametersItem_Credential",
"ActionBlockParametersItem_Output", "ActionBlockParametersItem_Output",
"ActionBlockParametersItem_Workflow", "ActionBlockParametersItem_Workflow",
"ActionBlockYaml",
"AwsSecretParameter", "AwsSecretParameter",
"AwsSecretParameterYaml",
"BitwardenCreditCardDataParameter", "BitwardenCreditCardDataParameter",
"BitwardenCreditCardDataParameterYaml",
"BitwardenLoginCredentialParameter", "BitwardenLoginCredentialParameter",
"BitwardenLoginCredentialParameterYaml",
"BitwardenSensitiveInformationParameter", "BitwardenSensitiveInformationParameter",
"BitwardenSensitiveInformationParameterYaml",
"BrowserSessionResponse", "BrowserSessionResponse",
"CodeBlock", "CodeBlock",
"CodeBlockParametersItem", "CodeBlockParametersItem",
@@ -292,6 +385,7 @@ __all__ = [
"CodeBlockParametersItem_Credential", "CodeBlockParametersItem_Credential",
"CodeBlockParametersItem_Output", "CodeBlockParametersItem_Output",
"CodeBlockParametersItem_Workflow", "CodeBlockParametersItem_Workflow",
"CodeBlockYaml",
"ContextParameter", "ContextParameter",
"ContextParameterSource", "ContextParameterSource",
"ContextParameterSource_AwsSecret", "ContextParameterSource_AwsSecret",
@@ -303,12 +397,15 @@ __all__ = [
"ContextParameterSource_Output", "ContextParameterSource_Output",
"ContextParameterSource_Workflow", "ContextParameterSource_Workflow",
"ContextParameterValue", "ContextParameterValue",
"ContextParameterYaml",
"CredentialParameter", "CredentialParameter",
"CredentialParameterYaml",
"CredentialResponse", "CredentialResponse",
"CredentialResponseCredential", "CredentialResponseCredential",
"CredentialType", "CredentialType",
"CreditCardCredentialResponse", "CreditCardCredentialResponse",
"DownloadToS3Block", "DownloadToS3Block",
"DownloadToS3BlockYaml",
"ExtractionBlock", "ExtractionBlock",
"ExtractionBlockDataSchema", "ExtractionBlockDataSchema",
"ExtractionBlockParametersItem", "ExtractionBlockParametersItem",
@@ -320,6 +417,8 @@ __all__ = [
"ExtractionBlockParametersItem_Credential", "ExtractionBlockParametersItem_Credential",
"ExtractionBlockParametersItem_Output", "ExtractionBlockParametersItem_Output",
"ExtractionBlockParametersItem_Workflow", "ExtractionBlockParametersItem_Workflow",
"ExtractionBlockYaml",
"ExtractionBlockYamlDataSchema",
"FileDownloadBlock", "FileDownloadBlock",
"FileDownloadBlockDataSchema", "FileDownloadBlockDataSchema",
"FileDownloadBlockParametersItem", "FileDownloadBlockParametersItem",
@@ -331,11 +430,14 @@ __all__ = [
"FileDownloadBlockParametersItem_Credential", "FileDownloadBlockParametersItem_Credential",
"FileDownloadBlockParametersItem_Output", "FileDownloadBlockParametersItem_Output",
"FileDownloadBlockParametersItem_Workflow", "FileDownloadBlockParametersItem_Workflow",
"FileDownloadBlockYaml",
"FileInfo", "FileInfo",
"FileParserBlock", "FileParserBlock",
"FileParserBlockYaml",
"FileStorageType", "FileStorageType",
"FileType", "FileType",
"FileUploadBlock", "FileUploadBlock",
"FileUploadBlockYaml",
"ForLoopBlock", "ForLoopBlock",
"ForLoopBlockLoopBlocksItem", "ForLoopBlockLoopBlocksItem",
"ForLoopBlockLoopBlocksItem_Action", "ForLoopBlockLoopBlocksItem_Action",
@@ -366,6 +468,27 @@ __all__ = [
"ForLoopBlockLoopOver_Credential", "ForLoopBlockLoopOver_Credential",
"ForLoopBlockLoopOver_Output", "ForLoopBlockLoopOver_Output",
"ForLoopBlockLoopOver_Workflow", "ForLoopBlockLoopOver_Workflow",
"ForLoopBlockYaml",
"ForLoopBlockYamlLoopBlocksItem",
"ForLoopBlockYamlLoopBlocksItem_Action",
"ForLoopBlockYamlLoopBlocksItem_Code",
"ForLoopBlockYamlLoopBlocksItem_DownloadToS3",
"ForLoopBlockYamlLoopBlocksItem_Extraction",
"ForLoopBlockYamlLoopBlocksItem_FileDownload",
"ForLoopBlockYamlLoopBlocksItem_FileUpload",
"ForLoopBlockYamlLoopBlocksItem_FileUrlParser",
"ForLoopBlockYamlLoopBlocksItem_ForLoop",
"ForLoopBlockYamlLoopBlocksItem_GotoUrl",
"ForLoopBlockYamlLoopBlocksItem_Login",
"ForLoopBlockYamlLoopBlocksItem_Navigation",
"ForLoopBlockYamlLoopBlocksItem_PdfParser",
"ForLoopBlockYamlLoopBlocksItem_SendEmail",
"ForLoopBlockYamlLoopBlocksItem_Task",
"ForLoopBlockYamlLoopBlocksItem_TaskV2",
"ForLoopBlockYamlLoopBlocksItem_TextPrompt",
"ForLoopBlockYamlLoopBlocksItem_UploadToS3",
"ForLoopBlockYamlLoopBlocksItem_Validation",
"ForLoopBlockYamlLoopBlocksItem_Wait",
"HttpValidationError", "HttpValidationError",
"LoginBlock", "LoginBlock",
"LoginBlockDataSchema", "LoginBlockDataSchema",
@@ -378,6 +501,7 @@ __all__ = [
"LoginBlockParametersItem_Credential", "LoginBlockParametersItem_Credential",
"LoginBlockParametersItem_Output", "LoginBlockParametersItem_Output",
"LoginBlockParametersItem_Workflow", "LoginBlockParametersItem_Workflow",
"LoginBlockYaml",
"NavigationBlock", "NavigationBlock",
"NavigationBlockDataSchema", "NavigationBlockDataSchema",
"NavigationBlockParametersItem", "NavigationBlockParametersItem",
@@ -389,15 +513,19 @@ __all__ = [
"NavigationBlockParametersItem_Credential", "NavigationBlockParametersItem_Credential",
"NavigationBlockParametersItem_Output", "NavigationBlockParametersItem_Output",
"NavigationBlockParametersItem_Workflow", "NavigationBlockParametersItem_Workflow",
"NavigationBlockYaml",
"NonEmptyCreditCardCredential", "NonEmptyCreditCardCredential",
"NonEmptyPasswordCredential", "NonEmptyPasswordCredential",
"OutputParameter", "OutputParameter",
"OutputParameterYaml",
"PasswordCredentialResponse", "PasswordCredentialResponse",
"PdfParserBlock", "PdfParserBlock",
"PdfParserBlockYaml",
"ProxyLocation", "ProxyLocation",
"RunEngine", "RunEngine",
"RunStatus", "RunStatus",
"SendEmailBlock", "SendEmailBlock",
"SendEmailBlockYaml",
"TaskBlock", "TaskBlock",
"TaskBlockDataSchema", "TaskBlockDataSchema",
"TaskBlockParametersItem", "TaskBlockParametersItem",
@@ -409,11 +537,14 @@ __all__ = [
"TaskBlockParametersItem_Credential", "TaskBlockParametersItem_Credential",
"TaskBlockParametersItem_Output", "TaskBlockParametersItem_Output",
"TaskBlockParametersItem_Workflow", "TaskBlockParametersItem_Workflow",
"TaskBlockYaml",
"TaskBlockYamlDataSchema",
"TaskRunRequest", "TaskRunRequest",
"TaskRunRequestDataExtractionSchema", "TaskRunRequestDataExtractionSchema",
"TaskRunResponse", "TaskRunResponse",
"TaskRunResponseOutput", "TaskRunResponseOutput",
"TaskV2Block", "TaskV2Block",
"TaskV2BlockYaml",
"TextPromptBlock", "TextPromptBlock",
"TextPromptBlockParametersItem", "TextPromptBlockParametersItem",
"TextPromptBlockParametersItem_AwsSecret", "TextPromptBlockParametersItem_AwsSecret",
@@ -424,8 +555,10 @@ __all__ = [
"TextPromptBlockParametersItem_Credential", "TextPromptBlockParametersItem_Credential",
"TextPromptBlockParametersItem_Output", "TextPromptBlockParametersItem_Output",
"TextPromptBlockParametersItem_Workflow", "TextPromptBlockParametersItem_Workflow",
"TextPromptBlockYaml",
"TotpCode", "TotpCode",
"UploadToS3Block", "UploadToS3Block",
"UploadToS3BlockYaml",
"UrlBlock", "UrlBlock",
"UrlBlockDataSchema", "UrlBlockDataSchema",
"UrlBlockParametersItem", "UrlBlockParametersItem",
@@ -437,6 +570,7 @@ __all__ = [
"UrlBlockParametersItem_Credential", "UrlBlockParametersItem_Credential",
"UrlBlockParametersItem_Output", "UrlBlockParametersItem_Output",
"UrlBlockParametersItem_Workflow", "UrlBlockParametersItem_Workflow",
"UrlBlockYaml",
"ValidationBlock", "ValidationBlock",
"ValidationBlockDataSchema", "ValidationBlockDataSchema",
"ValidationBlockParametersItem", "ValidationBlockParametersItem",
@@ -448,6 +582,7 @@ __all__ = [
"ValidationBlockParametersItem_Credential", "ValidationBlockParametersItem_Credential",
"ValidationBlockParametersItem_Output", "ValidationBlockParametersItem_Output",
"ValidationBlockParametersItem_Workflow", "ValidationBlockParametersItem_Workflow",
"ValidationBlockYaml",
"ValidationError", "ValidationError",
"ValidationErrorLocItem", "ValidationErrorLocItem",
"WaitBlock", "WaitBlock",
@@ -460,7 +595,9 @@ __all__ = [
"WaitBlockParametersItem_Credential", "WaitBlockParametersItem_Credential",
"WaitBlockParametersItem_Output", "WaitBlockParametersItem_Output",
"WaitBlockParametersItem_Workflow", "WaitBlockParametersItem_Workflow",
"WaitBlockYaml",
"Workflow", "Workflow",
"WorkflowCreateYamlRequest",
"WorkflowDefinition", "WorkflowDefinition",
"WorkflowDefinitionBlocksItem", "WorkflowDefinitionBlocksItem",
"WorkflowDefinitionBlocksItem_Action", "WorkflowDefinitionBlocksItem_Action",
@@ -491,9 +628,42 @@ __all__ = [
"WorkflowDefinitionParametersItem_Credential", "WorkflowDefinitionParametersItem_Credential",
"WorkflowDefinitionParametersItem_Output", "WorkflowDefinitionParametersItem_Output",
"WorkflowDefinitionParametersItem_Workflow", "WorkflowDefinitionParametersItem_Workflow",
"WorkflowDefinitionYaml",
"WorkflowDefinitionYamlBlocksItem",
"WorkflowDefinitionYamlBlocksItem_Action",
"WorkflowDefinitionYamlBlocksItem_Code",
"WorkflowDefinitionYamlBlocksItem_DownloadToS3",
"WorkflowDefinitionYamlBlocksItem_Extraction",
"WorkflowDefinitionYamlBlocksItem_FileDownload",
"WorkflowDefinitionYamlBlocksItem_FileUpload",
"WorkflowDefinitionYamlBlocksItem_FileUrlParser",
"WorkflowDefinitionYamlBlocksItem_ForLoop",
"WorkflowDefinitionYamlBlocksItem_GotoUrl",
"WorkflowDefinitionYamlBlocksItem_Login",
"WorkflowDefinitionYamlBlocksItem_Navigation",
"WorkflowDefinitionYamlBlocksItem_PdfParser",
"WorkflowDefinitionYamlBlocksItem_SendEmail",
"WorkflowDefinitionYamlBlocksItem_Task",
"WorkflowDefinitionYamlBlocksItem_TaskV2",
"WorkflowDefinitionYamlBlocksItem_TextPrompt",
"WorkflowDefinitionYamlBlocksItem_UploadToS3",
"WorkflowDefinitionYamlBlocksItem_Validation",
"WorkflowDefinitionYamlBlocksItem_Wait",
"WorkflowDefinitionYamlParametersItem",
"WorkflowDefinitionYamlParametersItem_AwsSecret",
"WorkflowDefinitionYamlParametersItem_BitwardenCreditCardData",
"WorkflowDefinitionYamlParametersItem_BitwardenLoginCredential",
"WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation",
"WorkflowDefinitionYamlParametersItem_Context",
"WorkflowDefinitionYamlParametersItem_Credential",
"WorkflowDefinitionYamlParametersItem_Output",
"WorkflowDefinitionYamlParametersItem_Workflow",
"WorkflowParameter", "WorkflowParameter",
"WorkflowParameterDefaultValue", "WorkflowParameterDefaultValue",
"WorkflowParameterType", "WorkflowParameterType",
"WorkflowParameterYaml",
"WorkflowParameterYamlDefaultValue",
"WorkflowRequest",
"WorkflowRunRequest", "WorkflowRunRequest",
"WorkflowRunResponse", "WorkflowRunResponse",
"WorkflowRunResponseOutput", "WorkflowRunResponseOutput",

View File

@@ -0,0 +1,31 @@
# 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 ActionBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = 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,21 @@
# 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 AwsSecretParameterYaml(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
aws_key: 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

@@ -0,0 +1,25 @@
# 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 BitwardenCreditCardDataParameterYaml(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
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
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,26 @@
# 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 BitwardenLoginCredentialParameterYaml(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
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
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,26 @@
# 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 BitwardenSensitiveInformationParameterYaml(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
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]
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 CodeBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
code: str
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

@@ -0,0 +1,21 @@
# 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 ContextParameterYaml(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
source_parameter_key: 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

@@ -0,0 +1,21 @@
# 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 CredentialParameterYaml(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
credential_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

@@ -0,0 +1,21 @@
# 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 DownloadToS3BlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
url: 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

@@ -0,0 +1,29 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .extraction_block_yaml_data_schema import ExtractionBlockYamlDataSchema
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class ExtractionBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
data_extraction_goal: str
url: typing.Optional[str] = None
title: typing.Optional[str] = None
data_schema: typing.Optional[ExtractionBlockYamlDataSchema] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
cache_actions: typing.Optional[bool] = 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,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
ExtractionBlockYamlDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,31 @@
# 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 FileDownloadBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
navigation_goal: str
url: typing.Optional[str] = None
title: typing.Optional[str] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = 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,23 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .file_type import FileType
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class FileParserBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
file_url: str
file_type: FileType = "csv"
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,29 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .file_storage_type import FileStorageType
import typing_extensions
from ..core.serialization import FieldMetadata
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class FileUploadBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = 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
aws_secret_access_key: typing.Optional[str] = None
region_name: typing.Optional[str] = None
path: typing.Optional[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

@@ -0,0 +1,31 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from ..core.pydantic_utilities import update_forward_refs
class ForLoopBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
loop_blocks: typing.List["ForLoopBlockYamlLoopBlocksItem"]
loop_over_parameter_key: typing.Optional[str] = None
loop_variable_reference: typing.Optional[str] = None
complete_if_empty: typing.Optional[bool] = 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 .for_loop_block_yaml_loop_blocks_item import ForLoopBlockYamlLoopBlocksItem # noqa: E402
update_forward_refs(ForLoopBlockYaml)

View File

@@ -0,0 +1,448 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .task_block_yaml_data_schema import TaskBlockYamlDataSchema
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .file_storage_type import FileStorageType
import typing_extensions
from ..core.serialization import FieldMetadata
from .file_type import FileType
from .run_engine import RunEngine
from .extraction_block_yaml_data_schema import ExtractionBlockYamlDataSchema
from ..core.pydantic_utilities import update_forward_refs
class ForLoopBlockYamlLoopBlocksItem_Task(UniversalBaseModel):
block_type: typing.Literal["task"] = "task"
label: str
continue_on_failure: typing.Optional[bool] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[TaskBlockYamlDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
complete_verification: typing.Optional[bool] = None
include_action_history_in_verification: typing.Optional[bool] = 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 ForLoopBlockYamlLoopBlocksItem_ForLoop(UniversalBaseModel):
block_type: typing.Literal["for_loop"] = "for_loop"
label: str
continue_on_failure: typing.Optional[bool] = None
loop_blocks: typing.List["ForLoopBlockYamlLoopBlocksItem"]
loop_over_parameter_key: typing.Optional[str] = None
loop_variable_reference: typing.Optional[str] = None
complete_if_empty: typing.Optional[bool] = 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 .for_loop_block_yaml import ForLoopBlockYaml # noqa: E402
class ForLoopBlockYamlLoopBlocksItem_Code(UniversalBaseModel):
block_type: typing.Literal["code"] = "code"
label: str
continue_on_failure: typing.Optional[bool] = None
code: str
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 ForLoopBlockYamlLoopBlocksItem_TextPrompt(UniversalBaseModel):
block_type: typing.Literal["text_prompt"] = "text_prompt"
label: str
continue_on_failure: typing.Optional[bool] = None
llm_key: typing.Optional[str] = None
prompt: str
parameter_keys: typing.Optional[typing.List[str]] = None
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = 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 ForLoopBlockYamlLoopBlocksItem_DownloadToS3(UniversalBaseModel):
block_type: typing.Literal["download_to_s3"] = "download_to_s3"
label: str
continue_on_failure: typing.Optional[bool] = None
url: 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 ForLoopBlockYamlLoopBlocksItem_UploadToS3(UniversalBaseModel):
block_type: typing.Literal["upload_to_s3"] = "upload_to_s3"
label: str
continue_on_failure: typing.Optional[bool] = None
path: typing.Optional[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 ForLoopBlockYamlLoopBlocksItem_FileUpload(UniversalBaseModel):
block_type: typing.Literal["file_upload"] = "file_upload"
label: str
continue_on_failure: typing.Optional[bool] = 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
aws_secret_access_key: typing.Optional[str] = None
region_name: typing.Optional[str] = None
path: typing.Optional[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 ForLoopBlockYamlLoopBlocksItem_SendEmail(UniversalBaseModel):
block_type: typing.Literal["send_email"] = "send_email"
label: str
continue_on_failure: typing.Optional[bool] = None
smtp_host_secret_parameter_key: str
smtp_port_secret_parameter_key: str
smtp_username_secret_parameter_key: str
smtp_password_secret_parameter_key: str
sender: str
recipients: typing.List[str]
subject: str
body: str
file_attachments: 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 ForLoopBlockYamlLoopBlocksItem_FileUrlParser(UniversalBaseModel):
block_type: typing.Literal["file_url_parser"] = "file_url_parser"
label: str
continue_on_failure: typing.Optional[bool] = None
file_url: str
file_type: FileType = "csv"
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 ForLoopBlockYamlLoopBlocksItem_Validation(UniversalBaseModel):
block_type: typing.Literal["validation"] = "validation"
label: str
continue_on_failure: typing.Optional[bool] = 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
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 ForLoopBlockYamlLoopBlocksItem_Action(UniversalBaseModel):
block_type: typing.Literal["action"] = "action"
label: str
continue_on_failure: typing.Optional[bool] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = 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 ForLoopBlockYamlLoopBlocksItem_Navigation(UniversalBaseModel):
block_type: typing.Literal["navigation"] = "navigation"
label: str
continue_on_failure: typing.Optional[bool] = None
navigation_goal: str
url: typing.Optional[str] = None
title: typing.Optional[str] = None
engine: typing.Optional[RunEngine] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
complete_verification: typing.Optional[bool] = None
include_action_history_in_verification: typing.Optional[bool] = 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 ForLoopBlockYamlLoopBlocksItem_Extraction(UniversalBaseModel):
block_type: typing.Literal["extraction"] = "extraction"
label: str
continue_on_failure: typing.Optional[bool] = None
data_extraction_goal: str
url: typing.Optional[str] = None
title: typing.Optional[str] = None
data_schema: typing.Optional[ExtractionBlockYamlDataSchema] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
cache_actions: typing.Optional[bool] = 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 ForLoopBlockYamlLoopBlocksItem_Login(UniversalBaseModel):
block_type: typing.Literal["login"] = "login"
label: str
continue_on_failure: typing.Optional[bool] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
complete_verification: typing.Optional[bool] = 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 ForLoopBlockYamlLoopBlocksItem_Wait(UniversalBaseModel):
block_type: typing.Literal["wait"] = "wait"
label: str
continue_on_failure: typing.Optional[bool] = None
wait_sec: typing.Optional[int] = 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 ForLoopBlockYamlLoopBlocksItem_FileDownload(UniversalBaseModel):
block_type: typing.Literal["file_download"] = "file_download"
label: str
continue_on_failure: typing.Optional[bool] = None
navigation_goal: str
url: typing.Optional[str] = None
title: typing.Optional[str] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = 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 ForLoopBlockYamlLoopBlocksItem_GotoUrl(UniversalBaseModel):
block_type: typing.Literal["goto_url"] = "goto_url"
label: str
continue_on_failure: typing.Optional[bool] = None
url: 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 ForLoopBlockYamlLoopBlocksItem_PdfParser(UniversalBaseModel):
block_type: typing.Literal["pdf_parser"] = "pdf_parser"
label: str
continue_on_failure: typing.Optional[bool] = None
file_url: str
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = 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 ForLoopBlockYamlLoopBlocksItem_TaskV2(UniversalBaseModel):
block_type: typing.Literal["task_v2"] = "task_v2"
label: str
continue_on_failure: typing.Optional[bool] = None
prompt: str
url: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
max_iterations: typing.Optional[int] = None
max_steps: typing.Optional[int] = 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,
ForLoopBlockYamlLoopBlocksItem_Code,
ForLoopBlockYamlLoopBlocksItem_TextPrompt,
ForLoopBlockYamlLoopBlocksItem_DownloadToS3,
ForLoopBlockYamlLoopBlocksItem_UploadToS3,
ForLoopBlockYamlLoopBlocksItem_FileUpload,
ForLoopBlockYamlLoopBlocksItem_SendEmail,
ForLoopBlockYamlLoopBlocksItem_FileUrlParser,
ForLoopBlockYamlLoopBlocksItem_Validation,
ForLoopBlockYamlLoopBlocksItem_Action,
ForLoopBlockYamlLoopBlocksItem_Navigation,
ForLoopBlockYamlLoopBlocksItem_Extraction,
ForLoopBlockYamlLoopBlocksItem_Login,
ForLoopBlockYamlLoopBlocksItem_Wait,
ForLoopBlockYamlLoopBlocksItem_FileDownload,
ForLoopBlockYamlLoopBlocksItem_GotoUrl,
ForLoopBlockYamlLoopBlocksItem_PdfParser,
ForLoopBlockYamlLoopBlocksItem_TaskV2,
]
update_forward_refs(ForLoopBlockYamlLoopBlocksItem_ForLoop)

View File

@@ -0,0 +1,33 @@
# 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 LoginBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
complete_verification: typing.Optional[bool] = 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,38 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .run_engine import RunEngine
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class NavigationBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
navigation_goal: str
url: typing.Optional[str] = None
title: typing.Optional[str] = None
engine: typing.Optional[RunEngine] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
complete_verification: typing.Optional[bool] = None
include_action_history_in_verification: typing.Optional[bool] = 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,20 @@
# 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 OutputParameterYaml(UniversalBaseModel):
key: str
description: typing.Optional[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

@@ -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 PdfParserBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
file_url: str
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = 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,29 @@
# 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 SendEmailBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
smtp_host_secret_parameter_key: str
smtp_port_secret_parameter_key: str
smtp_username_secret_parameter_key: str
smtp_password_secret_parameter_key: str
sender: str
recipients: typing.List[str]
subject: str
body: str
file_attachments: 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

@@ -0,0 +1,39 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .task_block_yaml_data_schema import TaskBlockYamlDataSchema
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class TaskBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[TaskBlockYamlDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
complete_verification: typing.Optional[bool] = None
include_action_history_in_verification: typing.Optional[bool] = 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,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
TaskBlockYamlDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -37,6 +37,11 @@ class TaskRunResponse(UniversalBaseModel):
URL to the recording of the run URL to the recording of the run
""" """
screenshot_urls: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
"""
List of last n screenshot URLs in reverse chronological order - the first one the list is the latest screenshot.
"""
failure_reason: typing.Optional[str] = pydantic.Field(default=None) failure_reason: typing.Optional[str] = pydantic.Field(default=None)
""" """
Reason for failure if the run failed or terminated Reason for failure if the run failed or terminated

View File

@@ -0,0 +1,26 @@
# 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 TaskV2BlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
prompt: str
url: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
max_iterations: typing.Optional[int] = None
max_steps: typing.Optional[int] = 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,24 @@
# 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 TextPromptBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
llm_key: typing.Optional[str] = None
prompt: str
parameter_keys: typing.Optional[typing.List[str]] = None
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = 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,21 @@
# 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 UploadToS3BlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
path: typing.Optional[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

@@ -0,0 +1,21 @@
# 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 UrlBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
url: 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

@@ -0,0 +1,24 @@
# 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 ValidationBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = 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
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

@@ -0,0 +1,21 @@
# 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 WaitBlockYaml(UniversalBaseModel):
label: str
continue_on_failure: typing.Optional[bool] = None
wait_sec: typing.Optional[int] = 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,32 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .for_loop_block_yaml import ForLoopBlockYaml
import typing
from .proxy_location import ProxyLocation
from .workflow_definition_yaml import WorkflowDefinitionYaml
from .workflow_status import WorkflowStatus
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class WorkflowCreateYamlRequest(UniversalBaseModel):
title: str
description: typing.Optional[str] = None
proxy_location: typing.Optional[ProxyLocation] = None
webhook_callback_url: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
persist_browser_session: typing.Optional[bool] = None
workflow_definition: WorkflowDefinitionYaml
is_saved_task: typing.Optional[bool] = None
status: typing.Optional[WorkflowStatus] = 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,23 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .for_loop_block_yaml import ForLoopBlockYaml
import typing
from .workflow_definition_yaml_parameters_item import WorkflowDefinitionYamlParametersItem
from .workflow_definition_yaml_blocks_item import WorkflowDefinitionYamlBlocksItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class WorkflowDefinitionYaml(UniversalBaseModel):
parameters: typing.List[WorkflowDefinitionYamlParametersItem]
blocks: typing.List[WorkflowDefinitionYamlBlocksItem]
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,449 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .extraction_block_yaml_data_schema import ExtractionBlockYamlDataSchema
from .file_storage_type import FileStorageType
import typing_extensions
from ..core.serialization import FieldMetadata
from .file_type import FileType
from .run_engine import RunEngine
from .task_block_yaml_data_schema import TaskBlockYamlDataSchema
from ..core.pydantic_utilities import update_forward_refs
class WorkflowDefinitionYamlBlocksItem_Action(UniversalBaseModel):
block_type: typing.Literal["action"] = "action"
label: str
continue_on_failure: typing.Optional[bool] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = 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_Code(UniversalBaseModel):
block_type: typing.Literal["code"] = "code"
label: str
continue_on_failure: typing.Optional[bool] = None
code: str
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_DownloadToS3(UniversalBaseModel):
block_type: typing.Literal["download_to_s3"] = "download_to_s3"
label: str
continue_on_failure: typing.Optional[bool] = None
url: 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 WorkflowDefinitionYamlBlocksItem_Extraction(UniversalBaseModel):
block_type: typing.Literal["extraction"] = "extraction"
label: str
continue_on_failure: typing.Optional[bool] = None
data_extraction_goal: str
url: typing.Optional[str] = None
title: typing.Optional[str] = None
data_schema: typing.Optional[ExtractionBlockYamlDataSchema] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
cache_actions: typing.Optional[bool] = 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_FileDownload(UniversalBaseModel):
block_type: typing.Literal["file_download"] = "file_download"
label: str
continue_on_failure: typing.Optional[bool] = None
navigation_goal: str
url: typing.Optional[str] = None
title: typing.Optional[str] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = 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_FileUpload(UniversalBaseModel):
block_type: typing.Literal["file_upload"] = "file_upload"
label: str
continue_on_failure: typing.Optional[bool] = 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
aws_secret_access_key: typing.Optional[str] = None
region_name: typing.Optional[str] = None
path: typing.Optional[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_FileUrlParser(UniversalBaseModel):
block_type: typing.Literal["file_url_parser"] = "file_url_parser"
label: str
continue_on_failure: typing.Optional[bool] = None
file_url: str
file_type: FileType = "csv"
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_ForLoop(UniversalBaseModel):
block_type: typing.Literal["for_loop"] = "for_loop"
label: str
continue_on_failure: typing.Optional[bool] = None
loop_blocks: typing.List["ForLoopBlockYamlLoopBlocksItem"]
loop_over_parameter_key: typing.Optional[str] = None
loop_variable_reference: typing.Optional[str] = None
complete_if_empty: typing.Optional[bool] = 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 .for_loop_block_yaml import ForLoopBlockYaml # noqa: E402
from .for_loop_block_yaml_loop_blocks_item import ForLoopBlockYamlLoopBlocksItem # noqa: E402
class WorkflowDefinitionYamlBlocksItem_GotoUrl(UniversalBaseModel):
block_type: typing.Literal["goto_url"] = "goto_url"
label: str
continue_on_failure: typing.Optional[bool] = None
url: 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 WorkflowDefinitionYamlBlocksItem_Login(UniversalBaseModel):
block_type: typing.Literal["login"] = "login"
label: str
continue_on_failure: typing.Optional[bool] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
complete_verification: typing.Optional[bool] = 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_Navigation(UniversalBaseModel):
block_type: typing.Literal["navigation"] = "navigation"
label: str
continue_on_failure: typing.Optional[bool] = None
navigation_goal: str
url: typing.Optional[str] = None
title: typing.Optional[str] = None
engine: typing.Optional[RunEngine] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
complete_verification: typing.Optional[bool] = None
include_action_history_in_verification: typing.Optional[bool] = 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_PdfParser(UniversalBaseModel):
block_type: typing.Literal["pdf_parser"] = "pdf_parser"
label: str
continue_on_failure: typing.Optional[bool] = None
file_url: str
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = 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_SendEmail(UniversalBaseModel):
block_type: typing.Literal["send_email"] = "send_email"
label: str
continue_on_failure: typing.Optional[bool] = None
smtp_host_secret_parameter_key: str
smtp_port_secret_parameter_key: str
smtp_username_secret_parameter_key: str
smtp_password_secret_parameter_key: str
sender: str
recipients: typing.List[str]
subject: str
body: str
file_attachments: 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_Task(UniversalBaseModel):
block_type: typing.Literal["task"] = "task"
label: str
continue_on_failure: typing.Optional[bool] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[TaskBlockYamlDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameter_keys: typing.Optional[typing.List[str]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
complete_verification: typing.Optional[bool] = None
include_action_history_in_verification: typing.Optional[bool] = 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_TaskV2(UniversalBaseModel):
block_type: typing.Literal["task_v2"] = "task_v2"
label: str
continue_on_failure: typing.Optional[bool] = None
prompt: str
url: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
max_iterations: typing.Optional[int] = None
max_steps: typing.Optional[int] = 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_TextPrompt(UniversalBaseModel):
block_type: typing.Literal["text_prompt"] = "text_prompt"
label: str
continue_on_failure: typing.Optional[bool] = None
llm_key: typing.Optional[str] = None
prompt: str
parameter_keys: typing.Optional[typing.List[str]] = None
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = 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_UploadToS3(UniversalBaseModel):
block_type: typing.Literal["upload_to_s3"] = "upload_to_s3"
label: str
continue_on_failure: typing.Optional[bool] = None
path: typing.Optional[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_Validation(UniversalBaseModel):
block_type: typing.Literal["validation"] = "validation"
label: str
continue_on_failure: typing.Optional[bool] = 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
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_Wait(UniversalBaseModel):
block_type: typing.Literal["wait"] = "wait"
label: str
continue_on_failure: typing.Optional[bool] = None
wait_sec: typing.Optional[int] = 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
WorkflowDefinitionYamlBlocksItem = typing.Union[
WorkflowDefinitionYamlBlocksItem_Action,
WorkflowDefinitionYamlBlocksItem_Code,
WorkflowDefinitionYamlBlocksItem_DownloadToS3,
WorkflowDefinitionYamlBlocksItem_Extraction,
WorkflowDefinitionYamlBlocksItem_FileDownload,
WorkflowDefinitionYamlBlocksItem_FileUpload,
WorkflowDefinitionYamlBlocksItem_FileUrlParser,
WorkflowDefinitionYamlBlocksItem_ForLoop,
WorkflowDefinitionYamlBlocksItem_GotoUrl,
WorkflowDefinitionYamlBlocksItem_Login,
WorkflowDefinitionYamlBlocksItem_Navigation,
WorkflowDefinitionYamlBlocksItem_PdfParser,
WorkflowDefinitionYamlBlocksItem_SendEmail,
WorkflowDefinitionYamlBlocksItem_Task,
WorkflowDefinitionYamlBlocksItem_TaskV2,
WorkflowDefinitionYamlBlocksItem_TextPrompt,
WorkflowDefinitionYamlBlocksItem_UploadToS3,
WorkflowDefinitionYamlBlocksItem_Validation,
WorkflowDefinitionYamlBlocksItem_Wait,
]
update_forward_refs(WorkflowDefinitionYamlBlocksItem_ForLoop)

View File

@@ -0,0 +1,163 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_yaml_default_value import WorkflowParameterYamlDefaultValue
class WorkflowDefinitionYamlParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_key: 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_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
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
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_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
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
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_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
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]
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_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source_parameter_key: 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_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_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
description: typing.Optional[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 WorkflowDefinitionYamlParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_type: WorkflowParameterType
default_value: typing.Optional[WorkflowParameterYamlDefaultValue] = 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
WorkflowDefinitionYamlParametersItem = typing.Union[
WorkflowDefinitionYamlParametersItem_AwsSecret,
WorkflowDefinitionYamlParametersItem_BitwardenCreditCardData,
WorkflowDefinitionYamlParametersItem_BitwardenLoginCredential,
WorkflowDefinitionYamlParametersItem_BitwardenSensitiveInformation,
WorkflowDefinitionYamlParametersItem_Context,
WorkflowDefinitionYamlParametersItem_Credential,
WorkflowDefinitionYamlParametersItem_Output,
WorkflowDefinitionYamlParametersItem_Workflow,
]

View File

@@ -0,0 +1,24 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_yaml_default_value import WorkflowParameterYamlDefaultValue
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class WorkflowParameterYaml(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
workflow_parameter_type: WorkflowParameterType
default_value: typing.Optional[WorkflowParameterYamlDefaultValue] = 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,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
WorkflowParameterYamlDefaultValue = typing.Union[
str, int, float, bool, typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,29 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .for_loop_block_yaml import ForLoopBlockYaml
import typing
from .workflow_create_yaml_request import WorkflowCreateYamlRequest
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
class WorkflowRequest(UniversalBaseModel):
json_definition: typing.Optional[WorkflowCreateYamlRequest] = pydantic.Field(default=None)
"""
Workflow definition in JSON format
"""
yaml_definition: typing.Optional[str] = pydantic.Field(default=None)
"""
Workflow definition in YAML format
"""
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

@@ -37,6 +37,11 @@ class WorkflowRunResponse(UniversalBaseModel):
URL to the recording of the run URL to the recording of the run
""" """
screenshot_urls: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
"""
List of last n screenshot URLs in reverse chronological order - the first one the list is the latest screenshot.
"""
failure_reason: typing.Optional[str] = pydantic.Field(default=None) failure_reason: typing.Optional[str] = pydantic.Field(default=None)
""" """
Reason for failure if the run failed or terminated Reason for failure if the run failed or terminated

View File

@@ -1,9 +1,11 @@
# This file was auto-generated by Fern from our API Definition. # This file was auto-generated by Fern from our API Definition.
from ..core.client_wrapper import SyncClientWrapper
import typing import typing
from ..core.client_wrapper import SyncClientWrapper
from ..types.workflow_create_yaml_request import WorkflowCreateYamlRequest
from ..core.request_options import RequestOptions from ..core.request_options import RequestOptions
from ..types.workflow import Workflow from ..types.workflow import Workflow
from ..core.serialization import convert_and_respect_annotation_metadata
from ..core.pydantic_utilities import parse_obj_as from ..core.pydantic_utilities import parse_obj_as
from ..errors.unprocessable_entity_error import UnprocessableEntityError from ..errors.unprocessable_entity_error import UnprocessableEntityError
from json.decoder import JSONDecodeError from json.decoder import JSONDecodeError
@@ -11,17 +13,32 @@ from ..core.api_error import ApiError
from ..core.jsonable_encoder import jsonable_encoder from ..core.jsonable_encoder import jsonable_encoder
from ..core.client_wrapper import AsyncClientWrapper from ..core.client_wrapper import AsyncClientWrapper
# this is used as the default value for optional parameters
OMIT = typing.cast(typing.Any, ...)
class WorkflowsClient: class WorkflowsClient:
def __init__(self, *, client_wrapper: SyncClientWrapper): def __init__(self, *, client_wrapper: SyncClientWrapper):
self._client_wrapper = client_wrapper self._client_wrapper = client_wrapper
def create_workflow(self, *, request_options: typing.Optional[RequestOptions] = None) -> Workflow: def create_workflow(
self,
*,
json_definition: typing.Optional[WorkflowCreateYamlRequest] = OMIT,
yaml_definition: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> Workflow:
""" """
Create a new workflow Create a new workflow definition
Parameters Parameters
---------- ----------
json_definition : typing.Optional[WorkflowCreateYamlRequest]
Workflow definition in JSON format
yaml_definition : typing.Optional[str]
Workflow definition in YAML format
request_options : typing.Optional[RequestOptions] request_options : typing.Optional[RequestOptions]
Request-specific configuration. Request-specific configuration.
@@ -36,14 +53,97 @@ class WorkflowsClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.workflows.create_workflow() client.workflows.create_workflow()
""" """
_response = self._client_wrapper.httpx_client.request( _response = self._client_wrapper.httpx_client.request(
"v1/workflows", "v1/workflows",
method="POST", method="POST",
json={
"json_definition": convert_and_respect_annotation_metadata(
object_=json_definition, annotation=WorkflowCreateYamlRequest, direction="write"
),
"yaml_definition": yaml_definition,
},
request_options=request_options, request_options=request_options,
omit=OMIT,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
Workflow,
parse_obj_as(
type_=Workflow, # 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 update_workflow(
self,
workflow_id: str,
*,
json_definition: typing.Optional[WorkflowCreateYamlRequest] = OMIT,
yaml_definition: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> Workflow:
"""
Update a workflow definition
Parameters
----------
workflow_id : str
The ID of the workflow to update. Workflow ID starts with `wpid_`.
json_definition : typing.Optional[WorkflowCreateYamlRequest]
Workflow definition in JSON format
yaml_definition : typing.Optional[str]
Workflow definition in YAML format
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
Workflow
Successfully updated workflow
Examples
--------
from skyvern import Skyvern
client = Skyvern(
api_key="YOUR_API_KEY",
)
client.workflows.update_workflow(
workflow_id="wpid_123",
)
"""
_response = self._client_wrapper.httpx_client.request(
f"v1/workflows/{jsonable_encoder(workflow_id)}",
method="POST",
json={
"json_definition": convert_and_respect_annotation_metadata(
object_=json_definition, annotation=WorkflowCreateYamlRequest, direction="write"
),
"yaml_definition": yaml_definition,
},
request_options=request_options,
omit=OMIT,
) )
try: try:
if 200 <= _response.status_code < 300: if 200 <= _response.status_code < 300:
@@ -94,7 +194,6 @@ class WorkflowsClient:
client = Skyvern( client = Skyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
client.workflows.delete_workflow( client.workflows.delete_workflow(
workflow_id="wpid_123", workflow_id="wpid_123",
@@ -134,12 +233,24 @@ class AsyncWorkflowsClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper): def __init__(self, *, client_wrapper: AsyncClientWrapper):
self._client_wrapper = client_wrapper self._client_wrapper = client_wrapper
async def create_workflow(self, *, request_options: typing.Optional[RequestOptions] = None) -> Workflow: async def create_workflow(
self,
*,
json_definition: typing.Optional[WorkflowCreateYamlRequest] = OMIT,
yaml_definition: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> Workflow:
""" """
Create a new workflow Create a new workflow definition
Parameters Parameters
---------- ----------
json_definition : typing.Optional[WorkflowCreateYamlRequest]
Workflow definition in JSON format
yaml_definition : typing.Optional[str]
Workflow definition in YAML format
request_options : typing.Optional[RequestOptions] request_options : typing.Optional[RequestOptions]
Request-specific configuration. Request-specific configuration.
@@ -156,7 +267,6 @@ class AsyncWorkflowsClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )
@@ -169,7 +279,99 @@ class AsyncWorkflowsClient:
_response = await self._client_wrapper.httpx_client.request( _response = await self._client_wrapper.httpx_client.request(
"v1/workflows", "v1/workflows",
method="POST", method="POST",
json={
"json_definition": convert_and_respect_annotation_metadata(
object_=json_definition, annotation=WorkflowCreateYamlRequest, direction="write"
),
"yaml_definition": yaml_definition,
},
request_options=request_options, request_options=request_options,
omit=OMIT,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
Workflow,
parse_obj_as(
type_=Workflow, # 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 update_workflow(
self,
workflow_id: str,
*,
json_definition: typing.Optional[WorkflowCreateYamlRequest] = OMIT,
yaml_definition: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> Workflow:
"""
Update a workflow definition
Parameters
----------
workflow_id : str
The ID of the workflow to update. Workflow ID starts with `wpid_`.
json_definition : typing.Optional[WorkflowCreateYamlRequest]
Workflow definition in JSON format
yaml_definition : typing.Optional[str]
Workflow definition in YAML format
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
Workflow
Successfully updated workflow
Examples
--------
import asyncio
from skyvern import AsyncSkyvern
client = AsyncSkyvern(
api_key="YOUR_API_KEY",
)
async def main() -> None:
await client.workflows.update_workflow(
workflow_id="wpid_123",
)
asyncio.run(main())
"""
_response = await self._client_wrapper.httpx_client.request(
f"v1/workflows/{jsonable_encoder(workflow_id)}",
method="POST",
json={
"json_definition": convert_and_respect_annotation_metadata(
object_=json_definition, annotation=WorkflowCreateYamlRequest, direction="write"
),
"yaml_definition": yaml_definition,
},
request_options=request_options,
omit=OMIT,
) )
try: try:
if 200 <= _response.status_code < 300: if 200 <= _response.status_code < 300:
@@ -222,7 +424,6 @@ class AsyncWorkflowsClient:
client = AsyncSkyvern( client = AsyncSkyvern(
api_key="YOUR_API_KEY", api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
) )